Imported Upstream version 7.0.0 upstream/7.0.0
authorJinWang An <jinwang.an@samsung.com>
Fri, 30 Oct 2020 05:35:10 +0000 (14:35 +0900)
committerJinWang An <jinwang.an@samsung.com>
Fri, 30 Oct 2020 05:35:10 +0000 (14:35 +0900)
CMakeLists.txt
Config.cmake.in [new file with mode: 0644]
Makefile
dox
readme.md
resources/xmltest-5662204197076992.xml [new file with mode: 0644]
tinyxml2.cpp
tinyxml2.h
xmltest.cpp

index a64e68e7e0fa07ac5d1baa24a436da6d381cd444..bd8005eb1c5f59cd8e15cb67b62ffdcb377806a1 100644 (file)
@@ -21,17 +21,15 @@ include(CTest)
 ################################\r
 # set lib version here\r
 \r
-set(GENERIC_LIB_VERSION "6.2.0")\r
-set(GENERIC_LIB_SOVERSION "6")\r
+set(GENERIC_LIB_VERSION "7.0.0")\r
+set(GENERIC_LIB_SOVERSION "7")\r
 \r
 ################################\r
 # Add definitions\r
 \r
-set(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} -DTINYXML2_DEBUG")\r
-\r
 ################################\r
 # Add targets\r
-# By Default shared libray is being built\r
+# By Default shared library is being built\r
 # To build static libs also - Do cmake . -DBUILD_STATIC_LIBS:BOOL=ON\r
 # User can choose not to build shared library by using cmake -DBUILD_SHARED_LIBS:BOOL=OFF\r
 # To build only static libs use cmake . -DBUILD_SHARED_LIBS:BOOL=OFF -DBUILD_STATIC_LIBS:BOOL=ON\r
@@ -39,28 +37,30 @@ set(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} -DTINYXML2_DEBUG")
 # To disable the building of the tests, use cmake . -DBUILD_TESTS:BOOL=OFF\r
 \r
 option(BUILD_SHARED_LIBS "build as shared library" ON)\r
-option(BUILD_STATIC_LIBS "build as static library" OFF)\r
 option(BUILD_TESTS "build xmltest (deprecated: Use BUILD_TESTING)" ON)\r
 \r
+# To allow using tinyxml in another shared library\r
+set(CMAKE_POSITION_INDEPENDENT_CODE ON)\r
+\r
 set(CMAKE_CXX_VISIBILITY_PRESET hidden)\r
 set(CMAKE_VISIBILITY_INLINES_HIDDEN 1)\r
 \r
 # to distinguish between debug and release lib\r
 set(CMAKE_DEBUG_POSTFIX "d")\r
 \r
-if(BUILD_SHARED_LIBS)\r
-add_library(tinyxml2 SHARED tinyxml2.cpp tinyxml2.h)\r
+add_library(tinyxml2 tinyxml2.cpp tinyxml2.h)\r
 \r
 set_target_properties(tinyxml2 PROPERTIES\r
         COMPILE_DEFINITIONS "TINYXML2_EXPORT"\r
        VERSION "${GENERIC_LIB_VERSION}"\r
        SOVERSION "${GENERIC_LIB_SOVERSION}")\r
 \r
+target_compile_definitions(tinyxml2 PUBLIC $<$<CONFIG:Debug>:TINYXML2_DEBUG>)\r
 \r
 if(DEFINED CMAKE_VERSION AND NOT "${CMAKE_VERSION}" VERSION_LESS "2.8.11")\r
     target_include_directories(tinyxml2 PUBLIC \r
                           $<BUILD_INTERFACE:${PROJECT_SOURCE_DIR}>\r
-                          $<INSTALL_INTERFACE:${CMAKE_INSTALL_PREFIX}/include>)\r
+                          $<INSTALL_INTERFACE:${CMAKE_INSTALL_INCLUDEDIR}>)\r
 \r
     if(MSVC)\r
       target_compile_definitions(tinyxml2 PUBLIC -D_CRT_SECURE_NO_WARNINGS)\r
@@ -82,60 +82,17 @@ install(TARGETS tinyxml2
         RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}\r
         LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}\r
         ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR})\r
-endif()\r
-\r
-if(BUILD_STATIC_LIBS)\r
-add_library(tinyxml2_static STATIC tinyxml2.cpp tinyxml2.h)\r
-set_target_properties(tinyxml2_static PROPERTIES\r
-        COMPILE_DEFINITONS "TINYXML2_EXPORT"\r
-        VERSION "${GENERIC_LIB_VERSION}"\r
-        SOVERSION "${GENERIC_LIB_SOVERSION}")\r
-set_target_properties( tinyxml2_static PROPERTIES OUTPUT_NAME tinyxml2 )\r
-\r
-target_compile_definitions(tinyxml2_static PUBLIC -D_CRT_SECURE_NO_WARNINGS)\r
-\r
-if(DEFINED CMAKE_VERSION AND NOT "${CMAKE_VERSION}" VERSION_LESS "2.8.11")\r
-    target_include_directories(tinyxml2_static PUBLIC \r
-                          $<BUILD_INTERFACE:${PROJECT_SOURCE_DIR}>\r
-                          $<INSTALL_INTERFACE:${CMAKE_INSTALL_PREFIX}/include>)\r
-\r
-    if(MSVC)\r
-      target_compile_definitions(tinyxml2_static PUBLIC -D_CRT_SECURE_NO_WARNINGS)\r
-    endif(MSVC)\r
-else()\r
-    include_directories(${PROJECT_SOURCE_DIR})\r
-\r
-    if(MSVC)\r
-      add_definitions(-D_CRT_SECURE_NO_WARNINGS)\r
-    endif(MSVC)\r
-endif()\r
-\r
-# export targets for find_package config mode\r
-export(TARGETS tinyxml2_static\r
-      FILE ${CMAKE_BINARY_DIR}/${CMAKE_PROJECT_NAME}Targets.cmake)\r
-\r
-install(TARGETS tinyxml2_static\r
-        EXPORT ${CMAKE_PROJECT_NAME}Targets\r
-        RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}\r
-        LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}\r
-        ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR})\r
-endif()\r
 \r
 if(BUILD_TESTING AND BUILD_TESTS)\r
   add_executable(xmltest xmltest.cpp)\r
-  if(BUILD_SHARED_LIBS)\r
-    add_dependencies(xmltest tinyxml2)\r
-    target_link_libraries(xmltest tinyxml2)\r
-  else(BUILD_STATIC_LIBS)\r
-    add_dependencies(xmltest tinyxml2_static)\r
-    target_link_libraries(xmltest tinyxml2_static)\r
-  endif()\r
+  add_dependencies(xmltest tinyxml2)\r
+  target_link_libraries(xmltest tinyxml2)\r
 \r
   # Copy test resources and create test output directory\r
   add_custom_command(TARGET xmltest POST_BUILD\r
-    COMMAND ${CMAKE_COMMAND} -E copy_directory ${CMAKE_SOURCE_DIR}/resources $<TARGET_FILE_DIR:xmltest>/resources\r
+    COMMAND ${CMAKE_COMMAND} -E copy_directory ${CMAKE_CURRENT_SOURCE_DIR}/resources $<TARGET_FILE_DIR:xmltest>/resources\r
     COMMAND ${CMAKE_COMMAND} -E make_directory $<TARGET_FILE_DIR:xmltest>/resources/out\r
-    COMMENT "Configuring xmltest resources directory: ${CMAKE_BINARY_DIR}/resources"\r
+    COMMENT "Configuring xmltest resources directory: ${CMAKE_CURRENT_BINARY_DIR}/resources"\r
   )\r
 \r
   add_test(NAME xmltest COMMAND xmltest WORKING_DIRECTORY $<TARGET_FILE_DIR:xmltest>)\r
@@ -143,13 +100,6 @@ endif()
 \r
 install(FILES tinyxml2.h DESTINATION ${CMAKE_INSTALL_INCLUDEDIR})\r
 \r
-foreach(p LIB INCLUDE)\r
-       set(var CMAKE_INSTALL_${p}DIR)\r
-       if(NOT IS_ABSOLUTE "${${var}}")\r
-               set(${var} "${CMAKE_INSTALL_PREFIX}/${${var}}")\r
-       endif()\r
-endforeach()\r
-\r
 configure_file(tinyxml2.pc.in tinyxml2.pc @ONLY)\r
 install(FILES ${CMAKE_CURRENT_BINARY_DIR}/tinyxml2.pc DESTINATION ${CMAKE_INSTALL_LIBDIR}/pkgconfig)\r
 \r
@@ -164,13 +114,16 @@ if(NOT TARGET uninstall)
       COMMAND ${CMAKE_COMMAND} -P ${CMAKE_CURRENT_BINARY_DIR}/cmake_uninstall.cmake)\r
 endif()\r
 \r
-file(WRITE\r
-    ${CMAKE_BINARY_DIR}/${CMAKE_PROJECT_NAME}Config.cmake\r
-    "include(\${CMAKE_CURRENT_LIST_DIR}/${CMAKE_PROJECT_NAME}Targets.cmake)\n")\r
-\r
+include(CMakePackageConfigHelpers)\r
+set(TARGETS_EXPORT_NAME "${PROJECT_NAME}Targets")\r
+configure_package_config_file(\r
+  "Config.cmake.in"\r
+  "${CMAKE_BINARY_DIR}/${CMAKE_PROJECT_NAME}Config.cmake"\r
+  INSTALL_DESTINATION "${CMAKE_INSTALL_LIBDIR}/cmake/${CMAKE_PROJECT_NAME}"\r
+)\r
 install(FILES\r
         ${CMAKE_BINARY_DIR}/${CMAKE_PROJECT_NAME}Config.cmake\r
         DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/${CMAKE_PROJECT_NAME})\r
 \r
-install(EXPORT ${CMAKE_PROJECT_NAME}Targets\r
+install(EXPORT ${CMAKE_PROJECT_NAME}Targets NAMESPACE tinyxml2::\r
         DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/${CMAKE_PROJECT_NAME})\r
diff --git a/Config.cmake.in b/Config.cmake.in
new file mode 100644 (file)
index 0000000..38bbde7
--- /dev/null
@@ -0,0 +1,4 @@
+@PACKAGE_INIT@
+
+include("${CMAKE_CURRENT_LIST_DIR}/@TARGETS_EXPORT_NAME@.cmake")
+check_required_components("@PROJECT_NAME@")
index 66b1bc9356e46279afc881ca06ffb9be7a6ec809..5989b95d9b681eaf2970787a7a9f2de04f89c4cb 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -10,6 +10,7 @@ ARFLAGS = cr
 RM = rm -f
 RANLIB = ranlib
 MKDIR = mkdir -p
+CXXFLAGS = -fPIC
 
 INSTALL = install
 INSTALL_PROGRAM = $(INSTALL)
diff --git a/dox b/dox
index 4f8dbb30026438774ed246378c2f1e76e85244aa..9756283dff8305258fcf1c9eb2b3124489175782 100644 (file)
--- a/dox
+++ b/dox
@@ -39,9 +39,9 @@ PROJECT_NAME           = "TinyXML-2"
 # control system is used.\r
 \r
 <<<<<<< HEAD\r
-PROJECT_NUMBER = 6.2.0\r
+PROJECT_NUMBER = 7.0.0\r
 =======\r
-PROJECT_NUMBER = 6.2.0\r
+PROJECT_NUMBER = 7.0.0\r
 >>>>>>> master\r
 \r
 # Using the PROJECT_BRIEF tag one can provide an optional one line description\r
index c5bc5a42fe5cdb76b8e0be93b121dbdf24751c02..a519bfaf6597af2012b9c7f92fc27863d9813de8 100644 (file)
--- a/readme.md
+++ b/readme.md
@@ -5,7 +5,7 @@ TinyXML-2
 
 ![TinyXML-2 Logo](http://www.grinninglizard.com/tinyxml2/TinyXML2_small.png)
 
-TinyXML-2 is a simple, small, efficient, C++ XML parser that can be 
+TinyXML-2 is a simple, small, efficient, C++ XML parser that can be
 easily integrated into other programs.
 
 The master is hosted on github:
@@ -18,30 +18,30 @@ Examples are in the "related pages" tab of the HTML docs.
 
 What it does.
 -------------
-       
-In brief, TinyXML-2 parses an XML document, and builds from that a 
+
+In brief, TinyXML-2 parses an XML document, and builds from that a
 Document Object Model (DOM) that can be read, modified, and saved.
 
 XML stands for "eXtensible Markup Language." It is a general purpose
 human and machine readable markup language to describe arbitrary data.
-All those random file formats created to store application data can 
+All those random file formats created to store application data can
 all be replaced with XML. One parser for everything.
 
 http://en.wikipedia.org/wiki/XML
 
 There are different ways to access and interact with XML data.
 TinyXML-2 uses a Document Object Model (DOM), meaning the XML data is parsed
-into a C++ objects that can be browsed and manipulated, and then 
-written to disk or another output stream. You can also construct an XML document 
+into a C++ objects that can be browsed and manipulated, and then
+written to disk or another output stream. You can also construct an XML document
 from scratch with C++ objects and write this to disk or another output
 stream. You can even use TinyXML-2 to stream XML programmatically from
 code without creating a document first.
 
 TinyXML-2 is designed to be easy and fast to learn. It is one header and
-one cpp file. Simply add these to your project and off you go. 
-There is an example file - xmltest.cpp - to get you started. 
+one cpp file. Simply add these to your project and off you go.
+There is an example file - xmltest.cpp - to get you started.
 
-TinyXML-2 is released under the ZLib license, 
+TinyXML-2 is released under the ZLib license,
 so you can use it in open source or commercial code. The details
 of the license are at the top of every source file.
 
@@ -53,49 +53,37 @@ What it doesn't do.
 -------------------
 
 TinyXML-2 doesn't parse or use DTDs (Document Type Definitions) or XSLs
-(eXtensible Stylesheet Language.) There are other parsers out there 
-that are much more fully featured. But they are also much bigger, 
-take longer to set up in your project, have a higher learning curve, 
-and often have a more restrictive license. If you are working with 
+(eXtensible Stylesheet Language.) There are other parsers out there
+that are much more fully featured. But they are also much bigger,
+take longer to set up in your project, have a higher learning curve,
+and often have a more restrictive license. If you are working with
 browsers or have more complete XML needs, TinyXML-2 is not the parser for you.
 
 TinyXML-1 vs. TinyXML-2
 -----------------------
 
 TinyXML-2 is now the focus of all development, well tested, and your
-best choice unless you have a requirement to maintain TinyXML-1 code.
+best choice between the two APIs. At this point, unless you are maintaining
+legacy code, you should choose TinyXML-2.
 
 TinyXML-2 uses a similar API to TinyXML-1 and the same
 rich test cases. But the implementation of the parser is completely re-written
 to make it more appropriate for use in a game. It uses less memory, is faster,
 and uses far fewer memory allocations.
 
-TinyXML-2 has no requirement for STL, but has also dropped all STL support. All
-strings are query and set as 'const char*'. This allows the use of internal 
-allocators, and keeps the code much simpler.
-
-Both parsers:
-
-1.  Simple to use with similar APIs.
-2.  DOM based parser.
-3.  UTF-8 Unicode support. http://en.wikipedia.org/wiki/UTF-8
+TinyXML-2 has no requirement or support for STL. By returning `const char*`
+TinyXML-2 can be much more efficient with memory usage. (TinyXML-1 did support
+and use STL, but consumed much more memory for the DOM representation.)
 
-Advantages of TinyXML-2
-
-1.  The focus of all future dev.
-2.  Many fewer memory allocation (1/10th to 1/100th), uses less memory
-    (about 40% of TinyXML-1), and faster.
-3.  No STL requirement.
-4.  More modern C++, including a proper namespace.
-5.  Proper and useful handling of whitespace
+Features
+--------
 
-Advantages of TinyXML-1
+### Code Page
 
-1.  Support for some C++ STL conventions: streams and strings
-2.  Very mature and well debugged code base.
+TinyXML-2 uses UTF-8 exclusively when interpreting XML. All XML is assumed to
+be UTF-8.
 
-Features
---------
+Filenames for loading / saving are passed unchanged to the underlying OS.
 
 ### Memory Model
 
@@ -123,13 +111,13 @@ White space in text is preserved. For example:
 
        <element> Hello,  World</element>
 
-The leading space before the "Hello" and the double space after the comma are 
+The leading space before the "Hello" and the double space after the comma are
 preserved. Line-feeds are preserved, as in this example:
 
-       <element> Hello again,  
+       <element> Hello again,
                  World</element>
 
-However, white space between elements is **not** preserved. Although not strictly 
+However, white space between elements is **not** preserved. Although not strictly
 compliant, tracking and reporting inter-element space is awkward, and not normally
 valuable. TinyXML-2 sees these as the same XML:
 
@@ -145,7 +133,7 @@ valuable. TinyXML-2 sees these as the same XML:
 
 For some applications, it is preferable to collapse whitespace. Collapsing
 whitespace gives you "HTML-like" behavior, which is sometimes more suitable
-for hand typed documents. 
+for hand typed documents.
 
 TinyXML-2 supports this with the 'whitespace' parameter to the XMLDocument constructor.
 (The default is to preserve whitespace, as described above.)
@@ -166,7 +154,7 @@ cannot be parsed correctly. In addition, all nodes (elements, declarations,
 text, comments etc.) and attributes have a line number recorded as they are parsed.
 This allows an application that performs additional validation of the parsed
 XML document (e.g. application-implemented DTD validation) to report
-line number information in it's errors.
+line number information for error messages.
 
 ### Entities
 
@@ -185,10 +173,10 @@ UTF-8 equivalents. For instance, text with the XML of:
        Far &amp; Away
 
 will have the Value() of "Far & Away" when queried from the XMLText object,
-and will be written back to the XML stream/file as an ampersand. 
+and will be written back to the XML stream/file as an ampersand.
 
 Additionally, any character can be specified by its Unicode code point:
-The syntax `&#xA0;` or `&#160;` are both to the non-breaking space character. 
+The syntax `&#xA0;` or `&#160;` are both to the non-breaking space character.
 This is called a 'numeric character reference'. Any numeric character reference
 that isn't one of the special entities above, will be read, but written as a
 regular code point. The output is correct, but the entity syntax isn't preserved.
@@ -234,7 +222,7 @@ Examples
 
 #### Load and parse an XML file.
 
-       /* ------ Example 1: Load and parse an XML file. ---- */        
+       /* ------ Example 1: Load and parse an XML file. ---- */
        {
                XMLDocument doc;
                doc.LoadFile( "dream.xml" );
@@ -242,22 +230,22 @@ Examples
 
 #### Lookup information.
 
-       /* ------ Example 2: Lookup information. ---- */        
+       /* ------ Example 2: Lookup information. ---- */
        {
                XMLDocument doc;
                doc.LoadFile( "dream.xml" );
 
                // Structure of the XML file:
-               // - Element "PLAY"      the root Element, which is the 
+               // - Element "PLAY"      the root Element, which is the
                //                       FirstChildElement of the Document
                // - - Element "TITLE"   child of the root PLAY Element
                // - - - Text            child of the TITLE Element
-               
+
                // Navigate to the title, using the convenience function,
                // with a dangerous lack of error checking.
                const char* title = doc.FirstChildElement( "PLAY" )->FirstChildElement( "TITLE" )->GetText();
                printf( "Name of play (1): %s\n", title );
-               
+
                // Text is just another Node to TinyXML-2. The more
                // general way to get to the XMLText:
                XMLText* textNode = doc.FirstChildElement( "PLAY" )->FirstChildElement( "TITLE" )->FirstChild()->ToText();
@@ -275,10 +263,10 @@ There are 2 files in TinyXML-2:
 And additionally a test file:
 * xmltest.cpp
 
-Simply compile and run. There is a visual studio 2015 project included, a simple Makefile, 
-an Xcode project, a Code::Blocks project, and a cmake CMakeLists.txt included to help you. 
-The top of tinyxml.h even has a simple g++ command line if you are are *nix and don't want 
-to use a build system.
+Simply compile and run. There is a visual studio 2017 project included, a simple Makefile,
+an Xcode project, a Code::Blocks project, and a cmake CMakeLists.txt included to help you.
+The top of tinyxml.h even has a simple g++ command line if you are are Unix/Linuk/BSD and
+don't want to use a build system.
 
 Versioning
 ----------
@@ -291,7 +279,7 @@ common.
 Documentation
 -------------
 
-The documentation is build with Doxygen, using the 'dox' 
+The documentation is build with Doxygen, using the 'dox'
 configuration file.
 
 License
@@ -299,27 +287,27 @@ License
 
 TinyXML-2 is released under the zlib license:
 
-This software is provided 'as-is', without any express or implied 
-warranty. In no event will the authors be held liable for any 
+This software is provided 'as-is', without any express or implied
+warranty. In no event will the authors be held liable for any
 damages arising from the use of this software.
 
-Permission is granted to anyone to use this software for any 
-purpose, including commercial applications, and to alter it and 
+Permission is granted to anyone to use this software for any
+purpose, including commercial applications, and to alter it and
 redistribute it freely, subject to the following restrictions:
 
-1. The origin of this software must not be misrepresented; you must 
-not claim that you wrote the original software. If you use this 
-software in a product, an acknowledgment in the product documentation 
+1. The origin of this software must not be misrepresented; you must
+not claim that you wrote the original software. If you use this
+software in a product, an acknowledgment in the product documentation
 would be appreciated but is not required.
-2. Altered source versions must be plainly marked as such, and 
+2. Altered source versions must be plainly marked as such, and
 must not be misrepresented as being the original software.
-3. This notice may not be removed or altered from any source 
+3. This notice may not be removed or altered from any source
 distribution.
 
 Contributors
 ------------
 
-Thanks very much to everyone who sends suggestions, bugs, ideas, and 
+Thanks very much to everyone who sends suggestions, bugs, ideas, and
 encouragement. It all helps, and makes this project fun.
 
 The original TinyXML-1 has many contributors, who all deserve thanks
diff --git a/resources/xmltest-5662204197076992.xml b/resources/xmltest-5662204197076992.xml
new file mode 100644 (file)
index 0000000..71325d3
--- /dev/null
@@ -0,0 +1 @@
+<?      <??><?><??><??><??><?><??><??><??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??><??><?<??>
\ No newline at end of file
index 89b79133646eaaf5ed940771bd482e25f26a1f08..fd27f7888d279e8f66d4fda506945f38a909bad8 100755 (executable)
@@ -1032,15 +1032,25 @@ char* XMLNode::ParseDeep( char* p, StrPair* parentEndTag, int* curLineNumPtr )
         XMLDeclaration* decl = node->ToDeclaration();\r
         if ( decl ) {\r
             // Declarations are only allowed at document level\r
-            bool wellLocated = ( ToDocument() != 0 );\r
-            if ( wellLocated ) {\r
-                // Multiple declarations are allowed but all declarations\r
-                // must occur before anything else\r
-                for ( const XMLNode* existingNode = _document->FirstChild(); existingNode; existingNode = existingNode->NextSibling() ) {\r
-                    if ( !existingNode->ToDeclaration() ) {\r
-                        wellLocated = false;\r
-                        break;\r
-                    }\r
+            //\r
+            // Multiple declarations are allowed but all declarations\r
+            // must occur before anything else. \r
+            //\r
+            // Optimized due to a security test case. If the first node is \r
+            // a declaration, and the last node is a declaration, then only \r
+            // declarations have so far been addded.\r
+            bool wellLocated = false;\r
+\r
+            if (ToDocument()) {\r
+                if (FirstChild()) {\r
+                    wellLocated =\r
+                        FirstChild() &&\r
+                        FirstChild()->ToDeclaration() &&\r
+                        LastChild() &&\r
+                        LastChild()->ToDeclaration();\r
+                }\r
+                else {\r
+                    wellLocated = true;\r
                 }\r
             }\r
             if ( !wellLocated ) {\r
@@ -1977,10 +1987,8 @@ const char* XMLDocument::_errorNames[XML_ERROR_COUNT] = {
     "XML_ERROR_FILE_NOT_FOUND",\r
     "XML_ERROR_FILE_COULD_NOT_BE_OPENED",\r
     "XML_ERROR_FILE_READ_ERROR",\r
-    "UNUSED_XML_ERROR_ELEMENT_MISMATCH",\r
     "XML_ERROR_PARSING_ELEMENT",\r
     "XML_ERROR_PARSING_ATTRIBUTE",\r
-    "UNUSED_XML_ERROR_IDENTIFYING_TAG",\r
     "XML_ERROR_PARSING_TEXT",\r
     "XML_ERROR_PARSING_CDATA",\r
     "XML_ERROR_PARSING_COMMENT",\r
@@ -2327,6 +2335,7 @@ void XMLDocument::SetError( XMLError error, int lineNum, const char* format, ...
     size_t BUFFER_SIZE = 1000;\r
     char* buffer = new char[BUFFER_SIZE];\r
 \r
+    TIXMLASSERT(sizeof(error) <= sizeof(int));\r
     TIXML_SNPRINTF(buffer, BUFFER_SIZE, "Error=%s ErrorID=%d (0x%x) Line number=%d", ErrorIDToName(error), int(error), int(error), lineNum);\r
 \r
        if (format) {\r
@@ -2523,14 +2532,16 @@ void XMLPrinter::PrintString( const char* p, bool restricted )
             ++q;\r
             TIXMLASSERT( p <= q );\r
         }\r
+        // Flush the remaining string. This will be the entire\r
+        // string if an entity wasn't found.\r
+        if ( p < q ) {\r
+            const size_t delta = q - p;\r
+            const int toPrint = ( INT_MAX < delta ) ? INT_MAX : (int)delta;\r
+            Write( p, toPrint );\r
+        }\r
     }\r
-    // Flush the remaining string. This will be the entire\r
-    // string if an entity wasn't found.\r
-    TIXMLASSERT( p <= q );\r
-    if ( !_processEntities || ( p < q ) ) {\r
-        const size_t delta = q - p;\r
-        const int toPrint = ( INT_MAX < delta ) ? INT_MAX : (int)delta;\r
-        Write( p, toPrint );\r
+    else {\r
+        Write( p );\r
     }\r
 }\r
 \r
index 66d7b7ee97e5ecd44a865de7cc5d6feaf93d9f65..a79e0dbd89de97b9de49386db65fcf5c9250f581 100755 (executable)
@@ -98,18 +98,18 @@ distribution.
 /* Versioning, past 1.0.14:\r
        http://semver.org/\r
 */\r
-static const int TIXML2_MAJOR_VERSION = 6;\r
-static const int TIXML2_MINOR_VERSION = 2;\r
+static const int TIXML2_MAJOR_VERSION = 7;\r
+static const int TIXML2_MINOR_VERSION = 0;\r
 static const int TIXML2_PATCH_VERSION = 0;\r
 \r
-#define TINYXML2_MAJOR_VERSION 6\r
-#define TINYXML2_MINOR_VERSION 2\r
+#define TINYXML2_MAJOR_VERSION 7\r
+#define TINYXML2_MINOR_VERSION 0\r
 #define TINYXML2_PATCH_VERSION 0\r
 \r
-// A fixed element depth limit is problematic. There needs to be a \r
-// limit to avoid a stack overflow. However, that limit varies per \r
-// system, and the capacity of the stack. On the other hand, it's a trivial \r
-// attack that can result from ill, malicious, or even correctly formed XML, \r
+// A fixed element depth limit is problematic. There needs to be a\r
+// limit to avoid a stack overflow. However, that limit varies per\r
+// system, and the capacity of the stack. On the other hand, it's a trivial\r
+// attack that can result from ill, malicious, or even correctly formed XML,\r
 // so there needs to be a limit in place.\r
 static const int TINYXML2_MAX_ELEMENT_DEPTH = 100;\r
 \r
@@ -190,7 +190,7 @@ private:
     char*   _end;\r
 \r
     StrPair( const StrPair& other );   // not supported\r
-    void operator=( StrPair& other );  // not supported, use TransferTo()\r
+    void operator=( const StrPair& other );    // not supported, use TransferTo()\r
 };\r
 \r
 \r
@@ -288,7 +288,7 @@ public:
         return _mem;\r
     }\r
 \r
-    T* Mem()                                                   {\r
+    T* Mem() {\r
         TIXMLASSERT( _mem );\r
         return _mem;\r
     }\r
@@ -334,7 +334,6 @@ public:
     virtual void* Alloc() = 0;\r
     virtual void Free( void* ) = 0;\r
     virtual void SetTracked() = 0;\r
-    virtual void Clear() = 0;\r
 };\r
 \r
 \r
@@ -347,9 +346,9 @@ class MemPoolT : public MemPool
 public:\r
     MemPoolT() : _blockPtrs(), _root(0), _currentAllocs(0), _nAllocs(0), _maxAllocs(0), _nUntracked(0) {}\r
     ~MemPoolT() {\r
-        Clear();\r
+        MemPoolT< ITEM_SIZE >::Clear();\r
     }\r
-    \r
+\r
     void Clear() {\r
         // Delete the blocks.\r
         while( !_blockPtrs.Empty()) {\r
@@ -395,7 +394,7 @@ public:
         ++_nUntracked;\r
         return result;\r
     }\r
-    \r
+\r
     virtual void Free( void* mem ) {\r
         if ( !mem ) {\r
             return;\r
@@ -525,10 +524,8 @@ enum XMLError {
     XML_ERROR_FILE_NOT_FOUND,\r
     XML_ERROR_FILE_COULD_NOT_BE_OPENED,\r
     XML_ERROR_FILE_READ_ERROR,\r
-    UNUSED_XML_ERROR_ELEMENT_MISMATCH, // remove at next major version\r
     XML_ERROR_PARSING_ELEMENT,\r
     XML_ERROR_PARSING_ATTRIBUTE,\r
-    UNUSED_XML_ERROR_IDENTIFYING_TAG,  // remove at next major version\r
     XML_ERROR_PARSING_TEXT,\r
     XML_ERROR_PARSING_CDATA,\r
     XML_ERROR_PARSING_COMMENT,\r
@@ -572,7 +569,7 @@ public:
     static bool IsWhiteSpace( char p )                                 {\r
         return !IsUTF8Continuation(p) && isspace( static_cast<unsigned char>(p) );\r
     }\r
-    \r
+\r
     inline static bool IsNameStartChar( unsigned char ch ) {\r
         if ( ch >= 128 ) {\r
             // This is a heuristic guess in attempt to not implement Unicode-aware isalpha()\r
@@ -583,7 +580,7 @@ public:
         }\r
         return ch == ':' || ch == '_';\r
     }\r
-    \r
+\r
     inline static bool IsNameChar( unsigned char ch ) {\r
         return IsNameStartChar( ch )\r
                || isdigit( ch )\r
@@ -600,7 +597,7 @@ public:
         TIXMLASSERT( nChar >= 0 );\r
         return strncmp( p, q, nChar ) == 0;\r
     }\r
-    \r
+\r
     inline static bool IsUTF8Continuation( char p ) {\r
         return ( p & 0x80 ) != 0;\r
     }\r
@@ -882,11 +879,11 @@ public:
                Make a copy of this node and all its children.\r
 \r
                If the 'target' is null, then the nodes will\r
-               be allocated in the current document. If 'target' \r
-        is specified, the memory will be allocated is the \r
+               be allocated in the current document. If 'target'\r
+        is specified, the memory will be allocated is the\r
         specified XMLDocument.\r
 \r
-               NOTE: This is probably not the correct tool to \r
+               NOTE: This is probably not the correct tool to\r
                copy a document, since XMLDocuments can have multiple\r
                top level XMLNodes. You probably want to use\r
         XMLDocument::DeepCopy()\r
@@ -925,8 +922,8 @@ public:
     */\r
     virtual bool Accept( XMLVisitor* visitor ) const = 0;\r
 \r
-       /** \r
-               Set user data into the XMLNode. TinyXML-2 in \r
+       /**\r
+               Set user data into the XMLNode. TinyXML-2 in\r
                no way processes or interprets user data.\r
                It is initially 0.\r
        */\r
@@ -940,7 +937,7 @@ public:
        void* GetUserData() const                       { return _userData; }\r
 \r
 protected:\r
-    XMLNode( XMLDocument* );\r
+    explicit XMLNode( XMLDocument* );\r
     virtual ~XMLNode();\r
 \r
     virtual char* ParseDeep( char* p, StrPair* parentEndTag, int* curLineNumPtr);\r
@@ -1008,7 +1005,7 @@ public:
     virtual bool ShallowEqual( const XMLNode* compare ) const;\r
 \r
 protected:\r
-    XMLText( XMLDocument* doc )        : XMLNode( doc ), _isCData( false )     {}\r
+    explicit XMLText( XMLDocument* doc )       : XMLNode( doc ), _isCData( false )     {}\r
     virtual ~XMLText()                                                                                         {}\r
 \r
     char* ParseDeep( char* p, StrPair* parentEndTag, int* curLineNumPtr );\r
@@ -1039,7 +1036,7 @@ public:
     virtual bool ShallowEqual( const XMLNode* compare ) const;\r
 \r
 protected:\r
-    XMLComment( XMLDocument* doc );\r
+    explicit XMLComment( XMLDocument* doc );\r
     virtual ~XMLComment();\r
 \r
     char* ParseDeep( char* p, StrPair* parentEndTag, int* curLineNumPtr);\r
@@ -1078,7 +1075,7 @@ public:
     virtual bool ShallowEqual( const XMLNode* compare ) const;\r
 \r
 protected:\r
-    XMLDeclaration( XMLDocument* doc );\r
+    explicit XMLDeclaration( XMLDocument* doc );\r
     virtual ~XMLDeclaration();\r
 \r
     char* ParseDeep( char* p, StrPair* parentEndTag, int* curLineNumPtr );\r
@@ -1113,7 +1110,7 @@ public:
     virtual bool ShallowEqual( const XMLNode* compare ) const;\r
 \r
 protected:\r
-    XMLUnknown( XMLDocument* doc );\r
+    explicit XMLUnknown( XMLDocument* doc );\r
     virtual ~XMLUnknown();\r
 \r
     char* ParseDeep( char* p, StrPair* parentEndTag, int* curLineNumPtr );\r
@@ -1384,14 +1381,14 @@ public:
        }\r
 \r
 \r
-       \r
+\r
     /** Given an attribute name, QueryAttribute() returns\r
        XML_SUCCESS, XML_WRONG_ATTRIBUTE_TYPE if the conversion\r
        can't be performed, or XML_NO_ATTRIBUTE if the attribute\r
        doesn't exist. It is overloaded for the primitive types,\r
                and is a generally more convenient replacement of\r
                QueryIntAttribute() and related functions.\r
-               \r
+\r
                If successful, the result of the conversion\r
        will be written to 'value'. If not successful, nothing will\r
        be written to 'value'. This allows you to provide default\r
@@ -1402,27 +1399,27 @@ public:
        QueryAttribute( "foo", &value );                // if "foo" isn't found, value will still be 10\r
        @endverbatim\r
     */\r
-       int QueryAttribute( const char* name, int* value ) const {\r
+       XMLError QueryAttribute( const char* name, int* value ) const {\r
                return QueryIntAttribute( name, value );\r
        }\r
 \r
-       int QueryAttribute( const char* name, unsigned int* value ) const {\r
+       XMLError QueryAttribute( const char* name, unsigned int* value ) const {\r
                return QueryUnsignedAttribute( name, value );\r
        }\r
 \r
-       int QueryAttribute(const char* name, int64_t* value) const {\r
+       XMLError QueryAttribute(const char* name, int64_t* value) const {\r
                return QueryInt64Attribute(name, value);\r
        }\r
 \r
-       int QueryAttribute( const char* name, bool* value ) const {\r
+       XMLError QueryAttribute( const char* name, bool* value ) const {\r
                return QueryBoolAttribute( name, value );\r
        }\r
 \r
-       int QueryAttribute( const char* name, double* value ) const {\r
+       XMLError QueryAttribute( const char* name, double* value ) const {\r
                return QueryDoubleAttribute( name, value );\r
        }\r
 \r
-       int QueryAttribute( const char* name, float* value ) const {\r
+       XMLError QueryAttribute( const char* name, float* value ) const {\r
                return QueryFloatAttribute( name, value );\r
        }\r
 \r
@@ -1530,7 +1527,7 @@ public:
        @verbatim\r
                <foo>Hullaballoo!<b>This is text</b></foo>\r
        @endverbatim\r
-               \r
+\r
                For this XML:\r
        @verbatim\r
                <foo />\r
@@ -1544,15 +1541,15 @@ public:
     /// Convenience method for setting text inside an element. See SetText() for important limitations.\r
     void SetText( int value );\r
     /// Convenience method for setting text inside an element. See SetText() for important limitations.\r
-    void SetText( unsigned value );  \r
+    void SetText( unsigned value );\r
        /// Convenience method for setting text inside an element. See SetText() for important limitations.\r
        void SetText(int64_t value);\r
        /// Convenience method for setting text inside an element. See SetText() for important limitations.\r
-    void SetText( bool value );  \r
+    void SetText( bool value );\r
     /// Convenience method for setting text inside an element. See SetText() for important limitations.\r
-    void SetText( double value );  \r
+    void SetText( double value );\r
     /// Convenience method for setting text inside an element. See SetText() for important limitations.\r
-    void SetText( float value );  \r
+    void SetText( float value );\r
 \r
     /**\r
        Convenience method to query the value of a child text node. This is probably best\r
@@ -1626,11 +1623,7 @@ private:
     XMLElement( const XMLElement& );   // not supported\r
     void operator=( const XMLElement& );       // not supported\r
 \r
-    XMLAttribute* FindAttribute( const char* name ) {\r
-        return const_cast<XMLAttribute*>(const_cast<const XMLElement*>(this)->FindAttribute( name ));\r
-    }\r
     XMLAttribute* FindOrCreateAttribute( const char* name );\r
-    //void LinkAttribute( XMLAttribute* attrib );\r
     char* ParseAttributes( char* p, int* curLineNumPtr );\r
     static void DeleteAttribute( XMLAttribute* attribute );\r
     XMLAttribute* CreateAttribute();\r
@@ -1660,7 +1653,7 @@ class TINYXML2_LIB XMLDocument : public XMLNode
     friend class XMLElement;\r
     // Gives access to SetError and Push/PopDepth, but over-access for everything else.\r
     // Wishing C++ had "internal" scope.\r
-    friend class XMLNode;       \r
+    friend class XMLNode;\r
     friend class XMLText;\r
     friend class XMLComment;\r
     friend class XMLDeclaration;\r
@@ -1700,8 +1693,8 @@ public:
 \r
     /**\r
        Load an XML file from disk. You are responsible\r
-       for providing and closing the FILE*. \r
-     \r
+       for providing and closing the FILE*.\r
+\r
         NOTE: The file should be opened as binary ("rb")\r
         not text in order for TinyXML-2 to correctly\r
         do newline normalization.\r
@@ -1831,7 +1824,7 @@ public:
        const char* ErrorName() const;\r
     static const char* ErrorIDToName(XMLError errorID);\r
 \r
-    /** Returns a "long form" error description. A hopefully helpful \r
+    /** Returns a "long form" error description. A hopefully helpful\r
         diagnostic with location, line number, and/or additional info.\r
     */\r
        const char* ErrorStr() const;\r
@@ -1839,12 +1832,12 @@ public:
     /// A (trivial) utility function that prints the ErrorStr() to stdout.\r
     void PrintError() const;\r
 \r
-    /// Return the line where the error occured, or zero if unknown.\r
+    /// Return the line where the error occurred, or zero if unknown.\r
     int ErrorLineNum() const\r
     {\r
         return _errorLineNum;\r
     }\r
-    \r
+\r
     /// Clear the document, resetting it to the initial state.\r
     void Clear();\r
 \r
@@ -1907,8 +1900,8 @@ private:
        // the stack. Track stack depth, and error out if needed.\r
        class DepthTracker {\r
        public:\r
-               DepthTracker(XMLDocument * document) { \r
-                       this->_document = document; \r
+               explicit DepthTracker(XMLDocument * document) {\r
+                       this->_document = document;\r
                        document->PushDepth();\r
                }\r
                ~DepthTracker() {\r
@@ -1996,10 +1989,10 @@ class TINYXML2_LIB XMLHandle
 {\r
 public:\r
     /// Create a handle from any node (at any depth of the tree.) This can be a null pointer.\r
-    XMLHandle( XMLNode* node ) : _node( node ) {\r
+    explicit XMLHandle( XMLNode* node ) : _node( node ) {\r
     }\r
     /// Create a handle from a node.\r
-    XMLHandle( XMLNode& node ) : _node( &node ) {\r
+    explicit XMLHandle( XMLNode& node ) : _node( &node ) {\r
     }\r
     /// Copy constructor\r
     XMLHandle( const XMLHandle& ref ) : _node( ref._node ) {\r
@@ -2076,9 +2069,9 @@ private:
 class TINYXML2_LIB XMLConstHandle\r
 {\r
 public:\r
-    XMLConstHandle( const XMLNode* node ) : _node( node ) {\r
+    explicit XMLConstHandle( const XMLNode* node ) : _node( node ) {\r
     }\r
-    XMLConstHandle( const XMLNode& node ) : _node( &node ) {\r
+    explicit XMLConstHandle( const XMLNode& node ) : _node( &node ) {\r
     }\r
     XMLConstHandle( const XMLConstHandle& ref ) : _node( ref._node ) {\r
     }\r
index 7160fe9babf3dbe595f7b643408fc09c41ca1f52..a0aaee7b20b710c9026156a79c7a883c8b87e745 100644 (file)
@@ -34,7 +34,7 @@ bool XMLTest (const char* testString, const char* expected, const char* found, b
                pass = true;\r
        else if ( !expected || !found )\r
                pass = false;\r
-       else \r
+       else\r
                pass = !strcmp( expected, found );\r
        if ( pass )\r
                printf ("[pass]");\r
@@ -82,8 +82,15 @@ template< class T > bool XMLTest( const char* testString, T expected, T found, b
 \r
        if ( !echo )\r
                printf (" %s\n", testString);\r
-       else\r
-               printf (" %s [%d][%d]\n", testString, static_cast<int>(expected), static_cast<int>(found) );\r
+       else {\r
+               char expectedAsString[64];\r
+               XMLUtil::ToStr(expected, expectedAsString, sizeof(expectedAsString));\r
+\r
+               char foundAsString[64];\r
+               XMLUtil::ToStr(found, foundAsString, sizeof(foundAsString));\r
+\r
+               printf (" %s [%s][%s]\n", testString, expectedAsString, foundAsString );\r
+       }\r
 \r
        if ( pass )\r
                ++gPass;\r
@@ -121,7 +128,7 @@ int example_1()
  *  @skip example_1()\r
  *  @until }\r
  */\r
\r
+\r
 \r
 int example_2()\r
 {\r
@@ -172,8 +179,8 @@ int example_3()
        checking; working code should check for null\r
        pointers when walking an XML tree, or use\r
        XMLHandle.\r
-       \r
-       (The XML is an excerpt from "dream.xml"). \r
+\r
+       (The XML is an excerpt from "dream.xml").\r
 \r
        @skip example_3()\r
        @until </PLAY>";\r
@@ -192,7 +199,7 @@ int example_3()
                </ul>\r
        </ul>\r
 \r
-       For this example, we want to print out the \r
+       For this example, we want to print out the\r
        title of the play. The text of the title (what\r
        we want) is child of the "TITLE" element which\r
        is a child of the "PLAY" element.\r
@@ -212,8 +219,8 @@ int example_3()
 \r
        Text is just another Node in the XML DOM. And in\r
        fact you should be a little cautious with it, as\r
-       text nodes can contain elements. \r
-       \r
+       text nodes can contain elements.\r
+\r
        @verbatim\r
        Consider: A Midsummer Night's <b>Dream</b>\r
        @endverbatim\r
@@ -225,7 +232,7 @@ int example_3()
 \r
        Noting that here we use FirstChild() since we are\r
        looking for XMLText, not an element, and ToText()\r
-       is a cast from a Node to a XMLText. \r
+       is a cast from a Node to a XMLText.\r
 */\r
 \r
 \r
@@ -269,7 +276,7 @@ bool example_4()
        @skip example_4()\r
        @until "</information>";\r
 \r
-       TinyXML-2 has accessors for both approaches. \r
+       TinyXML-2 has accessors for both approaches.\r
 \r
        When using an attribute, you navigate to the XMLElement\r
        with that attribute and use the QueryIntAttribute()\r
@@ -569,7 +576,7 @@ int main( int argc, const char ** argv )
                XMLTest( "Bad XML", XML_ERROR_PARSING_ATTRIBUTE, doc.ErrorID() );\r
                const char* errorStr = doc.ErrorStr();\r
                XMLTest("Formatted error string",\r
-                       "Error=XML_ERROR_PARSING_ATTRIBUTE ErrorID=8 (0x8) Line number=3: XMLElement name=wrong",\r
+                       "Error=XML_ERROR_PARSING_ATTRIBUTE ErrorID=7 (0x7) Line number=3: XMLElement name=wrong",\r
                        errorStr);\r
        }\r
 \r
@@ -651,7 +658,7 @@ int main( int argc, const char ** argv )
                XMLTest( "Alternate query", true, iVal == iVal2 );\r
                XMLTest( "Alternate query", true, dVal == dVal2 );\r
                XMLTest( "Alternate query", true, iVal == ele->IntAttribute("int") );\r
-               XMLTest( "Alternate query", true, dVal == ele->DoubleAttribute("double") );             \r
+               XMLTest( "Alternate query", true, dVal == ele->DoubleAttribute("double") );\r
        }\r
 \r
        {\r
@@ -766,7 +773,7 @@ int main( int argc, const char ** argv )
                doc.Parse( str );\r
                XMLTest( "Text in nested element", false, doc.Error() );\r
                element = doc.RootElement();\r
-               \r
+\r
                element->SetText("wolves");\r
                XMLTest( "SetText() prefix to nested non-text children.", "wolves", element->GetText() );\r
 \r
@@ -774,7 +781,7 @@ int main( int argc, const char ** argv )
                doc.Parse( str );\r
                XMLTest( "Empty self-closed element round 2", false, doc.Error() );\r
                element = doc.RootElement();\r
-               \r
+\r
                element->SetText( "str" );\r
                XMLTest( "SetText types", "str", element->GetText() );\r
 \r
@@ -1176,7 +1183,7 @@ int main( int argc, const char ** argv )
                // But be sure there is an error string!\r
                const char* errorStr = doc.ErrorStr();\r
                XMLTest("Error string should be set",\r
-                       "Error=XML_ERROR_EMPTY_DOCUMENT ErrorID=15 (0xf) Line number=0",\r
+                       "Error=XML_ERROR_EMPTY_DOCUMENT ErrorID=13 (0xd) Line number=0",\r
                        errorStr);\r
        }\r
 \r
@@ -1567,14 +1574,14 @@ int main( int argc, const char ** argv )
                doc.Parse( xml );\r
                XMLTest( "Non-alpha element lead letter parses.", false, doc.Error() );\r
        }\r
-    \r
+\r
     {\r
         const char* xml = "<element _attr1=\"foo\" :attr2=\"bar\"></element>";\r
         XMLDocument doc;\r
         doc.Parse( xml );\r
         XMLTest("Non-alpha attribute lead character parses.", false, doc.Error());\r
     }\r
-    \r
+\r
     {\r
         const char* xml = "<3lement></3lement>";\r
         XMLDocument doc;\r
@@ -1610,7 +1617,7 @@ int main( int argc, const char ** argv )
         doc.Clear();\r
         XMLTest( "No error after Clear()", false, doc.Error() );\r
     }\r
-    \r
+\r
        // ----------- Whitespace ------------\r
        {\r
                const char* xml = "<element>"\r
@@ -1782,6 +1789,7 @@ int main( int argc, const char ** argv )
                XMLTest( "Insertion with removal parse round 4", false, doc.Error() );\r
                subtree = doc.RootElement()->FirstChildElement("one")->FirstChildElement("subtree");\r
                two = doc.RootElement()->FirstChildElement("two");\r
+               XMLTest("<two> is the last child at root level", true, two == doc.RootElement()->LastChildElement());\r
                doc.RootElement()->InsertEndChild(subtree);\r
                XMLPrinter printer4(0, true);\r
                acceptResult = doc.Accept(&printer4);\r
@@ -1809,7 +1817,7 @@ int main( int argc, const char ** argv )
        }\r
 \r
 #if 1\r
-               // the question being explored is what kind of print to use: \r
+               // the question being explored is what kind of print to use:\r
                // https://github.com/leethomason/tinyxml2/issues/63\r
        {\r
                //const char* xml = "<element attrA='123456789.123456789' attrB='1.001e9' attrC='1.0e-10' attrD='1001000000.000000' attrE='0.1234567890123456789'/>";\r
@@ -1836,14 +1844,14 @@ int main( int argc, const char ** argv )
                /* The result of this test is platform, compiler, and library version dependent. :("\r
                XMLPrinter printer;\r
                doc.Print( &printer );\r
-               XMLTest( "Float and double formatting.", \r
+               XMLTest( "Float and double formatting.",\r
                        "<element attrA-f64=\"123456789.12345679\" attrB-f64=\"1001000000\" attrC-f64=\"1e+20\" attrD-f64=\"0.123456789\" attrA-f32=\"1.2345679e+08\" attrB-f32=\"1.001e+09\" attrC-f32=\"1e+20\" attrD-f32=\"0.12345679\"/>\n",\r
-                       printer.CStr(), \r
+                       printer.CStr(),\r
                        true );\r
                */\r
        }\r
 #endif\r
-    \r
+\r
     {\r
         // Issue #184\r
         // If it doesn't assert, it passes. Caused by objects\r
@@ -1862,7 +1870,7 @@ int main( int argc, const char ** argv )
             doc.Clear();\r
         }\r
     }\r
-    \r
+\r
     {\r
         // If this doesn't assert in TINYXML2_DEBUG, all is well.\r
         tinyxml2::XMLDocument doc;\r
@@ -1904,7 +1912,7 @@ int main( int argc, const char ** argv )
                doc.Print( &printer );\r
        }\r
        {\r
-               // Issue 299. Can print elements that are not linked in. \r
+               // Issue 299. Can print elements that are not linked in.\r
                // Will crash if issue not fixed.\r
                XMLDocument doc;\r
                XMLElement* newElement = doc.NewElement( "printme" );\r
@@ -1967,7 +1975,7 @@ int main( int argc, const char ** argv )
     {\r
            // No matter - before or after successfully parsing a text -\r
            // calling XMLDocument::Value() used to cause an assert in debug.\r
-           // Null must be retured.\r
+           // Null must be returned.\r
            const char* validXml = "<?xml version=\"1.0\" encoding=\"utf-8\" ?>"\r
                                   "<first />"\r
                                   "<second />";\r
@@ -1996,7 +2004,18 @@ int main( int argc, const char ** argv )
        }\r
 \r
        {\r
-               // Evil memory leaks. \r
+               const char* html("<!DOCTYPE html><html><body><p>test</p><p><br/></p></body></html>");\r
+               XMLDocument doc(false);\r
+               doc.Parse(html);\r
+\r
+               XMLPrinter printer(0, true);\r
+               doc.Print(&printer);\r
+\r
+               XMLTest(html, html, printer.CStr());\r
+       }\r
+\r
+       {\r
+               // Evil memory leaks.\r
                // If an XMLElement (etc) is allocated via NewElement() (etc.)\r
                // and NOT added to the XMLDocument, what happens?\r
                //\r
@@ -2039,6 +2058,18 @@ int main( int argc, const char ** argv )
                        XMLTest("Stack overflow prevented.", XML_ELEMENT_DEPTH_EXCEEDED, doc.ErrorID());\r
                }\r
        }\r
+    {\r
+        const char* TESTS[] = {\r
+            "./resources/xmltest-5662204197076992.xml",     // Security-level performance issue.\r
+            0\r
+        };\r
+        for (int i = 0; TESTS[i]; ++i) {\r
+            XMLDocument doc;\r
+            doc.LoadFile(TESTS[i]);\r
+            // Need only not crash / lock up.\r
+            XMLTest("Fuzz attack prevented.", true, true);\r
+        }\r
+    }\r
        {\r
                // Crashing reported via email.\r
                const char* xml =\r
@@ -2093,7 +2124,7 @@ int main( int argc, const char ** argv )
                XMLTest("Crash bug parsing - Accept()", true, acceptResult);\r
                printf("%s\n", printer.CStr());\r
 \r
-               // No test; it only need to not crash. \r
+               // No test; it only need to not crash.\r
                // Still, wrap it up with a sanity check\r
                int nProperty = 0;\r
                for (const XMLElement* p = playlist->FirstChildElement("property"); p; p = p->NextSiblingElement("property")) {\r