CAPE nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 5 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 0 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 0 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 0 0 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 0 0 0 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 0 0 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 0 0 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 6 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 7 11 14 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 9 14 13 11 11 10 nan nan nan nan nan nan nan 1 5 14 19 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 4 24 24 28 37 46 43 17 nan nan nan nan nan 7 10 15 22 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 32 34 38 44 33 29 26 9 1 nan 18 19 18 18 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 14 27 36 36 33 24 17 26 27 29 24 21 CIN nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan -0 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan -0 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan -0 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan -0 -0 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan -0 -0 -0 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan -0 -0 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan -0 -0 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan -0 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan -0 -0 -0 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan -0 -0 -0 -0 -0 -0 nan nan nan nan nan nan nan -0 -0 -0 -0 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan -0 -0 -0 -0 -0 -0 -0 -0 nan nan nan nan nan -0 -0 -0 -0 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan -0 -0 -0 -0 -0 -0 -0 -0 -0 nan -0 -0 -0 -0 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 Wind_Speed 1 3 5 5 5 6 6 4 3 1 1 3 3 4 4 4 4 4 4 4 4 4 5 5 4 4 4 5 5 4 4 4 5 5 4 3 3 2 2 3 3 4 5 6 6 6 5 5 4 4 4 4 4 2 1 1 1 3 2 0 2 6 7 6 5 5 6 7 8 9 12 16 17 17 17 16 14 11 7 7 9 10 10 8 7 7 9 11 12 12 12 12 12 12 11 11 10 10 10 10 10 11 11 11 12 11 12 12 12 13 13 14 14 15 15 16 17 17 15 13 11 10 8 7 7 7 6 6 6 7 7 7 6 5 5 4 4 3 2 2 2 2 2 2 2 2 3 2 2 2 1 1 1 2 2 3 3 4 4 3 3 3 3 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 3 3 3 2 1 1 1 1 2 2 2 2 2 2 2 3 3 3 3 2 1 1 2 2 2 2 3 2 2 1 1 1 2 2 2 1 1 2 2 3 4 4 4 5 5 5 5 5 6 6 6 2 4 6 6 6 5 3 2 2 3 4 5 5 5 5 5 4 5 5 4 3 3 3 3 4 3 3 3 5 6 6 6 5 4 4 3 3 1 2 2 1 0 3 6 6 6 5 5 3 3 3 5 4 2 2 1 0 3 2 2 4 6 6 5 3 3 4 7 9 10 13 17 19 19 18 17 15 11 8 6 7 7 7 7 7 8 11 13 13 14 14 15 15 14 14 13 12 11 11 11 11 11 12 12 12 13 13 13 14 14 14 14 14 14 15 16 16 14 11 8 6 5 5 6 6 6 6 6 6 6 6 6 6 5 4 4 3 2 2 2 2 2 2 2 3 3 3 2 2 2 2 2 2 3 4 4 4 4 3 3 3 3 2 2 2 2 2 1 1 1 2 2 2 1 1 1 1 1 1 2 2 2 2 1 1 1 1 2 3 3 3 2 1 2 1 2 2 2 2 2 3 2 3 3 4 4 2 1 1 2 2 3 3 3 3 2 2 1 1 1 1 2 1 1 1 2 3 3 4 4 5 5 5 5 5 5 6 6 4 5 6 6 6 3 0 2 4 4 5 5 5 5 5 5 5 5 4 3 2 2 4 5 6 5 4 4 5 5 5 4 3 3 3 2 1 0 2 2 0 1 1 5 7 7 6 4 3 3 4 4 3 3 2 2 1 2 3 2 5 5 4 3 2 1 3 7 10 12 14 17 19 21 19 17 14 11 8 5 5 5 7 8 8 10 14 16 16 16 17 17 17 17 16 15 14 13 12 12 12 12 13 13 13 13 13 14 14 14 14 14 14 15 16 15 11 7 6 6 5 5 6 6 6 7 6 6 6 6 6 6 6 6 5 4 3 2 2 2 2 2 1 1 3 3 3 3 2 2 2 2 3 4 4 4 4 3 3 2 2 2 1 2 3 3 2 1 1 1 2 2 1 1 1 1 1 1 1 1 1 2 2 1 1 0 0 1 2 2 2 2 2 2 2 2 2 2 2 3 3 3 3 4 5 5 3 2 2 2 3 3 3 3 3 3 2 1 1 1 1 1 1 1 1 1 2 3 4 4 5 5 5 5 4 4 5 6 4 5 5 6 6 3 2 4 5 6 6 5 5 5 5 5 4 4 3 3 3 4 5 6 6 6 5 5 5 4 4 4 4 4 4 3 1 1 2 3 2 1 2 3 7 9 7 5 3 2 4 4 3 3 3 2 1 3 3 1 6 5 3 1 1 0 2 6 10 13 15 16 18 19 19 17 15 11 7 4 3 5 7 9 9 12 17 19 19 18 19 19 18 18 18 17 16 15 15 14 13 13 13 13 13 13 13 14 15 15 15 15 15 17 16 11 6 4 5 6 6 6 8 9 9 7 6 5 5 5 6 6 6 5 4 3 3 2 2 2 2 2 2 1 1 3 3 3 3 3 3 3 4 4 4 4 3 3 3 2 2 1 1 2 3 3 2 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 0 0 1 1 2 2 1 1 2 2 2 2 2 2 3 3 3 3 3 3 3 2 2 2 3 3 3 3 3 3 3 3 2 2 1 1 1 1 1 1 1 1 1 3 4 4 4 4 4 4 4 4 4 5 4 5 5 5 3 2 4 4 5 5 5 5 4 3 3 3 3 3 4 4 4 4 4 5 6 6 5 5 5 4 4 5 5 4 3 2 2 1 1 3 3 2 3 3 5 8 8 7 4 2 3 3 3 3 3 2 2 3 3 2 6 7 4 1 1 2 4 8 11 14 16 17 17 18 17 15 14 9 4 3 4 5 7 9 11 15 19 20 19 18 19 19 19 19 19 19 18 18 17 15 14 13 13 12 12 13 13 15 16 16 15 15 14 12 10 6 5 6 7 6 7 8 10 11 10 9 7 5 4 5 5 6 5 5 4 3 3 2 2 3 3 3 3 3 3 4 4 3 3 4 3 4 4 5 4 3 3 2 2 2 1 1 2 2 3 3 2 1 1 1 1 1 0 0 1 1 1 0 0 1 1 0 0 0 0 1 1 2 2 2 2 1 1 2 2 2 2 2 3 3 3 2 3 3 2 2 2 2 3 3 3 3 3 3 3 2 2 2 2 1 1 1 1 1 1 0 1 3 4 4 4 4 4 3 4 5 5 5 4 5 6 4 1 3 5 4 4 4 3 3 3 3 3 5 5 5 5 4 4 3 3 3 4 5 5 4 4 4 4 3 4 3 2 2 2 2 1 1 5 5 4 6 5 7 8 7 6 3 2 2 3 3 3 3 2 2 3 2 5 8 6 2 2 3 6 10 15 17 18 18 19 18 17 15 14 7 2 4 6 7 9 11 12 15 18 17 16 15 15 17 18 19 20 19 18 17 17 16 15 14 14 13 13 13 14 15 15 14 14 12 9 7 5 6 8 9 9 8 9 11 11 11 10 9 7 5 5 5 5 5 5 4 4 3 3 3 3 3 3 3 4 5 5 5 4 3 3 3 4 4 4 4 3 2 2 2 2 1 1 2 2 2 2 2 2 1 1 1 1 1 1 0 0 1 1 1 0 1 1 1 1 0 0 1 1 2 3 2 1 0 1 1 1 2 2 2 3 3 3 2 2 3 2 2 3 3 3 3 3 3 4 4 3 2 2 2 2 1 1 1 1 1 1 1 1 3 4 4 5 4 4 4 4 5 5 5 4 5 4 2 2 4 5 5 4 3 2 3 4 5 6 6 6 5 5 4 4 4 4 4 4 4 5 5 4 4 4 3 4 4 3 3 4 3 2 2 5 6 4 5 6 8 7 6 4 3 3 3 3 3 3 3 2 1 2 3 6 9 7 2 2 4 6 10 15 18 19 20 21 20 17 14 12 7 3 6 7 10 12 13 12 11 12 12 12 13 14 15 16 17 17 16 13 13 14 15 14 14 15 15 14 14 14 14 14 13 12 10 8 8 8 10 11 12 11 10 11 11 9 9 9 9 7 6 6 6 5 5 4 4 4 3 3 3 4 4 3 4 5 5 5 5 4 3 2 3 3 3 3 2 2 1 2 2 2 2 2 2 2 2 2 2 2 1 1 1 1 1 1 0 0 1 1 1 1 1 2 1 0 0 1 1 2 2 2 2 1 0 1 1 2 2 2 3 3 3 3 3 2 2 2 3 3 3 3 3 3 4 3 3 2 1 1 1 2 2 1 1 2 2 1 0 2 3 4 5 5 5 4 4 4 5 5 5 4 3 1 2 4 5 5 4 3 2 3 4 4 5 6 7 6 5 4 4 4 4 4 5 5 5 5 4 4 4 3 3 4 4 3 3 3 3 3 4 5 6 5 4 5 6 6 4 3 3 3 3 2 3 3 3 2 2 4 4 6 7 6 4 3 5 7 10 14 16 18 20 20 19 14 10 8 7 5 6 8 10 12 12 12 11 10 9 9 10 11 12 12 13 14 11 9 10 12 13 14 14 16 16 16 15 15 15 14 14 12 11 12 13 14 14 14 12 12 11 11 10 9 9 9 8 8 7 6 5 4 4 4 5 4 4 3 4 4 4 4 5 6 6 5 4 4 4 3 3 3 2 2 1 1 2 2 3 3 3 3 3 2 2 2 2 2 2 2 1 1 1 1 1 1 1 1 1 2 2 2 1 0 1 1 2 2 2 2 2 1 1 1 2 3 4 4 4 4 3 3 4 3 2 2 3 3 3 2 3 3 3 2 2 1 1 1 1 2 2 1 1 1 1 0 1 3 4 5 5 5 5 5 4 5 5 6 5 4 4 2 4 6 6 5 3 2 3 4 4 4 4 6 5 3 3 3 4 4 3 4 4 5 6 5 5 5 5 4 4 4 3 2 3 3 3 3 4 5 5 5 4 5 6 7 6 5 4 3 2 2 2 3 3 1 3 4 4 7 7 7 6 5 5 7 11 14 15 18 19 17 13 9 6 5 6 6 7 8 8 8 8 8 9 9 7 5 5 6 7 8 10 11 10 9 9 10 12 13 15 16 16 17 16 16 16 15 14 12 13 14 15 15 15 15 14 13 13 13 12 11 11 11 11 10 8 6 5 4 4 5 5 5 3 3 4 4 4 5 6 6 5 4 3 3 4 3 3 2 2 2 2 2 3 3 3 3 3 3 3 3 2 2 2 2 2 2 2 2 2 1 1 1 1 1 1 2 2 2 1 0 1 2 3 3 3 2 2 2 2 2 3 3 4 4 4 4 3 3 3 4 3 3 3 3 3 2 3 3 3 2 1 1 1 1 1 1 2 2 1 1 1 1 2 4 5 5 5 5 5 5 5 4 5 5 5 3 2 3 5 5 5 4 1 2 3 4 4 3 4 4 4 2 2 3 3 3 3 3 4 4 5 5 5 5 4 4 4 3 3 2 3 2 2 3 5 6 4 3 3 5 4 4 8 8 6 3 3 2 3 5 5 3 1 1 4 8 6 7 8 5 4 7 13 16 15 16 16 13 9 7 5 4 5 7 7 5 5 5 6 7 7 5 3 2 2 3 5 6 7 9 9 8 8 9 11 13 15 16 16 16 16 15 15 15 14 13 13 14 15 16 16 16 15 15 15 14 14 12 11 11 12 10 7 5 4 4 4 4 4 4 3 4 4 5 5 7 7 5 4 3 3 3 3 3 3 3 3 3 3 4 4 4 3 3 3 3 3 3 3 3 2 2 2 2 2 2 2 2 1 1 1 1 1 1 2 3 2 2 1 2 3 3 3 3 2 2 2 2 3 3 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 2 1 1 1 1 2 2 3 3 2 2 2 3 3 3 4 5 5 6 6 5 5 5 5 5 5 5 2 1 3 5 5 3 1 2 3 3 3 3 2 3 4 3 1 1 2 3 3 3 3 4 5 5 5 5 4 3 2 2 3 3 3 2 2 3 5 6 5 3 2 2 2 2 1 5 8 8 5 3 3 5 6 7 6 2 1 3 4 4 5 6 5 3 5 10 13 13 12 11 9 7 7 7 6 5 5 4 3 3 4 6 7 6 5 5 4 2 2 3 4 5 5 6 6 6 7 8 11 13 13 12 13 12 11 10 11 11 11 12 13 15 16 16 16 16 15 16 15 13 12 10 10 10 8 7 6 5 4 4 4 4 4 5 5 5 6 7 7 5 3 2 2 3 4 4 4 4 4 4 4 4 4 4 4 4 3 4 4 4 4 3 3 3 3 3 3 3 3 2 2 2 1 1 1 1 1 2 2 2 1 2 2 3 3 4 3 2 2 2 2 3 3 3 3 4 4 4 4 4 4 5 5 4 4 3 3 3 2 1 1 1 2 3 3 3 4 3 3 2 3 3 4 4 5 5 6 6 6 6 6 5 5 5 4 4 4 4 4 4 3 1 2 4 5 5 4 3 3 3 3 2 1 0 1 2 3 3 4 4 5 6 6 5 4 3 1 0 2 3 4 3 3 2 2 4 4 2 2 1 1 3 5 4 5 8 6 3 4 7 8 6 5 3 3 2 1 1 1 3 5 5 6 8 8 8 8 7 5 5 6 6 6 4 5 4 2 2 4 5 6 5 5 6 5 4 3 3 4 5 6 7 7 7 7 7 8 9 9 8 8 7 7 6 7 9 9 10 12 15 16 16 15 15 15 15 14 13 12 11 10 10 9 8 8 7 6 6 6 7 7 7 8 8 8 7 5 3 2 2 3 4 4 5 5 5 5 4 4 5 5 5 5 4 4 4 5 5 4 4 4 4 3 3 3 3 3 3 3 2 2 2 2 1 1 1 1 1 2 2 2 3 3 3 2 2 2 2 3 3 3 3 3 3 3 4 4 3 3 4 3 3 3 3 3 2 2 2 2 2 3 4 4 4 5 4 3 3 3 4 4 4 5 5 6 6 6 5 5 5 5 5 5 5 5 5 4 3 1 1 3 4 5 5 5 5 5 3 3 3 2 1 1 3 3 4 4 4 4 4 3 4 5 5 3 1 1 3 3 3 3 2 1 3 4 3 3 4 5 5 5 6 6 8 7 6 5 8 8 4 3 3 4 2 2 3 3 4 7 8 6 5 4 5 5 5 4 4 3 4 5 4 5 5 2 3 4 4 3 3 4 5 6 4 3 4 6 7 8 9 10 10 9 8 8 8 6 5 6 6 5 6 7 10 10 10 12 14 15 15 14 14 14 13 13 13 13 12 12 12 11 10 9 8 8 8 9 8 8 7 7 6 6 5 3 2 2 2 3 4 4 4 5 5 5 5 6 6 6 5 5 5 5 5 5 5 4 4 4 3 3 3 3 3 3 3 3 2 2 2 2 1 2 1 1 1 2 2 2 2 2 2 2 2 2 2 3 3 3 3 3 3 2 3 3 3 3 3 3 3 3 2 2 2 2 2 2 3 3 4 5 5 6 5 3 3 3 3 3 4 4 5 5 6 6 5 5 5 5 5 5 5 2 4 5 3 1 2 2 4 4 5 5 5 5 4 3 4 4 3 2 3 4 4 3 4 5 5 3 2 5 5 5 4 2 4 5 5 4 3 3 4 5 5 5 5 5 5 5 5 5 6 7 7 6 8 8 4 3 3 3 3 3 4 4 5 8 8 7 5 5 5 5 5 4 3 2 4 5 6 6 6 4 3 5 5 4 3 3 5 5 3 3 5 8 10 11 11 12 12 11 9 8 8 6 5 6 7 8 9 11 13 13 11 12 13 13 12 11 12 11 12 13 14 14 13 13 13 12 11 10 10 10 11 9 7 6 4 4 4 3 3 2 2 2 3 3 4 3 4 5 6 6 6 7 6 6 5 5 5 5 5 4 4 4 3 3 3 3 3 3 3 3 3 3 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 3 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 3 3 3 3 4 4 4 3 3 3 3 3 3 4 4 5 5 5 5 5 5 5 5 5 5 5 2 4 4 2 1 1 1 3 4 4 4 4 4 4 3 4 4 3 2 3 3 2 1 2 4 5 4 2 4 6 6 6 4 5 7 7 6 6 6 6 6 4 3 3 4 5 4 5 5 5 5 6 6 7 6 4 4 4 3 3 3 3 3 4 6 6 6 6 5 5 5 4 4 4 4 5 6 7 8 8 6 4 5 5 5 4 3 5 4 2 1 5 9 12 13 14 13 12 10 9 9 9 7 6 7 10 12 13 14 14 13 11 11 12 12 11 10 10 11 12 13 14 13 13 13 12 12 11 9 9 9 8 7 5 4 4 4 3 3 4 3 3 3 4 4 4 4 5 6 7 7 6 6 6 6 5 5 5 5 5 4 4 4 3 3 3 3 3 3 3 3 3 2 2 2 2 3 3 3 2 2 2 2 1 0 1 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 5 5 5 5 5 6 6 5 5 5 1 3 2 1 0 1 1 2 2 2 2 3 4 4 4 4 4 4 3 2 2 3 2 3 4 5 4 2 4 5 5 5 5 4 6 9 8 7 6 5 4 3 3 3 4 4 4 5 4 3 4 5 6 5 4 3 3 3 3 3 3 2 1 1 4 5 4 6 6 5 5 4 3 4 6 6 7 7 8 7 6 5 4 5 7 7 6 6 5 3 1 4 9 13 16 16 14 11 9 9 10 9 8 8 10 13 14 15 14 14 12 11 11 12 12 11 11 10 10 11 12 12 11 11 11 9 8 7 6 6 6 6 6 5 4 4 4 4 4 4 4 4 5 5 4 4 5 7 8 8 7 6 5 5 5 4 4 4 4 5 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 2 2 2 2 2 2 1 1 1 1 1 1 1 1 1 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 5 5 5 5 5 5 6 6 5 5 2 2 2 1 1 2 2 2 1 1 2 3 4 4 5 5 4 4 3 1 1 3 3 3 4 5 4 1 3 3 2 3 4 4 4 7 8 6 5 4 4 3 3 3 3 3 4 3 2 2 3 4 4 4 3 3 3 3 3 3 3 2 1 1 2 5 4 3 5 6 6 4 2 4 6 7 7 6 5 5 5 4 4 6 9 11 9 7 6 4 2 4 8 14 17 16 12 10 9 10 10 10 9 9 12 14 15 15 14 14 13 12 12 12 13 13 12 11 10 10 10 9 8 8 8 6 5 4 5 5 6 6 5 4 4 5 5 4 4 4 4 5 5 5 4 5 7 8 8 7 6 5 4 4 4 3 4 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 2 2 2 2 2 2 1 1 1 1 0 0 0 0 1 1 1 1 1 1 2 2 2 2 2 2 2 2 1 1 1 1 2 2 2 2 2 3 3 2 2 2 2 3 3 3 4 4 4 4 4 4 5 4 5 5 5 5 5 5 5 2 1 0 2 2 2 3 3 2 3 3 4 4 5 5 5 5 3 3 1 2 3 3 2 3 5 5 3 1 1 2 3 3 5 5 5 5 5 4 4 3 3 2 2 2 2 2 2 1 1 2 2 3 3 3 3 2 1 1 3 3 2 2 2 2 4 5 2 3 7 8 5 3 3 5 6 7 6 4 4 5 6 6 7 10 13 11 8 6 5 3 4 8 13 15 14 11 10 11 11 10 9 9 10 12 14 15 15 15 14 13 13 13 13 13 14 13 13 11 10 9 9 9 9 8 7 6 6 8 8 8 6 4 4 5 6 6 5 4 5 5 6 5 5 6 7 8 9 7 6 5 4 4 4 4 4 4 4 4 3 3 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 2 2 1 1 1 1 1 1 2 1 0 0 0 1 1 0 1 1 1 1 1 2 2 2 1 2 2 2 1 1 1 2 2 2 2 2 2 2 2 3 2 2 2 3 3 3 3 3 4 4 4 4 4 4 4 5 4 4 5 5 5 1 1 1 2 3 4 4 3 2 3 4 5 5 5 5 5 5 4 3 1 2 3 3 2 2 4 6 5 4 2 2 1 3 6 4 2 4 5 4 3 3 2 2 1 0 0 1 2 2 1 1 1 2 2 1 2 3 2 2 3 3 2 3 3 2 3 5 5 2 5 7 7 6 6 6 6 7 6 4 4 6 7 6 7 10 12 11 9 6 5 5 5 8 12 13 13 12 11 12 12 10 9 9 10 12 14 15 15 14 13 12 12 12 13 13 14 14 14 13 12 11 10 11 11 11 10 10 10 11 11 9 7 6 6 7 8 7 6 6 7 7 7 6 6 7 9 10 9 6 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 4 5 4 3 3 3 2 2 2 2 1 1 0 0 1 1 1 0 0 0 1 1 1 1 1 1 2 2 2 2 2 1 1 2 2 2 2 2 2 2 2 2 3 2 2 2 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 5 1 1 2 3 4 4 4 3 3 3 4 4 5 5 4 5 4 4 3 3 3 4 3 4 4 4 6 5 4 3 1 3 5 5 3 2 5 5 4 3 3 2 1 0 1 2 3 4 3 3 3 3 3 3 2 3 3 2 2 2 3 3 3 4 4 4 4 4 3 2 5 7 7 7 8 8 5 4 4 4 5 6 6 6 8 10 10 9 8 7 7 9 10 12 13 13 13 12 13 12 11 9 10 11 13 14 14 14 13 12 12 12 12 13 13 13 14 13 14 14 14 13 13 13 12 11 11 11 11 10 9 8 8 8 9 9 9 8 8 8 8 8 7 8 9 11 11 8 5 4 4 4 5 5 5 4 4 4 5 5 5 5 5 4 4 4 4 3 3 3 4 4 4 3 3 3 3 3 2 2 2 1 1 1 1 2 1 1 1 1 1 1 1 0 1 1 2 2 2 2 1 1 1 1 2 2 2 2 2 2 2 2 3 2 2 2 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 2 1 1 2 4 3 3 3 4 5 6 5 5 5 4 4 4 4 3 2 3 4 3 4 5 5 6 6 5 2 2 5 5 3 1 3 5 4 3 1 1 1 2 3 3 4 5 4 3 3 4 4 4 2 2 1 2 2 2 3 3 3 4 5 5 5 4 3 3 2 3 5 7 8 9 8 4 2 4 5 5 5 5 5 7 9 9 9 9 9 10 11 11 12 14 14 14 13 13 13 11 11 11 13 14 14 13 12 12 12 12 12 13 13 13 13 13 13 13 14 14 14 13 12 11 10 9 9 9 9 8 8 8 9 9 9 9 9 9 7 7 7 8 10 10 10 8 5 4 4 4 5 5 5 4 4 4 5 6 6 6 6 5 5 5 5 4 4 4 3 3 3 4 3 3 3 3 3 2 2 2 2 1 1 1 2 2 1 2 1 1 1 1 1 1 1 2 3 3 2 1 1 1 2 2 2 2 2 2 2 2 2 3 2 2 2 3 5 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 2 1 2 3 3 3 3 5 7 6 6 5 5 5 4 4 3 1 1 2 4 4 4 5 5 6 6 4 1 3 6 5 2 2 3 3 2 1 3 3 2 3 5 5 4 3 3 4 4 4 4 3 2 1 0 1 2 3 3 3 3 4 5 5 5 4 1 2 3 2 4 5 7 9 8 3 2 4 5 5 4 4 5 7 7 7 7 8 10 11 11 11 12 13 14 14 15 14 13 12 12 12 13 13 13 12 12 11 11 12 12 13 13 13 13 13 13 13 13 14 13 13 12 11 10 9 9 10 10 9 9 9 9 8 9 9 9 8 6 6 7 8 10 10 7 5 3 3 4 5 5 5 5 5 5 5 6 6 7 7 6 6 6 6 5 5 4 3 3 3 3 3 4 3 3 3 3 3 3 3 2 1 1 1 1 2 2 2 2 2 2 1 1 2 2 2 3 3 3 2 1 2 2 3 3 2 2 2 1 2 3 3 3 3 3 4 4 3 3 3 3 3 3 3 3 4 4 3 3 3 3 3 3 3 3 3 3 3 2 0 2 2 1 2 3 3 4 5 5 6 5 5 4 3 1 2 4 5 4 4 5 5 4 5 5 3 2 4 5 4 3 4 3 2 2 4 5 4 3 4 5 4 2 3 3 4 4 4 4 4 2 1 1 1 1 3 4 4 3 3 4 4 4 3 1 2 2 1 4 3 5 8 6 2 2 3 4 4 3 4 5 7 8 7 7 8 10 10 11 11 12 13 13 14 15 15 14 13 12 13 13 13 13 12 12 11 11 12 13 13 14 13 13 13 13 12 12 13 13 13 13 12 11 11 10 10 10 11 10 11 10 9 9 8 8 7 7 7 8 8 7 6 5 4 4 4 5 6 7 6 6 6 6 7 7 6 6 6 6 6 6 5 4 4 3 3 3 3 3 3 3 3 3 3 3 3 4 3 3 2 1 1 1 2 2 2 2 2 2 2 2 2 2 2 2 3 2 2 2 2 3 3 2 2 1 1 2 3 4 5 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 2 3 2 1 2 2 3 4 3 2 3 4 5 4 4 2 1 2 5 6 6 4 5 6 4 3 3 2 3 5 5 4 3 3 3 1 1 2 3 3 2 1 3 3 2 2 3 4 4 4 4 4 4 3 1 0 1 1 3 4 3 4 3 3 4 4 4 3 4 2 3 4 4 5 6 6 3 3 4 4 4 4 4 4 6 7 8 8 9 9 10 10 10 10 11 12 13 13 13 13 12 12 13 13 14 13 12 12 12 12 12 13 14 15 14 13 13 13 12 11 11 12 13 13 12 12 11 10 10 11 11 11 11 11 10 10 9 8 8 8 8 7 5 4 5 6 6 6 6 7 8 8 8 7 7 7 7 7 6 6 6 6 5 5 5 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 2 2 2 1 2 2 2 2 3 3 2 2 2 1 1 1 2 2 2 2 2 3 4 4 3 2 1 2 3 3 3 3 2 2 2 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 3 3 3 3 4 4 5 4 4 3 3 4 3 2 1 3 5 5 4 3 4 5 6 5 3 3 1 3 6 6 4 2 1 1 0 1 1 1 0 1 1 2 2 3 3 3 4 4 4 4 4 4 3 1 1 0 1 3 3 3 5 4 3 3 4 4 3 4 2 3 6 5 6 7 6 5 5 4 4 4 5 4 2 3 6 7 8 9 10 9 9 9 10 10 11 11 11 12 12 12 13 13 13 13 13 13 13 14 14 14 14 15 15 14 14 13 12 11 9 9 10 11 12 11 10 9 9 9 10 11 11 10 9 9 9 9 9 9 9 7 4 3 3 5 7 7 7 7 7 8 8 7 7 6 6 6 6 6 6 6 5 5 4 4 4 4 3 3 4 4 3 3 3 3 3 3 2 2 2 2 2 2 2 2 2 2 1 1 2 2 2 1 1 1 1 1 2 2 3 2 3 4 5 4 4 2 1 1 2 2 2 1 1 2 2 2 2 3 3 3 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 1 3 3 3 4 4 5 5 5 5 4 2 1 2 4 5 5 4 2 2 3 5 7 7 5 5 2 2 5 4 3 2 2 0 1 2 3 4 3 3 3 4 4 4 4 3 4 4 4 4 3 3 3 2 1 2 2 3 2 2 4 5 4 4 4 3 2 3 2 2 6 7 8 8 7 6 6 5 4 3 3 4 3 2 5 6 8 9 10 10 9 9 9 10 10 10 10 12 12 12 12 12 13 13 13 14 14 15 15 15 15 15 14 14 13 13 12 11 10 9 9 10 10 8 7 7 8 8 9 9 8 8 8 8 8 7 7 7 6 5 3 4 5 6 7 7 7 7 6 6 6 5 5 5 5 5 5 5 5 5 5 4 4 5 6 5 4 4 4 4 4 4 4 4 3 3 3 3 2 1 2 3 2 2 2 2 1 1 2 2 2 1 1 1 2 2 2 3 3 2 2 3 3 3 2 2 1 1 1 1 1 2 2 2 2 2 2 2 3 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 0 1 2 2 3 4 4 4 4 4 4 2 1 3 4 5 4 4 3 3 4 5 7 7 6 5 3 2 3 3 2 1 2 2 1 3 4 4 3 3 3 4 5 5 4 4 3 3 4 4 3 3 2 2 1 2 3 4 1 3 4 5 5 5 5 2 1 4 3 3 6 7 8 8 7 6 6 5 5 3 2 3 2 3 5 6 8 9 10 9 8 7 8 8 8 7 7 8 9 10 10 11 11 12 13 15 16 16 16 16 16 15 14 14 14 14 13 12 11 10 9 8 8 8 7 7 7 8 9 8 8 8 8 6 5 4 3 3 4 4 5 6 6 6 6 6 5 5 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 6 6 6 5 5 4 4 4 4 4 3 3 3 3 3 3 2 3 3 2 3 3 3 3 2 2 2 2 2 2 2 2 3 3 3 3 3 2 3 2 2 2 2 1 1 1 1 1 1 2 2 2 2 2 3 3 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 1 1 1 1 2 3 3 3 3 2 2 3 3 3 4 3 3 2 3 3 4 6 6 6 5 5 5 5 4 2 1 1 3 3 1 1 2 3 4 4 4 4 4 4 4 3 2 3 4 4 3 3 3 3 3 3 4 3 0 4 4 4 4 4 3 1 0 2 4 1 3 7 9 9 7 5 5 4 4 4 3 4 3 4 5 5 5 6 6 6 6 6 6 7 6 6 6 6 6 7 8 9 9 11 13 14 16 16 17 17 17 16 16 15 15 15 15 13 12 10 9 9 9 9 8 8 8 9 8 8 7 7 6 5 3 2 1 2 4 5 7 7 6 5 4 4 3 3 3 3 4 4 4 4 5 5 6 6 6 5 5 6 6 6 6 5 5 5 5 5 4 4 4 4 3 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 2 3 3 3 3 3 3 3 3 3 3 3 2 2 2 2 1 1 1 1 1 2 2 2 2 2 2 3 3 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 2 2 2 0 0 1 2 2 2 1 1 2 4 4 3 3 3 2 2 3 3 4 5 5 4 4 4 4 3 2 3 4 3 2 2 2 2 1 3 4 4 4 4 4 3 2 2 2 3 3 3 2 3 3 3 4 5 4 2 1 3 5 4 4 4 2 1 1 2 3 4 2 5 9 9 6 5 4 3 2 1 3 3 3 4 4 4 5 5 5 5 6 6 6 6 6 7 7 6 6 6 8 9 10 11 12 14 15 15 16 16 17 17 16 16 16 16 15 13 12 11 10 11 10 9 9 9 9 8 7 6 5 5 4 4 3 2 1 3 5 7 6 5 4 3 3 3 3 3 3 3 4 4 5 5 6 6 6 6 5 5 6 7 6 6 6 5 6 6 5 4 4 4 4 3 3 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 3 2 2 2 1 1 1 2 2 2 2 2 2 2 2 3 3 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 2 2 2 2 1 1 1 1 0 1 2 3 3 3 2 3 3 2 1 2 1 2 2 2 2 1 1 2 3 3 4 5 5 3 3 3 2 2 4 4 4 4 3 3 2 2 2 3 3 3 2 2 3 3 4 4 3 2 2 3 4 5 5 4 3 3 2 1 1 2 4 4 2 7 8 5 3 4 3 3 3 4 5 5 5 4 5 5 5 4 5 7 8 8 7 6 6 6 7 6 7 9 10 11 12 12 13 14 15 16 16 16 16 16 16 16 15 14 13 11 11 10 8 7 8 8 8 9 8 7 5 4 3 3 4 3 2 2 4 7 6 5 3 3 3 4 3 3 3 3 4 4 5 5 6 6 6 5 5 5 6 7 7 6 6 6 6 6 6 4 3 3 3 4 4 3 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 3 2 2 2 1 1 2 2 3 3 2 2 2 2 2 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 2 1 1 1 1 0 1 1 1 1 1 2 3 2 0 1 1 1 1 0 0 0 0 1 2 3 4 5 5 3 4 4 3 3 4 4 4 3 3 2 2 2 3 4 3 2 3 3 2 3 4 4 3 2 3 3 4 5 6 5 4 3 3 3 3 3 4 5 1 6 9 7 4 3 4 4 6 7 7 4 3 4 6 6 5 3 4 7 9 9 8 7 6 7 7 7 8 9 11 12 12 13 13 14 15 15 16 16 16 16 16 15 14 13 12 10 9 7 7 7 9 9 9 8 8 7 6 4 4 5 5 4 4 4 6 7 6 5 3 4 5 5 4 3 4 4 4 5 5 6 6 6 6 5 5 6 6 7 6 6 6 6 6 6 5 4 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 2 2 2 2 2 3 3 3 3 2 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 3 2 1 1 2 1 1 2 3 2 1 1 2 2 1 1 2 2 1 1 1 1 1 1 2 3 3 3 2 2 2 2 2 3 2 3 3 3 3 3 3 3 4 4 3 3 3 3 3 3 4 4 2 1 3 3 4 6 5 4 3 3 3 4 3 4 5 5 0 6 9 9 6 5 4 5 7 7 6 5 4 5 6 6 6 6 6 7 8 8 8 8 7 7 8 8 8 9 10 11 12 12 13 14 14 15 15 16 16 16 15 14 13 12 11 9 6 6 7 8 10 10 9 8 7 7 6 6 6 6 6 5 4 5 6 8 7 6 6 6 5 4 3 3 4 5 5 6 6 7 7 6 6 5 6 6 7 7 6 6 6 6 6 5 4 4 4 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 2 2 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 3 3 2 0 2 2 2 1 1 1 2 2 1 2 2 3 3 2 2 3 2 1 1 1 2 2 2 2 2 3 2 1 1 2 2 2 3 4 4 3 2 2 3 3 3 3 2 2 2 3 3 3 3 3 1 2 3 3 4 4 3 2 3 3 3 3 3 3 4 4 3 5 7 7 6 6 6 6 7 6 6 5 6 6 6 6 7 6 6 6 6 7 8 7 7 8 8 8 8 8 9 10 11 12 12 13 13 14 15 16 16 15 15 13 13 11 10 8 7 8 8 9 10 10 9 8 7 6 7 8 8 7 6 6 6 7 8 9 8 6 5 4 3 3 3 5 6 7 7 8 7 7 7 7 6 7 7 7 7 7 6 6 6 6 6 6 5 5 5 6 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 2 2 3 3 3 3 3 3 3 3 3 3 3 3 4 4 3 3 3 3 3 3 3 4 3 2 0 1 2 3 3 2 2 1 0 1 1 1 1 2 3 4 3 2 4 3 2 3 3 2 2 2 2 4 5 3 2 3 3 3 3 4 4 3 3 3 2 2 3 3 2 2 2 2 2 2 2 2 1 1 1 3 3 4 3 2 1 3 3 3 3 3 4 2 4 5 7 8 8 9 9 10 10 10 9 7 6 6 6 6 7 7 7 6 6 6 6 7 7 7 7 8 8 8 8 9 9 10 10 11 12 12 13 14 15 14 14 13 12 12 10 9 8 9 9 10 10 10 10 9 8 7 7 8 9 9 9 8 8 8 9 10 9 7 6 4 4 4 5 6 8 9 9 9 9 8 8 8 8 8 8 7 7 7 7 7 7 7 7 7 6 6 5 5 5 5 5 5 5 5 4 4 4 4 5 5 5 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 2 2 3 3 2 3 3 3 3 3 3 3 3 3 4 3 3 3 3 3 3 3 3 2 1 1 2 2 3 3 4 2 1 1 1 1 1 2 1 1 3 3 3 3 4 4 3 4 3 3 3 4 5 6 6 4 3 4 5 5 5 4 4 2 1 3 3 3 2 2 2 2 3 3 2 2 3 3 0 2 2 3 3 3 3 2 1 4 4 4 3 3 5 4 3 6 7 9 11 12 13 13 13 13 12 9 7 7 7 7 7 7 7 7 7 7 6 7 7 7 7 7 8 8 8 9 9 9 10 11 11 12 13 13 13 13 12 11 11 10 9 9 10 11 11 11 11 10 10 9 8 8 8 9 10 10 10 10 10 10 11 10 9 7 6 6 7 8 9 9 10 10 10 10 9 9 9 9 8 8 8 7 7 6 7 7 7 7 7 7 7 6 6 6 5 6 6 6 5 5 4 4 4 5 5 5 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 3 4 4 4 3 3 3 3 3 3 3 3 2 2 3 3 3 2 3 3 3 3 3 3 3 4 4 3 3 3 3 3 3 3 3 2 3 4 4 3 3 3 3 2 1 2 2 2 2 2 2 2 2 3 4 5 4 4 4 4 4 4 5 6 7 7 4 3 4 4 4 4 4 3 3 2 1 3 3 3 3 2 3 3 2 2 1 1 1 3 3 2 3 4 4 3 3 2 1 3 4 4 2 4 2 5 7 7 7 8 9 9 11 13 13 13 12 11 9 7 8 8 8 8 6 7 7 7 7 7 6 5 5 6 7 8 8 9 9 10 10 11 11 12 12 11 11 11 10 9 9 9 9 10 11 12 12 12 12 11 10 10 10 9 10 10 10 11 11 11 11 11 11 10 10 9 9 9 9 10 10 10 10 10 9 9 9 9 9 9 8 8 8 8 7 6 6 8 8 7 7 7 7 7 6 6 6 6 6 6 5 4 4 4 5 5 5 5 4 4 4 5 5 5 5 5 5 5 5 5 5 5 4 4 5 5 4 3 3 4 4 4 4 3 3 3 4 4 3 3 3 3 3 3 2 3 3 3 3 3 3 3 3 4 4 4 3 3 3 3 4 3 3 4 4 4 4 3 3 3 2 1 2 2 2 2 2 1 1 2 3 4 4 3 3 4 4 4 3 3 4 5 7 4 3 4 4 4 3 2 3 4 3 3 3 3 4 3 2 2 2 3 2 2 2 2 2 2 3 3 3 3 3 3 3 2 3 3 3 3 2 4 1 6 10 10 8 10 12 10 10 11 11 10 11 10 8 7 7 8 7 6 6 6 6 6 7 7 6 5 5 6 7 7 7 8 9 9 10 10 10 10 9 9 9 9 9 9 9 9 10 11 12 13 13 12 11 11 10 10 10 10 10 10 10 11 11 11 11 10 10 9 9 9 9 9 9 9 9 9 9 9 10 9 9 9 9 9 9 9 9 8 6 6 6 8 8 7 7 7 7 8 7 6 5 5 6 6 5 4 4 5 5 5 5 5 4 4 5 5 6 6 6 5 5 5 5 5 5 4 4 4 4 3 3 3 4 4 4 4 3 3 3 3 3 3 3 3 3 2 2 2 2 2 3 3 3 3 3 3 3 3 3 4 4 4 3 4 4 4 3 4 4 4 4 4 4 3 1 3 3 3 2 2 1 1 1 2 3 4 3 1 1 2 3 4 2 3 4 5 5 4 5 5 3 1 1 2 3 4 4 3 2 2 2 2 2 2 2 3 3 2 2 3 2 0 2 4 5 4 3 2 3 3 3 3 4 3 3 3 1 6 9 9 7 8 8 9 8 7 7 7 9 9 8 6 5 5 5 4 5 5 6 6 7 8 7 7 7 7 7 7 7 7 8 9 8 8 8 7 7 7 8 8 9 9 9 9 10 11 12 12 12 12 11 10 10 10 10 10 10 10 10 11 11 11 11 10 9 8 8 9 9 9 9 9 9 9 9 9 10 10 10 9 9 10 10 10 9 8 7 7 8 8 8 7 7 7 8 8 7 5 4 4 5 5 5 4 4 5 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 3 3 3 4 4 4 3 3 3 3 3 3 3 3 3 3 2 2 2 2 2 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 5 4 4 4 4 4 2 2 3 3 3 2 2 2 1 2 3 3 3 4 2 2 1 1 1 1 4 5 3 4 4 3 2 1 2 3 3 3 3 3 3 3 3 3 1 2 2 2 3 3 3 3 4 5 4 3 5 7 7 6 4 1 3 4 4 4 4 4 2 4 6 6 6 7 6 6 6 5 5 6 7 8 7 6 4 3 4 4 5 5 6 7 8 8 8 8 8 9 8 8 8 8 8 8 9 8 7 6 7 7 7 8 8 8 8 9 9 10 11 11 12 11 11 10 11 11 11 11 11 11 11 10 11 11 11 11 10 9 9 9 9 9 9 10 10 10 10 10 10 10 10 10 10 9 10 10 10 9 8 8 8 8 8 7 7 7 7 8 8 6 5 4 4 5 5 4 4 5 6 6 6 5 5 5 6 6 5 5 5 5 5 5 5 5 5 5 4 4 4 3 3 3 3 4 4 4 3 3 3 3 3 3 3 3 3 3 3 2 2 2 2 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 5 5 5 4 4 3 2 1 2 2 2 3 3 2 2 3 3 2 3 4 4 4 3 3 2 2 2 1 2 1 1 1 1 2 4 3 3 3 4 5 4 3 3 2 2 0 2 2 2 1 1 2 4 4 4 4 5 6 7 7 5 1 2 3 3 4 3 2 6 5 2 5 7 7 7 5 4 6 7 7 6 5 5 4 4 5 6 7 7 7 8 8 8 7 7 8 9 10 10 10 10 10 9 9 8 7 7 7 8 9 9 9 9 9 11 11 11 11 11 11 11 11 11 12 12 12 12 12 11 11 11 11 11 11 11 10 10 10 9 9 10 10 10 10 10 10 10 10 10 10 10 10 9 9 10 9 8 8 8 8 8 8 8 8 8 8 8 7 6 5 5 6 6 5 5 5 6 7 6 5 5 5 5 6 5 5 5 5 5 5 5 5 5 5 5 4 4 3 3 3 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 2 2 2 2 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 1 3 4 5 5 4 4 3 2 3 1 2 3 2 2 2 3 2 1 1 3 4 4 3 3 4 4 3 3 2 1 1 0 1 2 3 3 4 4 4 4 4 3 3 3 3 2 1 3 2 2 3 2 2 4 5 5 5 5 6 7 7 5 1 2 4 4 1 5 6 3 4 3 6 8 7 5 4 5 6 6 5 5 5 6 6 7 7 8 7 7 8 8 8 7 6 7 9 10 10 11 10 10 10 9 9 8 8 9 10 11 12 12 11 12 13 13 13 12 11 11 10 11 12 12 12 12 12 11 11 11 11 11 10 10 10 10 10 10 9 9 10 10 10 10 10 10 10 11 11 11 11 10 9 9 10 9 9 8 8 8 8 8 9 9 8 8 8 8 7 6 6 6 6 6 6 7 7 7 6 5 5 6 6 6 6 6 6 5 5 5 5 5 5 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 3 2 2 5 5 4 3 3 2 3 2 2 2 1 1 2 2 2 1 1 1 2 2 3 4 4 4 4 3 1 1 1 1 1 2 2 3 4 4 4 4 2 2 4 3 4 3 2 3 3 3 4 3 2 4 5 4 4 5 6 6 7 7 3 2 4 3 4 7 5 4 4 2 7 8 6 4 4 4 4 4 5 5 6 7 8 8 8 7 6 7 7 7 6 6 6 7 9 11 11 11 10 10 9 8 9 9 10 11 12 14 14 14 13 13 14 14 14 13 11 10 10 11 12 12 11 11 11 11 11 11 11 10 10 9 9 9 9 8 8 9 9 9 10 10 10 10 11 10 10 10 10 10 10 10 10 9 9 9 9 9 9 9 9 9 9 9 8 8 7 7 7 7 7 7 7 8 8 7 6 6 6 7 7 7 7 7 6 5 5 5 5 4 4 4 4 4 5 5 5 4 4 4 4 4 3 3 3 3 3 4 4 4 3 3 3 2 2 3 3 3 3 3 4 4 3 4 3 3 3 3 4 4 4 4 4 4 4 4 4 5 6 7 4 2 2 2 2 2 1 1 1 1 2 2 1 1 1 1 0 2 4 5 5 5 4 3 3 1 1 1 2 2 1 2 3 4 3 2 1 4 4 4 4 2 2 4 4 3 4 2 1 3 3 2 3 5 6 6 7 7 4 1 2 4 6 7 3 5 4 5 8 7 6 4 3 2 2 4 5 6 6 7 8 7 6 5 4 5 5 5 5 4 6 7 10 11 12 12 10 9 8 8 9 10 12 13 14 15 15 15 14 14 15 15 15 14 11 9 9 11 11 12 12 12 11 11 10 10 10 10 9 9 8 8 8 9 9 9 9 9 10 10 10 10 10 10 10 10 10 10 10 10 9 9 9 9 9 10 10 10 9 9 8 8 8 8 8 7 7 7 8 8 8 8 8 8 7 7 7 7 7 7 6 7 6 5 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 4 3 3 3 3 3 3 3 3 3 3 3 2 2 3 3 3 3 3 4 4 4 4 3 4 4 3 4 4 4 4 4 4 4 3 2 2 4 6 5 3 3 3 2 1 1 1 1 2 3 2 1 1 0 1 1 1 2 4 4 4 4 4 3 2 1 1 1 1 2 3 3 2 1 2 4 5 4 5 4 2 2 3 4 2 3 3 2 3 2 1 1 1 3 3 4 6 5 3 4 5 5 3 2 4 5 7 8 8 6 5 4 3 3 4 5 5 6 6 7 7 5 3 2 3 4 4 3 4 5 7 11 13 13 12 10 8 7 7 9 12 14 15 15 16 16 15 15 16 16 15 15 14 12 10 10 11 12 12 13 12 12 11 11 11 10 10 9 9 9 9 10 10 10 10 10 10 9 9 10 10 10 10 10 10 10 10 10 10 10 10 9 10 11 11 11 10 9 8 8 8 7 7 7 7 7 7 7 7 8 8 8 8 8 7 7 7 6 6 7 6 6 4 3 3 4 4 4 5 5 5 6 5 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 2 2 2 3 5 5 3 3 4 3 2 1 1 2 3 3 2 0 1 0 1 1 1 1 2 2 3 3 2 3 3 1 0 1 2 3 2 0 2 4 4 4 3 4 5 4 2 1 0 1 1 1 1 1 2 2 2 2 3 2 2 5 6 5 4 3 4 4 3 3 5 5 6 9 9 8 6 5 4 4 5 5 6 6 6 7 7 6 3 2 4 5 4 3 4 6 9 12 14 14 12 10 7 6 6 9 13 15 15 16 17 16 16 16 16 16 15 15 14 12 11 11 11 12 13 13 13 12 12 11 10 9 9 9 9 10 10 10 10 10 10 10 10 9 9 10 10 10 10 10 11 11 11 11 11 11 10 11 11 12 11 10 10 9 8 8 8 7 6 6 7 6 6 6 6 7 7 8 8 8 8 7 7 7 7 6 6 5 4 3 4 4 5 5 5 5 5 5 4 4 4 4 4 4 3 3 3 3 3 3 3 3 4 4 4 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 5 5 2 3 3 4 5 3 3 4 4 4 2 2 3 3 3 2 1 1 1 1 2 1 1 1 0 2 3 3 1 3 2 0 1 3 3 2 1 3 4 4 3 2 1 3 4 3 2 1 1 2 2 1 1 0 1 2 3 3 3 2 3 6 5 3 1 2 4 6 6 5 3 3 5 7 8 7 6 5 5 6 5 5 7 7 7 7 8 7 5 4 4 5 5 4 5 8 12 13 14 14 13 10 7 5 6 10 14 16 17 17 17 17 16 16 15 15 14 14 14 13 12 12 12 13 13 13 13 13 12 11 10 8 9 9 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 11 11 12 12 12 11 11 11 11 12 12 11 10 10 10 9 9 8 7 7 7 7 6 5 5 6 7 7 8 8 8 7 7 7 6 6 6 5 4 4 4 5 5 5 5 5 5 5 5 4 4 4 4 4 5 5 5 4 4 4 3 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 4 4 4 4 4 5 5 4 4 4 4 5 5 2 3 5 5 5 3 2 3 3 3 3 3 3 2 1 0 0 1 1 1 2 1 0 0 0 1 2 3 2 2 2 1 3 3 1 1 3 4 4 3 2 1 2 3 3 4 4 3 2 2 3 2 2 1 2 2 2 2 2 2 4 5 3 1 2 2 4 6 8 8 6 5 6 8 9 7 5 5 6 6 6 6 8 8 7 8 8 8 6 5 4 6 6 6 7 10 13 14 14 13 12 9 6 6 9 13 16 17 17 17 16 16 16 15 15 15 15 14 14 14 13 12 13 13 13 13 12 12 11 11 10 10 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 12 12 11 11 11 10 10 10 11 11 11 11 11 11 11 10 10 9 9 9 8 7 6 6 6 7 7 7 7 7 7 6 6 6 5 5 5 5 5 5 5 5 5 4 4 5 5 5 5 5 5 5 5 5 6 6 6 5 5 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 4 4 4 4 4 5 5 4 4 5 5 5 4 2 2 5 5 4 3 2 2 2 2 2 2 3 2 1 1 1 1 1 1 2 2 1 0 1 1 1 2 3 3 2 2 3 2 0 4 4 3 2 1 0 1 2 3 2 4 4 3 2 1 2 3 3 1 3 3 1 1 1 2 4 5 3 1 2 2 6 8 10 10 8 7 6 8 10 8 5 5 5 6 6 6 7 7 7 8 8 8 6 5 5 7 8 8 9 10 11 11 11 11 9 7 7 9 13 15 17 17 16 16 16 16 15 15 15 15 15 15 15 14 12 11 11 11 10 10 10 11 11 11 11 11 11 11 11 10 11 11 11 11 11 11 11 11 11 12 12 12 12 12 11 10 10 10 10 10 10 10 11 11 12 11 11 11 11 10 10 10 9 8 7 7 7 7 7 7 7 7 7 7 7 6 6 6 6 6 7 6 6 6 6 5 5 5 5 6 6 6 6 6 5 5 5 6 6 6 5 5 4 4 4 5 5 4 4 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 5 5 5 5 5 5 5 3 3 5 5 4 3 2 2 2 2 1 1 2 2 2 1 1 1 1 1 2 2 2 2 2 1 0 1 1 3 3 2 1 0 2 4 5 3 4 3 2 1 1 2 2 2 3 3 2 2 1 1 2 1 2 2 1 1 1 2 5 5 2 1 2 4 8 9 10 9 7 5 4 4 6 8 7 5 5 5 5 5 6 7 7 8 7 7 6 6 7 8 9 9 9 9 9 10 10 10 8 8 8 12 15 16 16 15 15 16 16 16 15 15 15 15 15 14 12 10 9 9 9 9 10 9 10 10 11 10 9 9 9 9 9 9 9 9 10 10 10 11 11 11 11 12 12 12 11 11 11 11 11 11 11 10 10 10 10 11 11 11 11 11 11 11 10 10 9 8 8 8 8 8 8 8 8 8 8 8 8 8 8 7 7 7 8 7 7 7 7 6 6 6 6 5 5 6 6 6 5 5 5 6 6 6 5 5 4 4 5 5 5 4 4 3 3 3 3 3 3 3 3 4 4 4 4 4 5 5 5 5 5 5 5 6 6 6 4 1 2 5 4 4 3 2 1 2 3 3 3 2 2 1 0 1 1 1 2 2 3 3 2 1 1 1 1 3 3 2 3 3 4 4 4 3 5 4 2 3 3 3 4 4 4 2 2 2 2 0 2 2 2 2 2 1 0 2 5 5 3 3 4 7 8 8 8 8 6 4 2 3 6 8 7 6 5 5 6 5 6 8 9 9 8 7 7 7 7 7 7 7 7 7 8 10 11 10 9 9 11 14 16 17 16 15 15 16 16 15 15 14 14 13 12 10 9 8 8 9 10 11 11 10 10 11 11 10 9 9 9 9 9 9 9 10 10 10 11 12 12 11 11 11 12 11 11 11 11 12 12 11 11 10 10 10 10 10 10 9 9 10 10 10 10 10 10 9 9 9 9 9 9 9 9 8 8 8 8 9 9 8 7 8 8 8 7 7 6 6 6 6 6 6 6 6 6 5 5 5 5 6 6 6 5 4 4 5 5 5 5 4 3 3 3 3 4 4 4 4 4 4 4 4 5 5 6 5 5 5 5 6 6 7 7 7 4 2 3 4 4 3 3 2 1 2 3 2 3 3 3 3 3 1 1 1 2 3 4 4 3 1 1 1 1 2 3 5 5 5 4 3 2 2 3 3 2 3 4 5 4 4 3 2 2 2 2 1 3 3 2 2 3 3 3 3 4 5 7 7 9 9 7 5 6 7 6 5 5 8 8 8 7 6 6 6 8 8 8 9 10 10 9 8 8 8 8 7 6 5 5 6 8 10 11 11 10 11 12 14 15 16 16 15 15 15 15 15 14 13 13 11 10 10 10 10 10 12 12 12 12 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 12 12 11 11 10 11 11 11 10 11 11 11 10 10 10 10 9 9 9 9 9 9 9 9 9 9 9 9 10 10 10 9 8 8 9 9 9 8 8 8 8 8 8 6 6 6 7 7 7 6 5 5 5 6 6 6 6 6 6 6 6 6 6 6 6 6 5 5 4 4 4 4 4 4 3 3 3 4 4 5 5 5 4 4 5 5 6 6 6 6 6 5 5 6 6 6 7 7 3 3 2 4 4 3 3 3 1 1 1 0 2 3 4 4 5 3 3 3 3 3 4 4 3 3 3 3 2 2 2 4 4 4 3 2 2 3 3 2 2 1 1 2 3 4 4 3 2 2 2 1 1 2 1 0 2 4 4 4 1 4 7 9 9 7 5 5 6 7 7 5 5 6 6 6 6 5 4 6 9 9 9 9 9 9 8 8 8 8 8 8 6 5 5 6 9 9 10 10 10 11 11 13 14 14 14 14 14 14 14 14 13 12 11 10 10 11 12 13 13 13 13 13 12 12 12 12 13 13 13 13 12 12 11 11 11 11 11 11 10 10 9 9 9 10 10 9 9 9 9 9 9 9 9 9 9 9 9 9 10 10 10 10 9 9 8 8 8 9 9 9 8 8 7 7 8 7 7 7 7 8 6 5 5 5 6 6 6 5 5 4 5 5 6 6 6 6 6 6 6 6 6 6 6 6 6 5 5 4 4 4 4 4 3 3 4 4 5 6 6 5 5 5 6 6 6 6 6 6 5 5 5 6 6 6 5 6 1 3 1 3 5 4 3 3 1 1 1 1 1 2 3 4 4 3 2 3 4 3 2 3 3 4 4 4 4 3 2 2 2 2 1 3 4 3 2 2 3 4 4 3 2 3 2 1 2 2 2 1 2 2 1 2 1 2 5 4 1 4 7 10 8 4 4 6 7 8 8 4 3 3 4 6 6 4 3 6 8 9 9 9 8 7 7 7 8 8 8 8 7 7 7 8 10 10 10 10 10 10 11 12 12 12 13 13 13 13 13 13 12 12 11 11 11 12 13 14 13 13 13 13 13 13 13 13 14 14 14 13 13 12 12 11 11 11 11 10 10 9 8 9 10 10 10 9 9 9 9 9 8 8 8 8 8 8 9 10 11 11 10 10 10 9 8 7 7 7 7 7 7 7 6 6 6 6 6 6 7 7 7 6 6 6 6 6 6 5 4 4 4 5 5 5 5 6 6 6 6 6 6 6 6 6 6 5 5 5 4 4 4 4 3 3 4 5 6 6 6 6 6 7 7 7 6 7 6 6 6 6 6 6 6 5 5 6 2 2 2 1 4 4 3 3 2 0 1 1 0 2 2 2 2 2 2 2 3 2 1 2 2 3 4 4 5 4 3 1 1 1 3 4 4 2 1 0 1 3 4 2 2 3 2 1 1 0 1 2 2 2 2 2 1 2 4 5 3 4 7 10 8 3 4 6 7 7 7 5 3 3 4 6 5 4 3 6 8 9 9 9 7 7 7 7 7 8 8 8 9 9 9 9 10 10 10 10 10 11 11 11 11 11 11 12 12 12 12 12 12 12 12 12 12 12 13 13 13 13 13 13 13 13 14 14 14 14 14 14 13 13 13 13 13 12 12 12 12 11 12 12 12 12 11 11 11 11 10 10 9 9 8 7 8 8 10 11 11 11 11 10 10 9 9 8 7 6 5 5 5 5 5 5 5 6 6 7 7 7 8 7 7 7 7 6 6 6 5 5 5 5 5 4 4 5 5 6 6 6 6 6 6 6 6 6 6 6 5 4 4 4 4 4 5 6 6 6 6 6 6 7 7 7 7 7 6 6 6 6 6 6 6 5 6 6 3 2 2 1 2 4 3 3 3 1 1 1 1 2 2 2 3 2 2 2 2 1 2 2 2 1 2 3 4 4 4 3 3 3 4 3 2 2 2 1 2 2 2 0 1 2 2 2 1 2 2 1 2 2 2 2 2 0 3 4 2 2 5 8 8 6 6 5 6 7 7 6 3 4 4 6 5 3 3 7 9 10 10 8 7 6 5 6 6 7 8 8 9 10 10 10 10 9 10 10 11 10 11 11 11 11 11 11 12 12 12 12 12 12 12 12 12 12 12 13 13 13 13 13 13 13 14 14 14 14 14 13 13 12 12 12 12 13 13 13 13 13 13 13 13 13 13 13 13 12 11 10 10 9 8 7 8 9 11 11 11 11 11 10 10 10 10 9 8 7 6 5 5 5 6 6 6 6 7 7 7 8 8 8 8 7 7 6 6 6 6 7 6 5 4 4 4 5 5 5 6 6 6 5 5 5 6 6 6 5 5 5 5 5 5 5 6 6 6 7 6 6 6 7 7 7 7 6 6 6 6 6 6 6 5 5 5 6 2 2 1 2 0 2 3 3 3 2 1 1 2 2 2 2 3 2 1 1 1 2 4 4 4 4 2 1 1 2 3 4 4 4 3 2 1 2 2 2 3 3 1 1 2 2 2 2 2 1 1 2 2 2 1 2 2 1 2 2 1 0 2 5 7 9 8 6 6 7 7 5 4 4 5 5 4 3 5 8 10 11 10 8 6 6 6 6 6 7 7 8 9 9 10 10 10 10 10 10 10 11 11 11 11 11 11 12 12 12 11 11 12 12 13 12 12 12 12 12 12 13 13 13 13 14 14 14 14 14 13 12 12 11 11 11 11 11 11 11 12 11 11 11 11 11 11 11 11 11 10 10 10 9 9 9 10 12 12 12 12 11 10 10 10 10 10 9 9 8 7 7 7 6 7 7 7 7 8 8 7 8 8 8 8 7 6 6 6 6 7 7 7 6 5 5 5 5 5 6 6 6 5 5 6 5 6 5 5 5 5 5 6 5 5 6 6 6 6 6 6 7 7 7 7 6 6 6 5 5 6 6 6 5 5 5 5 6 1 2 2 2 3 0 3 4 3 3 2 2 2 2 3 3 2 2 1 1 2 3 4 5 5 6 6 5 4 2 0 2 3 2 2 1 1 1 1 2 2 2 1 1 2 0 1 2 2 1 1 2 1 2 2 2 3 2 1 1 1 0 2 2 2 6 8 7 7 6 6 5 4 4 5 4 2 4 7 10 11 12 10 7 6 6 6 6 7 8 7 8 9 9 10 10 10 11 11 10 11 11 10 10 10 11 11 12 12 12 12 12 12 12 12 12 12 11 12 12 12 12 13 13 13 13 14 14 13 13 12 12 11 11 11 11 11 11 11 11 11 11 10 9 9 8 8 9 10 10 9 9 9 10 10 11 12 12 12 11 10 10 9 10 10 10 10 10 9 9 9 9 8 7 7 8 8 8 8 7 7 7 8 8 8 6 6 6 6 7 7 7 6 6 7 7 6 6 6 6 6 5 5 6 6 6 6 5 5 5 5 5 6 6 6 6 6 6 6 6 7 7 8 8 7 6 5 5 5 6 6 5 5 6 6 5 5 6 2 1 3 3 3 1 4 4 4 3 2 3 4 4 4 2 3 4 3 2 3 4 4 4 5 6 6 6 5 5 3 2 1 2 2 1 1 0 1 2 2 1 1 2 2 2 2 2 2 2 1 1 1 2 2 3 2 2 2 1 1 1 2 0 1 3 7 7 7 7 7 7 6 5 2 1 3 6 9 11 12 12 10 8 7 7 7 7 8 8 8 8 9 10 10 10 11 11 11 12 12 12 12 11 10 11 11 12 11 12 12 12 12 12 11 11 11 11 12 12 12 12 12 12 12 13 13 12 12 12 11 11 11 11 11 11 11 11 11 10 10 10 9 8 7 7 7 7 8 8 8 9 10 10 11 11 11 11 10 10 9 9 10 11 11 11 10 10 9 9 10 9 9 8 8 9 9 8 8 7 7 7 8 8 7 6 6 7 7 7 7 7 7 7 7 7 7 7 6 6 6 5 5 6 6 6 6 6 5 5 5 5 5 5 6 6 6 6 6 6 6 6 7 7 6 6 6 6 6 5 6 6 7 7 6 6 6 6 3 1 3 3 2 1 3 4 4 3 3 4 4 3 1 2 4 5 3 2 3 3 3 3 4 4 4 4 5 5 5 4 4 4 3 3 3 4 5 6 5 4 2 1 2 3 3 3 3 4 3 2 1 2 2 2 1 2 2 2 2 3 2 1 1 4 7 7 7 7 9 10 8 7 5 4 5 8 10 12 12 11 9 8 7 7 7 7 7 8 8 7 8 9 11 11 12 12 12 12 12 12 12 12 11 12 12 12 12 11 11 12 12 12 12 12 11 11 11 11 12 11 12 11 12 12 12 12 11 10 10 11 10 10 9 9 9 9 9 8 8 8 7 7 7 7 8 8 8 8 9 9 10 10 10 10 10 10 9 9 9 10 11 12 12 11 11 10 9 9 9 9 9 9 9 9 9 8 8 7 8 8 9 8 7 6 6 7 7 7 7 7 7 7 7 7 7 6 6 6 6 6 6 6 6 5 5 5 5 5 4 4 5 5 5 6 6 6 6 6 6 6 6 7 7 7 7 7 6 6 6 7 7 7 6 6 6 6 2 1 1 1 1 2 3 3 4 4 4 4 3 2 2 4 4 3 3 2 2 2 3 3 3 3 3 3 4 4 4 4 4 4 3 3 4 5 5 5 6 6 4 2 1 1 2 1 1 4 4 2 1 2 1 1 1 2 1 2 3 3 3 2 1 4 7 8 10 10 12 12 11 9 7 7 7 9 10 10 10 10 8 8 7 7 7 7 7 8 8 7 7 8 11 12 12 12 12 13 13 13 13 13 12 12 12 12 13 12 11 10 11 12 13 13 12 11 11 11 11 11 11 11 11 11 11 11 10 10 10 11 11 10 10 9 9 8 7 7 7 7 7 7 7 8 9 9 9 9 10 11 10 10 10 10 10 10 10 11 11 11 12 12 12 11 10 10 9 9 9 9 9 10 10 10 9 9 8 8 9 9 9 8 8 7 7 6 6 6 6 7 7 7 7 7 6 6 6 6 5 5 6 6 5 5 5 5 5 5 5 5 5 5 6 6 6 6 6 6 6 6 6 6 7 7 7 6 6 7 7 7 7 6 6 6 6 7 1 1 1 1 2 2 1 1 3 3 3 3 3 3 3 4 3 3 3 3 2 2 2 3 3 3 3 3 3 4 3 3 3 4 2 1 3 4 3 4 5 5 4 4 3 3 3 2 1 2 4 4 2 0 1 1 1 1 2 3 2 1 2 2 2 4 5 9 12 16 15 13 12 11 9 9 8 8 8 9 8 8 8 8 7 8 7 7 8 8 8 7 7 8 10 12 12 12 13 13 14 14 13 13 13 13 12 11 12 13 11 10 10 11 11 12 13 12 11 11 11 11 11 10 10 10 11 11 11 11 11 11 11 11 11 11 10 9 8 8 8 8 8 8 9 10 11 11 11 11 11 11 11 11 11 11 11 12 12 12 12 12 12 12 11 10 10 10 10 10 9 10 10 10 9 9 9 9 9 9 9 9 9 9 8 7 6 6 6 6 6 7 7 7 7 7 7 6 6 6 5 5 6 6 5 5 5 5 5 5 5 5 4 5 6 6 6 6 6 6 5 5 6 6 6 7 6 6 7 7 7 7 6 6 6 6 6 6 2 1 2 2 2 2 1 2 3 3 2 2 3 3 3 3 3 3 3 2 2 2 2 2 2 2 2 2 2 3 3 3 3 3 2 2 4 3 3 5 4 4 3 3 3 3 3 3 2 1 3 5 4 1 1 1 0 1 2 2 2 2 2 2 2 1 3 7 13 19 17 12 11 10 9 9 8 7 7 8 8 8 8 7 7 8 7 7 7 8 8 7 7 8 10 12 13 13 13 13 14 14 14 13 13 13 13 12 11 11 11 11 9 9 9 11 12 12 12 11 11 11 10 10 10 10 10 11 11 11 11 11 11 11 11 11 10 10 10 10 10 10 10 11 12 12 13 13 12 12 12 12 11 11 10 12 12 13 13 13 13 12 12 11 10 10 10 10 10 10 10 11 11 10 9 9 10 10 9 9 9 9 9 8 7 7 7 6 6 6 7 7 7 7 6 7 7 6 6 5 6 6 6 6 6 6 5 5 5 5 5 5 5 5 5 6 6 6 6 6 5 5 6 6 6 6 6 6 7 7 7 7 6 6 6 6 6 6 2 2 2 2 2 2 1 1 3 4 3 3 3 3 3 3 3 3 2 2 1 1 1 1 1 2 2 3 3 3 3 2 2 2 1 2 3 3 4 3 3 2 2 2 3 3 3 3 3 2 2 4 6 3 1 1 1 2 2 2 1 2 1 1 0 1 1 6 12 16 15 10 8 8 8 7 7 7 7 8 8 8 8 7 7 7 7 6 7 7 7 6 7 8 11 13 13 13 13 14 14 14 13 13 13 14 14 14 12 11 10 10 9 9 9 9 11 11 12 11 10 9 9 9 9 10 10 10 10 10 10 10 10 10 10 10 9 9 9 9 9 10 11 11 12 12 12 12 11 11 11 11 11 11 12 13 13 14 14 13 13 12 12 11 11 11 11 10 10 10 11 12 11 10 9 9 9 9 8 8 8 8 8 8 8 7 7 7 7 7 7 7 7 7 7 6 6 6 5 6 6 6 5 6 6 5 5 5 5 5 5 4 4 5 6 6 6 6 5 5 5 6 5 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 1 3 3 2 3 2 1 5 6 6 5 3 2 2 3 3 3 3 3 2 1 0 0 0 1 2 2 3 3 3 3 2 1 1 1 1 2 2 2 2 2 2 2 1 3 3 4 4 4 4 4 5 6 3 2 1 3 4 2 1 2 2 0 1 1 2 2 5 13 16 13 9 7 6 5 5 6 7 7 8 8 8 8 7 7 6 6 6 6 7 6 6 7 9 11 13 14 14 14 14 14 14 14 14 14 14 14 14 13 12 10 9 9 9 9 9 9 10 11 11 10 8 8 8 8 9 9 10 10 10 10 9 9 9 8 7 7 6 7 7 8 9 9 10 11 11 11 11 11 11 11 11 12 12 13 13 13 13 13 13 12 12 11 11 11 12 11 10 10 10 11 11 10 9 8 8 8 7 7 7 7 7 8 8 8 8 7 7 7 7 7 7 7 7 6 6 6 6 6 6 6 6 6 6 6 5 5 5 5 5 5 4 4 5 6 6 6 5 5 5 5 5 5 5 5 6 6 5 6 6 7 7 6 6 6 6 6 5 1 2 2 2 2 2 2 5 5 7 6 5 3 3 3 4 4 4 3 1 1 1 0 1 1 2 2 2 2 2 2 2 2 2 1 2 2 3 3 2 2 2 3 4 4 4 5 5 4 4 4 4 3 2 2 1 3 5 2 3 2 0 2 2 2 1 1 5 11 13 11 8 7 5 3 4 5 6 7 7 7 6 6 6 6 5 5 6 6 7 7 7 8 9 11 12 14 15 15 15 15 15 15 15 15 15 14 14 13 12 11 10 10 10 10 10 10 10 10 10 9 8 7 7 7 8 8 9 9 9 9 8 8 7 6 5 5 6 7 8 9 10 10 11 11 11 12 12 12 12 13 13 13 13 13 13 13 12 12 12 11 11 10 11 12 11 10 9 10 10 12 11 10 9 8 8 8 8 8 7 7 7 7 7 8 7 7 7 7 7 7 7 7 6 6 6 6 6 6 6 6 6 6 6 6 5 5 5 5 5 5 4 4 5 6 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 7 7 6 6 6 6 6 5 3 2 1 1 1 2 3 5 5 4 5 4 3 3 3 5 5 4 4 2 2 2 2 2 2 1 1 1 2 2 1 2 4 4 3 0 1 3 4 4 4 4 4 3 2 2 3 3 3 3 3 2 2 2 3 1 3 5 3 1 2 4 3 2 2 2 4 7 10 9 8 6 5 5 2 3 4 5 6 6 5 4 5 5 5 6 6 7 9 9 9 9 9 10 10 11 13 14 15 16 16 16 15 15 15 15 15 14 13 12 11 10 9 9 9 11 12 10 9 8 7 7 8 8 7 8 8 9 9 8 7 7 6 5 5 6 7 8 9 10 11 11 12 12 12 13 14 14 14 14 14 13 13 13 12 12 12 12 12 12 11 11 11 11 11 10 10 10 10 12 12 12 10 9 9 9 9 8 8 8 7 7 7 8 8 7 7 7 7 7 7 6 6 6 6 6 6 6 6 6 6 5 6 6 5 5 5 5 5 5 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 6 6 5 6 6 6 6 3 2 1 0 1 2 1 4 5 5 5 5 4 3 3 3 4 4 4 4 4 3 4 3 3 2 2 2 2 2 1 2 3 3 3 2 2 3 4 4 3 2 2 3 3 3 3 3 3 3 3 2 2 1 3 2 3 6 5 5 5 4 3 2 1 4 6 8 10 9 7 5 4 3 2 2 3 3 3 3 3 4 5 6 6 7 8 9 11 12 12 11 9 10 9 10 11 14 15 16 17 16 16 16 15 15 14 14 13 11 10 9 8 8 9 9 9 8 7 7 7 7 7 8 9 10 10 9 8 7 7 6 6 6 7 8 9 11 11 11 12 12 12 13 14 14 14 14 14 14 13 13 12 12 12 12 12 12 12 12 12 12 11 11 10 10 10 11 12 12 12 11 10 9 9 9 9 8 8 8 7 7 8 8 8 7 7 7 7 7 7 6 6 6 6 6 6 7 6 6 6 5 6 6 6 6 6 5 5 5 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 5 5 5 6 6 6 6 2 1 2 1 1 2 2 1 3 4 5 5 4 4 4 4 3 3 3 3 4 4 3 3 3 3 4 4 3 1 0 1 1 2 3 4 3 2 1 1 2 3 3 4 4 4 3 3 2 3 3 3 1 1 2 2 4 9 7 6 6 5 4 3 3 5 7 9 10 9 7 6 5 3 2 2 2 1 2 2 3 4 5 7 8 10 11 12 13 14 14 14 12 10 9 8 10 13 16 17 17 17 16 16 16 15 15 13 12 11 9 8 8 8 8 8 8 8 8 8 8 8 8 9 11 11 10 8 7 7 7 7 8 9 10 11 12 12 12 12 12 13 13 13 14 13 13 13 13 13 12 13 12 12 13 13 13 12 12 13 13 12 12 11 11 10 11 12 12 12 11 10 10 9 9 8 8 8 8 8 7 8 8 7 7 7 7 7 7 7 7 6 6 6 6 6 7 7 7 6 6 6 6 6 6 6 6 6 6 5 5 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 6 5 6 6 6 6 6 5 2 1 2 1 0 2 3 2 3 3 4 5 5 5 5 5 4 3 3 3 3 3 3 3 3 2 3 4 3 1 1 1 2 3 4 4 1 1 1 1 2 2 3 4 4 3 3 2 2 2 3 3 2 2 3 1 5 9 7 6 7 7 6 4 4 6 8 10 11 11 9 8 7 6 3 2 3 5 5 6 8 9 10 11 13 14 14 14 14 14 15 15 15 13 11 9 9 12 16 17 17 17 17 17 17 16 15 14 12 11 9 8 9 9 9 8 7 9 9 8 8 8 9 10 10 9 8 7 7 8 9 10 11 13 13 13 13 13 12 12 12 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 12 11 11 12 12 12 12 11 11 10 9 8 7 8 8 8 8 8 8 8 8 8 7 7 7 7 7 7 7 7 6 6 6 6 7 7 7 6 6 6 6 6 6 6 6 6 6 6 5 5 5 5 5 5 5 5 6 5 5 5 5 5 5 5 6 6 6 6 6 6 6 6 6 6 6 5 2 2 2 1 1 2 3 2 2 2 3 4 5 5 6 6 6 5 5 5 6 6 6 5 4 3 2 2 1 1 3 3 2 2 2 1 1 1 1 1 2 4 3 3 3 3 2 2 3 3 2 1 2 2 3 2 5 8 6 5 6 6 6 5 5 6 8 11 12 12 10 9 8 8 8 9 11 13 14 15 16 17 17 17 16 16 16 16 15 15 15 15 16 16 14 13 12 12 14 16 17 17 17 18 17 17 16 14 12 11 9 9 9 9 9 9 10 10 11 10 10 10 9 9 7 6 6 7 9 11 12 14 14 14 14 13 12 12 12 12 12 12 13 13 14 14 14 14 14 14 13 13 13 13 13 13 13 13 13 13 13 12 12 12 12 12 12 11 11 11 10 9 8 8 8 8 8 8 9 8 8 9 8 8 8 7 7 7 7 7 7 7 7 7 7 7 7 7 6 6 6 6 6 6 7 7 7 7 7 6 6 6 6 6 6 6 6 6 6 5 5 5 5 5 5 5 5 6 6 6 6 6 6 6 6 6 6 6 3 2 1 1 1 2 3 1 0 0 0 1 2 3 4 5 5 5 6 6 7 7 6 6 6 5 3 2 3 3 2 2 2 2 2 1 1 1 0 2 4 5 6 6 6 6 5 4 1 1 2 3 2 0 2 2 5 7 5 3 4 5 5 5 6 7 10 12 14 15 12 11 10 10 12 14 17 19 19 19 19 19 19 17 16 16 17 17 17 17 18 17 17 17 17 16 15 13 13 14 15 16 17 17 17 16 15 14 13 12 11 10 10 10 10 10 11 11 11 10 10 11 10 8 7 7 8 10 12 13 14 14 13 12 11 10 11 11 12 12 13 13 13 13 14 14 14 14 14 14 14 13 13 13 13 13 13 13 12 12 12 12 11 11 12 12 11 10 10 10 10 9 9 9 9 8 8 8 8 8 8 8 8 8 8 8 7 7 7 7 8 8 8 7 7 7 7 7 6 6 6 6 6 7 7 7 7 7 7 7 6 6 6 6 6 6 6 6 5 5 5 5 6 6 6 6 6 6 6 6 6 6 7 7 7 6 6 6 1 1 1 2 2 2 3 3 3 4 3 3 2 3 3 4 4 5 5 6 7 6 3 2 2 2 3 3 3 2 1 2 2 2 2 2 2 2 3 4 5 5 6 7 7 7 7 7 4 4 4 3 3 2 2 3 5 7 4 1 3 4 4 7 7 8 10 14 17 17 15 15 14 14 17 19 20 21 21 20 19 18 17 16 15 16 18 19 20 20 20 20 19 19 18 18 17 16 15 15 15 14 14 15 15 14 13 13 13 12 12 11 11 11 10 11 11 11 11 11 11 11 11 10 9 10 12 12 12 12 11 10 9 9 9 10 12 13 13 14 14 14 14 15 14 14 14 14 14 14 14 13 13 13 13 13 13 12 12 12 12 11 11 11 11 10 9 9 9 9 10 10 9 10 9 8 7 7 8 8 8 8 8 8 8 8 7 7 8 8 8 8 8 8 8 8 8 6 6 6 7 7 7 7 7 7 7 7 7 7 7 7 6 6 6 6 6 5 5 6 6 6 6 6 6 6 6 6 6 6 6 6 7 7 6 6 6 6 1 1 1 1 1 1 2 4 5 5 5 4 4 5 5 6 7 7 7 7 6 4 2 2 2 1 1 3 3 4 5 7 8 5 1 3 4 4 5 4 3 4 5 4 4 4 4 4 3 3 3 3 2 2 3 5 7 7 5 1 2 3 7 10 10 10 12 15 18 19 19 19 20 20 22 23 23 22 21 20 18 17 17 17 17 18 19 21 22 22 22 21 21 20 20 20 19 19 18 17 16 15 14 13 13 11 10 11 11 11 11 11 11 12 11 12 12 12 12 12 12 12 12 11 11 12 12 11 9 8 7 7 8 9 11 12 13 14 14 14 14 14 14 14 14 14 14 14 13 13 13 13 13 13 13 13 13 12 12 12 12 11 11 11 11 10 9 9 9 9 9 9 9 9 9 8 8 8 8 8 8 8 8 8 8 8 8 7 8 8 8 8 8 8 8 8 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 6 6 5 5 5 6 6 6 6 6 6 6 6 6 7 7 6 6 6 6 6 6 6 6 6 1 1 1 2 1 1 3 4 5 5 6 6 6 7 7 8 8 8 7 7 6 4 2 1 2 3 4 6 6 6 7 10 12 9 5 4 4 5 5 4 3 3 3 1 1 1 2 2 2 3 3 2 0 2 5 7 8 6 3 0 1 5 9 11 12 13 15 17 18 21 23 24 25 25 25 24 23 21 20 19 18 18 18 19 19 20 21 22 23 23 23 23 22 22 21 20 20 19 19 18 18 18 16 15 13 11 10 9 9 9 10 11 11 11 11 11 12 12 12 12 12 11 11 10 9 9 8 8 7 6 7 9 10 12 13 13 13 13 13 13 13 13 13 13 14 14 13 13 13 13 13 13 13 13 13 13 13 13 12 12 11 11 11 11 10 10 10 9 9 9 9 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 7 7 7 8 8 8 8 8 8 8 7 7 7 8 7 7 7 7 7 7 7 7 7 7 7 7 6 6 5 5 6 6 6 6 6 6 6 6 6 7 7 7 7 7 6 6 6 6 6 6 6 6 2 2 1 0 1 3 4 5 5 5 6 7 9 9 9 10 10 8 7 7 7 6 3 1 3 4 5 6 9 8 9 10 12 12 11 10 8 5 4 5 5 4 3 3 2 2 2 2 1 1 2 1 4 7 8 7 5 3 1 2 4 9 11 11 11 13 15 17 17 18 20 23 23 23 23 22 21 19 19 19 20 20 21 21 21 21 22 23 23 23 23 23 23 22 21 20 19 19 19 18 18 18 17 16 15 14 12 10 9 8 9 10 10 10 10 10 11 11 11 11 10 9 8 8 8 8 7 7 7 9 10 11 13 13 12 12 11 12 13 13 13 13 13 13 13 13 13 13 13 12 12 12 13 13 13 13 13 13 13 12 12 12 11 11 11 11 10 10 9 9 8 8 8 8 7 7 7 7 8 8 8 8 8 8 7 7 7 7 7 7 8 8 8 9 8 8 8 8 8 7 7 7 7 7 7 7 7 7 7 7 7 7 6 6 6 6 6 6 6 7 7 6 6 6 6 7 7 7 7 7 6 6 6 6 6 6 6 6 2 2 1 1 2 4 6 7 6 5 7 9 10 10 10 10 9 8 8 8 8 8 5 4 4 4 3 6 9 11 10 10 10 10 11 13 12 8 3 5 6 6 6 6 6 5 5 6 6 5 5 6 8 11 8 4 2 3 2 4 8 12 13 10 9 11 12 12 11 11 13 16 19 19 19 20 21 20 21 21 22 23 23 23 23 23 23 24 24 24 23 23 23 22 21 21 20 20 20 19 18 17 17 16 16 14 12 10 10 10 10 10 10 10 10 11 11 11 11 10 9 9 9 9 10 10 10 9 11 11 12 12 11 11 10 10 11 12 13 13 13 13 13 13 13 13 13 12 12 11 11 11 11 12 12 13 13 13 13 13 13 12 12 12 12 11 10 10 9 9 8 8 8 7 6 6 6 7 8 8 7 7 7 7 7 7 7 7 7 8 8 8 9 9 8 8 8 8 7 7 7 7 7 7 7 7 7 7 7 7 7 6 6 6 6 6 6 6 6 6 6 6 6 6 6 7 7 7 7 6 6 6 6 6 6 6 6 6 2 2 1 2 4 4 5 5 4 5 7 10 11 11 11 10 8 7 7 9 10 10 9 7 6 5 4 5 9 13 13 11 8 8 10 14 14 9 3 3 5 6 7 7 7 7 7 7 8 9 10 11 13 13 7 1 3 3 2 4 10 14 13 11 9 9 9 8 6 6 9 15 18 19 20 21 22 23 23 24 24 24 24 25 25 25 25 25 25 25 25 24 23 22 22 21 21 21 21 20 19 18 16 15 14 13 10 9 9 10 10 11 11 11 12 14 14 13 11 10 10 11 11 12 12 12 11 11 12 12 11 10 8 9 10 11 12 12 13 13 13 13 13 13 14 13 12 11 11 11 11 11 11 11 11 11 11 12 12 12 12 12 12 12 12 12 10 10 9 9 9 9 8 8 7 6 7 7 8 8 8 8 8 8 8 7 7 7 8 8 8 8 9 9 8 8 8 7 7 7 7 7 7 7 7 7 7 7 7 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 1 1 0 3 4 4 2 2 3 4 8 10 10 10 11 11 9 7 8 10 12 13 11 9 8 7 6 5 7 10 11 10 8 8 11 15 15 12 7 4 4 6 7 7 7 7 7 8 9 12 15 18 18 15 9 3 1 1 2 5 10 15 16 14 11 9 9 7 6 7 11 18 19 20 22 23 24 24 24 24 24 24 24 24 25 25 26 26 26 26 25 24 23 22 21 21 20 20 19 18 17 17 15 14 13 11 9 9 10 11 11 12 12 13 14 15 15 14 12 11 11 13 13 13 13 12 12 11 11 10 10 9 9 11 11 12 12 12 13 13 12 13 13 14 13 12 11 11 11 11 12 12 11 10 10 10 10 10 10 10 10 10 11 11 11 10 10 10 9 9 9 9 9 9 8 8 7 7 8 8 8 8 8 8 8 8 8 8 8 8 8 9 9 9 8 8 8 7 7 7 7 7 7 7 7 7 7 7 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 7 6 6 6 6 6 6 5 6 6 6 6 6 5 6 2 2 1 3 5 3 0 2 3 2 7 9 8 7 7 8 8 8 8 10 12 14 14 12 10 9 8 7 9 11 10 9 9 10 12 14 14 13 11 9 6 5 6 7 8 8 9 9 11 13 16 19 18 16 11 6 3 3 6 9 12 14 17 17 16 15 13 12 11 12 16 21 22 23 23 24 25 25 24 24 24 24 24 24 24 24 25 25 25 24 24 23 22 21 20 19 18 16 15 15 15 15 15 14 14 12 11 12 12 13 12 13 13 13 14 14 15 14 13 12 13 14 14 14 13 12 12 11 10 11 11 12 12 13 12 12 12 13 13 12 12 13 14 13 11 11 11 11 12 12 12 12 11 11 11 10 10 10 9 9 9 9 9 9 9 9 9 9 9 9 9 9 10 9 9 8 8 8 8 8 8 8 8 8 8 8 7 8 8 8 9 9 9 9 8 8 8 7 7 7 7 7 6 6 6 7 7 7 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 5 5 5 5 5 5 5 5 2 2 2 2 4 3 0 2 2 3 7 8 6 6 6 7 8 8 9 10 12 14 14 12 10 9 9 9 8 8 8 7 8 10 12 14 14 14 13 12 8 6 7 9 9 10 12 13 14 15 16 17 17 16 12 8 6 6 8 12 14 16 18 21 21 19 19 17 16 15 20 23 23 23 24 25 26 25 25 25 25 25 25 24 23 24 24 24 23 23 22 21 20 19 17 16 15 14 14 14 15 16 16 16 15 14 13 13 13 13 13 13 13 14 14 15 15 15 14 14 14 14 14 14 13 13 13 13 13 14 15 15 14 13 13 13 13 12 12 12 13 13 12 11 10 11 12 13 13 13 12 12 11 11 11 11 11 10 10 10 9 9 9 9 9 8 8 8 9 8 9 9 10 9 8 7 7 8 8 8 8 8 8 8 8 8 8 8 8 9 9 9 9 8 8 8 7 7 7 7 6 5 5 5 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 5 5 5 5 5 5 5 5 5 6 2 1 1 3 4 3 1 2 3 3 6 6 5 5 6 8 8 8 10 12 14 14 14 11 8 8 10 8 6 6 6 7 8 10 13 15 16 16 14 12 10 8 8 10 12 14 15 15 15 16 17 17 16 14 12 10 9 9 11 15 17 18 19 19 20 21 21 21 20 20 22 23 23 23 24 25 26 26 26 26 26 25 25 23 22 22 23 23 23 21 20 19 17 16 15 14 14 14 15 16 18 18 18 17 16 14 13 13 12 12 12 13 14 14 15 15 15 16 15 15 15 15 14 13 13 13 13 14 14 15 15 15 14 13 13 13 12 12 12 13 12 11 10 10 11 12 13 13 13 12 12 12 12 12 12 12 12 12 11 11 11 11 10 10 10 9 9 9 9 9 9 9 9 8 7 7 7 7 8 8 8 8 7 7 8 8 8 8 9 9 9 8 8 8 8 7 7 7 7 7 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 5 5 5 5 5 5 5 5 5 6 6 6 6 7 2 1 2 3 3 2 0 1 2 1 3 5 5 5 7 9 9 10 12 14 15 13 11 8 6 6 9 7 6 6 7 9 10 11 14 16 17 16 13 10 9 9 11 12 14 16 16 16 17 18 19 18 16 13 11 11 11 14 16 19 21 21 21 21 21 22 22 23 24 24 24 24 23 22 23 26 26 26 26 26 26 25 24 24 23 22 22 21 20 19 18 17 16 15 14 14 15 16 18 19 19 19 18 17 15 14 14 13 13 13 14 14 14 15 15 16 16 16 16 16 15 15 14 13 13 13 13 13 14 14 15 15 15 14 13 13 13 12 12 12 11 10 11 12 13 13 13 13 13 13 13 13 13 12 12 12 12 12 12 12 12 12 12 11 11 11 10 9 9 9 9 9 9 8 7 8 8 8 8 8 8 8 8 8 8 8 8 9 9 9 9 8 7 7 7 7 7 7 7 7 7 6 6 7 6 6 6 6 6 6 6 6 6 6 7 6 6 6 6 6 6 6 6 6 5 5 5 5 4 5 5 5 5 6 6 6 6 7 2 1 3 2 1 2 1 1 1 1 2 5 6 6 8 9 10 11 12 13 12 9 6 5 4 5 6 6 5 6 8 11 14 14 15 17 17 15 11 10 10 11 12 14 16 16 16 16 15 15 16 16 15 14 13 13 13 15 18 21 22 23 22 22 22 23 24 25 26 26 25 23 20 19 21 24 25 25 25 25 25 24 23 23 22 21 19 18 17 16 16 15 15 15 15 16 18 19 20 20 20 19 18 16 15 15 14 14 14 14 14 15 15 16 16 17 17 17 17 17 16 15 14 14 13 13 13 13 13 14 14 15 15 14 14 13 13 13 12 12 12 12 13 13 14 13 13 14 14 14 14 13 13 13 14 14 13 13 13 13 12 12 12 12 12 11 10 9 9 9 9 9 9 8 8 8 8 8 8 8 8 8 8 8 8 8 9 9 9 9 8 8 8 7 7 7 7 7 7 6 7 7 7 7 6 6 6 6 6 6 7 7 7 7 6 6 6 6 5 5 6 6 6 5 5 5 4 4 5 5 5 5 5 6 6 6 6 7 2 0 3 2 2 3 3 2 1 2 1 4 6 6 8 9 8 7 7 6 4 3 2 1 3 5 6 5 4 4 7 11 16 17 18 18 17 15 13 12 12 12 13 14 15 15 15 15 14 13 13 13 14 14 14 12 13 14 17 19 20 21 21 22 23 24 24 25 25 25 23 21 18 17 20 21 23 23 23 22 22 20 19 19 18 17 15 15 14 14 15 15 16 17 19 20 21 21 22 21 20 19 17 16 15 15 14 15 15 15 15 16 16 17 18 18 18 18 18 18 18 17 16 15 14 13 13 13 13 13 13 14 14 14 13 13 13 13 12 13 13 14 14 14 14 14 14 14 15 14 14 14 14 15 15 14 13 13 13 12 12 12 12 12 11 10 10 10 10 10 10 9 9 8 8 8 8 8 8 8 8 8 8 8 8 9 9 9 9 8 8 8 8 7 7 7 7 6 6 6 7 7 7 6 6 6 7 6 6 6 6 7 7 6 6 5 5 6 6 6 6 6 6 5 5 4 4 4 5 5 5 5 5 5 5 6 6 6 2 0 3 2 1 3 3 2 1 2 1 3 6 6 7 8 6 4 3 3 3 3 2 0 3 5 5 4 4 5 7 11 16 20 21 20 18 16 13 12 12 11 12 11 12 12 12 12 12 12 11 12 14 14 11 8 9 11 14 15 17 18 21 22 22 22 22 22 22 22 21 20 18 18 18 19 19 19 18 17 16 15 14 13 14 14 13 14 14 15 16 18 20 21 22 23 22 22 21 20 19 18 17 15 15 15 15 15 16 16 17 17 18 19 19 20 20 20 19 19 18 18 17 16 15 14 13 13 12 12 12 13 13 13 13 13 13 12 13 13 14 14 14 14 14 14 15 14 14 14 14 14 14 14 13 13 13 12 12 11 11 11 12 11 10 10 10 10 10 10 10 9 9 8 8 8 8 8 8 8 8 8 8 8 8 9 9 9 9 8 8 8 7 7 7 6 7 6 6 6 7 7 6 6 6 7 7 7 6 6 6 6 6 6 6 6 6 6 6 6 6 6 5 5 4 4 4 5 5 5 5 5 5 5 5 5 5 6 2 1 3 2 1 2 2 3 1 2 2 3 6 7 7 7 4 2 3 3 3 3 2 2 3 4 5 5 5 6 9 13 17 21 23 23 21 18 15 12 10 9 8 8 9 9 9 8 7 7 8 10 12 13 10 6 7 9 11 13 14 16 18 19 19 18 17 16 16 17 18 17 16 16 15 14 14 12 12 12 12 12 11 12 13 14 15 16 18 20 22 23 24 24 24 23 23 22 20 19 18 17 16 15 15 15 16 17 18 18 19 19 20 21 21 21 21 20 20 20 19 18 18 17 15 14 13 12 11 11 12 12 13 13 12 12 12 13 13 14 15 15 14 14 14 14 14 14 14 14 14 13 13 12 12 12 12 12 11 11 11 12 12 11 10 10 10 10 10 10 10 9 8 8 8 8 8 8 8 8 8 8 8 8 8 9 9 9 8 8 7 7 7 7 7 6 6 6 6 6 6 6 6 6 6 7 7 7 6 6 6 6 6 6 6 6 6 6 7 6 5 5 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 2 1 3 2 0 2 2 2 2 2 2 3 6 7 7 6 3 2 3 3 3 3 3 4 4 5 5 6 7 9 10 13 14 18 22 23 21 18 14 11 8 5 4 4 5 8 8 6 4 4 7 9 11 9 7 7 8 9 11 13 14 14 14 13 11 11 10 9 10 11 12 13 12 11 10 10 9 9 9 10 12 13 14 15 17 17 18 19 21 23 23 23 24 24 24 24 23 22 21 19 18 16 16 16 16 16 18 19 20 20 21 22 22 22 22 22 21 21 20 20 20 19 18 17 16 14 13 11 11 11 12 12 12 12 12 12 13 14 15 15 15 15 15 15 14 14 14 14 13 13 13 13 13 13 13 13 12 12 11 11 12 13 12 11 11 10 10 10 10 10 9 9 8 8 8 8 8 8 8 8 8 9 8 8 8 9 9 8 8 7 7 7 7 7 7 7 7 6 6 6 6 6 6 6 7 7 6 6 6 6 6 6 6 6 6 6 6 6 6 5 5 4 4 4 4 4 4 5 5 5 4 4 4 4 5 5 5 5 2 1 3 2 1 2 3 2 2 2 1 2 5 7 7 6 4 2 2 2 3 5 6 6 6 6 7 8 9 9 11 12 14 16 18 18 17 15 12 9 6 4 4 4 4 6 8 6 6 7 9 10 9 7 6 7 10 11 12 13 13 13 11 9 8 8 7 8 9 10 10 10 11 11 11 12 14 15 15 16 16 18 18 19 20 20 20 21 21 22 22 22 22 23 23 23 23 22 21 19 18 17 17 17 17 18 19 20 22 22 22 23 23 23 22 22 21 21 21 20 20 19 18 17 16 14 13 12 12 12 12 12 13 13 13 14 14 15 15 15 15 15 15 15 14 14 14 13 13 13 14 14 14 14 14 13 12 12 12 12 13 13 12 11 11 10 11 11 10 10 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 7 7 7 7 7 7 7 7 7 6 6 6 6 6 6 6 7 7 6 6 6 6 7 7 7 6 6 6 6 6 5 5 5 5 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 1 2 1 1 2 2 2 2 2 2 1 1 3 6 7 7 5 1 1 1 3 6 8 9 9 10 10 10 10 11 12 12 13 13 12 12 12 11 8 7 6 6 6 7 7 7 7 6 5 6 7 7 5 4 5 8 11 12 11 9 9 10 9 8 7 8 9 10 10 10 10 11 13 14 16 17 18 20 21 21 22 21 21 21 21 21 21 21 21 21 21 21 21 21 21 22 21 21 21 20 19 18 18 18 19 19 20 22 22 23 23 23 23 22 22 21 21 20 20 20 19 19 18 17 17 16 14 14 13 13 13 13 14 14 14 15 15 15 15 15 15 15 15 14 14 14 13 13 14 14 15 15 15 14 14 13 12 12 12 13 13 13 12 11 11 11 11 11 10 9 8 7 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 7 7 7 7 7 7 7 7 7 7 6 6 6 6 6 7 7 7 6 6 6 6 6 6 6 7 6 6 6 5 5 5 5 5 4 4 4 4 5 5 4 4 5 5 5 5 5 5 5 5 5 1 2 1 0 1 1 1 2 1 2 2 2 4 6 7 6 4 2 1 1 3 6 9 11 12 11 10 10 10 10 9 8 7 7 7 8 8 8 7 6 6 6 6 5 5 4 4 3 3 4 5 5 4 3 4 7 10 10 8 5 5 6 7 7 7 8 9 10 10 10 11 12 14 16 18 19 19 20 21 21 22 21 21 21 21 22 22 21 21 21 21 21 21 20 20 20 20 21 21 21 21 20 20 20 20 21 22 22 23 23 22 22 22 21 21 20 20 19 19 19 19 19 18 18 18 17 16 15 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 13 13 14 14 15 15 14 14 13 13 12 12 13 14 14 14 13 12 11 11 11 11 10 9 8 7 7 8 8 8 8 8 8 8 8 8 8 8 8 8 8 7 7 7 7 7 7 7 7 6 6 6 6 6 6 6 6 7 7 6 6 6 6 6 7 7 6 6 6 6 5 5 5 5 4 4 4 4 4 4 4 4 4 5 5 5 6 5 5 5 5 6 6 1 2 2 2 1 1 0 1 1 2 2 2 4 5 7 5 3 2 1 2 4 6 8 10 10 10 8 8 7 7 6 5 4 4 5 7 5 6 6 5 4 3 3 4 4 4 3 4 5 6 6 6 5 5 6 8 9 8 4 1 2 4 7 7 8 9 10 11 11 12 12 14 16 19 20 20 19 20 20 21 21 22 22 22 22 22 22 22 22 22 21 19 18 17 17 17 18 19 20 22 23 23 22 22 22 22 22 22 22 22 22 21 20 20 19 19 19 18 19 19 19 18 18 18 18 17 16 16 15 14 14 14 13 13 12 13 13 14 14 14 14 13 14 14 14 14 14 15 15 15 14 13 13 12 12 12 13 14 14 14 14 13 12 12 12 11 11 9 8 8 8 8 8 9 9 9 8 8 8 8 8 8 8 8 8 8 7 7 7 7 7 7 7 6 6 6 6 6 6 6 6 7 7 6 6 6 6 7 7 7 6 6 6 6 5 5 4 4 4 4 4 4 4 4 5 4 4 5 5 5 5 6 6 5 6 6 8 8 1 3 3 2 3 2 0 1 1 2 1 1 3 5 7 6 5 4 5 6 7 7 7 6 6 6 6 5 5 5 4 4 4 5 5 6 6 7 7 5 2 3 5 5 5 5 4 4 6 7 7 7 6 6 7 8 8 6 4 2 3 6 8 8 9 11 12 12 12 13 14 16 18 19 20 20 19 19 20 21 22 23 23 23 23 23 22 22 21 21 20 18 16 14 13 13 14 16 18 21 23 24 24 24 23 22 22 21 20 19 19 20 19 18 18 18 18 19 19 19 19 18 18 18 18 18 17 17 16 15 13 12 12 11 10 11 12 12 13 13 14 14 14 14 14 14 14 14 14 14 13 11 11 11 12 13 14 15 15 14 13 12 11 11 11 10 9 9 9 9 9 9 9 9 9 9 8 8 8 8 8 8 8 8 8 7 7 7 7 7 7 7 7 7 6 6 6 7 6 6 6 7 7 6 6 6 7 7 6 6 6 6 6 5 5 4 4 4 4 4 4 4 4 5 5 5 4 4 4 4 5 5 6 6 7 8 8 9 2 3 3 3 3 2 0 1 0 2 1 1 3 5 7 8 7 6 7 8 9 8 7 5 4 5 5 5 4 4 3 4 5 5 4 5 6 7 6 4 2 5 7 7 6 5 3 4 6 7 8 8 8 8 9 9 6 6 7 7 8 10 10 9 9 10 12 13 13 15 16 18 19 19 19 19 19 19 19 21 22 23 23 22 23 23 22 21 20 18 17 17 16 14 12 11 12 13 15 17 19 21 22 23 23 22 21 20 19 19 18 18 18 17 17 18 18 19 19 19 18 18 18 18 17 17 17 17 16 15 12 11 9 9 9 10 10 11 12 12 13 13 13 13 12 11 11 11 11 10 9 8 9 11 12 13 14 13 13 11 10 10 10 10 9 9 8 9 9 10 10 9 9 9 9 9 8 8 8 8 7 8 8 8 8 7 7 7 7 7 7 7 7 7 6 6 6 7 6 6 6 6 6 6 7 7 7 6 6 6 6 6 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 6 7 7 8 9 9 3 3 2 2 2 1 0 0 0 2 1 1 3 5 7 8 7 6 6 7 8 7 5 4 4 4 4 4 4 3 4 4 5 4 2 3 4 5 5 4 4 6 7 6 5 4 4 5 7 8 9 9 9 9 10 9 7 6 8 10 11 11 11 10 10 10 12 14 15 16 17 18 19 18 18 18 18 18 18 19 21 22 22 22 22 22 22 22 20 18 17 17 16 15 14 14 14 14 15 16 16 18 20 21 21 21 21 20 19 19 18 17 17 17 18 18 18 19 19 19 19 18 18 17 16 16 16 16 15 14 12 11 10 11 11 11 11 10 10 10 10 9 9 9 8 8 8 8 8 7 7 7 9 10 12 12 12 10 9 8 8 9 9 8 8 8 9 9 9 10 10 9 9 9 9 9 9 8 8 8 7 8 8 8 8 7 7 7 7 7 7 7 7 6 6 6 6 6 6 6 6 6 6 7 7 7 6 6 6 6 6 5 5 5 5 5 5 5 4 4 5 5 4 4 4 4 4 4 4 4 5 6 7 8 8 8 9 9 4 3 1 2 2 1 0 0 1 2 1 0 2 4 7 7 6 5 6 7 6 5 4 4 5 4 4 4 4 4 5 5 4 3 1 1 1 2 2 2 3 4 4 4 4 4 5 6 8 10 10 9 8 8 9 9 10 9 9 9 9 10 10 11 11 12 13 15 16 16 16 17 17 17 17 17 17 17 18 19 19 21 21 22 22 22 22 22 20 18 16 15 15 17 17 17 18 18 18 17 17 18 18 18 19 19 19 19 18 18 17 17 17 17 18 19 19 19 19 19 19 19 19 18 17 16 15 15 14 14 14 13 12 11 11 10 9 8 8 8 8 7 7 7 8 8 8 8 6 6 7 8 9 10 10 10 10 8 8 7 8 8 8 8 9 9 9 9 9 9 10 10 9 9 9 9 9 9 8 8 8 8 8 8 7 7 7 7 7 7 7 6 6 6 6 6 6 6 6 6 6 6 7 7 7 6 6 6 6 6 5 5 5 5 4 5 4 4 5 5 5 4 4 4 4 4 4 4 4 4 5 7 8 8 8 9 9 9 3 2 2 2 2 1 0 0 1 1 1 1 1 4 6 5 5 5 6 6 5 4 4 5 5 5 4 4 4 4 5 6 5 1 2 2 1 1 1 1 0 1 1 2 3 4 6 7 9 10 10 9 9 10 11 12 13 12 11 9 8 8 8 9 10 12 13 14 15 15 15 16 16 16 15 15 15 16 17 18 19 20 21 22 22 23 22 22 20 17 15 13 14 16 18 19 20 22 21 19 17 17 17 17 17 17 18 18 17 17 17 16 17 17 18 18 18 18 18 18 18 19 19 18 18 17 16 16 15 15 14 13 11 10 8 7 7 8 9 8 8 9 9 9 9 8 8 7 7 8 9 9 10 10 10 10 9 9 8 8 8 8 9 9 10 10 10 10 9 9 9 10 9 9 9 9 9 8 8 8 8 8 8 8 8 8 8 8 8 7 6 6 6 6 6 6 6 6 6 6 6 6 7 7 6 6 6 6 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 6 6 7 8 9 9 9 9 3 3 2 3 3 2 0 0 1 1 1 1 1 3 3 2 2 3 5 5 4 4 5 5 5 5 4 3 4 5 7 11 11 6 4 4 2 2 1 1 1 2 2 2 3 3 4 5 6 7 8 10 10 10 11 12 13 13 12 10 8 7 7 8 9 10 11 12 13 14 15 15 15 15 15 15 16 17 18 19 20 20 21 22 22 22 22 20 18 15 13 11 12 15 18 19 20 21 20 18 16 15 15 15 15 15 15 15 15 15 16 16 16 16 17 17 18 18 17 16 16 18 18 18 18 17 17 16 15 14 13 11 11 10 10 10 10 10 10 10 9 9 9 8 7 7 7 7 8 9 10 11 11 11 11 10 10 9 9 9 10 10 10 10 10 10 11 10 10 9 9 9 9 9 9 9 8 8 8 8 8 8 8 8 7 7 7 7 7 7 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 5 6 5 5 5 4 4 4 4 4 4 4 4 3 4 4 4 5 5 5 5 5 6 6 7 8 8 8 9 9 9 3 3 3 3 2 1 1 1 1 0 0 1 1 2 2 1 2 3 3 3 3 3 3 5 5 5 4 4 4 7 11 15 16 12 5 4 3 1 1 0 1 3 4 4 3 3 2 1 2 5 7 9 9 10 10 10 11 11 11 9 8 7 6 6 8 9 11 12 13 13 14 15 15 16 17 18 18 18 19 19 20 20 21 21 21 22 20 18 15 13 11 9 10 13 17 19 20 20 19 17 14 12 11 11 11 12 12 13 14 15 16 17 17 17 17 17 17 18 18 17 16 17 18 19 18 17 16 15 14 14 13 12 12 12 12 13 12 12 11 10 9 7 6 6 6 7 7 8 9 10 11 12 12 12 11 10 10 10 10 10 11 11 10 10 10 10 11 11 10 9 9 9 9 9 9 9 8 8 8 8 9 8 8 7 7 7 8 7 7 7 6 7 7 7 7 6 6 6 6 6 6 6 6 6 6 6 6 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 5 5 6 6 6 6 6 7 7 8 8 8 8 8 9 4 4 3 3 2 2 1 1 0 1 1 1 0 2 2 2 2 2 3 1 2 1 2 5 6 6 6 8 10 13 16 17 15 10 5 4 2 1 1 1 0 1 2 3 3 3 3 2 4 7 8 7 7 7 7 8 8 8 8 8 7 6 5 5 6 9 11 12 12 13 13 14 15 16 17 19 19 20 20 20 20 21 21 20 20 20 17 15 13 12 12 10 9 11 14 17 18 18 16 14 11 9 8 7 7 8 9 12 14 15 16 17 18 18 17 17 18 19 20 20 19 18 18 19 19 18 17 15 15 15 14 13 13 13 12 12 12 12 11 10 7 5 5 7 8 9 9 9 9 10 11 11 11 11 11 10 10 10 11 11 11 10 10 10 10 10 10 10 10 9 9 9 9 9 9 9 9 8 9 9 9 8 8 8 8 8 8 8 8 7 7 7 7 7 6 6 6 6 7 7 6 6 6 6 6 6 6 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 5 5 6 6 6 6 7 7 8 8 8 8 8 8 9 5 4 3 3 2 2 2 1 1 2 1 1 0 2 3 2 2 2 3 1 2 0 3 6 7 8 11 13 15 15 16 15 12 6 5 4 3 2 2 2 3 4 5 4 4 4 4 5 6 8 10 11 9 7 8 8 7 7 6 6 5 4 4 4 7 9 11 11 12 12 13 14 16 17 18 19 20 21 21 21 21 21 21 20 18 17 16 15 14 14 14 12 10 9 10 12 12 11 10 8 7 5 4 5 6 8 11 13 15 16 17 18 18 18 18 18 18 19 20 20 20 18 18 18 19 18 17 16 16 15 14 13 12 11 11 11 11 11 9 6 5 4 6 8 9 10 10 10 10 10 11 11 10 10 10 10 11 11 11 11 11 10 9 9 10 9 9 9 9 9 9 9 9 8 8 8 8 9 9 9 9 9 8 8 8 8 8 8 8 7 7 7 7 7 6 6 6 7 7 7 7 6 6 6 6 6 6 6 6 5 5 5 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 6 6 7 8 8 8 8 8 9 9 8 6 4 3 2 2 2 2 1 2 2 1 2 2 1 2 2 2 1 0 1 0 3 6 8 10 11 12 14 14 12 10 9 7 5 5 5 4 3 1 2 3 5 5 5 5 5 4 4 4 6 11 13 12 10 10 10 10 9 7 5 4 3 4 5 7 9 10 11 12 13 14 16 18 19 19 20 20 21 21 21 21 21 21 20 17 16 15 16 17 18 18 15 10 8 7 6 5 5 5 5 5 5 6 7 9 11 14 15 17 17 17 17 17 18 18 18 19 19 19 19 19 18 17 17 18 19 18 17 15 15 14 12 10 9 9 10 10 8 6 4 4 6 7 8 9 10 10 11 11 11 12 11 10 10 10 11 11 11 11 11 10 10 9 10 10 10 10 9 9 9 9 9 9 8 9 9 9 9 9 9 9 9 9 9 9 9 9 8 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 6 6 6 6 6 6 5 5 4 4 4 4 4 4 4 4 4 5 5 6 6 5 6 5 5 5 6 8 9 9 8 8 8 9 9 5 4 3 3 1 1 1 2 0 1 1 0 1 1 1 1 0 1 0 2 4 6 8 8 9 9 9 9 9 7 5 4 4 3 3 4 4 3 2 2 1 0 1 2 1 1 1 1 1 1 6 10 13 11 10 10 10 9 7 6 4 4 5 6 6 7 10 13 15 16 17 18 19 21 21 21 21 21 21 21 21 21 21 19 18 17 17 19 20 21 19 16 11 9 7 6 4 4 5 6 8 10 12 12 13 14 14 15 15 15 15 15 16 16 17 17 17 18 19 19 19 18 16 16 16 18 17 15 14 12 11 10 8 8 8 9 7 6 5 5 6 7 8 9 9 10 11 11 12 12 12 11 10 10 10 11 11 11 11 10 10 10 10 10 10 10 10 9 9 9 9 9 9 9 9 9 9 9 10 10 10 9 9 9 9 8 8 8 7 7 7 7 7 7 7 7 7 7 7 7 7 6 7 6 6 6 6 6 5 5 4 4 5 5 5 4 4 4 4 5 5 5 6 6 6 6 6 6 6 6 7 8 9 8 8 8 8 9 4 4 4 3 1 2 2 3 2 1 2 1 1 2 1 1 1 1 3 4 5 6 7 6 6 5 5 5 5 5 4 2 1 1 1 3 5 4 3 3 3 2 2 3 3 3 3 3 2 1 2 7 12 12 11 10 9 7 6 5 4 5 5 5 5 7 11 15 17 19 19 20 20 21 21 22 22 22 21 21 21 20 19 18 17 18 19 21 21 20 18 16 13 11 9 9 9 8 8 10 12 14 17 17 17 16 15 14 14 14 13 13 13 13 14 15 16 17 18 19 19 18 15 14 15 15 15 13 12 10 9 8 7 6 6 6 5 5 6 7 8 8 9 9 10 11 11 12 12 11 11 10 10 10 11 11 11 11 11 11 10 10 11 11 11 10 10 9 9 9 9 9 9 9 9 9 9 10 10 10 10 9 9 9 9 9 8 8 7 7 7 7 7 7 7 7 6 7 7 7 7 7 6 6 6 6 6 5 5 4 4 4 5 5 5 5 5 4 4 5 5 5 6 6 6 7 6 6 6 7 8 9 9 8 8 8 8 9 2 3 4 4 3 2 2 2 4 1 2 2 1 2 2 2 1 1 3 5 5 5 5 5 4 3 4 4 5 5 3 2 1 4 6 6 6 5 3 2 2 2 2 2 2 2 2 2 2 2 1 5 9 11 10 9 7 6 4 3 4 4 4 3 5 9 14 17 18 19 20 21 21 21 21 22 22 22 21 21 20 19 18 17 17 17 18 20 20 19 17 16 15 13 13 13 14 14 15 15 16 18 20 21 21 20 18 17 17 16 15 15 14 13 13 13 13 14 15 16 17 16 15 14 13 13 13 13 12 11 10 8 7 5 4 3 3 4 6 7 8 9 9 9 10 10 11 11 10 10 10 10 10 10 11 11 12 11 11 11 11 10 10 10 10 10 10 10 9 9 9 9 9 9 9 9 10 11 11 10 10 9 9 9 9 9 9 8 8 8 7 7 7 7 7 7 7 7 7 6 6 7 7 6 6 6 5 5 5 4 4 5 5 5 5 5 5 5 5 5 5 6 6 6 6 6 6 6 6 7 7 8 9 8 8 8 9 9 2 2 3 3 3 3 2 3 3 1 2 2 2 2 2 3 2 2 1 3 4 4 4 5 5 4 4 4 4 4 3 2 2 4 6 7 7 7 5 3 2 2 3 2 2 2 2 2 1 2 2 4 9 10 9 8 6 4 3 3 4 4 3 4 7 11 15 17 18 19 20 21 21 22 22 22 22 21 21 20 19 18 18 18 17 16 17 19 19 19 17 16 16 16 15 17 18 20 21 21 22 22 22 22 23 23 22 21 20 19 18 17 17 16 16 16 16 14 13 14 15 16 16 16 16 15 14 14 14 13 12 9 7 5 4 3 3 4 5 7 8 9 9 9 9 9 9 9 9 9 9 10 10 10 11 11 11 11 11 11 11 11 11 11 10 10 10 10 10 10 10 10 10 9 10 10 11 11 11 10 9 9 9 9 9 9 9 8 8 8 7 7 7 7 7 7 7 7 6 6 6 6 7 7 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 6 6 6 6 6 7 8 8 8 9 9 9 9 9 3 3 3 3 3 4 4 4 3 1 2 2 2 2 3 2 2 2 1 1 3 3 3 4 4 4 4 4 4 3 2 2 2 3 5 6 6 6 4 3 2 2 3 3 3 3 3 3 2 3 2 3 7 9 8 6 5 4 4 4 4 4 4 5 8 11 15 18 19 19 19 20 21 21 21 22 22 21 20 19 18 17 17 17 15 14 16 17 18 18 17 16 16 17 18 20 21 23 24 25 26 25 24 23 23 24 24 24 23 22 21 20 19 18 18 18 17 16 13 15 16 17 17 18 18 18 17 16 15 13 12 9 7 5 5 5 5 4 4 5 6 7 8 9 9 9 9 9 9 9 10 10 10 11 11 11 11 11 11 11 11 11 11 10 10 11 10 10 10 10 10 10 10 10 10 11 12 11 11 10 9 9 9 9 9 9 9 9 8 8 7 7 7 7 7 7 7 6 6 6 6 6 6 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 7 7 7 7 7 8 8 7 8 8 8 8 8 9 9 9 8 4 4 4 4 5 4 4 3 3 2 1 1 1 2 2 2 1 1 1 1 2 3 2 2 3 4 5 5 4 2 1 1 2 4 4 5 5 5 4 3 2 1 2 3 3 3 3 2 2 2 2 4 7 7 6 5 5 4 4 4 5 6 6 7 10 13 16 18 19 19 20 20 20 20 20 20 21 20 20 18 17 17 16 14 13 14 16 17 17 16 16 17 17 17 19 22 24 26 27 28 28 27 26 23 23 24 25 25 24 24 23 22 21 20 19 17 16 15 14 14 14 15 15 16 17 18 18 17 16 14 11 8 6 4 4 3 3 3 4 4 5 6 7 8 9 10 10 9 9 9 10 10 11 11 11 11 11 11 11 11 11 11 11 10 10 11 10 10 10 10 10 10 11 11 12 12 12 11 11 10 10 10 10 10 10 10 9 8 8 7 7 7 7 7 7 7 6 6 6 6 6 6 6 6 6 6 5 5 5 5 5 5 5 4 4 4 5 6 6 6 7 7 7 7 7 7 8 8 8 7 8 8 8 8 9 9 9 9 5 4 4 5 5 4 4 4 3 2 0 1 1 1 1 0 0 0 1 1 1 2 3 2 2 3 5 7 5 2 2 1 2 3 4 5 6 5 4 3 2 1 2 3 3 3 2 3 3 3 4 7 7 6 5 4 5 4 4 5 8 8 9 10 13 16 18 19 20 20 20 20 20 20 19 19 19 19 18 18 17 16 14 13 13 14 15 16 17 17 17 17 18 19 21 25 27 28 29 29 29 28 27 24 23 23 24 25 25 25 25 24 23 23 22 21 19 17 15 14 13 12 13 13 15 16 17 17 15 13 9 5 3 2 2 2 2 3 4 5 6 7 7 9 10 11 10 10 10 10 10 10 11 11 11 11 11 11 11 11 11 11 11 10 11 11 11 11 10 10 10 11 11 12 12 12 12 12 11 11 10 10 10 10 9 9 9 8 7 7 7 7 7 7 6 6 6 6 6 6 6 6 6 6 6 6 5 5 5 5 5 5 5 5 4 5 5 6 6 6 6 7 7 7 7 7 7 7 7 8 8 8 8 9 8 9 9 9 6 5 4 4 4 3 3 3 3 2 1 2 2 1 1 2 1 2 1 1 0 1 4 3 2 2 3 7 6 4 4 3 2 3 4 5 5 5 4 3 2 2 2 2 3 2 2 3 3 5 8 9 7 6 5 5 5 6 7 9 11 12 13 14 15 17 18 19 20 20 20 20 20 20 19 18 17 17 17 16 16 15 13 13 13 14 15 16 17 18 18 18 19 20 24 27 29 29 29 28 27 27 26 24 23 22 23 24 25 25 25 25 25 25 25 24 22 21 19 17 16 14 13 12 13 13 14 14 13 10 6 3 1 2 2 2 2 4 5 6 7 8 10 11 12 11 10 10 10 10 11 11 11 11 11 11 11 11 12 12 11 11 10 10 10 11 11 10 11 11 11 12 12 13 13 12 12 12 11 11 10 9 9 9 8 8 7 7 7 7 7 7 7 6 6 6 5 5 6 6 6 6 6 6 6 6 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 7 7 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 4 3 2 3 3 3 3 2 0 2 4 5 5 3 2 3 3 2 1 0 1 2 3 3 3 2 3 5 6 6 5 2 2 3 3 4 4 4 3 2 1 1 2 2 2 2 3 4 4 5 8 9 8 7 6 7 9 12 13 14 15 15 15 16 17 17 18 19 19 19 20 20 20 20 19 18 17 16 16 16 15 13 11 11 12 13 14 14 15 17 18 18 19 22 25 28 28 28 27 26 26 25 25 23 22 21 22 22 23 24 25 25 25 25 25 24 23 22 21 20 18 17 16 14 13 12 11 10 8 6 4 2 3 3 4 4 5 6 7 8 9 11 12 13 12 10 9 10 11 11 11 11 11 11 11 11 11 11 12 12 11 11 10 10 10 10 10 10 11 11 12 13 13 14 13 12 12 11 10 9 9 8 8 8 8 7 7 7 7 7 7 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 5 5 5 5 5 5 5 5 5 6 6 6 6 7 7 7 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 4 3 2 2 2 2 3 3 4 6 6 5 5 3 2 2 3 2 1 2 3 3 3 4 4 4 4 4 5 5 4 2 3 3 3 4 4 4 2 1 1 2 2 2 2 3 5 5 5 5 7 9 10 9 9 11 13 15 17 17 17 16 16 16 17 17 17 18 18 19 19 19 18 18 18 18 17 16 15 14 14 13 11 10 10 11 12 12 13 15 17 18 20 24 27 28 27 27 26 26 25 25 24 23 22 21 21 21 21 21 23 23 24 23 23 22 22 22 21 20 19 19 18 17 16 14 11 8 7 6 5 5 5 6 7 8 8 9 9 10 11 12 13 12 9 8 9 10 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 10 10 10 10 10 11 12 13 14 14 14 13 12 11 9 9 8 8 8 8 8 8 8 7 7 7 7 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 5 5 5 5 5 5 5 5 5 5 6 6 6 6 7 7 7 7 8 8 8 8 8 8 8 8 8 8 8 8 8 9 2 2 2 2 2 2 2 4 5 4 3 2 2 1 0 2 3 3 3 3 3 3 3 4 5 6 4 2 2 2 3 3 4 4 5 5 4 3 2 1 1 1 2 2 3 4 4 5 5 6 6 8 10 11 12 13 15 16 17 18 18 18 17 16 16 17 17 17 18 18 17 17 17 17 17 17 17 15 13 12 12 14 13 11 9 10 11 12 14 16 18 20 23 25 27 27 26 25 25 25 26 26 26 25 24 23 22 21 21 21 21 21 22 21 20 20 20 21 20 20 19 19 18 18 18 16 13 10 8 7 7 7 8 9 10 11 11 11 12 12 11 11 10 8 7 7 8 10 10 11 11 11 11 11 11 11 11 11 11 11 11 11 11 10 10 10 10 11 12 13 14 14 14 13 12 11 9 8 8 8 8 8 8 8 8 8 8 7 7 7 6 6 6 6 6 6 6 6 6 6 7 7 7 6 6 6 5 5 5 5 5 5 5 5 5 5 6 7 7 6 7 7 7 8 8 8 8 8 8 8 8 8 8 8 8 9 10 10 1 1 0 1 2 1 1 3 3 2 1 1 1 1 0 2 2 3 2 3 3 3 4 4 5 5 4 3 2 2 3 4 4 4 5 5 4 3 2 1 1 1 1 2 3 3 3 4 6 7 6 7 9 11 13 15 16 18 18 18 18 18 17 16 16 17 17 17 18 17 16 16 17 17 17 17 18 15 13 11 11 13 14 14 13 13 15 16 17 19 21 23 24 25 26 25 25 24 24 24 25 26 26 26 26 25 24 24 23 22 21 21 20 18 17 17 17 17 18 17 17 17 17 17 17 16 13 11 9 9 8 8 8 9 10 11 11 11 11 10 9 8 6 6 6 7 8 9 10 11 11 11 11 11 11 11 11 11 11 11 11 11 11 10 10 10 11 12 14 15 15 15 14 12 10 9 8 8 7 8 8 8 8 8 8 8 7 7 7 7 7 7 7 6 6 6 6 6 6 6 6 7 6 6 6 6 5 5 5 4 5 4 4 4 5 6 6 7 7 7 7 7 8 8 8 8 8 8 8 8 8 8 9 9 9 10 10 10 1 1 1 1 1 1 0 1 2 1 1 1 1 1 1 1 1 2 2 2 2 4 4 4 5 5 5 4 2 1 2 5 6 6 4 3 2 1 1 1 1 0 1 2 3 4 5 6 8 8 8 7 8 11 13 16 18 20 20 19 18 18 18 17 16 17 17 18 18 17 15 15 16 17 17 18 18 16 14 12 10 12 14 16 18 19 20 20 20 22 23 23 24 23 24 24 24 23 23 23 23 24 25 26 25 25 25 24 24 23 23 22 21 19 17 15 14 14 14 13 14 14 14 14 14 13 12 11 10 9 8 7 7 8 9 9 9 8 8 7 7 6 6 6 7 8 9 10 10 11 11 11 12 12 11 12 12 12 12 11 11 11 10 10 10 11 12 13 15 15 15 14 11 9 8 8 8 8 8 8 8 8 8 8 8 8 8 7 7 7 7 7 7 7 6 6 6 6 6 6 6 6 6 6 6 5 5 5 5 4 4 4 4 4 5 5 6 6 7 7 7 8 8 8 8 8 9 9 9 9 9 9 9 10 10 10 10 10 1 1 1 1 0 1 1 1 2 1 0 1 2 2 1 2 2 3 2 2 2 4 5 4 5 6 5 4 3 3 3 4 4 4 3 2 1 1 2 2 0 1 3 5 6 7 8 9 9 8 9 10 11 12 14 15 17 18 19 19 18 17 17 17 17 17 17 18 18 17 17 16 17 17 18 18 17 16 16 15 14 14 14 17 20 22 23 23 23 24 24 24 24 23 24 23 23 23 22 22 22 23 24 24 24 24 23 23 23 23 24 23 23 22 21 19 17 14 12 12 12 12 12 13 12 11 11 10 9 8 8 7 7 7 8 9 8 7 7 7 7 7 7 7 7 8 9 10 10 11 12 12 12 12 12 12 12 12 11 11 11 10 10 10 11 12 13 15 16 16 14 11 8 8 7 8 8 8 8 8 8 8 8 8 8 8 8 8 8 7 7 7 7 7 6 6 6 6 6 6 5 5 5 5 4 4 4 4 4 4 4 4 4 4 5 6 6 7 7 7 7 7 7 7 8 8 8 9 9 9 9 9 10 10 10 10 10 10 2 0 1 1 1 1 1 1 1 0 2 3 4 3 3 2 2 2 2 1 2 4 4 4 4 5 4 3 3 3 3 2 2 2 2 1 1 1 1 1 1 4 6 8 7 7 7 9 9 10 11 13 14 15 14 14 15 17 18 19 19 18 17 16 16 16 17 17 17 17 17 17 17 18 18 18 17 17 17 17 17 17 17 19 22 24 24 25 25 25 25 25 24 24 23 23 23 22 22 22 22 22 23 24 24 24 23 23 23 23 23 24 24 24 24 23 21 19 16 15 14 13 13 12 11 10 10 10 9 8 7 7 7 7 8 9 9 9 9 9 9 8 7 7 7 8 9 10 11 11 12 12 13 13 12 12 12 12 11 11 11 11 11 11 12 13 15 16 16 14 11 9 7 7 8 8 8 8 8 8 8 8 8 8 9 8 8 8 8 7 7 7 7 6 6 6 6 6 6 6 6 5 5 4 3 3 3 4 3 3 3 4 4 5 5 6 6 6 7 7 7 7 7 7 7 7 8 8 9 9 10 10 10 10 10 10 10 10 2 1 1 1 1 2 1 1 1 1 2 3 3 3 2 1 1 2 1 1 3 4 4 4 4 4 4 3 3 2 3 1 1 2 1 0 0 1 1 1 3 4 6 7 6 5 6 9 12 14 15 16 16 15 14 14 15 16 17 18 19 19 19 17 16 15 16 17 18 17 17 17 17 17 18 18 18 18 18 19 20 21 22 23 25 25 25 25 25 25 25 24 24 24 23 23 23 22 22 23 23 23 24 24 24 24 23 23 23 23 24 24 24 25 25 25 24 23 21 20 18 17 15 14 13 12 10 9 8 8 8 7 7 8 9 10 11 12 12 11 9 7 6 7 7 8 9 9 10 11 11 12 12 13 12 12 12 12 11 11 11 11 11 11 13 15 17 17 14 11 8 7 7 7 8 8 8 8 8 8 8 8 9 9 9 8 8 8 8 7 7 7 7 7 6 6 6 6 7 6 6 6 5 4 3 3 3 3 3 3 4 4 4 4 5 5 6 6 6 7 6 6 7 7 7 8 8 9 9 10 10 10 10 10 10 11 11 11 3 3 2 0 2 2 2 2 2 2 2 1 1 1 2 2 1 1 1 0 2 4 4 4 4 3 3 3 3 3 4 2 2 2 1 1 3 3 2 2 4 4 5 7 8 8 9 11 16 17 16 15 16 16 16 16 16 17 17 17 18 19 19 19 17 13 15 17 18 18 18 17 17 17 17 18 19 20 20 21 22 23 24 25 26 26 26 26 26 25 24 23 23 23 23 23 23 23 23 23 23 23 24 24 24 24 23 23 23 23 23 23 24 24 24 24 24 23 22 21 20 20 18 17 16 15 12 9 8 8 8 8 8 9 10 11 13 13 12 10 8 6 7 7 7 8 9 9 10 11 11 12 12 12 12 12 12 12 12 11 11 11 11 12 14 16 17 15 12 8 7 7 7 8 8 8 8 8 8 8 8 9 9 9 8 8 8 8 8 7 7 7 7 7 7 7 7 7 7 6 6 6 5 4 4 3 3 3 3 4 4 4 4 4 4 5 5 6 6 6 6 6 7 7 8 8 8 9 9 10 10 10 10 11 11 11 11 11 5 4 2 0 2 1 1 1 2 1 2 2 1 1 0 0 0 0 1 1 2 3 3 3 2 3 2 4 4 4 5 3 2 3 4 6 7 6 4 2 3 3 6 9 11 13 14 15 16 16 15 15 17 18 18 17 17 18 18 18 17 17 18 18 18 15 15 16 18 20 19 18 16 16 17 18 20 21 22 22 23 24 25 25 26 27 27 26 25 25 24 23 23 23 24 23 23 23 23 23 22 23 23 23 23 22 22 22 22 22 22 22 23 23 22 22 22 21 20 19 18 19 19 19 18 16 14 11 8 7 8 10 10 11 11 12 12 12 11 9 7 6 7 7 8 8 9 9 10 11 11 11 12 12 12 12 12 12 12 11 11 11 12 13 15 16 15 11 8 7 7 7 8 8 8 8 8 8 8 9 9 9 9 9 8 8 8 8 8 8 8 7 7 7 7 7 7 7 7 6 6 6 5 5 4 4 4 4 4 4 4 4 4 4 4 5 5 6 6 7 7 7 7 7 8 8 9 9 10 10 10 10 10 11 11 11 11 11 4 3 3 0 3 1 0 1 2 1 2 2 0 2 2 1 1 2 0 0 1 2 3 2 1 2 4 6 8 7 2 1 2 6 7 8 8 8 8 5 4 4 7 11 14 16 17 17 16 15 15 15 18 19 19 18 17 17 18 18 18 17 17 17 19 19 18 17 17 19 19 18 17 16 16 18 20 21 22 23 24 25 25 25 26 26 27 26 25 25 25 24 24 24 24 24 24 24 24 23 23 23 23 23 22 22 21 21 21 21 21 21 21 21 21 21 21 20 19 17 16 16 16 16 16 16 15 13 9 8 9 10 11 11 11 11 11 11 10 8 7 7 7 8 8 8 9 9 10 10 11 12 12 12 12 12 12 11 11 11 12 12 13 14 16 16 12 7 6 7 7 7 8 8 8 8 8 8 9 9 9 9 9 9 8 8 8 8 8 8 7 7 7 7 7 7 7 7 7 6 6 6 6 5 4 4 4 4 5 5 5 4 4 4 5 5 5 6 7 7 7 7 8 8 8 9 9 10 10 10 10 10 10 10 11 10 10 10 2 2 2 0 3 1 0 1 2 2 2 2 2 1 2 2 2 3 3 2 1 2 3 2 2 3 6 10 12 12 7 4 5 8 7 6 7 9 10 9 8 8 10 13 15 16 17 18 17 15 14 15 17 18 19 19 17 15 15 17 19 18 17 16 19 21 21 20 18 18 18 18 17 17 17 18 20 21 23 24 25 26 26 26 25 25 26 26 26 25 25 25 25 25 25 25 25 24 24 24 24 24 24 23 23 22 22 22 21 22 22 22 22 22 22 22 21 21 21 19 17 14 12 12 13 14 14 12 10 8 9 10 11 11 11 11 11 10 9 8 7 7 7 8 8 9 9 9 10 11 11 12 12 13 12 12 12 11 11 12 12 12 13 15 16 13 9 6 6 7 7 7 8 8 8 8 9 9 9 9 9 9 9 9 9 9 9 8 8 8 7 7 7 7 7 7 7 7 7 6 6 6 6 5 5 5 5 5 5 5 5 4 4 4 5 5 6 6 7 8 8 8 8 8 8 9 9 10 9 10 10 10 10 10 9 9 8 8 2 1 1 1 2 1 0 0 3 2 2 2 2 1 1 2 2 2 3 3 2 2 4 5 6 8 10 13 15 15 12 9 7 7 6 6 7 9 11 12 14 15 15 16 16 16 17 17 17 16 14 14 15 17 18 20 19 17 15 15 17 18 18 18 19 21 22 22 20 19 18 17 17 17 18 18 19 21 23 24 25 26 26 25 25 24 25 25 26 26 26 26 26 26 26 25 25 24 25 25 25 25 24 24 24 23 23 22 22 22 22 23 23 23 23 23 23 22 22 21 20 18 16 14 13 13 14 12 10 9 10 10 10 10 11 11 11 10 9 8 8 8 8 8 8 9 9 9 10 10 11 12 12 12 12 12 12 12 12 12 12 12 14 15 13 10 7 6 7 7 8 8 8 8 9 9 9 9 9 9 9 9 9 9 9 9 9 8 8 8 8 8 7 7 7 7 7 7 6 6 6 6 6 5 5 5 5 5 5 5 5 4 4 4 5 5 6 6 7 8 8 8 7 8 8 9 9 9 9 9 9 9 9 9 8 7 7 7 3 3 2 2 2 1 1 0 2 3 3 1 1 2 1 3 3 2 3 4 5 5 7 9 11 12 13 14 14 13 11 9 8 7 8 9 10 11 13 14 16 18 19 19 18 17 17 17 17 16 15 15 16 16 17 19 20 19 17 15 16 17 18 19 19 20 21 22 21 20 18 17 17 18 18 19 20 21 23 24 25 25 25 25 25 24 24 24 26 26 26 26 26 25 25 25 25 25 25 25 25 24 24 24 24 23 23 23 22 22 22 22 23 23 23 23 22 22 21 21 20 20 18 16 15 14 13 12 11 11 11 11 11 11 11 11 11 10 9 9 9 8 8 8 9 9 9 9 10 10 11 12 12 12 12 12 12 12 12 12 12 13 14 14 11 7 7 7 7 8 8 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 8 8 8 8 8 7 7 7 7 6 6 6 6 6 6 6 5 5 5 5 5 5 5 4 4 4 5 5 6 6 7 8 8 8 7 7 7 7 8 8 7 8 8 9 9 8 7 7 7 7 4 4 3 3 2 2 2 2 1 2 3 2 1 2 2 3 4 3 4 5 7 9 10 11 12 13 11 10 10 11 9 8 7 7 8 11 12 14 15 16 18 19 20 19 18 17 17 17 16 16 16 17 17 17 16 17 18 18 18 17 17 18 19 19 19 19 20 21 21 20 19 18 17 18 19 20 20 22 23 24 24 24 24 24 25 24 24 24 25 26 26 26 25 24 23 22 24 24 24 24 24 24 24 23 22 22 22 22 22 22 21 21 21 21 21 21 21 21 20 19 18 17 16 16 15 14 13 12 12 12 11 11 11 11 11 11 10 10 9 9 9 9 9 9 9 10 10 10 10 11 11 12 12 12 12 12 12 12 12 12 13 14 14 12 8 7 7 8 8 9 9 10 10 10 10 10 10 10 10 10 10 10 10 9 9 9 9 9 9 8 8 8 8 8 7 6 6 6 6 6 6 6 6 6 5 5 5 5 5 5 4 4 4 4 5 5 6 6 6 7 7 7 7 7 7 7 6 6 6 7 7 7 7 7 7 7 7 7 2 1 1 1 1 1 2 2 2 1 2 3 2 2 3 4 5 4 4 6 8 10 11 11 11 11 9 9 9 9 9 8 8 8 9 12 14 16 17 18 19 20 20 19 18 17 16 16 16 16 16 17 18 19 18 18 17 17 18 19 19 19 19 19 18 19 20 20 20 20 19 19 18 18 19 20 21 22 23 24 24 23 22 23 24 25 25 25 26 26 27 26 25 24 23 23 23 23 24 23 24 24 23 22 22 21 21 22 22 21 21 21 20 20 20 20 19 19 19 18 16 15 15 15 14 14 13 12 13 12 11 10 11 11 11 10 9 9 9 9 9 9 9 9 9 10 10 10 11 11 11 12 12 12 12 12 12 12 12 12 14 14 12 9 7 7 8 8 9 9 9 10 10 10 10 10 10 10 10 10 10 10 10 10 9 9 9 9 9 8 8 8 8 8 7 7 7 6 6 6 6 6 5 5 5 5 5 5 5 5 4 4 4 5 5 5 5 6 6 7 7 7 7 7 7 6 6 6 6 6 6 6 6 6 7 7 7 7 1 0 0 1 1 1 1 1 2 1 2 3 4 3 3 4 5 6 7 8 9 9 8 8 8 8 8 9 10 11 11 11 11 11 11 12 14 16 17 18 19 20 20 19 18 17 15 15 16 16 17 17 18 19 19 19 18 18 19 20 20 19 18 19 19 19 20 19 19 19 19 19 19 19 19 19 20 21 22 23 23 23 22 22 23 25 26 26 26 27 27 25 24 24 24 24 24 23 23 23 23 23 23 22 22 21 21 21 21 21 21 21 21 20 20 19 19 18 18 18 17 16 16 15 14 14 14 13 14 13 12 10 10 10 10 9 9 9 9 9 9 9 9 9 10 10 10 11 11 11 11 12 12 12 12 12 12 12 13 13 14 13 10 7 6 7 8 9 9 10 10 10 10 10 10 10 10 10 10 10 10 10 10 9 9 9 9 8 9 9 8 8 8 8 7 7 7 7 6 6 6 6 5 5 5 5 5 5 5 5 4 4 5 5 6 6 6 6 7 7 7 7 7 6 7 7 6 6 6 6 6 5 6 6 7 7 6 6 1 1 1 1 1 0 1 2 3 1 3 4 4 5 5 6 7 7 8 7 5 4 4 5 7 8 9 10 12 13 13 14 14 14 14 15 15 15 16 17 18 19 18 17 17 16 15 15 16 17 17 17 17 17 18 19 21 20 20 21 20 19 18 19 19 20 19 19 18 18 19 19 20 20 20 20 20 20 22 22 23 23 23 23 24 25 26 26 26 26 26 25 25 25 25 24 24 24 24 23 23 23 23 22 22 21 21 21 21 21 21 21 21 21 21 20 20 19 19 18 18 18 17 17 16 15 14 14 14 14 12 10 9 9 8 8 8 8 9 9 9 9 9 9 10 10 11 11 11 11 12 12 11 12 12 12 12 13 14 14 13 10 7 6 7 8 9 9 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 9 9 9 8 8 9 9 8 8 8 7 7 7 7 7 6 6 6 5 5 5 5 5 5 5 5 5 4 4 4 5 5 6 6 7 7 8 8 7 7 6 7 7 6 6 6 6 6 6 6 6 6 6 6 5 2 1 1 1 1 2 3 3 2 3 5 4 3 5 6 7 7 5 4 4 3 3 5 6 8 11 12 13 14 14 15 15 16 16 17 18 17 16 16 16 16 15 15 15 14 15 14 14 14 17 17 17 17 18 19 20 21 22 21 21 21 20 19 18 18 19 19 18 18 18 18 19 19 20 21 20 20 20 21 22 23 23 25 25 25 25 25 25 25 26 25 25 25 25 25 24 24 24 23 23 23 23 22 22 22 22 21 21 21 21 21 21 21 21 21 21 21 21 20 20 19 18 18 17 16 15 14 13 14 14 12 10 8 8 7 7 8 8 9 10 10 10 10 10 11 11 11 11 11 12 12 11 12 12 12 12 12 13 13 12 10 7 6 7 8 8 9 9 10 10 10 10 10 10 10 10 10 10 10 11 10 10 10 9 9 9 9 8 8 8 8 8 8 7 7 7 7 7 7 6 6 5 5 5 5 5 5 5 5 4 4 4 4 5 5 5 6 7 7 7 7 7 7 7 7 7 7 7 8 7 7 7 6 6 6 6 5 5 3 2 1 1 3 3 4 3 1 4 5 3 4 6 5 5 5 4 4 4 5 6 8 10 12 14 14 14 13 14 15 16 16 18 19 19 18 17 16 15 15 14 12 12 12 13 13 13 14 16 17 18 18 19 20 20 21 21 21 20 20 21 20 19 18 17 18 18 18 18 18 18 19 20 20 20 20 20 21 22 23 24 25 26 26 26 25 25 25 25 25 25 24 24 24 24 23 23 23 23 23 22 22 22 22 21 21 21 21 21 21 21 21 20 20 20 20 20 20 20 19 19 18 17 16 15 14 14 14 14 13 11 9 8 8 8 9 9 10 10 11 11 11 11 11 11 11 11 11 11 12 12 12 12 12 12 13 13 12 10 7 6 6 7 8 9 9 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 9 9 9 9 9 9 8 8 8 8 7 7 7 7 7 7 7 6 6 5 5 5 4 4 5 5 5 5 4 4 4 4 5 5 6 6 6 6 7 7 6 6 7 7 8 8 8 8 7 7 6 6 5 5 5 5 3 2 2 1 2 3 2 1 0 2 3 4 6 6 4 3 5 5 6 7 8 10 11 12 13 14 13 11 11 13 15 16 18 18 19 19 18 17 16 15 15 14 13 13 12 13 12 12 13 15 17 18 18 19 20 20 19 20 19 19 19 20 20 20 19 17 17 17 18 18 18 18 19 19 19 19 20 20 21 21 23 24 25 25 25 25 25 24 24 25 25 25 24 24 23 23 23 23 23 23 22 22 22 22 21 21 21 21 20 20 20 21 20 20 20 19 19 19 19 19 18 18 17 16 15 14 14 14 14 14 13 11 10 9 9 9 10 10 10 10 11 12 12 12 11 11 11 11 12 12 12 12 12 12 12 12 12 12 11 9 7 6 6 7 8 8 9 10 10 11 11 11 11 10 10 10 10 10 10 10 10 10 9 9 9 9 9 9 8 8 8 8 7 7 7 7 7 7 7 7 6 6 5 5 4 4 4 4 5 5 4 4 4 4 4 5 5 5 5 5 6 6 6 7 7 7 7 7 7 7 7 6 6 5 5 5 5 5 3 2 2 2 2 2 1 2 2 2 2 2 4 3 2 3 5 7 9 10 11 11 12 12 12 12 11 11 11 13 15 16 17 17 17 17 17 16 16 16 16 16 16 16 15 15 14 13 14 15 17 18 18 18 18 18 18 18 18 17 17 17 17 19 19 18 17 17 18 18 18 18 19 19 19 19 20 20 20 21 22 24 25 25 25 24 24 24 24 24 24 24 24 24 23 23 23 23 23 23 23 23 22 22 21 21 21 20 20 20 21 21 20 20 20 20 19 18 18 18 17 17 17 15 14 13 12 13 13 13 12 11 10 9 9 9 10 10 11 11 12 12 12 12 11 11 11 12 12 12 12 11 11 12 12 12 12 11 10 9 8 7 7 7 8 9 9 10 10 10 11 11 11 10 10 10 10 10 10 10 10 10 10 9 9 9 9 9 9 8 8 8 8 7 7 8 8 7 7 7 8 8 7 6 5 4 4 4 5 5 5 4 4 4 4 4 5 5 5 5 5 6 6 6 6 6 6 6 6 6 6 6 5 5 4 4 4 4 3 2 2 1 1 1 2 3 1 0 1 1 1 1 2 4 6 8 9 10 11 11 12 11 11 11 11 11 12 13 14 15 14 14 13 13 14 14 14 15 18 19 19 18 18 18 17 17 17 16 17 17 17 17 17 16 15 16 16 15 15 14 15 16 18 18 18 18 19 19 18 18 18 19 20 20 20 20 20 21 22 23 24 25 24 24 23 22 23 23 23 24 24 24 24 23 23 23 23 23 23 22 22 22 21 21 20 20 20 20 20 20 20 20 20 20 20 19 18 17 17 16 15 15 13 12 12 12 12 12 12 11 10 9 9 9 10 10 11 11 12 13 13 12 12 11 11 11 12 12 12 11 11 12 12 12 12 11 10 10 8 7 7 7 8 9 10 10 10 10 11 11 11 10 10 10 10 10 10 10 10 10 10 10 9 9 9 9 9 8 8 8 7 7 7 7 8 7 8 8 8 9 8 6 5 5 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 6 6 6 6 6 6 6 6 6 6 5 5 5 4 4 4 4 5 2 1 2 1 1 2 2 2 2 2 2 2 3 5 6 7 8 9 9 10 11 11 11 11 12 12 13 13 13 13 12 12 11 10 11 11 12 13 14 18 19 19 20 20 19 19 19 19 18 17 17 16 16 16 16 15 15 15 15 15 15 15 16 16 17 17 18 19 20 20 18 18 19 20 21 21 21 21 21 22 22 23 24 24 23 22 21 22 23 23 23 23 23 24 24 24 23 23 23 23 23 22 22 21 21 20 20 20 20 20 20 20 21 20 20 20 19 19 18 17 16 15 14 13 13 13 13 13 14 13 12 11 10 10 10 11 11 11 12 12 13 14 14 12 11 10 11 11 11 11 11 12 12 12 12 12 11 10 10 9 8 7 8 8 9 10 10 10 11 11 11 11 10 10 10 10 10 11 10 10 10 9 9 9 9 9 9 8 8 8 8 7 7 7 7 7 7 7 8 8 8 7 6 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 5 5 5 5 6 6 6 6 6 6 5 5 5 5 5 4 4 5 5 5 2 1 2 2 2 3 3 1 1 2 3 4 5 5 6 7 8 8 8 9 10 11 12 14 14 14 14 12 11 10 10 10 11 11 11 11 12 13 14 15 17 18 19 20 21 21 21 20 19 18 17 17 16 16 16 16 15 16 16 17 17 18 18 17 17 17 17 19 20 20 20 19 19 20 22 21 21 20 20 21 21 22 23 23 22 21 20 21 22 23 23 23 23 24 24 24 23 23 23 23 22 22 21 21 20 20 20 20 20 20 20 20 20 20 20 19 19 19 18 18 17 16 15 13 13 13 14 14 14 14 14 13 12 11 11 11 11 11 12 12 13 14 13 12 10 9 9 10 10 11 12 12 12 12 11 11 10 10 10 9 9 8 9 9 10 10 11 11 11 11 11 11 11 10 10 10 10 11 10 10 9 9 9 9 9 8 8 8 8 8 8 8 7 7 7 7 7 7 7 7 7 7 6 6 5 5 5 5 5 4 4 5 5 4 4 4 4 4 5 5 5 5 5 5 5 5 5 6 6 6 6 6 5 5 5 5 5 2 0 2 3 3 3 3 3 1 0 1 3 5 5 5 5 6 7 7 7 8 10 13 15 17 18 17 14 11 9 9 10 11 13 14 15 15 15 15 15 16 17 18 19 20 21 22 22 22 21 19 18 17 16 16 16 16 15 16 17 18 18 19 20 19 19 18 18 18 18 19 19 19 20 20 21 21 20 20 20 20 20 21 21 22 23 22 21 21 21 22 22 22 22 23 23 24 23 23 23 22 22 21 21 20 20 19 19 20 20 20 20 19 19 19 18 18 18 18 18 18 18 17 16 14 13 13 14 14 14 14 14 13 13 12 12 11 11 11 12 12 13 13 12 11 9 8 9 9 10 11 12 12 12 12 11 10 10 10 10 10 10 9 9 9 10 11 11 11 12 12 12 11 11 11 10 10 10 10 10 9 9 9 9 8 8 8 8 8 8 9 8 8 8 7 7 7 7 7 6 6 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 5 5 5 5 5 6 6 7 7 7 6 6 7 7 7 1 3 3 2 2 3 3 2 0 1 2 4 5 5 5 5 6 7 9 10 11 14 16 19 20 19 17 14 13 12 13 14 15 16 17 18 18 19 19 19 20 20 20 20 21 22 23 23 22 21 20 19 18 17 16 16 16 16 17 18 19 19 20 21 21 21 20 19 19 18 18 19 19 20 20 20 20 19 19 18 19 19 19 20 21 22 22 22 21 20 20 21 21 22 22 23 24 23 23 23 22 22 21 20 20 19 19 19 19 20 19 20 19 19 18 18 17 17 17 17 17 17 16 16 15 14 14 14 14 13 13 13 13 13 13 12 12 11 11 12 12 13 13 11 9 8 8 9 9 10 11 12 12 12 11 11 10 10 10 10 10 10 10 10 10 11 11 11 12 12 12 12 11 11 11 11 10 10 10 9 9 9 9 9 9 9 8 8 8 9 9 9 8 8 7 7 7 7 6 6 6 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 7 8 7 7 7 6 6 6 6 6 7 8 8 8 9 11 12 12 3 3 3 2 3 3 2 1 2 3 4 4 5 5 4 4 5 8 10 12 14 15 16 17 17 16 15 14 15 17 17 18 19 20 20 20 21 22 22 23 23 22 22 22 22 22 22 22 22 21 20 19 18 18 17 17 17 17 18 19 20 20 21 22 22 22 22 21 20 20 19 19 19 19 19 19 19 19 18 18 18 18 19 19 20 21 22 22 22 21 20 20 20 22 23 23 23 23 23 22 22 21 21 20 20 19 19 19 19 19 19 19 19 19 19 18 18 17 17 17 16 16 15 15 15 15 14 14 14 13 13 12 12 12 13 12 12 11 11 12 12 12 12 11 9 8 8 8 9 10 11 12 12 11 11 11 11 10 10 10 10 10 10 10 10 11 12 12 12 12 12 12 12 11 11 11 10 10 9 9 9 9 9 9 9 8 8 8 8 8 8 8 8 8 8 7 7 6 6 6 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 9 10 11 11 10 9 8 7 7 7 7 7 8 10 12 14 15 16 3 3 3 3 4 3 2 2 4 4 5 6 6 6 5 5 5 8 11 14 15 15 14 13 12 12 13 14 17 18 18 18 20 21 22 22 23 23 24 24 24 23 23 22 22 21 21 21 21 21 20 19 19 19 18 18 18 19 19 20 21 22 23 23 24 24 24 23 22 21 20 19 19 19 19 18 18 18 18 18 18 18 18 19 20 20 21 21 21 21 20 20 20 22 23 23 23 22 22 22 21 20 20 20 19 19 19 18 19 19 18 18 18 18 18 18 18 18 17 17 17 16 16 16 15 15 14 14 14 13 13 12 11 11 11 11 11 11 11 11 12 12 11 10 8 7 8 8 9 10 11 11 11 11 11 11 11 10 10 10 10 10 10 10 11 11 12 12 13 13 12 12 12 12 11 11 10 10 10 10 10 9 9 8 8 8 8 8 8 7 8 8 8 8 8 8 7 6 6 6 6 6 5 5 5 5 5 5 4 4 4 5 5 5 5 6 6 6 6 6 9 11 14 14 14 15 15 13 11 9 7 7 7 9 11 13 15 16 2 2 3 3 3 2 2 3 4 5 5 6 6 6 6 6 7 9 12 15 16 14 12 10 10 10 12 15 17 18 19 19 21 22 23 24 24 25 25 25 24 23 22 21 21 21 21 21 21 21 20 20 19 19 19 19 19 19 20 21 22 23 23 24 24 25 25 24 23 22 21 21 21 21 21 20 18 18 18 19 19 18 18 19 19 20 20 20 21 21 20 19 20 21 22 23 22 22 22 21 20 20 19 19 19 19 18 18 18 18 18 18 18 18 18 18 18 18 18 18 17 17 18 17 17 16 15 15 14 14 13 13 12 11 10 10 10 10 10 10 11 11 11 9 7 7 7 8 9 10 10 10 10 10 11 11 11 11 10 10 10 10 11 11 11 11 11 12 13 13 13 13 12 12 11 11 10 10 10 10 10 10 9 8 8 7 7 7 7 7 7 8 8 8 8 8 7 7 6 6 5 5 5 5 5 5 4 4 4 4 4 4 5 5 5 5 6 6 6 6 7 8 11 13 14 16 16 15 15 13 12 9 8 9 9 12 13 14 1 2 2 2 1 1 3 4 4 5 5 5 6 7 8 9 11 13 15 16 16 15 13 11 11 12 13 16 17 17 18 20 22 23 24 25 25 25 25 24 23 22 20 20 20 20 20 20 20 20 19 19 19 20 20 20 20 20 21 22 23 23 23 23 24 25 25 25 25 23 22 22 22 23 23 23 21 19 18 19 19 19 19 19 19 19 20 20 21 21 21 19 19 20 22 22 22 22 22 21 21 20 20 19 19 18 18 17 17 17 18 18 18 17 17 17 18 18 18 18 18 18 18 19 18 18 17 16 15 15 14 13 12 11 10 10 9 9 10 10 11 11 10 8 7 7 7 8 9 9 10 10 10 10 11 11 11 11 11 11 11 11 11 11 12 12 12 12 13 13 13 13 12 11 11 11 11 11 11 10 10 10 9 8 8 8 8 7 7 8 8 8 9 9 8 8 7 7 6 6 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 7 9 11 13 14 15 15 14 14 12 11 10 11 12 13 13 1 1 1 1 1 2 3 3 4 4 4 5 5 7 9 12 14 15 16 16 16 15 15 14 13 14 14 15 16 17 19 21 23 25 26 26 26 25 25 23 22 21 19 19 18 19 19 19 19 19 19 19 20 20 21 22 22 23 23 23 23 23 23 24 24 24 24 25 25 25 25 24 23 23 24 25 24 22 19 18 19 20 21 20 20 20 19 20 20 21 20 19 19 19 20 21 21 21 21 21 21 20 20 19 18 18 18 17 17 17 17 17 17 17 17 17 17 18 18 18 18 18 18 19 19 18 18 17 17 16 15 14 12 11 10 9 9 9 10 10 11 10 9 8 7 7 7 8 9 9 9 10 10 10 11 11 11 11 12 12 12 12 12 12 12 12 12 13 13 13 13 13 12 11 11 11 12 11 11 10 10 9 9 8 8 9 8 8 8 8 8 9 9 9 8 8 7 7 6 6 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 6 8 10 12 12 13 13 13 13 12 13 13 13 14 14 Wind_Direction 31 60 66 62 46 43 49 59 71 107 169 202 211 216 214 210 214 221 210 183 168 170 177 180 180 168 154 151 151 143 124 109 95 88 96 109 114 132 204 220 220 229 253 264 269 263 260 260 275 283 284 265 258 273 349 18 107 108 107 14 235 229 235 231 222 226 239 254 262 268 273 276 276 275 274 272 270 268 251 219 205 205 204 197 195 208 221 228 233 236 237 237 236 234 233 230 227 224 222 220 219 221 220 221 220 221 222 223 223 224 223 223 224 224 224 225 226 229 231 230 231 233 234 235 236 238 237 236 238 236 238 239 239 235 234 237 237 241 243 239 237 248 260 281 294 291 284 273 256 234 228 213 213 211 210 209 205 204 200 184 175 174 174 173 143 85 43 26 14 344 318 307 307 313 332 352 1 352 352 352 353 1 1 346 344 344 341 335 327 317 305 305 297 311 319 313 293 281 273 267 267 279 278 277 277 272 266 264 287 293 297 297 297 294 291 281 275 287 297 293 301 301 305 319 332 347 1 4 0 353 351 351 354 354 355 353 348 346 80 75 77 77 69 62 74 120 160 184 195 206 212 215 213 212 221 224 217 200 184 169 154 130 113 110 112 109 106 103 98 89 83 73 72 79 93 129 239 248 208 210 284 290 285 279 274 278 293 295 268 243 246 279 344 337 37 87 54 309 268 236 227 230 217 230 262 271 271 269 271 274 275 274 273 271 270 268 258 231 209 202 194 184 188 206 221 226 228 229 232 232 232 233 231 229 228 225 222 220 220 220 220 219 219 219 221 221 222 223 224 225 225 225 227 226 225 226 231 235 238 247 248 248 243 244 240 236 237 240 239 243 244 243 237 238 241 243 243 239 239 243 259 287 299 295 286 273 243 221 215 196 194 202 204 205 202 196 189 184 179 174 173 154 109 81 58 35 2 303 290 297 301 312 341 1 12 1 12 10 1 1 352 1 1 1 351 329 314 307 317 313 319 332 319 290 273 266 267 273 267 267 262 272 279 288 291 303 297 290 291 294 292 292 288 279 274 276 287 287 297 293 297 312 327 336 355 1 0 357 354 354 357 357 357 352 347 345 80 75 79 72 66 60 167 213 200 200 200 208 206 198 198 199 211 220 207 189 148 99 88 89 86 77 65 72 88 97 102 105 105 98 98 93 96 239 273 286 284 129 260 287 288 286 284 282 288 305 295 279 272 299 322 313 323 67 55 309 277 250 226 223 217 213 267 278 276 273 272 271 273 273 274 274 272 269 260 237 208 188 175 176 185 204 216 221 220 221 224 226 228 229 229 229 227 226 223 220 219 219 220 219 218 219 219 222 223 224 225 225 226 227 228 228 228 234 250 256 259 268 266 260 248 241 238 239 239 242 242 245 244 244 242 243 237 243 243 243 239 232 243 287 309 293 276 256 213 197 197 191 195 196 201 196 191 184 174 173 179 179 169 131 104 93 94 104 279 276 293 293 297 303 337 1 18 18 31 25 12 352 355 14 3 329 284 291 293 290 301 307 309 309 303 287 282 290 291 288 288 278 272 276 283 294 297 297 297 291 289 288 292 291 285 283 279 275 276 276 287 276 287 291 303 320 346 1 0 357 354 354 357 0 357 354 349 347 72 73 71 60 48 9 290 238 218 212 213 210 199 188 188 192 196 187 160 133 112 103 98 94 87 74 58 52 64 85 106 112 110 103 100 109 131 231 286 292 281 169 166 267 284 288 289 288 292 291 284 279 292 326 327 323 351 51 66 327 287 277 245 213 177 14 294 288 282 276 271 270 270 271 273 275 272 268 258 223 184 167 166 173 189 206 215 217 216 214 218 220 224 226 227 228 227 226 222 220 219 220 221 220 220 219 220 222 223 223 223 225 225 225 228 232 243 255 254 256 258 262 260 255 246 238 232 232 238 243 244 242 240 240 243 245 237 235 239 246 235 218 208 231 264 256 245 223 194 184 184 189 196 196 196 193 188 179 174 173 172 169 159 132 108 103 116 140 231 277 287 297 303 311 332 346 340 5 77 65 40 2 1 2 329 255 260 264 266 259 243 243 266 273 273 273 274 281 283 278 283 282 282 283 289 294 294 286 289 289 292 292 286 285 281 283 279 273 275 262 262 249 262 262 279 297 349 355 0 357 357 357 357 357 357 353 347 349 57 62 67 62 44 318 268 238 218 218 216 208 194 175 166 156 133 120 115 110 108 107 110 103 96 86 69 55 54 61 81 95 95 92 92 105 131 162 262 292 293 246 194 216 266 282 288 292 300 287 258 268 302 335 329 322 336 44 62 1 292 285 286 308 51 353 316 297 286 278 276 273 272 273 273 273 273 268 248 179 152 155 164 175 194 210 217 216 213 212 213 215 218 223 224 224 224 223 222 219 219 221 223 222 220 220 219 220 221 221 223 224 225 226 231 249 255 245 241 240 242 243 240 241 239 236 232 228 233 241 241 239 237 236 238 239 241 237 231 230 230 212 190 184 192 209 218 201 184 176 180 187 194 196 196 192 185 179 179 170 159 159 151 122 114 114 126 149 199 260 277 277 284 329 346 332 323 299 176 126 104 67 37 5 284 277 264 266 261 254 234 237 243 252 260 266 274 279 282 277 273 267 273 273 273 266 266 273 278 283 283 277 277 276 277 279 281 281 274 249 229 228 219 219 229 255 337 355 0 0 357 357 357 356 357 354 352 352 38 53 65 71 65 267 259 240 221 218 214 190 152 123 105 92 86 86 88 88 88 88 93 98 102 106 101 85 68 56 55 71 99 106 107 116 128 132 121 312 303 284 238 213 235 267 278 285 297 299 273 279 309 331 323 310 313 49 55 352 285 281 287 313 1 339 313 295 285 281 280 279 277 275 274 273 275 271 210 160 159 167 177 185 197 212 219 218 212 211 211 211 213 217 220 220 218 219 220 219 218 220 222 222 222 220 220 221 221 222 224 226 228 231 238 240 238 235 232 230 231 233 233 234 236 236 234 231 235 236 237 238 236 237 234 239 245 245 233 226 226 220 200 196 194 199 207 207 189 175 180 191 199 202 199 197 187 179 179 169 159 143 131 126 119 124 137 159 179 217 242 242 231 239 329 323 311 297 299 104 99 81 77 5 284 276 265 260 267 273 277 284 279 276 275 274 281 291 288 286 278 267 261 256 254 254 256 262 262 263 263 263 264 272 277 282 284 274 274 264 237 203 199 203 208 231 349 1 0 0 357 354 350 353 353 352 352 352 37 46 70 101 217 245 248 239 226 207 179 147 131 107 89 78 73 70 69 68 70 65 60 64 84 112 128 128 102 76 50 53 84 104 119 133 131 120 87 13 320 299 272 232 246 267 271 279 292 314 333 324 324 333 328 306 293 18 14 317 276 276 282 297 354 335 308 293 285 281 279 278 276 274 274 274 276 273 223 177 176 183 188 195 203 215 222 221 215 213 215 213 212 217 222 221 217 218 221 220 217 218 221 222 222 220 221 222 222 223 224 226 228 228 228 228 229 231 232 229 229 233 234 236 237 238 238 236 234 236 237 239 245 240 242 239 241 239 231 231 232 228 224 214 209 212 223 229 218 200 193 197 205 207 208 203 188 179 173 166 154 128 122 126 132 132 148 169 179 191 208 208 217 210 239 308 297 303 337 35 68 65 37 329 279 265 266 266 273 274 260 239 279 275 267 273 273 273 272 277 277 277 267 254 248 252 254 258 257 252 254 256 259 267 273 265 264 265 266 274 249 191 179 188 191 299 1 0 0 357 357 354 351 353 353 349 350 349 38 28 40 227 228 239 246 243 222 185 156 144 136 109 87 73 65 57 58 61 62 62 61 62 69 83 98 105 105 102 84 64 67 80 97 112 114 77 32 357 316 301 294 292 289 297 303 311 311 329 343 340 335 350 347 317 293 26 4 317 281 279 287 309 346 336 310 291 282 279 277 274 271 270 272 274 274 271 246 208 198 197 198 201 212 223 230 229 222 218 219 220 219 225 232 233 222 219 222 223 222 220 220 221 221 219 219 220 220 221 222 223 223 222 222 222 226 229 231 231 233 234 235 236 238 239 238 234 231 231 233 234 233 234 233 229 229 229 231 234 234 234 231 226 222 228 234 238 237 230 222 218 221 213 203 196 185 179 170 163 147 133 132 142 148 154 154 170 179 189 189 189 191 178 177 231 260 287 327 7 37 51 67 231 228 243 248 254 258 247 228 219 228 246 258 260 260 256 252 259 272 280 276 267 267 262 263 262 261 257 258 258 261 259 253 237 237 253 266 282 276 217 191 194 176 2 1 0 357 354 354 354 354 351 348 347 347 349 36 8 318 275 259 254 254 247 208 157 147 143 133 105 89 78 62 47 47 52 52 53 60 65 66 65 67 71 79 92 95 80 67 64 75 82 66 30 356 319 293 285 299 330 354 349 334 323 318 327 328 313 325 355 348 320 312 64 28 300 284 293 298 305 322 332 307 290 283 280 277 273 271 274 281 282 274 266 253 234 220 212 208 208 218 230 237 234 233 230 229 228 227 230 235 237 225 216 219 222 222 221 220 220 220 219 217 216 215 214 216 217 217 218 219 221 225 226 228 230 231 231 230 231 232 233 233 229 227 224 223 226 226 228 230 233 233 234 234 234 232 229 226 220 218 220 226 229 226 230 227 227 227 211 199 194 189 179 170 157 147 136 140 154 166 164 162 170 179 179 188 196 189 191 194 229 249 276 313 341 13 21 299 237 227 230 243 252 252 239 232 232 237 250 255 256 260 260 256 259 263 272 276 277 272 272 268 267 260 257 254 258 266 277 242 217 260 291 305 313 307 305 320 332 1 1 357 354 352 349 349 352 352 352 347 343 343 346 34 1 310 289 271 263 252 221 143 121 127 127 119 100 95 88 67 32 28 34 34 41 56 60 59 55 49 44 46 64 84 96 101 98 87 64 39 336 289 271 266 275 320 14 42 33 331 310 308 307 293 278 300 346 339 318 321 35 55 251 267 285 291 294 310 325 299 287 282 278 276 276 281 292 302 303 288 269 256 242 237 235 230 226 230 239 254 276 291 274 254 246 236 233 233 234 228 219 215 218 221 221 220 219 220 219 218 216 215 213 213 214 216 217 218 220 221 223 225 227 229 229 227 226 226 229 229 230 226 226 228 228 231 234 243 239 238 234 230 228 226 224 216 204 199 205 211 214 211 207 209 216 209 203 196 195 187 170 156 150 143 136 140 157 162 167 166 173 179 179 186 194 196 199 203 219 229 262 287 341 1 355 332 276 252 250 259 276 288 282 266 259 248 252 255 257 260 265 265 260 257 254 258 265 268 272 275 276 267 267 262 266 277 297 323 332 325 333 325 321 313 323 333 333 340 347 350 349 347 345 347 350 350 349 344 341 341 341 95 229 255 257 262 268 217 119 101 101 102 109 105 97 96 93 85 18 8 11 17 36 54 49 42 37 25 9 4 23 64 111 130 133 136 151 196 238 253 262 269 291 343 26 81 119 199 284 294 294 287 289 325 339 330 310 307 343 77 226 257 272 271 283 312 311 277 269 272 274 277 281 293 313 320 314 307 294 286 279 284 289 279 261 261 276 294 293 292 297 300 281 268 256 249 245 238 227 220 218 221 224 224 223 223 224 224 222 223 220 218 217 218 219 220 218 219 221 223 226 230 231 230 230 229 230 233 236 238 237 237 242 250 251 240 230 228 224 221 218 218 216 195 166 185 203 204 201 201 197 197 199 199 197 193 193 183 172 154 147 147 142 150 158 160 165 170 174 174 179 185 186 187 196 199 203 208 229 262 336 352 336 305 274 254 257 272 298 307 307 290 273 267 263 263 264 264 268 268 265 257 251 252 257 262 272 275 276 277 278 279 297 332 341 346 338 331 329 322 317 317 327 338 339 336 338 341 341 340 340 342 345 347 346 341 339 337 340 169 189 211 237 256 260 116 106 92 85 74 71 68 82 104 113 145 210 337 355 10 37 55 53 42 35 22 352 326 317 327 115 148 152 159 166 170 186 243 283 286 297 332 320 228 189 183 202 260 278 290 337 347 325 312 302 308 346 22 37 65 77 323 314 316 294 253 251 264 274 277 280 300 328 332 318 313 319 318 319 341 335 311 297 293 294 287 276 271 279 306 311 303 288 271 258 249 240 231 226 227 229 232 234 238 241 241 239 233 229 224 218 219 221 221 220 219 220 222 225 230 233 234 233 234 236 237 236 239 239 240 239 238 233 227 218 213 214 215 212 208 194 162 164 185 200 200 198 198 195 196 196 192 191 191 188 180 169 158 152 151 151 155 165 168 168 171 175 175 175 174 174 174 179 187 196 208 228 262 297 297 262 266 261 248 256 283 306 323 313 303 294 284 283 283 282 278 272 272 280 284 281 272 272 276 281 283 284 284 294 303 318 344 354 345 331 324 319 316 319 324 328 341 340 336 331 329 330 331 334 338 339 341 341 336 332 334 334 189 207 219 238 260 129 121 103 85 74 60 52 51 66 93 121 132 131 18 11 22 41 59 68 65 56 41 344 306 298 303 297 199 170 154 143 140 137 231 277 275 268 257 252 239 224 202 198 222 254 285 329 347 322 311 319 350 351 357 13 48 54 21 347 325 308 287 274 286 298 283 279 300 340 333 301 294 294 295 298 330 345 330 331 335 317 280 263 258 268 301 306 291 275 266 258 251 243 236 230 231 233 238 247 253 259 260 248 238 232 226 219 217 220 223 223 221 220 222 225 228 229 231 230 232 233 233 232 232 233 230 229 224 221 218 211 206 210 216 213 205 170 162 179 193 202 201 200 198 196 196 196 192 189 187 185 177 165 158 155 155 154 160 166 172 171 175 175 175 175 175 174 169 173 179 194 204 221 234 243 243 243 259 267 266 282 307 323 323 318 313 305 302 302 299 299 289 284 286 299 301 297 297 297 294 294 294 291 300 313 318 333 335 345 337 328 318 316 316 316 326 327 333 339 335 328 319 322 327 332 331 333 333 332 331 328 329 332 248 252 249 249 243 179 122 88 75 64 52 44 42 50 74 96 99 82 39 15 21 33 57 84 92 85 66 1 306 299 318 306 243 190 171 164 164 179 213 243 249 246 239 241 243 241 226 222 235 266 304 329 347 334 318 330 9 0 352 356 24 28 4 349 347 336 316 309 316 310 295 286 294 317 273 254 258 259 267 276 295 333 334 339 347 347 289 262 257 268 282 277 267 263 259 253 245 239 235 232 233 233 235 237 242 246 243 236 230 228 225 221 218 221 225 226 224 222 222 224 225 226 227 227 227 228 229 229 226 225 224 223 220 218 215 214 214 218 226 226 218 204 194 202 205 207 207 208 207 204 201 199 193 189 185 180 171 163 155 154 155 157 164 167 175 174 184 184 184 179 179 179 179 179 186 196 204 207 213 221 227 239 252 258 276 332 343 343 333 327 322 322 313 313 313 305 302 300 303 313 309 300 297 303 297 297 307 307 313 323 335 330 333 331 331 320 319 317 317 323 320 327 327 327 323 317 314 321 324 326 327 327 330 330 326 326 327 329 305 282 276 279 253 179 107 64 58 54 52 41 37 39 47 67 84 78 48 6 346 341 340 137 116 98 72 13 314 311 325 314 279 215 193 186 184 195 213 226 229 226 220 235 250 256 255 262 277 302 330 346 0 354 336 336 4 8 348 337 351 10 1 357 5 358 333 321 316 304 287 278 282 283 272 257 257 257 260 267 284 314 333 334 337 333 299 265 265 297 275 253 253 254 251 246 241 237 235 234 232 229 226 224 227 231 232 229 227 227 227 223 221 224 227 228 226 222 221 222 223 225 225 226 226 227 227 228 225 223 221 223 224 224 221 223 229 229 229 223 220 217 217 215 216 209 212 213 213 208 205 199 194 189 182 177 171 159 149 147 151 159 163 166 170 174 185 185 185 185 179 179 185 185 191 192 202 207 207 207 221 232 243 237 299 14 1 351 332 325 329 327 327 327 322 322 318 313 318 313 307 303 297 297 303 307 313 318 323 335 338 333 328 324 320 317 314 314 314 314 314 321 324 320 320 317 316 319 321 320 322 324 326 325 325 324 326 324 287 277 291 319 329 126 85 64 61 56 56 51 44 42 44 54 73 84 76 30 318 288 248 179 136 105 78 18 321 316 327 324 310 272 221 210 205 206 208 211 205 193 194 220 245 258 265 271 282 317 0 9 18 21 0 347 356 9 351 314 310 329 340 14 24 25 357 322 311 297 271 260 272 288 294 290 279 267 262 269 286 312 337 333 324 310 290 276 281 324 2 237 245 248 246 244 242 241 240 239 235 231 224 219 220 225 227 227 227 228 227 224 222 224 227 229 228 224 222 222 224 225 226 228 229 230 229 230 232 233 229 229 229 232 231 231 231 228 226 223 218 216 217 217 216 210 213 213 212 209 206 202 196 194 189 176 165 155 152 150 152 158 164 168 168 176 180 179 179 175 175 179 184 185 189 190 195 197 199 201 215 234 250 260 55 42 31 3 340 346 337 341 332 325 329 323 318 307 303 303 303 303 303 303 313 319 325 325 336 336 333 327 322 317 310 306 302 309 306 306 314 321 324 320 319 319 314 314 316 314 318 318 324 324 323 322 322 322 210 240 284 341 12 86 116 131 145 131 102 76 58 49 50 55 61 76 88 96 265 263 243 189 142 110 92 50 310 299 354 356 340 312 255 221 211 206 201 190 183 184 194 212 238 255 261 268 287 353 22 23 29 44 33 356 1 11 350 310 292 287 297 3 31 62 55 340 305 297 287 278 279 302 311 305 292 283 283 290 299 319 344 335 313 297 287 281 286 301 301 234 239 244 245 245 245 245 244 242 237 233 227 221 221 225 228 227 227 226 224 222 220 221 223 226 228 227 225 225 227 231 234 235 238 242 243 251 250 247 239 232 230 236 240 239 230 224 223 226 221 217 216 215 211 213 215 217 214 208 202 197 192 193 187 175 159 154 156 152 154 158 165 169 169 173 180 176 172 172 176 180 184 184 189 192 194 197 204 204 208 234 266 323 42 64 55 37 5 5 37 24 3 308 297 291 287 284 282 282 290 297 303 297 301 305 312 319 319 325 325 325 313 300 294 294 297 309 309 313 317 321 320 317 317 311 309 311 312 310 314 316 322 324 320 318 318 318 191 203 329 1 26 69 109 144 167 160 130 99 74 57 52 54 55 62 82 110 234 255 247 197 144 104 103 109 178 191 67 36 328 294 269 228 199 193 189 176 171 174 191 204 221 234 256 284 337 12 26 26 44 47 20 341 329 2 320 289 282 291 313 336 30 88 102 120 286 289 292 293 307 320 312 300 289 289 301 314 309 316 330 326 309 295 289 287 287 293 282 240 239 244 248 249 249 247 244 242 237 232 227 224 226 227 228 228 226 225 224 222 220 219 219 222 225 227 228 228 230 237 240 241 242 246 245 240 239 239 236 231 221 226 236 240 236 232 228 228 224 219 210 207 209 212 216 217 213 205 191 186 187 183 180 172 161 157 159 158 158 159 168 172 176 180 180 180 180 172 173 172 180 184 189 194 195 199 194 199 203 229 279 3 59 86 81 67 14 167 104 99 144 199 199 217 237 243 247 256 256 265 284 293 293 297 297 312 313 313 313 313 300 297 291 297 302 313 318 313 321 317 314 308 308 306 306 306 309 306 309 312 316 319 319 312 312 312 140 104 42 20 30 55 76 99 122 130 111 100 86 68 55 55 55 55 55 50 284 277 263 218 167 99 96 111 123 105 54 349 268 269 268 199 160 161 161 158 159 166 170 178 176 329 291 274 258 213 155 85 75 69 18 279 250 201 201 241 258 279 317 351 38 101 122 143 199 274 291 299 307 311 300 287 275 276 292 303 299 306 318 314 303 296 291 289 287 288 284 260 250 250 252 253 251 246 243 242 238 231 229 228 229 229 229 229 227 226 224 224 223 222 221 219 221 222 224 224 227 230 232 234 233 230 229 227 227 229 229 224 213 212 221 230 234 232 227 226 223 216 209 202 206 212 215 215 210 197 183 180 180 180 180 173 163 151 152 156 163 165 172 176 180 183 184 189 188 184 176 171 169 175 185 190 197 191 192 188 189 194 210 115 97 96 99 115 167 176 126 140 156 199 194 217 234 234 227 221 227 243 276 284 290 287 293 301 297 297 300 297 294 291 297 303 309 306 309 314 310 311 308 308 308 308 306 306 306 306 306 309 312 312 314 311 307 308 70 42 16 11 12 36 55 62 64 74 72 73 76 66 53 46 44 39 32 10 331 298 263 207 164 112 96 105 102 77 14 267 257 260 256 149 134 136 139 147 157 162 156 167 279 279 268 243 213 170 146 136 140 144 179 226 241 213 211 235 263 292 337 7 35 76 110 133 154 243 290 301 307 309 301 288 274 275 279 289 291 299 306 306 297 289 287 288 289 288 279 268 258 254 254 253 250 244 243 243 240 235 232 232 231 231 231 231 230 229 226 224 224 223 222 219 219 219 220 220 221 222 225 226 225 224 223 223 223 224 224 218 209 205 210 217 223 225 223 220 218 214 208 206 206 210 212 212 200 180 169 176 177 180 177 169 156 151 154 161 165 171 173 176 180 180 183 188 188 192 187 170 158 158 174 190 190 185 185 179 170 179 179 162 131 112 121 162 179 179 149 149 177 210 217 237 239 240 231 221 221 237 262 276 274 273 279 279 273 274 274 286 284 281 301 313 309 307 311 311 311 308 305 305 305 305 302 302 302 302 302 306 303 303 302 302 300 301 94 81 346 349 4 22 44 34 30 41 49 55 64 68 61 54 47 41 33 7 321 294 264 196 162 128 114 109 95 61 282 254 252 249 199 140 129 121 114 138 191 203 247 257 251 251 249 226 166 133 128 136 142 141 148 203 266 274 294 303 307 317 345 6 25 46 67 104 130 157 250 282 296 302 295 284 272 279 284 289 294 299 303 299 290 281 281 289 293 286 274 264 258 255 256 254 251 247 244 241 239 234 232 233 233 234 233 232 230 228 226 224 224 223 222 221 220 219 219 219 220 222 223 224 227 224 222 223 228 227 224 220 214 209 206 210 218 221 219 220 215 212 208 207 209 208 208 202 180 164 170 177 177 177 173 169 163 162 164 165 168 170 172 174 177 177 180 183 183 188 184 166 150 154 175 184 189 185 179 173 172 179 179 179 138 112 131 169 179 159 145 138 156 217 219 221 243 255 258 247 253 253 253 247 246 248 254 260 259 266 274 279 284 294 313 318 311 310 311 305 305 299 299 299 299 299 299 299 299 299 299 299 293 295 295 292 297 299 123 151 279 343 5 20 44 38 23 30 46 59 64 67 68 68 64 59 59 231 254 260 240 192 166 139 122 109 95 40 272 259 253 227 173 158 136 94 337 292 273 243 255 249 239 234 223 179 136 115 120 126 124 94 65 167 276 323 352 356 335 327 336 354 15 28 35 74 119 129 196 260 281 288 283 275 264 274 275 286 299 311 322 312 298 289 293 298 294 282 272 265 260 258 255 254 251 247 244 240 236 234 232 233 235 236 235 233 231 228 227 228 227 225 224 223 223 220 218 220 222 224 225 227 228 226 224 222 225 226 227 223 221 217 212 212 217 221 223 224 222 216 212 209 209 208 204 193 166 166 171 177 174 171 171 171 169 172 175 175 173 170 170 173 175 177 180 180 180 175 174 170 162 161 171 184 189 190 185 174 170 173 179 178 129 131 151 170 170 154 148 151 169 203 208 215 237 258 268 267 256 243 234 231 237 238 231 239 256 275 287 292 293 307 317 314 309 306 305 297 295 291 291 292 297 299 297 297 293 295 295 289 289 291 288 292 292 297 130 141 210 332 346 12 71 73 44 32 51 70 70 64 64 67 71 104 217 216 220 226 202 180 174 144 111 103 112 194 243 256 238 199 183 171 138 1 319 299 280 252 243 239 223 197 157 139 123 111 115 126 131 146 194 208 231 332 20 12 340 314 324 345 0 0 346 1 73 73 297 256 241 254 269 271 273 282 289 297 314 343 353 334 314 308 313 310 294 280 273 269 265 259 255 251 248 246 243 240 235 232 232 232 233 235 234 233 232 230 227 228 228 228 225 224 223 221 217 217 220 224 224 224 225 224 221 218 217 219 221 220 220 220 216 214 216 221 226 229 227 223 216 211 209 207 203 187 176 174 175 175 173 173 173 175 173 175 177 177 175 172 173 173 172 173 176 175 174 174 179 175 175 171 179 189 194 194 199 187 166 157 162 159 155 155 170 179 166 154 149 160 173 187 194 204 215 246 262 261 250 239 227 238 243 243 243 243 275 287 292 294 300 306 310 299 297 297 294 289 286 291 292 295 295 295 293 289 289 295 289 289 286 286 286 288 288 294 137 140 154 219 247 234 162 127 104 71 59 70 64 53 50 56 104 227 224 221 215 201 173 165 167 133 106 119 179 207 224 236 219 179 174 169 40 355 314 299 282 221 215 205 179 132 120 123 111 96 96 113 128 140 149 210 177 129 62 30 333 300 307 337 341 325 322 1 60 39 292 272 248 249 267 279 303 314 311 319 349 15 23 353 321 305 308 312 299 282 271 265 260 255 251 249 246 245 243 240 234 231 230 230 231 231 232 232 232 229 227 228 229 229 227 225 225 224 220 218 218 221 224 224 224 222 220 217 213 213 215 215 213 213 214 211 213 215 219 222 223 224 219 209 204 202 199 192 184 180 178 174 174 174 174 174 173 175 177 177 177 177 174 171 168 169 172 166 170 175 184 184 184 180 184 189 189 195 212 195 157 141 148 162 159 170 192 192 157 144 147 154 164 179 189 189 199 215 237 246 243 243 247 256 264 272 273 276 290 294 292 297 303 305 294 286 284 284 289 288 286 285 291 293 289 291 289 285 285 291 289 289 291 291 286 288 289 292 162 159 162 184 217 215 186 158 141 142 120 84 58 34 18 242 229 232 231 226 207 180 159 146 142 127 120 159 251 250 242 245 243 203 156 37 51 50 40 37 83 116 128 124 112 106 105 111 107 96 88 88 92 93 74 24 5 70 62 44 328 294 294 303 303 298 314 10 70 60 285 287 285 276 278 285 299 312 319 333 4 29 54 56 272 281 293 297 289 277 268 258 255 253 252 250 248 246 244 241 235 231 228 228 228 228 228 229 229 229 227 227 227 229 229 229 229 229 227 223 220 220 223 225 225 221 219 218 214 213 214 213 212 211 212 213 209 209 212 216 221 228 230 214 207 203 198 192 189 184 178 174 174 173 173 172 175 175 175 177 175 174 174 169 167 166 168 167 175 180 187 188 188 188 188 189 184 191 204 196 151 132 154 166 172 172 188 213 162 137 132 137 155 162 179 191 199 211 227 238 248 254 262 271 282 295 290 287 297 293 282 282 291 297 281 279 279 286 289 286 285 284 288 284 285 285 285 285 286 286 286 291 291 291 286 288 288 288 323 179 163 179 216 212 189 162 150 151 134 104 67 2 267 242 236 241 251 248 207 175 156 147 148 144 129 113 287 280 272 254 246 247 255 81 87 79 84 84 82 83 85 79 74 81 92 100 102 99 96 92 88 82 68 1 344 48 56 39 318 285 277 282 276 268 289 26 75 73 297 290 287 284 282 286 296 311 318 327 351 34 81 105 256 277 273 263 261 264 266 266 259 255 254 252 249 246 242 240 236 233 229 228 227 227 227 227 228 229 229 228 229 230 231 231 232 233 233 231 224 222 224 227 228 224 220 221 220 218 218 218 216 215 213 213 212 211 214 221 235 251 245 230 216 209 201 199 195 189 180 175 171 174 173 173 173 174 177 177 174 170 170 170 169 170 168 166 176 183 187 187 191 195 196 189 179 179 185 187 145 142 157 167 173 173 179 179 162 125 113 125 145 179 179 179 186 204 216 230 243 254 262 272 284 279 282 276 260 262 264 275 284 284 273 273 279 286 291 286 283 282 279 280 281 281 281 285 291 289 285 286 286 286 286 288 288 288 311 255 169 179 204 203 180 154 129 107 96 100 122 189 238 240 239 248 260 245 205 180 169 164 155 147 140 142 215 268 267 247 243 281 293 65 82 70 64 62 54 60 65 66 60 58 65 78 92 95 102 109 109 105 109 40 1 50 60 25 278 265 262 265 259 243 243 40 84 74 328 297 291 287 287 290 303 322 320 308 314 18 55 34 314 289 271 254 248 251 254 258 259 258 255 255 255 251 248 243 239 236 232 228 225 225 226 227 228 228 229 230 231 231 231 233 234 234 233 233 228 227 228 230 232 230 227 226 225 224 221 219 218 219 221 222 221 223 232 240 250 247 239 230 224 213 206 199 195 190 180 176 176 176 176 176 176 180 180 177 174 170 171 171 175 171 168 168 177 186 190 190 190 194 192 184 171 171 184 179 160 157 162 167 174 174 174 162 148 126 128 142 157 173 179 179 179 194 207 223 238 243 256 254 252 259 266 276 264 264 264 265 275 274 267 267 279 286 284 286 284 283 279 281 282 282 286 286 285 285 285 286 286 286 288 288 288 288 237 262 231 191 199 187 162 129 102 78 75 116 162 189 223 231 232 230 243 237 201 176 177 175 160 156 168 182 201 238 279 319 341 333 325 1 35 26 24 21 24 30 47 51 47 41 41 56 73 81 88 102 108 106 97 71 41 44 55 329 260 252 236 237 237 241 243 144 113 108 74 311 296 291 292 299 312 316 295 284 309 348 4 340 302 290 280 266 256 248 250 261 258 259 262 267 271 273 266 257 252 248 241 233 226 224 225 227 227 228 228 229 230 230 231 232 233 234 233 232 230 229 230 230 229 228 227 225 225 224 222 217 215 221 226 232 232 228 237 238 233 233 233 231 230 223 210 201 189 184 180 176 180 183 180 180 182 182 182 177 171 169 172 177 175 170 169 174 180 188 191 189 189 190 191 184 176 176 180 175 166 160 165 174 179 174 170 157 144 137 137 149 163 174 179 179 184 193 201 211 229 239 247 243 239 239 256 265 275 275 275 275 266 267 267 273 279 279 283 282 280 279 280 285 286 286 285 286 285 281 282 282 282 282 282 283 283 286 243 273 284 167 144 140 125 112 104 107 156 197 196 200 211 213 200 186 247 250 205 180 183 186 176 176 194 213 237 286 317 327 335 353 1 7 43 35 6 4 14 25 31 38 44 29 16 38 55 60 68 75 87 88 75 59 44 40 31 297 259 256 238 226 218 215 208 191 151 112 96 43 304 293 292 298 298 278 252 227 312 321 307 277 248 237 246 265 269 271 280 286 283 276 274 276 278 275 274 266 260 254 247 240 233 229 227 227 229 229 229 228 229 230 230 231 231 232 231 231 231 228 227 229 229 228 227 228 228 228 224 220 217 221 228 226 215 203 219 224 226 227 234 247 257 241 220 200 195 184 184 183 183 186 185 187 187 185 182 177 174 173 178 177 175 172 172 180 190 194 193 187 187 187 188 184 183 180 176 172 164 159 168 180 180 175 165 159 150 146 146 159 170 175 179 180 183 191 195 204 218 229 234 237 231 227 234 243 264 275 282 273 273 273 279 279 279 279 283 282 280 280 281 285 285 282 285 285 281 282 283 282 282 282 282 283 283 282 267 291 323 1 14 77 99 81 144 169 179 190 197 199 197 185 165 164 277 279 228 172 173 186 188 191 242 290 306 327 336 334 339 5 30 21 26 31 8 7 14 22 22 23 37 43 32 36 44 44 52 56 66 74 69 59 44 18 333 284 260 259 249 228 192 174 170 166 129 99 95 88 313 288 285 282 239 250 235 189 189 221 236 233 217 203 208 231 252 272 295 295 292 288 284 281 278 278 275 267 253 246 243 241 236 232 230 229 229 230 230 230 230 230 230 232 232 233 233 233 231 229 228 231 233 233 230 231 234 236 233 237 237 237 228 220 204 210 226 229 227 232 249 263 249 229 211 199 193 192 191 190 189 190 190 192 190 188 183 180 180 182 182 177 172 172 175 187 195 200 197 189 193 195 191 192 187 183 180 172 164 165 172 180 180 172 166 162 158 158 158 162 170 176 180 180 183 187 194 199 204 215 223 226 218 204 208 221 228 256 267 267 267 273 273 273 273 273 273 277 277 281 281 282 282 277 282 281 281 282 283 282 277 282 282 282 283 283 338 347 352 351 354 18 50 349 297 210 156 149 145 138 140 143 137 131 284 297 346 51 65 14 329 329 299 311 318 335 349 351 338 356 24 12 356 356 4 8 17 6 350 347 10 34 41 35 26 18 28 23 23 59 72 64 44 346 299 272 253 254 249 232 195 167 160 154 147 119 92 86 31 281 282 284 283 272 256 224 211 221 229 231 215 197 198 202 204 226 265 277 281 282 283 283 280 278 273 263 251 242 239 238 235 233 232 230 231 231 231 232 231 231 231 233 233 233 233 232 232 233 233 234 236 237 235 233 236 239 244 252 252 242 232 221 209 213 229 233 236 235 232 226 224 217 204 197 196 195 197 196 196 195 196 195 193 191 188 187 189 188 184 180 175 175 177 187 198 202 201 196 199 197 194 191 191 187 180 168 164 168 176 180 180 172 163 163 163 164 164 168 172 176 176 176 180 187 194 197 199 204 205 207 207 204 201 211 221 237 250 254 254 257 254 256 257 262 262 257 267 272 277 277 277 272 278 277 282 283 282 277 277 277 277 278 278 278 4 0 357 4 15 26 14 311 284 297 65 86 93 93 74 70 86 94 85 1 352 10 14 18 2 340 340 349 353 350 10 21 1 341 14 48 1 338 355 11 10 350 333 345 1 15 28 30 15 1 1 351 351 28 64 67 37 305 277 272 265 258 249 229 188 162 152 147 139 116 95 86 67 274 285 295 299 291 268 243 230 233 240 250 238 218 209 196 196 203 224 246 261 267 269 271 269 269 265 260 251 243 240 237 236 233 232 231 231 231 231 232 232 232 232 233 235 234 234 232 232 236 234 233 234 236 235 232 231 235 241 244 241 237 231 217 204 211 224 231 231 224 215 213 212 209 199 193 196 198 197 198 203 201 199 196 195 196 192 191 190 190 186 180 175 175 180 185 192 201 201 201 200 200 196 194 190 187 176 168 164 172 183 183 180 172 168 168 172 172 169 169 173 173 173 176 180 187 196 200 199 196 193 193 194 194 195 202 215 219 233 243 247 245 238 235 243 250 252 250 256 267 267 268 272 277 278 278 282 281 281 277 277 277 277 273 273 273 0 0 5 24 49 239 234 259 287 327 31 107 113 107 74 18 20 40 55 37 333 317 325 351 12 12 1 8 16 26 48 62 69 31 14 64 73 30 23 17 4 341 330 355 6 1 10 21 7 339 349 356 0 22 50 71 65 290 288 289 279 272 259 217 169 150 133 124 116 104 111 128 195 249 265 278 285 287 283 271 258 248 243 247 243 234 222 210 205 205 211 224 237 247 252 255 254 254 253 253 250 245 241 239 237 235 234 233 233 232 232 232 232 232 232 233 234 234 236 237 237 235 233 232 232 235 234 231 226 227 231 232 231 228 224 217 213 215 219 224 223 217 208 207 205 200 197 195 199 199 198 199 202 202 200 197 198 199 197 197 194 190 189 184 177 175 177 182 191 198 200 203 201 198 196 193 190 183 176 165 166 176 183 186 180 172 169 172 176 176 173 173 176 176 173 177 183 188 195 200 199 196 192 188 189 189 194 203 209 217 223 229 241 247 238 240 248 250 257 256 256 262 263 267 272 277 283 282 281 280 280 277 277 277 272 272 273 273 8 6 10 5 203 237 262 314 335 352 2 167 138 116 83 14 14 28 50 55 335 311 314 341 6 17 7 355 7 39 49 50 50 20 10 26 37 32 29 28 5 323 314 347 18 1 350 1 352 329 349 18 13 1 18 85 99 305 295 293 284 272 261 191 147 142 140 127 82 35 67 157 206 232 242 251 262 274 281 284 283 279 267 260 257 250 238 226 217 213 210 209 213 227 234 236 239 241 245 247 249 247 245 245 243 240 238 237 235 234 233 234 234 234 233 234 235 238 238 239 237 235 233 232 231 232 232 231 224 218 221 223 223 222 219 214 212 212 215 219 217 213 203 201 200 200 199 200 200 197 196 196 197 198 196 196 196 197 197 197 194 193 190 186 182 178 175 180 187 196 204 204 199 196 194 192 189 183 176 169 170 177 185 183 176 169 169 172 176 180 180 180 180 177 177 180 185 191 198 200 199 192 188 184 189 193 199 203 207 217 223 223 230 237 238 240 246 250 257 261 262 263 267 272 278 277 281 277 276 276 276 277 277 277 272 273 273 273 14 320 265 246 248 273 310 344 14 1 332 2 65 96 112 107 59 36 47 50 5 327 314 333 0 13 10 0 11 30 35 32 28 28 15 16 18 29 42 58 71 303 299 333 40 13 343 343 341 333 350 18 13 331 310 255 154 204 241 255 259 268 274 155 145 155 164 129 33 341 309 235 222 235 245 246 249 258 268 275 280 280 274 265 256 251 241 228 220 215 212 207 207 217 222 224 227 233 240 246 247 246 247 248 245 242 240 239 237 236 235 235 237 237 236 238 238 239 240 238 236 234 232 230 228 229 230 228 222 217 217 217 218 216 214 210 209 209 212 214 211 206 203 201 203 202 200 199 199 198 196 195 196 196 195 195 193 197 197 196 196 193 190 190 186 180 176 178 184 197 203 204 195 195 195 194 189 180 173 170 177 180 182 180 173 169 173 180 183 186 185 182 180 177 177 180 186 195 201 206 204 194 187 188 191 195 200 201 207 213 223 226 226 226 226 227 235 245 250 256 261 263 268 268 272 272 272 276 276 276 276 277 282 277 272 272 272 267 284 254 260 276 286 302 338 6 26 332 303 346 23 49 86 109 94 69 50 44 16 341 317 335 0 15 11 7 18 29 37 35 41 44 34 23 22 36 53 66 60 349 317 335 26 28 354 323 314 313 329 12 55 262 277 267 217 216 226 238 254 267 256 179 162 165 172 105 65 1 280 262 244 244 255 256 244 245 252 258 265 268 269 261 245 237 232 225 219 218 215 211 215 223 226 224 226 231 237 242 244 243 245 246 243 241 240 238 237 237 236 239 241 241 242 242 240 238 236 234 234 232 230 229 227 224 224 222 219 217 215 215 216 214 212 209 207 208 209 209 207 204 202 202 203 201 201 201 199 198 196 196 196 196 195 193 193 197 199 197 193 191 193 191 188 182 178 180 186 196 205 200 194 193 194 193 186 180 173 177 185 185 183 176 176 176 180 185 190 190 188 182 180 180 180 182 186 192 200 206 208 201 192 192 191 194 199 204 207 212 220 229 229 226 220 222 230 241 245 248 256 262 263 263 263 263 268 272 272 276 276 277 277 272 272 272 268 268 275 275 289 303 314 338 6 14 327 300 322 355 14 18 31 96 105 92 72 55 20 320 306 343 7 13 356 353 11 20 25 32 39 44 33 28 39 54 55 50 28 11 356 353 5 31 26 327 299 273 260 252 234 215 243 273 282 263 255 259 259 252 227 190 165 158 147 101 88 166 246 254 256 264 277 273 258 239 237 240 245 254 259 253 235 226 221 218 217 224 226 226 229 236 240 243 240 235 235 240 242 241 241 244 244 241 240 240 241 243 246 248 248 247 245 240 237 234 233 233 233 231 229 228 226 223 220 219 218 216 215 215 215 215 212 210 209 207 205 205 205 202 202 202 202 202 203 203 203 201 198 196 195 196 193 190 193 196 196 191 189 191 191 191 188 184 182 180 185 199 204 199 196 193 193 191 183 180 180 185 188 185 180 180 183 189 188 190 192 193 191 182 177 180 180 183 190 194 197 202 205 199 197 196 195 196 200 205 209 212 216 226 226 226 220 215 218 231 243 243 248 252 258 259 263 263 268 268 268 272 272 272 268 264 268 268 264 264 303 319 335 340 346 4 15 351 301 328 1 13 346 319 332 65 109 106 96 88 59 305 309 0 16 355 307 317 351 11 20 32 36 40 40 129 104 71 64 58 47 38 49 30 1 16 14 335 303 288 297 309 297 290 5 322 307 303 306 302 266 234 211 179 152 147 120 78 71 229 251 263 276 296 300 276 254 237 226 224 227 234 242 244 231 216 220 222 221 230 242 242 240 242 246 247 245 241 239 243 245 245 245 248 249 250 251 254 261 267 265 260 253 251 247 243 237 233 233 233 233 231 231 229 226 224 222 221 218 216 214 214 214 214 213 212 209 208 207 206 205 202 202 202 202 202 202 202 202 200 199 197 195 194 193 192 193 196 192 190 190 193 191 189 187 188 186 184 189 197 201 200 193 195 191 189 183 186 191 192 190 185 180 183 191 193 196 196 194 194 191 186 183 183 183 186 190 194 197 196 194 194 201 204 204 200 203 207 213 212 219 220 223 223 216 215 222 222 231 237 240 250 252 258 258 258 263 264 264 263 268 268 264 264 260 260 257 257 329 340 357 357 357 353 335 286 309 17 34 1 287 286 327 37 76 97 112 122 141 188 203 104 55 287 276 291 335 22 34 41 56 138 160 146 123 88 84 102 133 154 136 116 85 26 354 318 297 297 317 335 330 321 336 335 316 311 313 314 311 265 184 162 142 141 107 65 8 268 264 287 316 322 305 274 257 230 204 209 213 217 226 236 233 220 237 245 242 238 241 246 248 246 243 242 244 245 243 246 248 247 247 250 254 260 265 271 278 277 271 265 262 261 258 251 245 235 233 233 233 232 230 228 225 223 223 222 219 217 216 215 213 211 212 212 210 209 207 207 207 205 205 204 202 202 202 201 201 200 199 196 195 194 195 194 195 193 189 187 191 194 193 186 186 190 187 187 191 196 201 204 201 198 192 187 186 191 197 198 192 185 180 182 192 198 200 199 196 197 194 191 186 186 188 188 189 193 191 193 194 193 201 204 207 209 207 211 213 216 212 216 220 219 215 215 222 227 231 237 243 250 252 254 254 258 255 259 259 259 260 260 260 260 260 256 253 253 337 341 352 352 340 322 281 261 104 75 43 290 272 289 346 39 66 82 116 142 158 176 180 167 157 179 217 234 77 56 64 156 178 155 132 122 118 116 133 148 154 142 130 133 132 125 14 282 273 273 297 346 347 317 307 304 295 290 295 296 298 299 332 107 114 109 85 62 282 252 250 1 349 314 291 280 266 224 203 210 215 218 228 245 257 260 262 262 258 251 245 246 248 249 247 243 245 246 246 245 246 246 247 249 252 260 267 275 277 274 271 268 264 261 257 251 247 240 233 230 230 229 229 228 224 221 220 219 218 216 215 215 213 211 210 211 209 208 206 205 205 206 205 204 204 203 202 202 202 200 198 197 195 196 196 197 197 194 189 189 190 195 193 187 187 189 189 189 189 196 201 207 206 198 191 189 193 198 201 198 190 185 182 185 192 199 200 201 202 199 197 195 192 192 188 188 189 191 192 193 197 196 197 205 207 209 209 213 213 209 209 213 216 216 212 212 215 231 235 243 243 245 247 249 249 254 255 255 254 255 259 257 257 260 260 260 256 252 42 1 347 328 310 287 260 239 146 123 145 250 267 297 8 48 68 69 55 169 175 176 172 150 133 136 142 133 114 112 178 199 67 70 112 137 139 141 143 136 121 113 133 174 166 146 143 243 262 246 201 195 192 232 268 277 280 277 274 276 284 296 306 327 58 81 85 104 243 237 200 92 5 282 276 279 268 228 210 214 222 236 250 266 276 276 271 265 263 259 252 248 247 248 249 248 251 252 252 248 246 245 245 249 252 262 269 273 274 272 268 263 259 253 248 246 245 241 236 230 227 226 229 229 226 223 221 220 218 215 214 214 214 211 208 209 209 208 206 205 205 206 207 206 206 205 204 202 201 199 197 196 194 194 196 197 197 193 189 189 192 195 194 190 188 187 189 189 189 193 199 204 203 196 187 187 195 200 199 192 188 182 182 190 197 202 202 203 204 199 196 194 195 192 189 189 190 193 191 200 200 199 201 207 207 207 209 213 213 211 214 218 214 209 212 212 207 215 226 234 238 245 249 251 251 251 251 255 255 255 256 257 257 257 257 256 256 256 148 154 217 259 266 260 254 247 179 152 173 232 266 303 31 54 69 64 340 253 221 179 137 110 103 113 119 107 93 81 231 217 126 149 170 173 147 125 113 92 81 99 185 202 175 127 123 188 247 237 201 191 185 208 256 271 289 295 287 291 299 303 299 302 34 81 114 223 243 224 150 123 243 265 273 278 268 243 223 229 245 259 271 278 283 282 274 265 259 257 256 252 249 252 253 257 259 257 254 249 244 242 244 247 255 263 268 268 265 261 259 254 251 248 245 243 243 242 239 232 224 222 225 229 229 227 225 223 221 218 214 214 214 213 209 210 210 211 211 208 207 207 208 207 207 206 205 204 202 200 198 195 194 196 197 196 194 190 190 190 194 197 196 191 188 186 186 187 187 189 192 199 197 190 186 190 197 199 197 192 189 187 184 188 197 202 202 203 202 197 194 194 192 187 187 191 192 195 198 201 203 204 205 213 213 211 209 209 213 217 218 221 224 220 219 215 210 218 226 229 234 241 245 248 248 251 252 251 251 251 251 252 257 257 257 257 256 256 187 189 212 247 262 260 267 261 246 208 188 228 264 308 83 87 87 83 242 264 308 67 102 104 113 116 104 73 37 1 319 217 179 179 179 155 104 73 60 60 73 213 221 196 156 122 124 179 223 226 200 163 154 228 263 258 282 321 310 316 330 313 299 301 349 138 195 224 234 201 138 168 236 260 273 279 282 278 267 287 280 280 287 290 292 288 281 273 265 261 259 258 254 249 252 256 257 256 253 248 244 241 241 244 252 261 262 259 254 252 250 249 248 246 245 243 243 242 240 233 223 219 221 225 227 227 225 224 223 220 217 215 215 212 211 211 212 213 214 212 212 211 208 207 208 207 205 204 204 201 198 197 196 197 197 195 193 190 191 195 198 198 196 193 190 189 187 189 189 189 192 194 192 187 185 189 194 197 193 193 193 192 190 190 193 198 200 203 201 196 194 191 191 187 187 192 197 199 199 199 202 201 212 219 224 220 216 212 216 216 220 220 226 226 219 219 222 227 234 237 237 237 243 247 248 248 247 251 247 247 251 252 253 257 257 260 258 257 243 267 294 286 276 271 283 295 292 286 275 277 308 55 86 93 99 156 242 299 40 31 59 111 129 119 88 50 11 346 313 260 194 166 121 68 51 47 52 140 199 224 216 180 143 127 142 179 205 218 204 160 157 217 237 218 169 99 346 338 333 295 280 271 245 223 230 236 234 179 187 214 243 266 279 292 303 306 314 321 306 305 310 316 313 299 288 282 282 279 276 268 257 245 247 253 253 251 251 249 246 242 240 242 249 254 256 254 250 248 248 247 247 245 244 243 243 243 240 236 225 220 219 223 224 224 223 221 221 220 217 214 213 211 210 210 211 211 212 212 212 212 211 208 208 207 205 204 202 200 199 199 198 199 198 194 192 189 190 196 200 201 198 193 191 193 193 194 195 197 197 195 190 186 186 187 191 191 189 191 195 197 193 191 193 200 201 200 196 192 192 191 194 189 191 196 201 203 200 203 203 201 210 218 223 219 215 215 215 215 212 216 216 220 223 230 230 234 234 237 237 237 237 245 247 252 247 247 247 248 248 248 252 257 257 261 262 258 313 339 332 277 271 274 306 320 317 314 307 323 42 48 51 59 78 239 262 67 59 42 31 77 125 105 79 51 343 301 289 291 115 96 69 50 43 144 191 200 213 218 194 145 114 95 101 104 255 237 229 177 140 166 179 154 126 109 87 76 247 242 239 238 234 251 282 298 294 230 224 241 271 288 293 295 300 308 322 324 321 327 334 335 322 304 295 288 295 313 297 278 264 254 247 249 248 247 249 250 248 243 241 241 247 250 252 252 250 249 247 246 245 244 243 243 243 243 242 238 230 223 221 222 223 222 221 219 219 218 217 214 211 210 210 209 210 210 210 210 210 212 211 209 209 207 207 205 204 202 201 199 200 200 198 195 191 189 191 195 198 199 196 191 190 192 199 197 197 204 204 203 197 189 189 190 189 189 191 191 193 194 195 193 193 198 199 197 191 184 191 196 198 197 193 197 200 199 201 202 199 200 204 207 207 207 207 207 213 213 213 211 215 221 221 226 226 230 226 229 233 237 237 237 245 248 248 248 248 248 250 250 253 253 254 254 256 256 355 333 294 258 260 282 338 341 330 330 341 16 33 41 47 54 55 260 249 116 86 59 3 308 67 86 88 98 277 267 259 255 85 76 66 43 242 220 214 215 226 217 145 98 84 84 93 74 351 332 332 337 346 67 96 81 47 26 44 18 272 248 237 241 291 322 312 298 282 266 259 291 306 305 301 298 300 306 314 322 331 349 354 345 327 305 295 291 298 309 297 282 269 258 243 243 242 244 245 247 248 247 246 247 246 248 249 249 248 246 245 245 245 244 243 243 244 243 242 239 234 227 223 223 222 222 221 218 218 217 217 214 214 214 213 212 211 212 210 210 210 209 210 209 207 207 207 205 204 203 202 201 201 199 198 195 192 191 192 193 195 195 193 189 188 191 194 194 199 202 206 203 200 196 196 193 194 193 193 191 192 193 193 191 191 192 194 189 187 187 196 200 203 197 194 198 201 199 200 197 201 201 200 198 200 201 200 202 204 205 207 208 214 216 218 223 223 223 223 223 223 226 239 239 245 247 250 250 250 248 249 249 248 251 251 248 250 250 14 323 298 274 265 288 343 351 347 356 6 10 13 18 51 115 239 229 191 155 104 96 115 284 329 70 107 133 173 207 188 131 82 74 85 228 239 229 229 232 240 199 132 103 108 127 118 92 30 347 333 322 307 332 49 48 14 1 7 330 288 269 268 349 43 353 297 287 290 299 318 343 341 323 315 307 301 299 314 330 344 356 356 346 322 297 288 286 293 297 288 276 264 250 238 237 238 240 242 244 248 252 257 255 247 245 245 245 245 245 245 245 245 245 244 243 243 242 239 238 234 229 226 224 223 222 221 220 218 217 214 212 211 212 213 211 211 211 211 210 210 209 209 207 205 203 204 204 203 202 202 202 201 200 198 197 195 193 193 194 194 193 191 187 187 187 189 193 196 199 197 195 198 202 202 199 195 196 198 197 196 194 195 190 185 188 190 188 185 188 197 200 200 200 198 199 199 197 197 194 198 199 199 198 196 198 197 199 202 204 207 214 214 218 221 223 223 223 219 219 216 223 233 239 245 248 250 251 252 252 249 249 245 245 243 243 249 252 107 290 287 283 280 289 329 18 39 43 16 343 337 333 311 217 208 229 179 145 125 126 131 115 24 59 85 143 147 140 122 87 70 69 210 243 240 226 207 203 176 140 122 116 132 147 119 101 76 3 301 291 292 337 40 64 81 77 55 301 279 274 277 1 52 335 285 288 297 304 317 338 351 339 322 306 285 291 320 339 344 346 350 337 312 292 284 282 285 285 274 260 253 246 240 239 241 244 247 250 255 261 261 252 246 243 243 244 245 246 245 244 245 244 243 243 241 239 237 236 234 233 231 229 226 224 224 223 221 218 214 211 210 210 211 212 210 210 210 211 209 208 208 206 203 201 201 201 201 201 201 202 202 202 201 199 197 195 195 196 195 193 189 186 185 185 187 190 194 194 190 190 197 203 202 200 200 198 197 195 195 198 196 192 189 189 190 189 184 189 196 199 198 198 199 203 203 200 198 195 193 197 197 196 196 196 199 200 200 202 205 212 217 218 221 217 216 219 223 223 223 223 233 245 241 245 250 251 251 251 248 243 243 245 245 245 251 253 139 212 262 277 288 306 333 26 75 101 156 264 287 294 293 279 199 177 149 116 109 107 107 86 68 59 37 242 121 98 88 75 64 14 250 245 236 197 149 114 68 51 85 80 71 68 70 88 126 151 179 265 291 327 38 49 104 131 131 256 268 266 261 65 26 309 292 293 295 297 306 328 0 344 308 288 281 297 336 344 326 325 345 328 306 292 285 284 285 278 264 254 252 249 249 254 258 259 259 260 259 256 250 248 246 245 244 245 245 246 245 244 243 242 241 240 241 240 239 239 240 240 238 238 232 225 224 224 223 221 219 215 216 214 214 214 212 212 211 211 210 211 210 208 205 203 202 201 199 198 199 201 202 203 201 198 194 193 195 196 196 193 189 187 185 184 184 187 189 188 187 187 190 199 201 200 200 199 197 193 193 195 193 190 188 187 187 186 186 190 193 196 197 197 198 199 204 203 200 198 196 198 197 197 196 196 196 199 196 203 208 212 213 219 218 213 213 216 223 229 226 237 239 247 247 248 246 248 247 247 245 245 245 246 247 249 250 252 113 121 297 298 303 317 331 1 107 149 179 195 215 240 267 287 299 126 129 107 86 64 59 51 48 55 231 260 85 97 112 146 179 201 221 233 221 171 130 92 39 350 351 13 21 22 33 56 109 122 102 5 291 313 18 353 332 323 284 273 271 279 305 338 307 291 284 282 282 282 285 300 300 245 255 264 283 314 350 344 314 309 327 320 306 300 300 299 291 279 269 263 261 261 267 273 274 269 265 261 257 248 245 244 245 246 247 246 246 246 246 245 244 242 242 241 242 245 246 246 243 240 237 234 231 226 222 221 223 224 223 222 220 218 217 215 214 213 211 211 211 211 209 207 206 206 205 202 200 198 199 198 200 200 201 197 195 193 194 197 198 197 194 190 187 186 184 184 186 187 187 188 188 192 195 196 195 194 192 192 194 195 194 191 188 185 183 184 186 188 192 192 194 193 196 199 203 203 203 201 201 199 199 198 196 194 197 200 200 201 206 209 211 213 214 209 211 214 221 226 226 234 240 240 248 243 243 243 244 247 246 246 247 248 250 251 250 251 92 61 345 314 307 308 307 303 194 179 185 191 207 234 267 302 341 25 70 64 43 26 19 16 10 351 323 3 70 116 152 177 190 196 210 220 196 122 105 78 26 333 343 9 7 345 346 1 43 78 80 25 309 309 352 336 327 320 297 281 287 305 316 304 288 282 284 285 284 278 274 265 241 232 240 256 281 321 356 337 312 309 313 310 304 302 301 299 292 284 278 273 271 279 285 282 276 268 260 256 250 244 241 241 243 246 247 247 246 246 247 247 247 246 245 245 247 249 249 244 239 235 233 231 230 225 223 221 221 222 219 218 217 216 213 212 212 210 209 211 210 211 209 206 205 207 207 204 202 201 200 200 200 200 199 197 194 193 194 196 197 198 197 194 191 189 186 184 184 187 189 189 188 189 190 191 190 189 191 191 194 196 193 191 187 184 184 182 182 185 188 188 191 192 196 198 197 202 205 205 202 203 203 198 195 195 197 201 203 204 203 210 208 209 211 209 207 215 221 226 228 230 233 236 239 240 240 239 242 244 248 249 247 246 247 250 249 251 98 76 1 317 298 291 295 291 237 179 166 176 284 286 297 327 347 5 28 47 47 26 4 357 348 347 356 6 29 86 137 163 180 193 193 179 78 73 88 119 154 191 340 18 345 297 292 314 347 32 71 51 312 301 308 67 346 317 288 280 297 317 298 287 281 283 300 318 313 293 281 251 224 217 229 248 267 295 339 321 304 299 300 297 296 293 290 285 282 278 274 273 278 289 290 273 262 258 254 250 245 240 238 237 240 242 244 245 245 246 247 248 248 248 247 245 243 242 241 239 236 233 232 231 229 226 223 221 220 217 216 215 214 212 212 211 211 210 209 210 211 210 207 207 207 207 207 207 206 205 205 204 204 202 200 195 190 190 191 194 197 198 198 197 196 195 193 191 188 188 189 190 189 189 189 187 185 186 186 188 190 191 191 190 191 190 187 185 185 185 186 186 189 191 195 198 196 199 201 203 203 202 202 199 197 197 198 203 207 208 205 208 205 204 207 207 212 219 220 222 226 228 231 231 234 236 237 239 243 245 249 249 249 245 246 248 247 246 64 93 42 303 291 288 289 295 287 140 107 70 346 303 314 345 0 11 18 57 64 44 1 333 323 328 335 346 0 33 69 122 166 188 138 76 60 56 87 142 154 152 147 154 191 234 246 312 1 43 95 145 208 215 169 116 70 305 287 287 50 344 293 282 276 285 325 334 327 305 288 255 200 188 211 234 240 246 277 292 290 288 290 291 287 281 275 271 267 267 271 277 283 286 275 258 251 250 250 248 244 242 240 239 240 240 241 242 244 245 246 247 247 247 245 243 239 237 236 236 235 234 233 232 228 225 223 221 219 217 216 214 212 210 209 210 209 208 210 210 211 207 206 206 207 206 207 208 209 208 207 205 206 204 202 196 189 187 191 194 196 196 197 196 195 194 196 197 196 193 190 190 188 188 189 189 185 182 184 189 190 189 190 189 191 190 187 189 187 188 186 190 192 194 197 199 199 198 199 204 204 204 204 201 196 195 198 201 204 204 203 204 205 207 211 214 218 222 222 224 226 227 229 233 236 236 238 241 242 244 245 243 242 243 244 242 241 240 32 75 94 297 295 297 303 301 301 115 116 107 239 282 313 1 31 14 7 52 71 60 332 284 281 303 319 330 344 4 26 64 126 65 57 51 41 18 341 284 129 103 92 99 179 179 160 121 77 176 166 173 173 170 112 99 116 247 278 293 335 341 299 288 288 314 4 346 319 298 288 274 222 184 205 226 224 208 251 276 282 285 287 288 285 275 262 256 257 262 271 276 278 274 266 255 251 248 249 247 246 244 243 244 244 243 243 243 243 243 244 245 246 246 244 242 239 236 235 235 234 233 232 230 228 224 222 220 219 216 214 212 209 208 208 208 207 206 205 206 205 204 202 201 201 201 202 203 205 206 205 204 202 203 200 192 187 188 193 196 196 196 193 192 193 193 193 196 200 195 196 191 188 188 191 191 186 185 187 188 190 187 187 189 190 190 188 189 187 185 188 194 197 199 199 200 201 207 207 205 205 202 202 200 198 195 195 200 202 203 200 200 204 208 213 219 222 222 224 226 229 231 232 235 236 238 240 242 243 244 242 239 238 236 239 236 236 235 11 30 102 126 294 302 314 314 306 303 194 203 243 281 318 14 47 7 349 26 76 140 215 213 207 229 318 337 346 353 0 5 28 47 52 47 7 330 318 337 43 69 73 67 213 185 149 132 166 215 217 159 109 80 56 61 86 176 277 288 336 335 306 298 302 323 345 328 287 269 269 263 235 209 210 218 211 205 259 282 285 285 284 283 280 266 253 245 248 256 263 267 266 262 260 259 256 252 248 246 247 245 245 245 245 246 247 246 245 244 242 242 243 242 242 240 239 235 234 233 232 232 231 229 226 224 222 220 218 216 214 212 210 208 207 207 206 205 204 205 203 202 201 200 199 197 197 197 198 201 201 202 199 200 199 189 189 192 198 199 198 194 191 190 190 192 193 191 194 195 195 197 194 191 190 192 190 189 190 189 189 185 185 189 191 192 190 189 185 182 186 193 197 197 192 196 201 208 209 207 207 205 203 202 199 196 195 198 202 202 199 197 202 211 217 220 222 224 226 229 230 232 235 236 236 236 239 238 240 239 239 238 234 234 237 238 237 237 18 329 65 109 167 297 301 303 294 286 275 265 273 301 10 39 44 352 327 51 116 187 218 208 172 156 148 77 14 347 347 353 7 31 44 37 337 323 333 8 44 59 96 194 208 188 137 128 151 228 242 68 81 78 85 94 86 65 287 267 104 37 291 293 307 315 315 298 271 259 256 257 248 226 208 200 205 241 277 284 283 282 279 276 266 253 240 232 231 235 247 255 258 257 257 258 258 258 255 252 251 250 247 246 245 246 247 248 248 247 243 241 240 241 241 240 239 237 234 231 231 230 230 228 227 225 222 220 217 216 215 213 211 211 209 209 209 208 206 206 206 204 204 203 201 199 198 198 199 199 199 199 198 197 195 191 193 195 198 199 196 192 187 187 190 193 192 187 186 189 192 195 193 191 190 192 192 194 193 191 187 185 187 190 192 192 189 187 185 184 188 192 193 193 190 193 199 203 206 203 205 203 201 201 203 199 198 201 204 206 203 204 203 210 216 222 224 226 226 229 230 233 236 237 236 232 232 234 235 235 240 240 239 237 240 239 240 241 83 325 352 93 114 284 286 280 268 278 297 325 325 10 41 44 7 293 253 179 157 194 219 212 172 157 156 157 156 143 37 352 6 39 56 3 332 349 12 30 26 26 3 265 256 210 107 101 102 59 21 49 121 164 160 141 144 170 221 217 129 176 250 267 313 313 299 288 282 280 281 280 275 243 199 173 211 279 283 281 280 278 275 267 252 239 232 227 218 216 230 245 256 260 262 262 261 261 261 258 256 255 253 250 248 247 246 247 247 248 249 246 243 239 239 240 239 238 235 233 230 229 228 227 227 225 223 220 218 214 212 211 210 210 207 207 208 208 207 207 207 207 206 205 204 202 200 202 201 201 200 200 197 198 197 195 195 197 198 198 194 189 186 187 191 193 190 189 187 186 188 193 192 189 189 193 197 197 194 192 188 186 189 194 193 189 185 182 186 188 188 190 191 191 193 195 201 202 204 202 198 196 197 202 202 199 198 201 204 206 208 207 209 213 217 222 224 226 227 229 232 234 239 241 239 236 235 235 237 239 242 243 243 240 240 241 241 242 101 327 356 41 76 199 265 272 272 291 330 6 24 34 41 39 294 260 238 192 175 187 201 202 177 170 167 159 153 151 152 157 138 125 138 178 231 176 145 151 151 81 21 344 336 1 37 48 39 1 311 249 203 151 128 126 132 141 131 85 55 262 247 167 50 317 288 283 284 289 292 290 290 294 274 242 294 290 281 276 272 271 268 256 239 229 226 226 221 214 221 237 254 263 267 265 265 264 263 262 261 260 259 257 254 251 250 248 246 245 246 246 246 245 242 240 240 238 237 233 231 229 228 227 226 225 224 221 217 212 210 209 210 208 207 206 206 206 205 204 204 205 205 204 202 200 201 204 204 204 203 202 201 199 199 199 199 199 198 196 193 188 189 189 192 193 191 190 189 187 187 189 188 188 188 194 197 197 194 190 186 187 190 195 196 189 184 182 186 188 188 188 190 195 196 199 201 202 203 199 193 191 193 195 199 199 195 195 199 204 212 211 212 214 218 224 226 226 226 227 229 232 235 239 240 241 238 240 240 241 242 242 239 239 239 236 240 240 88 349 1 28 68 229 264 285 309 326 348 8 17 23 31 234 238 239 234 207 185 184 192 188 183 180 172 160 154 155 155 161 165 162 167 179 197 194 182 170 155 141 113 50 7 11 23 23 11 306 272 266 3 49 73 95 96 101 87 43 293 245 201 97 12 295 280 279 282 288 291 288 289 298 302 300 288 279 272 266 261 259 257 246 232 219 221 228 227 220 220 231 247 258 267 268 268 268 267 266 264 263 262 262 259 257 254 252 249 244 241 242 245 246 246 243 241 237 236 234 233 232 229 226 225 225 224 222 218 213 210 210 212 212 210 209 208 207 205 204 203 204 203 201 197 200 203 204 202 204 204 205 204 200 200 199 201 201 198 196 194 190 191 192 193 193 189 189 188 189 190 188 188 186 189 194 196 195 191 187 187 190 192 192 192 191 189 186 186 186 186 186 190 196 199 201 202 203 204 200 195 193 193 193 195 199 197 197 200 208 214 214 217 217 222 224 226 226 227 227 227 229 230 233 235 235 236 239 240 241 239 239 240 239 239 236 236 235 76 277 297 81 131 211 249 281 311 330 341 338 327 297 248 237 243 255 267 267 232 192 185 184 179 179 175 171 162 152 149 159 166 155 154 175 196 199 180 155 144 136 127 119 107 74 68 51 319 290 285 297 1 37 85 162 104 104 131 201 223 215 157 113 276 275 282 289 291 289 286 284 286 291 293 286 273 262 257 254 248 245 243 239 228 216 217 230 234 229 225 227 240 255 265 268 269 269 271 269 268 266 265 264 262 261 259 256 256 251 245 239 237 241 245 247 243 241 237 235 234 234 232 227 224 223 223 221 217 211 206 207 210 210 211 211 210 209 206 206 206 205 203 199 200 202 203 205 202 202 205 207 205 202 199 198 198 198 198 196 196 194 193 193 193 192 190 187 187 189 192 192 193 190 189 190 193 195 192 188 188 189 190 188 189 190 188 189 187 187 186 186 190 196 199 200 204 204 204 200 196 194 193 195 196 197 198 200 204 211 217 217 217 220 222 222 226 226 227 227 227 229 229 231 232 232 235 238 240 239 239 239 242 240 238 236 232 233 129 237 213 159 154 179 221 327 320 311 306 294 282 272 264 258 263 272 281 277 259 208 185 184 184 179 185 174 158 147 148 165 167 142 124 203 232 218 170 131 130 138 146 150 152 150 133 126 178 287 295 295 294 299 77 104 77 140 179 199 204 169 137 157 227 260 291 299 290 281 275 276 280 284 283 276 264 248 239 236 233 229 229 230 224 215 217 228 236 235 230 228 238 254 264 268 269 271 272 272 272 271 268 266 266 265 262 257 254 253 248 240 233 232 238 244 246 244 239 235 233 232 231 228 224 221 219 218 213 209 206 203 204 206 207 206 206 205 203 202 202 201 200 199 200 202 204 204 203 201 202 204 204 200 196 195 196 197 198 197 197 197 197 195 193 190 188 187 186 184 189 193 196 194 189 186 189 192 191 188 188 189 189 186 185 184 184 185 187 189 189 190 195 197 195 200 202 203 199 195 196 196 195 195 196 199 199 206 209 213 217 219 214 220 222 222 224 224 226 227 228 230 229 231 230 232 235 238 239 241 239 241 242 244 242 236 234 232 137 159 179 154 132 116 70 1 317 285 248 235 241 251 255 249 238 238 250 260 247 208 194 185 185 172 162 143 132 133 152 170 159 133 138 250 256 229 158 136 141 145 140 133 126 119 102 116 132 162 284 286 282 264 77 40 329 260 234 222 204 131 131 188 211 264 307 295 279 272 266 269 277 278 271 261 251 234 218 216 217 215 215 220 223 216 217 228 238 241 236 233 239 256 265 269 271 272 273 273 272 272 271 269 268 267 266 261 255 253 250 247 239 230 233 238 241 243 242 239 233 231 229 226 223 220 217 216 213 209 206 204 204 204 205 204 203 202 199 198 199 199 198 198 200 201 203 203 201 202 202 203 202 198 194 195 196 198 197 198 196 196 195 194 191 188 190 188 186 184 188 193 198 196 188 188 189 190 189 186 186 186 186 185 184 182 180 180 184 186 190 193 197 201 198 197 199 199 193 190 193 195 195 195 195 198 201 204 208 212 217 217 217 217 220 222 222 222 226 226 228 231 231 232 234 234 235 237 239 240 239 241 243 242 241 240 238 236 141 124 122 104 93 87 83 277 272 264 233 213 211 223 233 226 212 212 227 239 237 217 208 189 155 125 99 93 93 97 103 116 125 125 145 208 222 195 159 140 119 99 80 75 82 93 103 130 146 167 227 272 276 247 121 51 303 273 246 215 166 109 99 242 167 59 349 281 273 270 270 273 276 269 252 238 231 212 202 203 208 211 210 215 220 220 221 230 242 247 244 244 251 260 267 271 273 274 274 273 273 274 273 272 269 267 266 265 262 257 252 250 248 241 237 239 241 243 245 243 239 234 230 227 224 220 217 215 214 212 209 206 205 205 206 206 205 203 202 201 202 201 201 200 202 203 205 204 204 204 204 204 203 198 196 195 196 198 198 197 197 196 195 192 189 189 189 188 186 186 189 195 197 195 190 188 189 191 187 183 185 187 183 180 182 182 182 182 184 186 188 192 196 200 201 198 196 192 190 192 194 195 190 193 195 199 200 203 208 214 217 216 216 217 218 220 220 222 224 228 228 229 231 233 236 234 234 236 237 238 239 240 238 239 239 241 240 238 159 109 92 69 59 64 217 230 242 253 249 237 231 248 262 267 264 264 262 266 279 329 299 144 121 109 99 98 92 83 78 56 25 42 85 116 143 151 141 109 87 81 86 138 152 146 150 163 172 183 205 236 256 245 122 83 283 268 243 162 95 76 5 287 340 73 86 268 268 272 277 280 279 264 241 216 209 195 194 201 208 211 213 217 223 227 232 240 252 258 256 257 259 263 268 272 274 276 275 274 273 274 274 273 270 269 267 267 266 264 259 254 252 250 248 246 245 246 247 246 245 242 237 231 225 222 218 216 214 212 211 208 207 207 207 208 207 207 207 208 207 207 207 205 206 207 207 207 207 206 206 204 202 200 198 197 197 198 199 198 198 196 193 189 189 189 188 186 184 187 192 197 198 194 188 189 190 189 186 186 186 186 182 178 180 182 182 182 186 188 190 194 194 195 196 195 192 190 191 193 194 193 193 193 195 199 201 204 208 210 216 219 216 217 218 219 220 220 224 226 228 228 232 232 235 236 236 237 236 237 236 236 237 238 240 240 239 241 155 86 71 64 54 18 300 260 254 264 267 274 292 309 308 316 321 311 306 305 323 3 37 81 85 86 101 111 105 75 43 353 313 313 1 68 99 116 116 119 137 166 188 192 180 167 165 173 180 187 197 212 229 179 124 140 268 266 243 87 49 284 258 273 313 18 177 245 259 268 277 284 280 266 232 207 198 197 199 204 211 218 222 229 236 246 257 266 271 267 260 255 253 257 264 268 272 273 273 273 272 271 271 272 271 271 269 268 268 266 262 255 251 251 251 251 250 247 246 246 245 244 241 235 231 225 222 218 217 212 210 209 208 208 207 207 208 210 209 209 210 209 208 207 207 207 206 206 207 207 205 204 202 200 200 198 198 200 200 199 199 197 195 193 190 189 187 184 183 188 195 198 197 191 187 189 191 191 187 186 184 180 178 180 182 182 182 184 188 192 194 197 195 192 192 192 189 189 191 193 195 193 193 195 198 199 203 207 208 210 215 216 214 217 218 220 220 218 222 224 226 228 232 232 233 233 235 237 236 237 233 233 238 239 239 239 239 240 98 73 83 110 85 26 329 304 298 303 294 298 320 340 348 351 348 344 344 349 10 26 26 26 30 25 65 107 99 61 25 284 260 261 267 284 121 136 159 169 180 190 195 179 151 132 140 156 170 170 162 154 164 142 121 129 273 269 252 140 259 252 232 246 300 297 256 248 256 266 276 281 274 262 231 207 212 211 209 215 228 245 259 269 274 279 282 283 281 275 266 254 243 240 247 256 265 269 271 271 271 271 270 271 271 271 270 269 268 265 260 256 250 248 249 249 248 248 249 248 247 241 239 235 231 228 225 222 217 215 213 211 207 207 203 203 204 208 207 208 207 206 207 206 206 206 205 204 204 205 205 203 203 202 200 199 200 200 200 200 199 198 197 194 190 187 184 183 185 190 194 196 194 188 186 188 189 188 187 185 182 178 178 180 182 182 182 186 190 194 197 198 196 192 189 189 191 191 191 192 192 190 193 195 199 199 203 206 208 213 214 213 214 213 218 220 217 220 220 224 226 228 230 232 232 234 233 236 236 236 234 236 239 237 239 236 238 239 78 43 308 210 116 87 1 311 308 312 304 308 319 328 339 348 357 353 350 353 0 13 12 356 346 355 23 52 73 95 194 231 234 247 258 248 207 184 183 183 174 146 113 93 68 68 88 116 137 133 116 105 125 131 93 60 289 262 237 217 228 233 220 196 275 272 266 266 269 274 277 279 275 263 231 204 200 205 211 232 255 272 277 281 282 286 285 283 280 277 273 265 250 235 237 247 259 266 270 273 274 275 275 274 273 271 271 271 268 267 264 258 252 246 246 249 251 253 255 252 248 241 235 232 230 226 223 221 218 215 212 211 209 206 205 204 205 207 207 207 206 206 206 206 206 207 206 206 206 206 206 205 203 203 201 200 200 200 200 199 200 200 198 195 190 187 184 187 189 192 193 193 192 187 186 186 186 185 183 182 180 178 178 180 182 182 182 186 190 194 199 198 194 192 189 191 191 193 193 192 190 190 193 198 200 203 206 206 209 211 214 215 213 215 217 217 219 217 219 224 226 226 228 235 235 234 237 239 237 238 239 237 240 241 236 236 236 239 67 349 301 303 83 99 112 277 311 317 316 318 321 317 321 336 356 356 351 356 0 4 0 337 329 351 19 32 47 85 176 260 249 237 232 231 213 215 191 116 78 82 84 74 65 62 70 99 124 119 92 71 50 42 61 37 284 259 238 215 217 220 207 195 226 249 257 266 272 277 285 293 289 276 222 185 188 213 215 227 252 268 274 277 281 284 283 279 277 277 278 277 272 261 251 250 260 271 275 277 279 280 279 278 278 276 274 273 272 271 268 262 256 250 250 252 258 258 256 250 246 242 235 230 226 224 222 218 215 214 212 210 210 207 207 206 205 206 205 205 205 207 207 208 209 208 208 207 207 207 206 205 204 204 202 202 201 200 200 198 198 199 197 195 189 187 188 189 191 192 193 194 190 188 185 183 183 183 180 176 176 180 180 182 182 182 184 184 190 192 197 198 194 189 189 191 193 193 193 192 192 192 195 196 203 204 207 208 209 212 212 214 214 215 217 217 217 220 220 224 228 230 232 232 235 234 236 238 238 239 239 241 239 240 241 239 238 241 86 287 273 275 67 94 99 56 356 348 336 329 327 327 326 328 336 337 337 343 351 351 340 328 333 349 10 21 17 21 2 262 227 211 208 213 219 340 24 81 104 101 88 76 64 60 64 68 68 56 53 36 354 20 55 31 271 261 245 215 212 209 193 180 218 236 242 251 259 268 279 286 288 287 272 260 291 291 286 283 286 287 288 287 289 289 285 282 281 278 278 279 281 281 277 274 274 278 280 284 284 284 283 282 282 280 279 278 277 275 271 267 261 256 254 254 255 254 249 246 243 238 235 230 226 225 223 219 217 215 212 209 207 207 206 204 205 206 205 205 206 207 208 209 208 208 208 208 207 206 205 205 204 203 203 202 201 201 200 200 199 198 197 194 191 191 191 190 190 192 193 193 191 187 184 184 185 182 176 172 176 180 182 182 182 184 184 186 188 190 194 195 193 191 189 189 190 193 193 192 192 192 194 198 203 205 208 208 209 213 214 215 215 218 220 222 222 220 222 224 226 228 230 232 234 235 238 237 238 238 240 240 238 240 240 239 240 241 101 201 231 228 126 80 66 39 7 1 346 338 332 330 331 327 327 330 330 327 331 331 329 331 330 337 343 336 303 243 223 215 187 157 142 121 24 1 3 162 167 163 148 147 144 129 99 58 17 11 16 327 313 7 57 125 263 265 249 213 196 191 180 174 217 239 246 251 255 261 269 277 284 291 294 296 299 297 300 301 299 297 295 294 293 291 289 286 285 283 284 286 287 289 289 287 284 282 283 282 283 284 284 284 284 283 282 282 280 277 274 269 265 260 255 252 249 248 246 243 239 237 235 231 227 224 221 217 215 215 212 209 208 207 206 205 205 206 206 207 207 208 209 209 209 208 207 207 206 206 206 205 204 204 203 203 203 202 201 201 200 199 196 195 193 193 192 190 189 189 190 189 187 185 185 187 185 182 177 175 176 178 180 180 184 184 184 186 186 188 192 194 192 190 188 190 192 193 191 192 192 194 196 198 202 206 208 208 209 213 213 213 213 215 219 220 222 224 226 226 228 226 230 231 231 233 235 238 238 240 239 238 238 238 240 240 241 243 82 131 179 179 159 122 104 107 176 176 14 320 313 314 317 310 312 316 316 316 314 313 318 320 322 316 308 279 238 205 179 143 104 86 86 116 59 59 210 210 201 185 172 177 177 162 140 127 156 253 222 219 227 67 94 154 254 265 249 190 154 151 165 188 218 241 256 265 267 268 271 277 284 290 295 296 297 298 298 297 296 294 292 291 291 291 290 289 289 290 290 291 293 294 294 293 290 286 282 282 282 282 282 282 283 283 284 284 283 280 277 272 266 262 257 252 249 246 244 242 238 236 237 234 228 221 215 214 214 213 211 210 210 209 209 207 207 208 208 208 207 208 209 210 209 208 208 206 205 205 205 204 204 203 203 203 203 202 201 200 199 200 198 198 196 196 193 190 187 187 188 186 183 185 186 189 184 178 174 176 178 178 178 180 182 184 184 184 186 187 191 193 193 188 186 189 194 193 189 189 191 193 198 200 204 206 208 210 210 211 211 211 213 216 217 217 220 222 224 226 226 228 229 229 231 232 234 236 237 238 238 235 236 236 239 242 244 246 83 178 169 173 167 154 133 150 189 180 175 185 222 245 247 256 265 271 274 273 277 284 277 258 247 259 273 277 262 301 319 297 273 234 170 137 120 151 202 219 219 201 187 186 182 169 160 164 186 205 195 180 162 148 154 202 248 258 254 162 114 139 192 216 224 238 254 266 273 275 279 284 288 291 291 291 291 291 292 290 288 287 286 288 289 290 291 293 295 295 295 296 297 298 297 296 293 291 289 286 284 283 282 280 280 281 280 280 279 279 277 272 268 264 259 253 250 247 245 241 239 237 236 233 228 220 216 215 216 216 215 215 214 214 212 209 208 208 208 206 206 206 207 208 208 208 207 207 206 205 204 203 202 202 203 203 202 203 202 201 200 199 200 200 199 198 195 193 190 187 186 184 183 183 185 185 182 176 174 176 178 178 178 180 182 185 184 182 184 187 191 193 191 189 189 191 191 191 189 191 193 195 199 200 205 207 207 210 210 212 212 212 213 214 215 217 218 220 222 226 226 227 227 229 232 234 236 235 237 234 234 231 233 236 238 240 244 246 149 213 155 131 121 131 151 169 186 182 174 186 208 224 231 241 247 249 251 258 271 275 221 173 148 140 305 301 299 322 308 287 279 277 189 157 176 189 199 208 217 221 206 196 180 163 146 141 147 157 137 116 113 143 189 224 245 257 259 237 137 200 233 239 240 243 251 260 271 278 283 287 288 287 287 287 287 287 287 287 286 287 288 289 290 293 295 295 296 296 297 297 299 299 297 296 295 294 293 290 289 288 285 282 281 279 276 276 273 272 271 269 267 262 257 253 251 248 244 241 238 235 232 228 225 223 220 221 222 223 221 220 218 216 213 210 209 208 208 207 206 206 206 207 208 208 206 206 206 204 203 202 201 199 200 201 201 200 200 200 200 199 198 200 201 199 196 195 195 191 188 185 183 181 181 180 178 176 174 176 178 178 180 182 183 185 185 184 182 185 192 192 191 191 190 190 189 188 190 192 194 197 200 202 202 205 208 210 210 211 211 212 215 216 219 220 222 220 224 226 227 229 229 231 231 234 235 235 236 234 231 229 231 234 238 240 244 245 96 104 64 68 99 189 199 194 195 191 190 199 216 232 239 245 251 258 265 273 281 285 247 178 95 36 351 316 303 299 289 284 286 289 280 253 221 203 189 183 184 193 199 189 104 70 86 87 81 77 76 71 37 240 222 228 240 255 268 115 260 255 252 253 251 250 250 254 264 274 280 282 281 281 282 282 283 284 285 286 287 290 291 293 295 295 295 295 295 295 296 296 297 296 294 294 293 293 291 290 290 289 288 287 286 286 284 280 276 271 268 265 262 258 255 253 251 248 245 242 239 238 236 234 233 232 229 228 228 227 223 218 217 215 213 211 211 210 210 209 208 208 207 208 209 209 208 206 206 205 205 203 201 199 198 198 199 198 198 198 198 198 197 199 199 199 197 195 196 194 190 185 183 182 182 180 176 174 176 176 178 178 178 182 184 185 186 184 184 185 189 191 190 192 192 191 189 190 189 193 195 198 199 202 202 205 207 208 208 209 211 212 213 214 216 220 222 222 224 226 227 229 229 231 231 233 233 233 233 233 231 229 231 232 235 239 242 243 94 86 64 37 249 230 219 212 202 202 208 215 224 235 243 249 256 265 275 279 284 287 288 346 40 23 352 307 293 287 279 279 284 290 292 284 269 242 196 167 159 148 152 169 185 179 154 151 159 131 125 179 240 241 233 228 230 237 279 352 294 264 257 254 253 250 248 249 255 265 272 274 274 274 277 279 282 285 287 289 291 293 295 296 296 296 296 295 295 295 295 294 294 293 293 293 292 291 289 289 288 288 288 289 290 291 291 289 282 274 268 264 262 261 259 255 253 250 249 246 248 248 250 250 249 244 236 231 227 223 220 218 216 216 215 213 213 213 212 211 210 209 209 209 209 209 208 207 207 206 205 204 202 201 199 198 196 196 196 196 196 195 196 197 198 199 195 194 194 193 189 187 185 184 184 180 174 172 174 178 180 178 180 184 186 187 186 184 186 187 191 191 192 192 192 192 191 191 193 195 198 198 200 202 203 206 205 208 208 209 211 212 214 213 218 221 222 222 224 226 226 227 229 231 230 232 230 229 229 229 229 229 231 234 234 237 240 243 76 80 51 303 261 238 222 212 206 216 226 229 232 238 246 252 258 267 275 279 279 284 293 322 353 0 331 287 283 281 278 276 280 286 287 282 276 265 217 144 130 136 154 175 182 174 169 177 187 188 188 206 228 238 235 212 137 88 34 317 282 266 258 252 250 249 247 245 247 254 264 270 272 275 279 283 286 288 291 293 294 296 297 297 298 297 296 295 294 294 294 294 293 293 293 293 292 291 290 289 290 289 289 289 290 289 289 286 281 275 271 268 268 268 266 263 258 254 252 252 253 256 254 252 248 241 234 226 223 223 222 220 220 220 219 217 215 215 213 211 209 209 209 209 208 208 208 207 207 206 206 206 204 202 200 198 196 195 193 193 193 193 193 195 197 198 195 193 189 188 187 187 185 184 184 180 175 174 174 178 180 180 180 184 187 188 186 186 187 191 191 192 193 193 192 191 191 193 195 197 198 200 202 202 203 205 206 208 208 209 209 211 214 217 219 222 222 222 224 226 226 227 229 231 229 229 229 227 229 227 227 229 231 232 236 238 240 243 43 58 51 286 260 240 217 200 189 212 234 238 237 241 250 258 269 279 285 284 284 288 297 307 314 308 287 269 274 277 277 277 278 280 278 278 277 274 255 150 144 157 169 178 175 167 167 184 197 205 209 217 230 241 242 166 79 47 1 295 279 273 267 261 254 253 253 248 247 256 266 271 275 280 285 287 289 291 292 294 295 296 297 298 297 297 296 295 295 295 294 294 294 294 293 293 292 292 293 293 293 290 289 288 287 287 286 282 279 275 273 272 271 269 267 265 261 258 254 250 249 249 246 242 240 237 232 226 225 227 228 229 228 224 222 219 217 215 215 212 211 210 209 208 209 208 207 206 205 206 207 207 206 204 203 201 199 196 195 194 193 193 193 194 195 195 194 189 186 186 185 185 183 185 184 180 175 171 174 178 180 180 182 185 187 187 187 187 189 192 192 194 195 195 192 193 193 195 198 199 200 200 202 202 204 205 205 206 207 208 211 212 215 217 217 221 222 224 224 227 227 227 229 229 229 227 227 226 226 226 226 227 231 232 236 239 244 247 81 85 144 267 265 252 211 154 156 211 237 244 245 248 255 265 276 285 288 287 287 289 293 295 293 286 274 260 261 268 273 276 276 273 268 271 274 277 273 248 197 180 173 169 164 162 169 191 208 215 218 224 234 242 245 249 3 337 273 255 261 268 270 271 271 271 272 273 276 279 276 275 278 283 286 287 289 289 292 292 293 295 295 295 295 295 294 294 294 293 294 293 292 292 292 291 291 291 291 291 290 289 288 286 285 285 285 282 278 275 273 272 271 268 265 265 264 261 256 249 246 245 243 240 238 236 233 231 229 230 232 234 230 225 221 218 219 217 216 215 213 211 209 209 208 206 204 204 203 204 206 206 204 202 203 202 200 198 197 197 196 195 196 196 196 195 190 187 184 184 183 181 183 185 185 180 172 172 174 178 180 180 182 185 189 189 187 187 189 192 194 193 194 193 192 194 196 198 199 199 201 201 203 203 203 205 205 207 208 209 210 212 215 217 221 221 224 224 224 226 227 227 229 229 227 227 226 224 224 226 228 226 231 234 238 244 247 249 137 137 179 255 265 268 176 99 119 218 248 254 260 264 269 274 280 282 281 281 282 283 283 282 278 276 271 261 250 253 262 272 276 271 268 268 271 274 271 260 237 199 173 166 168 173 181 198 214 222 226 227 236 243 246 245 241 243 241 236 242 254 265 273 279 283 286 289 291 286 280 279 280 283 284 285 286 288 289 291 292 292 292 292 292 291 291 291 290 290 290 290 289 289 289 290 289 289 289 288 288 287 286 285 283 282 281 278 275 274 273 273 272 269 267 267 266 264 259 253 249 246 244 242 238 236 233 231 228 227 228 228 226 224 221 219 219 218 216 215 213 212 211 209 206 204 202 202 203 204 204 202 201 200 199 199 198 198 197 198 196 199 200 200 200 197 191 188 185 183 181 183 186 187 185 176 172 172 174 178 180 182 183 185 187 189 189 191 191 194 196 196 196 193 192 194 197 197 199 201 202 202 203 203 205 204 206 207 208 209 210 215 217 219 219 221 222 224 224 226 226 226 229 229 227 226 226 224 226 226 230 230 233 240 242 250 254 253 111 120 148 243 265 267 239 109 137 234 256 264 273 282 281 277 276 276 274 272 272 273 270 269 269 271 272 269 260 255 258 267 269 268 268 267 266 263 261 257 248 217 186 178 183 188 193 204 217 229 235 235 237 242 242 236 226 232 239 237 240 249 260 271 279 283 286 287 287 282 277 278 280 282 283 283 284 286 288 289 290 289 289 289 288 288 287 288 287 286 286 286 286 287 288 288 290 290 290 289 287 285 284 283 283 282 279 279 277 276 275 275 274 274 271 270 270 268 263 259 255 251 247 245 240 235 232 229 228 225 225 226 226 225 222 220 219 217 215 215 212 212 211 208 204 202 202 203 203 202 201 200 199 199 198 197 195 194 193 193 195 196 197 198 199 197 194 188 185 182 181 184 188 188 180 172 170 172 176 178 180 184 185 185 187 189 191 191 192 195 197 196 195 192 193 197 197 198 201 201 204 201 199 201 202 203 203 206 208 210 212 214 215 219 221 221 221 222 224 226 227 227 227 227 226 224 224 224 224 226 228 234 240 243 248 252 253 254 93 85 155 223 253 267 229 154 174 232 258 273 287 292 283 276 271 267 265 263 260 259 260 261 264 265 266 269 271 271 271 267 264 263 265 264 261 257 254 252 246 228 207 198 200 204 204 209 221 234 241 240 239 238 235 229 222 229 240 244 246 250 259 269 275 279 281 281 280 276 274 273 276 279 282 283 284 285 287 287 287 286 286 285 285 286 285 286 286 285 285 286 287 287 289 291 292 292 291 287 285 284 284 285 285 285 285 283 281 280 279 277 276 276 274 273 272 270 269 266 262 257 252 248 243 237 231 229 226 226 226 227 227 227 224 222 220 218 215 214 213 212 209 206 203 203 203 203 202 201 200 198 198 197 195 195 193 192 190 189 189 193 194 195 196 195 193 188 185 183 185 187 189 185 174 168 172 178 178 178 180 185 187 187 187 189 192 195 196 197 198 197 193 195 195 197 198 198 200 201 201 198 198 197 198 201 204 204 207 210 212 212 215 217 219 219 221 222 224 226 227 227 227 224 224 222 220 224 226 228 232 234 240 244 245 249 254 256 76 308 258 230 241 250 299 70 131 243 276 287 292 287 282 272 264 256 253 253 253 254 256 258 260 260 261 267 276 281 281 272 264 259 258 258 258 257 252 248 242 230 220 215 217 217 215 215 222 233 242 244 244 241 236 231 227 232 240 247 251 255 259 266 272 275 277 277 276 273 271 270 272 275 278 280 281 282 283 282 281 281 281 282 282 283 283 283 283 284 285 286 288 289 289 289 290 288 287 286 286 286 288 291 292 292 291 289 286 284 282 281 279 278 277 276 275 273 272 270 269 266 260 254 248 240 233 228 227 226 226 226 226 225 224 223 220 217 214 212 211 210 207 204 203 203 203 203 201 200 199 198 196 195 194 194 194 193 191 187 188 189 191 193 194 192 189 186 183 183 186 189 186 180 170 168 174 180 182 180 182 185 187 187 189 191 194 196 197 197 199 198 195 195 197 198 198 200 200 201 200 198 198 200 201 202 204 204 207 209 211 214 216 218 216 218 221 222 222 224 226 226 224 222 220 222 222 224 226 235 236 238 243 244 248 252 257 258 71 312 284 247 189 151 97 50 64 65 309 298 292 285 278 271 262 252 247 249 253 261 264 262 251 246 250 261 271 276 276 272 267 259 255 256 257 257 253 245 239 232 226 223 225 226 223 220 223 233 243 247 248 244 238 234 234 237 243 249 254 257 261 266 269 272 273 274 273 272 272 271 270 270 272 274 275 277 277 276 276 278 279 280 280 280 280 279 281 282 285 287 288 288 287 287 286 286 288 290 292 295 297 297 297 296 294 292 290 287 285 283 282 280 279 278 277 276 275 275 273 270 267 262 255 248 239 232 228 225 225 225 225 224 222 222 219 217 214 212 211 209 207 205 204 203 203 202 201 199 198 196 194 194 194 194 193 191 190 189 188 188 190 192 191 188 184 183 183 183 186 188 185 176 169 171 176 182 183 184 183 185 185 187 189 192 196 199 199 196 197 196 197 197 198 199 199 199 201 201 200 199 201 200 202 202 204 206 209 211 212 213 213 216 216 217 220 222 224 224 224 224 222 218 217 217 218 224 230 234 237 243 246 250 253 256 259 260 73 329 281 274 137 124 109 76 59 68 341 304 295 285 280 276 269 259 256 261 283 310 318 249 220 222 229 242 260 275 277 276 274 270 265 264 263 260 253 247 242 236 234 231 232 234 231 227 226 232 241 249 251 248 242 237 241 245 248 253 258 262 262 263 265 267 269 270 271 271 273 273 270 267 267 268 270 272 272 274 275 277 279 280 281 281 281 281 282 284 286 287 287 288 288 289 290 292 294 296 298 299 299 299 299 297 296 294 291 289 287 285 284 283 281 280 279 279 278 277 275 274 271 268 261 254 247 238 230 226 225 225 225 223 222 221 218 216 213 211 211 210 208 206 204 202 204 202 201 199 198 197 195 195 194 192 192 191 189 187 187 189 192 192 189 184 183 183 183 184 186 186 183 175 171 173 176 180 182 185 187 189 187 187 189 193 197 200 198 196 194 194 197 198 197 197 199 198 199 199 200 199 200 201 203 204 207 208 210 210 210 212 215 216 217 218 224 224 226 224 222 219 215 213 217 218 221 228 232 236 240 246 249 253 255 258 259 259 78 167 268 273 97 103 109 120 116 86 14 311 294 285 286 284 283 288 317 333 350 6 18 239 215 215 214 221 243 268 277 280 282 281 279 276 274 271 268 260 252 244 242 242 243 244 240 234 230 234 243 254 257 255 248 242 249 255 256 255 257 258 257 257 257 259 263 266 268 270 272 272 271 268 265 264 264 266 270 273 277 280 282 282 284 285 286 288 289 290 289 290 291 292 293 295 295 296 297 298 299 300 300 301 300 298 296 292 291 289 288 286 285 283 283 282 281 281 280 280 278 277 275 271 267 259 251 242 234 230 227 225 224 224 223 221 218 215 213 210 211 211 210 208 204 204 203 201 201 200 198 197 196 195 193 191 190 188 186 185 187 190 193 192 187 183 181 183 183 184 186 184 178 173 171 175 178 182 183 185 187 191 191 189 190 194 198 200 199 196 193 193 195 197 195 196 195 194 197 199 199 200 201 203 205 206 209 209 210 211 212 213 215 215 219 218 220 221 219 221 215 213 212 212 214 221 226 230 236 241 246 251 254 254 254 254 255 256 80 156 252 266 55 86 105 116 131 78 18 314 293 288 288 288 294 329 6 351 356 1 344 282 247 226 213 216 233 253 268 276 282 282 283 283 283 284 280 274 265 254 245 243 252 255 251 242 235 241 249 252 252 251 245 230 236 249 253 251 247 249 250 251 253 257 262 267 270 272 271 270 270 268 265 262 262 262 267 274 280 286 287 289 289 291 292 294 295 295 295 295 296 297 298 298 297 297 298 298 299 300 301 300 300 297 294 292 289 288 288 286 286 285 284 283 283 283 281 281 279 278 277 274 270 263 255 246 239 233 228 225 225 224 223 220 218 215 213 212 212 212 211 209 206 204 203 202 201 200 199 197 196 194 193 190 188 186 184 184 186 191 193 191 187 183 181 181 181 183 184 181 175 167 169 175 182 183 183 183 187 191 193 193 194 196 198 199 197 193 192 194 195 195 195 196 196 196 196 201 201 201 199 201 205 207 209 209 209 212 212 212 215 217 219 219 217 217 215 213 210 209 210 211 218 223 231 236 242 245 247 253 256 256 256 257 254 255 73 149 263 266 37 78 87 93 86 61 23 320 300 295 293 291 301 352 23 6 347 329 305 283 272 257 243 242 247 254 262 269 276 279 281 284 286 287 284 278 271 255 228 223 248 261 258 240 213 224 233 235 233 231 221 197 208 228 243 250 248 249 251 255 262 267 271 272 272 271 269 273 274 277 279 281 284 285 286 289 291 293 296 295 295 296 297 298 298 297 297 298 298 299 299 298 297 297 298 298 298 300 300 299 298 295 292 290 289 288 287 286 286 285 285 284 284 283 282 281 281 279 278 276 272 267 259 250 242 234 230 226 225 224 221 220 216 215 213 213 212 212 211 210 208 206 204 201 200 199 198 196 195 193 191 188 186 182 181 184 188 191 192 187 184 183 181 180 181 183 181 176 169 165 169 176 182 185 187 187 187 190 192 196 197 198 198 197 195 192 192 193 193 193 195 195 195 196 196 199 201 202 202 203 207 209 210 209 210 212 211 213 216 216 216 217 216 214 211 208 209 207 211 216 223 231 236 242 243 250 252 252 255 258 259 254 255 254 86 149 267 284 31 52 44 39 52 61 35 318 299 296 295 297 300 332 30 8 335 316 306 300 297 297 296 289 281 272 267 267 268 271 275 279 282 280 277 269 256 228 191 183 210 237 242 222 182 195 214 223 221 206 187 189 204 218 236 251 257 261 267 276 284 284 279 271 266 268 273 283 291 299 306 312 312 309 307 304 302 300 299 299 298 299 298 298 297 297 297 298 298 298 297 297 297 297 298 299 299 298 298 297 295 292 290 288 288 288 287 286 286 286 285 284 284 283 282 282 281 281 280 278 277 273 265 255 246 237 231 226 224 222 220 217 215 214 213 213 211 211 211 210 207 204 202 200 198 197 196 194 193 191 188 184 182 179 180 185 190 193 191 186 183 181 181 183 183 180 176 169 163 163 171 178 183 187 189 191 191 190 192 196 197 199 197 197 194 190 190 192 193 193 195 195 195 196 196 198 201 202 204 205 209 212 211 211 209 210 212 215 215 216 216 216 214 210 207 206 208 212 216 223 228 236 239 242 249 253 253 253 256 257 254 254 255 257 131 138 229 303 10 26 18 1 29 58 64 323 293 287 288 289 284 276 81 24 324 318 318 318 319 321 318 310 301 291 280 273 271 269 268 267 266 264 257 244 222 198 189 190 204 221 231 226 201 209 226 236 234 187 182 196 208 218 228 245 260 271 280 289 291 282 271 265 265 271 280 291 301 308 312 314 314 311 308 304 301 299 299 299 298 298 298 298 297 297 297 298 297 297 297 296 297 297 298 299 299 297 296 294 292 289 288 287 287 286 286 285 284 285 284 284 284 283 282 281 282 281 281 279 278 274 269 260 251 241 234 228 224 220 218 216 215 214 214 213 211 210 209 208 206 203 200 199 198 198 196 194 191 188 184 180 176 178 181 187 191 191 187 184 181 181 182 182 180 173 165 158 159 163 171 180 185 187 189 192 193 193 194 197 199 198 197 194 192 192 193 193 193 193 195 195 195 196 196 201 203 203 207 209 209 210 210 211 210 210 213 213 215 213 213 210 207 202 198 201 206 211 218 228 233 235 239 245 248 253 254 252 252 252 252 257 257 254 169 146 169 115 51 25 349 332 21 56 48 332 288 279 277 276 272 258 199 229 317 325 326 325 322 323 321 315 307 302 295 289 285 275 263 247 242 235 228 219 207 194 202 212 224 243 265 289 289 268 259 258 258 223 210 214 217 221 223 235 260 276 283 283 275 267 265 266 272 280 290 298 304 307 309 309 308 306 304 300 298 298 299 299 298 299 299 299 299 299 298 298 299 299 299 299 299 300 300 299 298 296 294 292 290 288 286 285 285 284 284 283 284 283 284 283 283 282 282 282 281 280 280 279 277 275 270 264 255 247 239 232 225 221 218 217 215 214 214 212 211 209 208 207 205 203 200 198 198 198 198 194 189 184 180 175 175 178 183 188 189 187 182 180 181 182 182 178 172 163 158 158 161 166 173 180 185 187 189 191 194 197 197 198 200 199 195 192 190 192 192 193 195 195 196 196 196 196 196 201 203 205 208 209 210 210 210 210 210 212 212 213 213 211 208 203 199 196 199 200 205 215 226 228 233 237 240 245 250 251 249 248 247 251 251 252 251 248 156 116 128 131 116 126 255 242 116 80 43 318 283 277 280 282 285 301 297 307 327 329 328 325 321 324 325 321 314 310 309 303 294 272 241 221 210 196 187 186 191 201 234 256 265 268 291 295 292 282 274 269 257 242 234 233 232 227 214 219 290 275 262 258 260 261 265 272 280 289 296 301 304 303 303 303 303 302 300 298 297 297 299 299 300 301 301 301 300 300 299 298 298 300 301 303 303 302 300 297 295 294 293 291 288 286 285 285 284 284 283 283 283 284 284 283 283 282 282 281 280 281 280 278 277 275 272 267 259 251 244 236 228 224 219 216 214 214 213 212 209 208 206 205 203 201 198 197 198 198 196 192 186 181 176 174 175 180 185 187 186 183 178 177 180 181 178 170 161 154 155 162 164 168 173 180 183 187 189 191 193 196 198 200 201 199 194 190 192 192 192 193 195 196 196 196 196 199 201 202 204 207 209 210 210 210 210 212 212 212 213 213 209 207 199 196 193 193 196 202 212 221 226 228 235 237 240 242 246 246 247 248 248 249 249 248 248 247 74 93 108 119 121 125 210 229 121 102 83 287 277 280 286 295 310 333 345 343 335 330 327 327 331 335 335 332 324 312 304 284 261 239 220 202 186 174 158 150 170 267 265 263 258 253 253 272 283 284 283 282 269 244 236 234 228 206 172 179 229 242 242 239 249 260 268 277 287 295 299 301 301 300 299 299 298 298 296 295 295 297 299 301 302 302 302 301 300 300 299 297 297 296 298 298 298 296 295 294 293 292 291 290 288 286 285 285 284 283 283 284 284 284 284 283 282 281 280 280 280 279 278 276 275 274 271 267 261 255 246 239 233 227 221 217 215 214 213 211 209 206 204 203 202 200 197 197 196 196 194 189 182 177 174 175 179 183 185 185 182 177 176 176 177 176 169 160 154 154 160 165 165 167 172 178 183 187 191 193 191 193 198 201 201 197 192 192 192 192 192 193 195 195 196 196 198 200 201 204 205 207 207 210 210 210 212 212 213 213 212 210 208 199 195 192 192 196 197 202 212 218 226 230 232 232 236 238 242 248 248 253 253 253 249 248 248 247 87 98 104 109 109 104 239 262 37 94 110 237 268 280 288 297 313 337 348 343 332 326 325 344 0 351 337 325 314 295 277 250 239 232 211 186 175 169 162 157 204 263 263 261 254 242 241 258 269 271 269 266 260 250 244 240 227 182 171 190 215 234 243 247 256 266 275 284 291 294 296 297 296 295 294 294 294 294 293 294 295 297 300 302 301 301 299 299 298 297 296 295 295 295 296 291 287 284 283 285 286 287 287 287 287 286 285 285 285 284 285 284 284 284 284 283 282 281 281 280 279 278 276 274 272 270 269 266 263 259 252 244 236 230 225 220 217 213 211 210 208 206 204 202 201 198 197 196 196 194 190 182 178 176 175 178 181 183 183 179 176 173 171 171 169 162 155 154 154 158 163 166 166 167 170 176 182 187 189 193 194 195 198 201 200 196 193 192 194 193 193 193 193 193 193 196 199 200 201 204 206 206 208 210 212 211 212 213 212 212 208 203 199 194 192 192 196 196 201 205 216 219 224 226 228 233 236 238 240 248 254 255 255 254 251 251 249 247 114 116 104 93 101 110 210 255 37 86 107 229 262 281 287 296 311 334 345 336 328 325 333 357 4 344 321 304 283 264 243 236 235 234 217 175 173 171 170 180 210 236 247 250 247 226 215 230 244 250 252 253 255 260 263 261 248 210 199 210 226 244 260 271 278 283 285 287 289 289 289 288 287 286 286 288 290 291 292 294 296 297 299 299 299 297 296 295 296 293 293 294 297 300 298 292 284 277 271 272 276 279 281 283 284 284 285 285 286 286 287 286 286 285 284 284 283 283 282 281 280 279 277 275 273 270 268 266 264 261 255 248 238 231 226 223 220 216 213 211 210 207 203 202 198 196 194 194 193 186 180 176 176 180 181 181 181 180 177 171 166 163 163 161 156 151 148 153 159 162 163 165 166 167 170 173 180 185 189 191 194 197 200 200 199 196 194 194 194 195 193 193 193 193 194 196 201 201 202 202 203 206 208 209 211 212 211 212 211 208 205 199 193 188 192 192 195 199 204 210 217 219 224 226 231 237 242 246 248 252 254 255 252 250 249 248 246 245 127 126 107 94 101 129 176 167 81 95 110 210 273 282 286 297 318 341 348 336 333 336 345 347 332 314 297 283 268 252 236 230 226 219 199 179 179 179 179 194 220 229 237 234 218 204 202 218 233 246 255 261 262 266 269 268 265 251 240 237 245 258 273 283 286 286 285 284 283 282 281 280 279 281 283 285 288 291 293 294 295 295 297 296 296 295 295 295 295 295 297 298 300 298 295 290 283 278 274 271 271 273 275 277 280 281 282 284 285 287 287 287 286 286 286 284 284 283 282 282 282 280 279 278 276 273 270 265 261 256 252 246 239 232 226 223 221 219 214 212 211 208 203 200 196 192 189 185 180 173 169 169 175 180 181 180 177 171 165 155 152 151 154 154 152 150 151 156 163 164 163 163 166 167 170 173 178 183 185 189 193 196 200 199 198 194 195 198 198 195 193 193 194 194 195 197 199 202 202 203 205 205 207 209 212 213 213 211 208 206 201 193 188 188 192 196 200 203 206 212 215 221 226 228 234 238 243 248 248 251 254 251 250 249 246 246 243 242 124 124 109 99 99 96 67 14 83 96 116 156 253 275 279 295 323 345 350 347 347 347 345 329 312 301 287 276 268 261 263 274 278 253 141 138 104 3 2 340 255 199 179 179 184 194 203 218 232 247 261 269 269 265 264 267 269 268 265 261 259 264 269 274 278 278 276 275 274 275 276 276 278 281 285 287 289 293 294 295 296 296 297 297 297 297 297 297 298 300 301 300 296 291 287 282 279 277 274 273 272 272 273 275 275 278 279 281 283 284 285 286 285 285 285 285 284 283 282 282 281 281 280 278 276 274 270 266 259 254 250 244 240 235 230 226 220 215 214 211 207 204 200 197 194 189 182 176 170 167 167 167 172 177 178 177 172 165 154 145 142 148 155 156 154 152 154 159 165 166 163 163 164 167 170 173 176 180 183 187 193 196 200 200 197 195 195 197 199 195 191 191 194 197 196 197 199 202 203 203 205 205 207 209 211 212 211 208 207 202 197 195 192 193 194 199 202 205 208 213 215 221 226 234 237 240 243 245 249 250 250 248 247 247 245 244 241 241 130 137 111 98 93 95 67 67 70 85 107 149 228 263 268 287 339 352 354 3 7 0 341 320 303 293 287 281 280 283 300 305 309 321 76 80 61 18 1 2 81 102 105 124 152 175 194 215 239 258 269 271 269 267 263 262 265 266 266 263 260 257 257 260 263 265 264 266 268 272 274 279 284 287 290 293 295 295 296 297 298 298 299 299 299 298 299 300 300 300 298 294 285 279 275 272 270 270 269 270 271 272 273 273 274 277 280 282 283 284 284 286 286 286 286 285 285 284 283 282 282 282 281 278 275 273 270 268 263 257 252 246 241 236 230 225 220 215 212 208 206 202 198 195 187 180 173 171 169 167 166 169 173 176 175 172 165 157 147 143 148 156 159 159 154 154 157 160 164 165 164 164 165 166 170 172 175 178 182 187 192 196 198 199 197 197 197 197 198 193 189 189 193 196 196 194 194 199 203 203 206 206 208 210 210 209 209 207 203 197 195 196 193 194 195 200 204 207 215 212 214 223 229 236 239 242 245 247 251 250 248 246 246 243 243 243 242 242 148 140 114 108 112 116 104 65 42 37 176 178 208 261 274 2 20 6 352 17 36 17 335 304 287 284 292 306 314 314 313 310 312 321 15 49 47 1 327 284 110 93 88 88 97 109 111 85 329 297 281 271 266 262 259 254 252 253 254 253 252 246 243 247 254 257 260 265 268 273 278 283 289 293 297 299 299 299 299 299 300 300 301 301 300 300 299 300 300 298 293 283 271 264 263 262 262 262 263 264 265 267 269 272 276 279 281 284 287 288 290 290 291 291 291 291 290 288 287 286 284 283 281 280 278 275 272 270 266 262 255 246 237 231 226 221 217 215 212 210 207 199 189 180 175 174 172 173 170 168 169 173 176 176 171 166 159 152 147 152 156 159 159 155 155 157 160 161 163 161 162 164 166 167 169 168 171 176 182 187 192 196 197 197 197 198 199 200 198 193 189 190 193 195 193 193 193 196 198 203 206 208 208 211 209 208 206 202 199 197 197 195 193 194 194 197 202 210 215 215 218 221 228 234 240 244 248 250 250 247 247 245 244 244 243 243 240 241 151 144 136 147 157 143 116 64 37 242 208 194 239 297 309 353 1 327 299 1 60 35 300 282 279 290 308 320 323 316 306 303 307 323 3 30 18 320 312 297 115 59 56 54 57 68 64 29 338 314 298 283 275 271 273 260 250 246 246 243 236 229 228 236 250 255 260 267 273 279 284 288 293 297 300 301 302 302 302 302 302 302 302 302 301 301 301 301 300 298 292 282 269 258 254 254 256 257 260 260 257 257 260 267 275 280 289 293 294 296 296 297 297 297 296 293 291 289 288 287 285 284 283 282 280 278 275 270 266 261 253 245 236 228 224 220 216 213 212 210 202 188 169 164 167 170 170 170 170 171 173 176 177 172 165 160 155 152 154 157 160 158 154 150 154 159 163 161 160 159 162 165 167 167 166 166 170 176 181 188 190 192 193 193 195 199 200 200 199 195 190 190 193 195 193 191 193 193 195 200 205 206 208 209 209 208 206 201 199 196 198 196 193 194 197 201 205 211 216 219 224 228 233 235 242 244 245 249 247 247 247 247 246 244 244 243 240 240 142 143 152 157 151 128 107 70 275 250 203 138 37 318 306 309 297 273 256 40 60 5 272 273 285 302 313 315 312 304 297 298 309 339 10 12 1 346 344 353 1 0 354 353 357 11 20 13 347 325 313 309 305 302 300 292 279 267 260 246 224 208 212 233 248 255 263 272 280 286 288 292 296 298 300 302 303 304 304 304 304 305 305 304 304 303 303 302 301 298 293 288 281 268 257 252 253 257 262 266 262 263 268 280 291 298 301 301 300 299 298 298 298 297 294 291 290 288 286 285 285 284 282 282 280 278 274 270 266 261 254 248 239 232 226 222 217 212 209 203 189 167 162 164 167 168 168 168 170 173 177 178 173 165 159 157 157 158 159 159 156 152 147 147 154 160 163 162 159 158 161 165 166 166 164 166 171 176 183 188 190 192 192 192 195 197 197 200 199 194 190 190 193 193 191 189 191 193 195 197 202 205 208 208 207 205 200 198 198 196 195 196 193 197 201 204 207 214 219 224 228 235 241 242 245 246 247 246 247 247 246 243 243 243 243 241 241 240 138 141 133 116 94 94 104 104 282 274 199 131 125 249 273 266 256 229 210 77 255 247 255 269 290 302 308 307 301 293 292 304 330 6 12 3 351 340 337 10 5 354 343 329 336 354 4 4 353 326 313 309 308 310 308 300 294 288 284 271 238 205 204 228 247 259 271 281 287 292 294 298 301 303 305 305 305 305 305 306 306 307 307 308 308 307 306 304 301 299 296 292 289 288 279 269 266 268 287 303 310 312 316 314 313 310 307 303 300 298 297 297 296 293 291 290 289 288 287 286 284 283 282 281 279 277 274 272 268 264 258 252 243 234 228 223 217 211 202 186 170 164 162 164 164 165 167 169 171 174 177 177 170 160 155 155 158 160 160 158 152 147 146 149 156 160 163 164 160 159 161 163 165 166 166 170 173 178 185 189 191 191 191 192 193 196 199 200 197 192 190 190 193 193 190 188 190 193 193 195 199 202 204 205 206 204 202 197 195 193 192 192 196 200 204 207 210 214 221 226 232 240 242 244 247 244 246 243 243 245 243 243 242 240 240 239 240 240 134 129 110 93 64 104 145 142 167 297 291 144 131 166 228 260 67 65 329 250 251 253 260 271 285 294 300 301 296 293 303 330 0 22 9 339 316 282 207 179 166 210 276 274 275 265 253 229 199 297 301 299 299 303 302 296 292 288 283 271 245 213 204 222 245 267 283 291 297 300 303 305 308 308 307 307 307 307 307 308 308 309 309 310 312 311 308 304 302 299 298 297 297 300 305 306 307 314 325 330 328 326 322 320 315 310 306 301 297 295 294 293 291 290 289 289 289 288 286 286 285 284 283 281 279 278 276 274 270 267 261 254 244 234 228 222 215 202 183 174 167 165 163 163 163 165 169 172 174 175 175 171 164 156 154 156 158 159 160 155 150 147 149 154 159 163 163 163 161 160 160 164 165 167 168 170 175 181 186 189 190 189 189 190 193 197 199 200 197 192 190 190 190 190 190 190 190 190 193 193 195 198 202 203 203 199 199 198 196 191 189 192 199 201 208 210 214 219 224 230 236 241 242 246 246 245 245 241 240 240 241 243 242 240 239 238 239 239 122 123 122 121 166 215 192 150 111 287 287 311 65 104 129 104 31 12 314 283 277 276 278 276 279 286 297 302 299 306 322 354 35 104 228 255 262 254 215 184 174 179 197 199 189 194 203 200 167 145 287 291 292 296 296 292 286 279 269 250 226 206 198 217 257 283 293 299 304 307 309 309 309 307 307 307 307 308 309 310 310 312 312 314 314 314 310 307 304 302 302 303 306 311 316 320 323 327 328 329 328 325 320 315 312 308 304 298 295 293 292 290 289 288 287 286 285 285 285 285 285 284 283 280 277 275 275 274 273 269 264 256 245 235 227 220 204 183 170 169 168 166 163 162 165 169 174 175 175 174 170 164 159 155 155 156 158 159 157 155 151 149 153 158 162 163 163 162 161 160 162 167 168 170 170 173 180 186 190 191 190 189 188 188 191 196 199 198 195 192 190 190 190 190 190 188 189 190 193 193 193 193 198 201 199 198 195 196 195 189 189 192 198 204 208 212 219 221 226 232 238 241 244 246 247 246 244 239 238 236 240 241 240 240 238 237 239 237 111 133 144 159 184 204 196 137 108 208 260 293 21 86 122 122 96 12 323 310 304 303 298 295 300 308 309 304 305 310 320 332 242 231 242 255 267 274 272 247 208 192 191 191 173 173 194 207 138 94 349 300 295 296 295 293 288 287 279 251 221 200 194 243 282 297 303 305 308 309 309 309 308 308 308 308 308 308 309 310 312 314 315 317 317 315 313 308 307 306 306 305 308 313 319 325 326 326 326 325 324 321 317 315 312 310 306 304 302 299 297 296 293 292 291 290 288 288 287 287 286 287 286 284 279 277 275 274 272 268 264 257 250 243 237 223 194 166 165 166 166 163 162 166 170 173 175 176 173 168 163 162 157 155 155 156 157 158 156 154 154 154 159 162 163 163 162 162 161 163 166 169 172 173 174 177 183 189 193 191 189 188 185 186 191 196 198 198 195 191 190 190 190 188 188 188 190 190 190 191 191 193 195 196 194 195 193 191 189 189 189 195 203 207 211 217 224 228 232 238 240 244 248 249 246 246 242 239 236 236 236 238 240 239 239 238 237 237 81 119 142 158 158 159 146 114 105 155 258 290 10 43 87 99 93 86 1 310 306 306 307 310 316 319 311 301 298 311 327 330 305 282 276 275 279 284 277 262 227 197 185 167 154 151 172 187 131 75 26 319 298 295 294 290 286 278 268 255 237 221 232 275 298 304 307 308 309 309 309 309 309 308 309 309 309 310 310 312 315 318 320 321 320 317 314 310 308 308 308 308 310 313 319 324 325 325 323 322 320 319 317 315 313 311 310 309 308 307 306 305 303 302 300 299 297 295 294 293 294 294 294 292 289 285 281 276 272 266 261 254 244 240 234 223 200 176 169 167 165 163 162 165 170 175 175 174 168 162 159 159 158 157 157 156 156 156 156 155 155 159 162 165 164 164 163 163 163 165 168 171 174 175 177 181 188 191 193 191 187 186 185 186 189 194 196 195 192 189 189 188 188 188 188 188 190 190 191 189 189 191 193 193 192 190 188 188 189 189 192 198 203 209 213 222 228 232 239 240 242 246 246 245 245 243 242 239 237 233 233 235 236 237 237 238 238 238 53 66 88 108 118 128 125 116 116 166 258 287 344 18 47 56 71 87 96 303 294 299 303 317 316 312 300 294 292 314 347 352 322 293 283 281 281 281 275 258 231 192 169 152 143 147 162 162 122 76 39 321 289 288 285 280 266 251 248 253 261 261 272 291 302 307 309 308 309 308 308 308 308 308 309 309 310 310 312 314 319 323 324 324 322 320 314 309 306 306 306 307 309 312 316 321 323 322 321 320 318 317 317 316 315 313 312 311 310 310 309 309 307 306 304 302 301 300 299 299 299 298 298 297 294 289 285 280 274 268 262 252 243 231 224 217 204 187 173 166 164 161 162 163 168 175 175 172 165 161 159 158 157 157 157 157 157 156 157 158 161 163 166 166 166 165 166 167 167 167 170 174 177 178 180 185 190 193 192 189 187 186 184 186 189 194 196 195 191 189 187 186 186 186 186 186 188 189 189 189 189 189 189 189 187 185 182 186 186 191 195 200 204 208 217 224 232 238 241 240 242 242 242 243 243 242 244 242 241 238 238 238 239 238 240 240 241 243 39 54 68 75 85 95 103 114 140 179 243 297 351 26 37 30 50 74 126 237 273 288 297 294 292 289 285 282 286 323 42 99 279 280 278 274 271 268 265 263 250 191 154 143 143 152 157 128 80 48 10 287 279 279 276 266 254 236 243 268 293 298 302 306 310 312 310 309 308 308 308 308 307 308 309 310 310 311 313 317 322 325 326 326 322 318 312 307 302 302 304 304 306 310 315 319 321 321 319 318 317 317 316 317 317 315 314 312 312 311 310 310 308 307 305 304 303 302 301 300 299 298 297 294 292 289 286 283 279 275 267 257 243 224 210 205 189 174 163 162 163 162 162 165 172 177 177 172 164 160 158 157 157 156 157 157 156 157 158 161 164 166 169 167 166 166 166 167 169 170 173 176 180 182 186 188 191 193 191 188 187 186 184 186 190 193 196 192 189 188 184 184 184 186 186 186 186 189 189 187 187 187 187 187 182 180 182 185 188 191 197 203 211 214 219 226 232 236 238 240 241 242 243 242 242 242 242 242 243 241 240 241 243 243 243 244 245 245 29 37 44 46 55 65 67 65 75 76 37 3 51 70 99 115 176 176 162 194 243 273 276 246 235 259 279 285 298 330 43 59 300 285 275 268 263 263 268 267 266 208 164 152 150 144 132 82 41 0 307 288 286 283 277 268 262 261 272 297 308 312 315 317 316 314 311 309 309 308 308 308 308 308 309 311 311 313 314 319 324 325 325 324 320 315 309 304 301 302 303 303 305 309 315 319 320 319 318 317 316 315 316 316 316 316 314 313 312 312 312 311 310 309 309 308 307 307 306 304 302 300 295 292 289 286 284 283 281 279 272 260 237 201 170 138 137 144 159 164 167 169 172 177 181 181 176 167 160 158 157 157 157 156 157 157 157 159 160 163 168 169 170 170 169 169 168 168 169 173 177 180 184 187 190 192 192 192 191 191 188 187 184 186 187 189 190 187 184 182 182 182 184 184 186 187 185 185 184 184 184 184 185 185 180 180 180 185 191 194 199 209 213 219 221 228 233 236 239 241 242 244 244 242 242 241 240 240 238 239 238 240 240 241 244 243 244 245 30 32 28 20 28 50 60 54 44 23 319 286 260 203 179 179 159 125 107 110 167 275 272 258 227 231 276 294 306 330 8 15 327 286 275 271 269 269 272 267 259 208 172 149 137 122 87 51 14 334 305 294 295 301 310 303 306 309 313 317 318 319 319 318 317 314 311 310 309 309 309 308 309 309 311 312 313 315 317 320 322 322 322 319 316 311 305 302 302 303 304 305 306 310 314 316 316 315 314 314 313 313 313 314 315 315 313 312 312 312 311 311 311 310 310 309 309 308 308 308 306 304 300 295 290 285 280 277 276 277 274 257 189 154 137 126 149 163 174 177 178 178 183 187 188 182 168 158 154 154 155 155 155 155 155 157 158 162 165 167 170 170 172 172 172 170 169 169 170 174 180 184 189 192 193 193 192 192 193 191 187 184 183 183 185 183 182 180 178 178 178 180 180 182 184 185 182 180 182 182 182 182 182 182 180 177 180 185 191 199 206 209 217 224 226 232 235 239 240 242 242 244 245 243 242 239 239 239 237 238 239 239 239 239 243 244 247 246 35 32 18 1 17 71 92 94 299 254 251 249 242 223 191 162 140 113 96 115 242 252 272 276 267 252 256 283 297 314 333 341 286 272 268 272 272 268 268 260 228 189 154 132 107 73 41 24 0 333 311 303 305 314 329 332 332 329 327 323 320 320 319 318 316 314 311 310 308 308 308 309 310 311 312 314 315 317 320 319 318 315 314 315 312 308 304 302 303 303 303 303 305 308 311 312 312 312 311 311 311 310 310 310 311 312 311 311 310 310 309 310 309 309 309 308 308 308 308 308 307 306 304 300 295 288 280 271 269 269 261 222 179 171 176 180 186 187 186 187 188 189 192 191 188 175 157 150 150 152 153 154 155 155 155 157 161 165 169 170 171 172 173 173 173 171 170 171 174 179 183 189 192 194 194 194 193 191 188 187 183 180 178 176 176 176 174 174 173 173 175 177 180 182 182 182 182 180 180 180 180 182 182 182 180 180 182 188 191 198 204 213 217 224 230 233 236 238 241 243 242 243 244 243 242 240 238 237 238 239 239 240 239 241 244 247 248 248 24 20 7 355 16 80 123 162 213 222 226 231 236 230 179 137 136 137 203 237 245 245 263 279 282 275 257 258 269 280 287 267 254 254 254 256 261 260 261 237 194 170 154 131 78 41 18 3 349 335 314 307 308 317 330 332 330 327 324 322 319 318 317 317 314 312 311 309 308 309 309 310 311 312 314 315 317 319 322 321 316 311 309 310 308 305 301 299 298 299 299 299 302 305 307 308 308 309 309 310 310 309 309 309 309 310 309 309 308 308 307 307 306 306 307 307 306 306 307 307 308 307 305 303 301 297 290 280 267 253 236 212 193 191 192 196 195 196 196 197 196 196 196 193 183 164 151 148 150 151 152 154 154 155 157 158 161 168 171 173 175 174 176 176 173 171 171 176 180 186 190 192 194 195 194 193 191 187 185 180 176 172 170 170 170 168 170 170 169 171 173 175 177 177 180 180 180 180 177 177 177 177 180 182 185 185 188 190 191 198 207 213 220 224 230 231 234 234 241 243 242 240 241 241 242 240 238 238 239 238 240 242 243 243 246 249 250 251 23 16 1 346 1 56 142 187 218 221 213 207 237 243 115 120 143 174 230 254 268 272 268 268 274 276 272 261 266 261 259 245 248 255 254 247 251 259 266 231 194 189 170 125 76 50 20 354 333 320 307 304 307 314 323 326 325 323 320 318 316 316 316 316 314 311 309 309 309 309 310 311 313 314 315 315 316 319 322 321 315 308 304 304 303 297 294 293 294 295 296 297 299 301 304 305 306 307 308 309 309 308 308 307 308 309 308 308 308 307 306 305 304 305 305 304 304 304 305 306 306 306 304 303 302 300 295 285 269 251 232 215 205 202 202 203 202 201 201 200 202 201 198 191 171 155 148 149 151 151 151 152 153 154 157 160 164 169 173 176 179 179 177 176 171 171 174 180 187 193 195 196 195 194 192 189 185 180 176 172 170 167 165 165 165 165 165 166 165 169 171 173 175 177 177 180 180 180 177 175 175 178 180 182 184 190 191 194 195 199 208 215 219 224 228 231 236 239 241 240 241 241 241 242 242 242 242 242 243 245 246 246 248 248 250 250 252 252 104 104 14 308 353 25 149 189 214 204 162 140 177 229 176 138 149 185 243 273 288 293 286 282 281 287 295 317 341 329 273 231 228 236 242 239 245 262 273 249 194 191 149 94 73 51 14 337 316 307 302 301 305 311 319 322 322 319 316 315 314 313 314 314 313 311 310 310 310 311 312 314 317 317 316 315 315 316 319 317 312 303 301 300 299 297 295 294 294 294 295 296 298 300 302 303 305 306 308 308 308 308 308 308 308 308 309 308 308 307 306 304 304 303 302 302 301 301 302 302 303 303 301 300 300 300 295 284 269 253 237 221 210 207 209 210 209 207 206 206 205 203 193 180 165 154 147 151 152 152 150 152 154 155 157 161 167 172 176 180 181 181 180 176 173 174 179 186 194 198 198 198 196 192 188 181 176 172 170 167 165 163 162 162 161 160 162 162 163 167 169 171 175 175 177 177 180 180 177 175 173 175 177 180 185 190 193 195 199 203 206 214 219 226 230 233 237 239 239 239 240 242 243 244 245 245 247 247 248 249 248 250 251 251 252 251 251 251 116 116 129 126 3 2 14 166 148 116 110 140 179 194 156 149 155 187 222 243 267 284 285 292 294 298 300 300 303 287 246 228 224 229 236 234 227 243 253 237 194 144 65 37 21 353 334 319 309 302 301 304 307 311 315 317 316 314 312 311 311 311 312 313 313 312 311 311 311 313 315 317 318 317 315 314 314 313 313 311 306 300 298 299 302 302 300 298 297 297 297 298 300 301 302 303 304 306 307 307 307 306 306 306 306 307 307 307 307 307 306 305 304 303 302 300 298 298 298 299 300 298 298 296 297 295 289 280 268 255 241 228 215 212 215 218 220 218 216 212 207 202 187 175 164 155 152 152 152 152 152 152 155 156 159 165 170 175 179 181 181 181 178 176 176 180 185 193 198 201 200 198 194 186 178 172 169 167 165 163 161 159 158 158 157 159 159 162 164 167 169 171 173 173 175 175 177 177 177 177 175 175 175 180 185 191 195 198 199 203 207 213 221 228 228 233 238 238 239 240 242 242 244 245 246 248 249 249 249 251 251 251 252 251 250 250 250 250 3 55 81 97 67 323 349 21 71 70 167 213 186 179 179 188 191 195 192 194 218 243 259 275 287 290 283 258 232 211 211 226 238 245 252 234 191 219 234 227 144 12 352 341 338 330 322 315 308 302 303 308 315 315 315 314 312 311 310 309 309 310 311 312 312 312 312 312 312 314 315 318 317 315 313 311 312 311 310 308 305 300 298 298 300 301 301 300 300 300 300 301 301 302 302 303 303 305 306 305 304 303 302 303 303 304 304 305 305 306 305 304 305 304 304 303 301 300 299 299 299 297 295 294 292 289 284 276 264 251 239 230 221 217 218 222 225 224 221 216 210 199 186 176 164 158 156 154 154 154 154 154 156 157 162 167 174 177 180 181 181 181 180 178 181 186 193 200 202 203 200 194 183 174 170 166 165 163 161 159 157 155 154 154 156 158 159 161 165 166 169 171 171 173 175 175 175 175 177 177 177 177 177 180 183 190 193 196 196 201 204 209 218 224 228 231 235 238 240 242 241 243 244 245 248 248 250 251 251 250 250 250 251 250 249 249 250 250 301 284 99 70 18 1 14 35 51 299 232 217 191 184 185 185 179 162 143 179 227 246 262 279 285 283 276 267 241 213 179 194 250 267 267 253 208 208 237 249 59 12 348 329 326 320 313 308 303 302 305 310 313 315 313 311 309 308 308 307 308 309 311 312 312 313 313 314 314 314 315 317 317 315 312 310 310 308 307 305 304 302 300 299 300 301 302 302 302 302 302 302 303 303 303 303 303 304 304 304 303 302 302 302 302 303 304 305 305 305 305 304 305 305 305 305 305 305 305 304 303 301 300 297 295 291 285 275 262 247 234 224 220 217 217 220 220 220 219 215 207 196 184 174 164 160 157 156 156 156 156 157 158 159 162 168 175 179 181 182 182 182 181 181 187 193 199 204 204 202 196 183 172 166 165 163 163 159 158 155 154 152 153 155 157 158 160 162 163 166 167 169 169 171 173 175 175 175 177 177 177 180 180 183 184 188 192 195 197 197 197 200 208 217 224 229 234 237 239 242 244 244 245 245 245 246 248 248 249 250 249 249 250 249 249 248 248 248 256 162 121 65 327 256 219 149 178 221 222 207 184 169 154 110 59 76 107 191 241 265 295 304 297 285 275 282 273 237 152 155 287 294 264 239 14 3 346 18 36 17 348 317 309 309 305 301 301 304 307 310 310 309 309 308 307 306 306 307 308 309 310 311 313 315 314 314 314 314 314 316 317 315 311 309 308 308 307 304 303 302 301 302 302 303 303 304 304 304 304 304 304 303 303 303 303 303 303 304 304 303 303 302 303 304 305 306 306 306 306 305 305 305 306 307 307 308 309 309 309 309 307 308 305 300 292 279 262 247 233 224 218 215 216 216 216 215 214 213 205 192 175 169 165 163 161 160 160 158 158 159 159 160 163 169 176 180 182 184 184 184 182 185 191 198 204 206 204 198 185 170 166 162 163 161 161 159 156 154 152 153 154 156 157 159 158 161 163 166 165 167 169 171 173 175 175 175 175 177 180 180 183 183 188 189 189 189 195 197 196 196 202 211 219 226 231 237 238 241 243 243 245 246 247 246 245 247 247 248 249 249 249 248 248 247 247 247 180 158 141 115 267 240 196 162 204 217 215 179 121 85 68 56 42 65 104 255 282 300 324 321 311 299 294 286 268 241 199 199 266 291 249 327 345 351 7 48 38 14 334 305 298 298 300 301 304 307 309 309 306 307 307 308 307 306 307 308 309 310 310 312 313 315 316 315 313 312 314 315 316 316 312 309 309 308 307 305 305 305 304 305 305 305 305 305 305 305 304 304 303 303 302 302 302 303 303 304 303 302 301 301 302 303 304 305 306 306 305 305 305 305 305 306 307 307 309 310 310 310 311 311 309 307 301 290 269 250 236 228 223 219 217 217 216 216 215 212 204 182 169 167 168 167 165 163 163 162 162 160 161 161 165 172 176 181 182 184 185 185 187 192 198 203 207 205 200 185 169 161 160 159 159 159 158 155 154 152 151 152 154 156 157 157 158 159 163 164 167 169 171 171 174 174 176 176 178 177 177 180 182 186 187 184 189 188 192 196 196 196 196 202 214 222 228 234 239 242 242 243 245 244 246 245 244 244 244 246 245 245 245 246 246 245 245 246 189 158 132 239 267 243 179 179 215 199 151 120 64 31 14 239 239 299 55 31 344 314 314 310 297 294 305 297 286 260 206 201 256 320 338 338 334 331 336 32 30 352 313 297 299 302 304 306 308 308 308 307 305 306 308 309 309 309 309 310 311 311 311 311 312 314 315 314 313 311 313 315 316 315 311 309 307 307 306 306 306 306 307 306 306 306 306 304 304 303 303 302 302 302 301 302 302 302 302 302 301 299 300 299 301 301 302 302 302 302 302 302 303 303 303 304 304 305 306 307 308 307 308 308 308 308 306 300 280 255 240 232 226 223 221 219 219 218 216 211 200 182 171 170 171 169 168 166 164 163 163 162 161 163 168 174 179 181 182 184 185 186 191 197 202 207 207 202 189 169 160 159 156 155 155 155 154 154 153 152 153 153 154 154 155 156 158 160 163 165 168 170 172 171 174 174 176 176 175 175 177 182 185 186 183 183 187 190 193 193 194 196 199 202 210 217 228 234 240 244 244 244 243 245 244 246 246 243 243 243 243 243 243 244 244 244 244 244 183 139 109 329 272 264 176 208 239 199 162 143 176 282 274 265 287 293 284 167 308 291 289 282 264 282 302 311 314 316 243 199 347 351 351 341 330 321 317 322 325 311 296 291 297 303 305 305 306 307 308 306 305 305 308 309 309 310 311 311 311 312 313 313 313 312 312 312 312 312 312 313 315 314 310 308 306 307 307 307 307 307 307 306 306 306 304 303 302 302 301 302 302 302 303 302 302 301 301 300 300 300 300 300 300 301 301 301 301 301 301 301 301 301 301 302 302 302 303 304 303 303 302 303 305 306 305 302 289 265 247 237 232 227 224 223 221 218 214 208 198 184 176 173 173 171 170 169 167 166 165 165 164 166 171 176 181 182 184 185 187 190 195 202 207 209 205 189 168 160 156 155 152 151 151 152 153 153 154 153 153 151 153 154 155 158 160 162 163 166 168 169 169 171 171 174 176 178 178 177 180 180 182 186 187 187 187 189 192 192 196 197 204 205 212 217 228 236 241 244 245 245 243 244 245 245 245 246 243 242 242 242 243 243 244 245 244 243 187 122 109 284 272 262 176 217 273 239 194 179 179 262 293 297 297 288 273 258 253 273 289 287 282 299 311 319 323 325 323 335 352 353 347 333 316 309 308 309 307 301 294 293 297 301 304 303 306 307 309 307 306 306 308 309 310 311 312 312 312 313 315 317 314 311 310 310 311 311 311 312 312 312 309 307 307 307 307 307 307 307 307 306 305 305 304 303 302 302 302 302 303 303 303 303 302 302 302 302 301 302 301 302 302 301 302 302 302 303 303 303 303 303 304 304 304 304 304 304 303 302 301 302 303 303 303 299 290 274 258 246 239 232 227 225 223 219 212 207 197 186 178 176 175 175 173 172 171 170 169 169 168 171 174 178 180 182 185 187 190 194 199 205 209 208 198 170 156 151 150 148 149 150 151 153 154 154 154 153 151 151 153 155 158 161 163 164 165 166 165 167 169 171 176 176 176 178 178 177 177 180 182 185 186 189 189 188 188 191 195 196 202 211 217 224 229 234 240 244 244 244 246 246 247 247 247 245 244 243 242 241 241 241 242 242 240 240 234 138 131 219 259 237 144 14 306 291 247 188 137 81 312 291 286 286 283 283 286 297 311 314 316 321 325 324 324 323 324 327 334 336 324 309 301 299 299 300 298 297 295 296 300 301 302 304 306 308 309 307 306 307 308 309 309 310 311 311 311 312 314 315 314 311 309 309 310 310 311 311 311 309 308 308 308 307 307 306 306 306 305 304 304 303 303 302 301 301 302 302 303 303 304 303 302 302 302 302 302 302 302 302 303 303 303 303 303 304 304 305 305 306 306 305 305 306 306 306 306 307 307 308 307 306 306 302 295 280 266 255 245 237 231 227 223 218 212 206 198 189 184 180 176 176 178 177 175 173 173 173 173 174 175 178 180 184 186 188 191 196 203 208 208 201 180 162 152 149 148 149 151 151 152 154 155 155 154 152 152 154 155 159 161 164 165 166 166 167 167 168 172 174 176 176 176 175 175 175 177 180 182 182 185 185 188 188 191 193 194 196 205 213 224 226 229 234 239 242 242 244 244 248 249 249 246 243 240 240 240 240 238 237 237 236 234 236 214 190 179 197 227 203 162 115 301 297 284 262 131 104 297 288 291 300 301 300 304 312 319 318 318 320 322 320 318 315 314 315 319 319 311 304 299 297 296 297 297 298 299 299 301 303 303 304 306 307 307 305 305 305 306 308 308 309 309 310 311 312 314 314 312 309 307 307 308 309 310 311 310 309 308 307 307 307 306 305 304 304 304 303 301 301 301 300 300 299 300 300 301 302 303 302 301 300 301 301 301 301 301 302 302 303 303 303 303 304 304 304 305 305 305 305 305 305 305 306 307 308 308 307 307 308 307 305 297 284 269 259 250 242 234 227 223 218 213 207 200 194 187 182 180 180 181 181 180 177 177 177 177 178 179 179 181 183 187 189 193 198 206 208 207 186 164 156 154 151 151 152 153 154 154 154 154 154 153 153 153 156 158 161 163 164 165 166 168 169 169 170 172 174 176 176 175 175 175 175 177 177 180 182 185 185 186 191 193 194 196 195 204 218 226 230 233 234 239 242 243 243 243 242 247 249 248 244 241 240 238 238 237 236 234 230 230 232 201 191 189 190 207 179 170 172 199 273 283 273 179 164 227 272 282 307 309 303 302 305 306 308 308 309 310 310 308 303 301 303 307 311 307 305 302 300 300 299 299 299 300 302 303 304 304 306 307 307 307 305 304 303 303 305 306 306 307 309 312 314 314 313 310 308 306 307 307 307 307 308 308 307 307 308 308 307 306 304 304 303 303 301 299 300 299 299 298 298 298 299 299 299 299 298 298 298 299 299 299 299 300 300 301 301 301 301 301 301 302 302 302 302 302 302 303 303 304 304 304 304 304 304 304 305 305 303 297 287 273 260 250 243 236 228 221 217 212 207 202 197 189 185 181 183 183 184 184 183 181 180 181 181 181 180 182 185 187 192 196 201 206 208 195 171 156 157 157 156 155 155 155 156 156 155 155 155 155 155 156 158 160 163 164 166 165 166 168 168 169 171 172 174 174 173 170 173 175 177 177 177 180 182 182 185 188 191 191 196 193 195 204 214 222 228 233 236 238 240 241 240 239 236 241 246 248 247 245 242 239 240 237 234 231 230 228 228 227 203 179 159 169 179 179 166 141 140 284 278 246 213 226 250 271 282 282 282 282 286 293 297 300 300 303 303 301 300 300 302 306 308 305 303 301 301 301 301 300 301 301 302 303 304 306 308 308 308 307 306 305 304 303 303 304 305 306 308 311 314 314 312 309 306 306 306 306 305 305 305 306 306 307 308 308 307 305 302 301 301 301 299 298 298 299 299 299 299 298 298 298 297 297 296 296 296 297 297 297 297 297 298 299 299 299 299 299 299 299 299 300 300 301 301 301 301 301 301 301 301 302 301 302 304 305 304 299 292 279 262 250 244 237 230 221 214 210 208 205 200 194 188 186 186 185 185 187 185 184 182 183 183 184 182 183 186 189 193 198 202 205 197 180 161 157 159 160 159 156 156 156 156 156 155 155 155 157 158 159 161 162 163 164 166 165 166 166 168 169 171 173 172 169 169 167 170 173 175 177 177 180 180 182 185 188 191 195 196 199 199 204 211 218 226 228 233 234 239 241 241 239 239 241 243 245 247 247 244 240 236 236 234 232 229 228 230 311 284 210 178 194 208 177 110 87 70 293 276 268 278 272 265 266 262 255 253 259 276 290 300 304 303 304 304 303 303 305 306 306 307 304 301 300 300 301 301 301 301 302 302 303 305 307 308 309 308 307 307 306 305 303 304 305 305 305 306 308 311 311 308 306 304 304 304 304 303 303 304 305 305 307 308 308 306 304 302 301 299 298 297 296 296 297 298 299 298 298 298 298 298 298 297 297 297 297 297 297 297 297 298 298 298 298 298 298 298 299 299 300 301 302 301 301 301 302 301 302 304 303 305 306 307 308 306 302 296 287 271 254 242 236 229 222 215 210 210 209 206 200 194 190 188 188 188 188 188 187 186 185 186 186 185 186 187 191 196 200 201 199 182 159 154 159 161 160 157 156 156 156 155 156 156 156 156 158 160 162 163 165 165 166 165 166 166 168 170 171 171 171 168 167 164 164 169 171 175 175 177 177 180 182 186 188 194 198 201 204 204 206 209 218 222 226 227 232 234 238 240 242 243 241 241 242 244 247 243 240 235 234 234 233 232 232 232 320 277 249 249 262 284 40 58 44 341 288 279 289 310 309 295 277 259 249 251 269 297 314 316 313 307 304 303 304 305 307 309 309 307 305 302 301 300 299 299 299 300 302 302 304 305 307 308 308 307 306 306 305 305 304 304 305 305 306 307 307 308 308 306 304 302 303 302 301 301 302 304 304 305 306 307 306 305 303 301 299 298 297 296 295 296 296 297 298 298 297 297 298 298 298 297 298 297 297 297 297 297 297 298 298 299 299 299 300 301 302 302 302 303 304 304 304 304 304 305 306 306 307 307 308 307 307 306 304 298 292 279 261 243 234 227 220 217 214 213 212 212 206 200 196 194 193 192 190 190 189 189 187 188 189 189 189 191 195 198 201 196 184 164 154 155 158 159 157 156 156 156 155 155 155 156 156 158 160 161 164 166 166 166 165 165 164 166 168 170 171 171 169 166 163 162 165 167 171 173 172 174 180 182 186 188 191 194 198 201 203 207 210 215 218 222 226 229 230 232 235 238 239 238 236 238 238 242 242 242 241 239 238 238 236 236 236 237 323 319 311 3 25 49 55 50 18 295 281 287 329 347 332 314 293 279 275 284 305 335 334 323 312 304 303 303 304 307 308 307 307 304 302 300 299 298 297 296 296 297 299 300 301 303 306 308 307 305 304 303 304 302 302 303 305 306 307 307 307 307 305 304 303 303 302 301 300 300 301 303 303 304 304 305 305 303 300 298 297 296 296 296 296 295 296 296 297 296 295 295 295 296 296 296 296 296 296 296 296 296 297 298 298 299 300 301 301 302 302 301 302 304 305 305 306 307 307 308 307 307 307 307 307 307 308 307 306 303 296 285 267 248 235 227 221 218 216 215 214 214 212 207 201 196 195 193 193 191 190 189 189 191 193 193 194 195 197 200 198 188 170 158 159 158 157 156 157 156 155 155 154 155 155 157 159 160 162 165 166 167 166 166 165 165 166 166 169 171 171 169 166 161 160 161 164 168 171 170 172 174 177 186 189 189 195 198 198 203 205 213 216 217 219 224 227 229 231 234 235 236 235 233 235 235 236 236 239 240 240 241 239 238 239 239 240 238 303 294 297 70 64 56 58 59 24 284 281 305 13 13 352 324 304 304 304 307 312 318 317 311 305 303 304 307 309 309 308 306 304 302 300 299 298 298 297 296 295 294 295 294 296 299 301 304 305 304 303 303 303 302 303 304 305 305 306 306 307 305 305 303 302 301 300 299 299 299 301 301 302 303 303 303 302 299 298 296 295 294 294 294 294 295 296 296 296 295 295 295 294 295 294 295 295 295 296 296 297 297 297 298 298 299 300 300 299 299 300 301 302 303 304 305 306 306 307 307 307 307 307 307 308 309 309 309 308 304 300 290 272 254 237 227 222 220 218 216 216 216 215 212 204 199 194 194 194 193 192 191 192 193 194 195 197 199 200 201 194 177 161 159 157 157 157 155 154 155 154 154 154 154 155 159 161 163 163 164 165 166 166 166 165 167 167 168 169 169 169 166 164 163 163 164 165 167 169 171 172 174 177 186 189 192 196 199 201 208 211 211 216 219 219 224 226 229 231 232 233 233 232 232 232 233 233 234 235 236 234 233 236 236 237 238 241 241 299 279 247 155 81 59 58 83 176 279 299 330 13 26 12 320 294 303 308 312 312 309 307 305 303 303 306 308 310 308 306 303 301 300 299 298 298 299 299 299 297 297 295 295 296 298 300 302 304 305 304 305 304 304 304 304 305 304 305 305 305 304 303 302 301 300 298 298 298 299 301 301 301 301 302 301 299 297 296 295 295 293 293 293 294 294 294 295 295 295 294 294 294 295 294 295 295 296 296 297 297 297 297 297 298 298 298 299 299 299 300 300 301 302 303 303 303 305 306 306 305 305 305 306 308 309 308 307 305 303 298 290 277 259 242 231 226 223 222 219 218 218 219 217 208 200 194 194 193 193 192 192 193 193 196 197 199 201 202 199 192 177 166 158 155 155 154 154 153 153 153 154 152 154 157 159 162 164 164 165 165 166 167 166 167 167 168 168 168 167 169 166 166 164 164 165 165 167 169 171 173 173 177 183 186 193 196 203 204 208 210 211 214 219 221 224 228 230 231 231 231 231 231 232 232 231 230 231 231 233 232 232 231 233 234 236 239 239 317 290 239 188 87 32 351 284 234 266 307 343 8 18 354 299 285 298 305 308 306 304 303 302 302 303 304 304 302 300 298 297 295 295 296 297 299 301 302 302 302 302 301 301 301 301 303 304 306 305 304 303 303 303 303 302 303 303 303 302 301 300 299 298 298 298 297 298 299 299 300 300 301 301 300 299 297 295 296 296 295 294 293 293 292 293 293 294 294 294 294 293 294 294 294 295 295 295 295 296 295 296 297 297 298 299 299 300 301 301 300 301 301 302 303 304 305 305 305 304 305 304 303 305 306 306 305 304 303 302 298 290 277 263 248 239 232 227 223 223 222 221 221 219 214 203 195 193 193 193 192 193 193 195 196 197 198 199 198 194 189 178 167 158 155 154 152 152 152 152 152 152 153 154 157 161 163 165 166 166 167 167 168 167 167 167 168 168 168 166 168 169 168 166 166 166 168 170 172 174 176 178 180 182 186 193 201 207 208 208 208 210 210 214 221 226 228 230 228 230 228 227 227 229 229 227 227 227 227 230 229 229 231 234 237 237 237 237 314 281 234 189 96 31 307 283 264 329 18 12 12 327 286 278 283 292 297 300 300 300 300 302 302 303 301 299 296 293 292 290 289 290 292 295 298 300 302 303 304 304 304 305 306 306 306 306 306 305 304 303 302 302 301 300 300 299 299 297 295 293 293 293 294 296 298 300 300 300 300 301 302 301 300 298 296 295 295 295 294 293 292 292 292 292 292 293 293 293 292 293 293 293 294 294 294 294 294 295 295 295 296 297 297 298 298 299 299 299 300 301 302 303 304 305 305 305 305 305 304 303 303 303 303 305 305 304 304 302 299 291 280 266 253 244 236 230 228 226 225 224 224 221 215 205 197 193 193 192 192 191 193 195 195 197 197 195 192 190 187 178 167 157 154 151 152 151 152 152 152 151 153 155 159 162 165 167 167 169 168 168 168 168 167 167 167 167 166 166 168 169 170 170 168 168 168 170 172 176 178 180 180 182 188 195 200 207 214 210 207 204 207 211 216 224 228 226 228 226 226 224 224 226 226 226 226 227 229 229 233 233 234 235 238 238 237 237 312 286 199 164 110 3 318 305 332 26 14 343 313 267 262 266 273 283 289 293 293 296 300 303 304 304 301 298 294 291 289 289 288 289 292 293 294 296 299 301 303 304 305 306 307 308 307 307 307 307 306 304 304 302 301 301 300 299 298 297 294 293 292 292 293 296 299 302 301 301 301 301 301 300 298 297 295 295 295 294 292 291 292 291 290 291 290 291 292 292 292 292 293 294 294 294 293 293 294 294 294 295 295 296 297 297 297 297 298 299 300 302 303 305 306 305 305 306 306 306 305 305 304 305 306 307 307 307 305 304 299 293 283 271 259 249 242 236 231 229 228 227 226 225 218 207 198 191 191 189 190 191 193 194 195 196 195 192 188 186 183 178 170 161 155 152 152 152 150 150 151 151 152 157 162 165 168 170 170 170 170 168 167 167 167 167 167 166 166 166 167 170 170 170 167 167 170 170 172 174 178 178 182 182 188 194 200 208 215 214 211 208 208 211 216 221 221 224 224 224 224 222 220 220 224 226 229 231 233 235 237 240 238 239 237 237 236 236 291 273 159 124 43 354 328 321 349 21 354 323 298 278 269 269 273 277 280 284 289 295 302 306 306 305 302 298 291 287 286 288 291 294 295 296 295 295 296 298 300 303 305 307 308 308 308 308 308 308 307 306 305 304 303 303 301 301 300 299 297 296 297 297 298 298 300 301 301 301 300 300 300 298 296 294 294 294 294 293 292 291 290 290 290 289 288 289 290 290 291 292 292 293 293 292 293 293 293 294 294 294 295 296 296 297 298 298 299 299 300 302 302 303 303 304 304 305 306 306 306 307 307 307 308 308 308 305 304 302 298 294 287 276 264 253 246 240 234 231 230 230 229 227 220 210 196 189 187 188 188 191 194 195 196 195 192 188 187 184 181 178 171 163 157 154 152 152 151 150 151 152 154 159 163 167 168 170 170 170 169 169 167 166 166 166 164 164 164 166 169 171 172 172 170 167 167 169 172 174 174 176 178 182 187 191 199 209 216 217 221 219 217 217 216 219 221 219 221 222 224 220 220 222 222 226 230 235 239 240 239 237 238 235 236 233 231 231 258 14 80 73 23 333 311 294 199 115 320 297 289 291 292 291 290 291 290 293 300 311 315 315 311 308 304 300 293 290 292 297 301 303 303 304 304 303 303 303 304 305 307 308 309 308 308 308 308 308 307 306 305 304 304 302 302 301 299 299 299 299 299 300 301 301 301 301 299 299 298 299 298 297 294 293 293 293 293 292 291 291 290 289 288 288 288 288 289 289 290 291 292 292 291 291 291 292 293 294 294 295 295 296 297 297 297 298 298 299 300 301 302 301 302 303 303 304 305 305 306 306 307 306 308 307 305 303 300 298 298 294 288 281 271 258 250 244 238 235 233 232 231 228 221 208 195 188 186 185 189 192 193 194 193 193 191 187 184 181 180 178 172 164 156 154 152 151 151 151 151 153 158 161 165 167 167 167 168 170 169 168 166 166 166 166 164 164 163 166 170 171 173 170 168 167 167 169 169 171 170 173 175 180 185 191 197 206 216 220 226 226 228 228 226 224 219 220 220 220 222 222 222 220 224 226 230 235 240 240 238 236 233 230 227 226 227 226 74 59 55 34 339 303 294 284 115 340 297 284 286 299 310 316 316 317 320 324 326 327 327 325 320 317 314 312 312 315 316 316 314 312 312 311 310 310 309 309 309 309 309 310 309 309 308 308 307 307 307 306 305 305 304 302 301 301 300 300 301 302 303 303 303 302 302 302 301 299 298 297 296 296 294 293 293 293 291 290 289 289 288 288 287 287 287 288 288 289 290 291 292 292 291 291 291 292 292 294 294 295 295 295 295 296 297 297 298 300 301 301 302 302 302 302 303 303 303 304 304 304 304 305 305 305 303 300 298 296 294 292 287 282 275 265 256 247 241 237 234 235 234 230 221 205 192 185 183 185 189 192 193 192 193 192 188 185 183 180 180 177 171 163 158 153 152 152 153 154 154 156 159 164 167 166 167 167 168 167 167 168 168 168 168 166 166 164 164 168 170 172 171 168 168 165 167 167 166 168 170 170 175 177 182 188 194 203 213 220 228 230 236 236 237 236 230 226 220 219 220 221 223 223 224 227 232 234 236 238 238 235 232 228 225 227 227 226 59 47 23 341 311 295 303 349 16 346 328 316 316 321 326 333 330 328 328 328 330 331 332 332 330 328 327 326 327 325 324 321 319 318 317 316 315 314 313 313 312 312 311 311 310 309 308 307 306 306 307 306 305 305 304 303 303 304 304 304 305 306 307 306 305 304 304 303 302 301 299 297 296 295 294 293 293 292 291 289 288 288 287 286 285 286 287 288 289 289 290 291 292 292 291 291 291 291 292 292 292 293 294 294 295 297 298 299 300 301 301 302 302 302 302 302 302 302 302 302 303 303 302 302 302 301 300 298 296 295 292 288 285 279 274 268 261 251 244 239 237 236 235 231 220 204 191 183 183 185 188 190 190 190 189 188 185 184 181 180 178 176 170 162 157 154 154 154 156 156 157 158 161 164 166 165 164 165 165 166 167 168 170 172 170 168 166 164 166 169 173 173 169 166 166 166 167 166 165 167 170 172 175 177 182 188 195 200 208 215 224 232 234 238 240 243 243 239 230 224 220 217 216 220 220 220 220 221 226 232 239 237 233 229 228 229 229 230 44 23 355 329 311 303 323 1 4 350 341 333 330 325 324 327 326 321 318 318 322 326 330 333 331 327 322 318 317 317 318 318 317 317 317 316 316 315 314 314 313 313 312 312 311 310 308 306 306 307 308 307 306 305 305 306 306 307 308 307 308 308 308 307 306 305 303 303 302 300 299 298 297 295 293 293 293 292 291 291 289 288 286 286 285 285 286 287 287 288 289 290 290 290 290 290 290 290 290 290 291 292 293 295 297 298 299 300 300 300 301 301 301 301 301 301 302 302 303 304 304 304 303 302 301 300 298 297 296 295 293 289 285 277 272 267 262 253 248 242 239 238 235 230 219 204 191 185 184 185 188 188 188 186 186 185 184 181 180 178 177 174 168 163 157 155 156 157 158 158 159 161 164 165 166 164 163 163 165 166 168 170 172 171 169 167 165 166 168 170 172 170 169 167 165 165 165 166 165 167 172 175 174 174 180 186 192 199 203 210 221 228 234 236 240 244 246 249 246 240 231 230 227 225 224 221 216 216 217 218 224 230 233 230 229 230 233 234 34 1 340 323 311 318 341 356 357 351 344 336 327 321 318 316 317 316 315 312 313 318 321 324 318 308 302 301 303 306 309 311 312 313 313 314 314 314 313 312 312 312 312 312 311 309 308 307 307 308 308 308 308 307 307 307 307 308 308 309 308 309 308 308 306 305 303 302 301 301 300 300 299 298 296 295 294 293 293 292 291 290 288 287 286 286 286 287 287 287 288 289 289 289 288 288 289 290 290 290 291 293 294 295 297 298 299 299 299 301 301 301 301 301 301 302 302 303 303 304 305 305 304 304 302 301 301 300 298 296 294 292 288 280 272 265 258 254 249 243 241 239 236 228 216 201 190 187 186 186 185 185 185 185 185 184 181 178 178 177 174 172 168 164 160 160 159 161 161 161 162 164 166 165 164 162 163 164 166 167 170 171 173 173 169 166 165 167 169 172 172 170 167 166 166 165 166 164 166 167 172 172 171 174 180 183 189 196 201 207 214 221 228 234 236 241 243 244 249 251 248 248 245 240 237 233 230 227 223 221 218 221 224 227 230 232 235 237 31 344 330 327 332 12 6 357 347 344 339 331 320 316 314 315 314 312 311 309 310 313 314 315 309 304 300 299 299 301 303 306 307 310 311 311 312 312 312 311 311 311 312 312 311 310 309 308 307 307 307 307 307 307 307 307 308 308 309 309 309 308 308 307 306 304 303 303 303 302 301 300 299 299 298 297 297 296 296 294 293 292 290 288 287 286 286 285 286 287 287 288 288 288 288 288 288 289 290 291 292 293 294 295 296 296 297 298 298 299 300 300 300 301 301 302 303 303 303 305 307 306 305 304 303 303 303 301 300 298 295 293 290 285 276 266 258 252 246 243 240 239 236 227 214 197 190 187 186 186 184 183 183 184 184 182 179 177 176 176 175 172 168 166 164 162 162 162 163 163 164 166 167 166 164 164 164 165 168 170 171 172 173 173 169 167 166 170 172 174 173 171 168 166 166 167 166 164 165 167 168 171 173 173 180 183 190 197 201 205 208 216 223 228 233 236 238 241 248 253 259 263 258 255 253 252 251 245 241 237 231 229 227 224 228 230 232 235 149 303 312 323 77 26 6 352 338 327 321 318 310 306 304 304 305 305 306 307 308 311 312 313 312 309 307 304 301 302 304 306 307 309 309 309 309 310 310 310 310 311 312 312 310 309 308 306 305 304 305 305 306 308 308 308 309 309 310 310 309 308 307 306 304 303 303 302 302 301 301 300 299 299 298 298 297 296 296 296 295 293 292 289 288 287 285 285 285 286 287 288 288 288 288 287 287 288 289 290 292 293 294 295 296 296 297 297 297 297 297 298 298 300 301 302 303 303 304 305 306 306 305 303 302 301 302 300 299 297 295 293 291 286 278 269 259 250 246 241 240 238 233 224 210 197 189 187 186 186 184 183 181 183 184 181 177 176 175 175 174 171 169 168 166 165 165 164 164 166 167 168 168 167 165 164 165 167 168 168 171 174 173 173 171 170 169 173 175 173 173 170 166 166 164 165 165 164 165 167 169 171 174 173 176 180 183 191 199 199 207 210 215 221 223 231 238 243 246 251 257 265 268 266 264 263 263 260 259 255 249 241 234 231 228 228 229 229