bz2 0.1.0.1 → 0.1.1.0
raw patch · 16 files changed
+30388/−20 lines, 16 filesdep +bz2dep +criteriondep +filepathdep ~basebinary-addedPVP: major bump suggested
API removals or changes: PVP suggests a major version bump
Dependencies added: bz2, criterion, filepath, tasty, tasty-golden, tasty-hunit
Dependency ranges changed: base
API changes (from Hackage documentation)
+ Codec.Compression.BZip: compress :: ByteString -> ByteString
+ Codec.Compression.BZip: compressWith :: CInt -> CInt -> ByteString -> ByteString
+ Codec.Compression.BZip: decompress :: ByteString -> ByteString
- Codec.Compression.BZip.Foreign: bZ2BzlibVersion :: IO String
+ Codec.Compression.BZip.Foreign: bZ2BzlibVersion :: String
Files
- CHANGELOG.md +5/−0
- README.md +11/−2
- bench/Bench.hs +25/−0
- bz2.cabal +77/−16
- src/Codec/Compression/BZip.hs +11/−0
- src/Codec/Compression/BZip/Common.chs +16/−0
- src/Codec/Compression/BZip/Foreign.chs +5/−2
- src/Codec/Compression/BZip/Pack.chs +105/−0
- src/Codec/Compression/BZip/Unpack.chs +94/−0
- test/Spec.hs +32/−0
- test/data/sample1.bz2 binary
- test/data/sample1.ref binary
- test/data/sample2.bz2 binary
- test/data/sample2.ref binary
- test/data/sample3.bz2 binary
- test/data/sample3.ref +30007/−0
CHANGELOG.md view
@@ -1,5 +1,10 @@ # bz2 +## 0.1.1.0++ * Change type signature of `bZ2BzlibVersion`+ * Add `Codec.Compression.BZip` module+ ## 0.1.0.1 * Fix distribution
README.md view
@@ -1,4 +1,13 @@ # bz2 -Low-level bindings to [bzip2](https://www.sourceware.org/bzip2/). Bundles a copy-of `bzlib` 1.0.8+High-level bindings to [bzip2](https://www.sourceware.org/bzip2/). ++## Comparison++Compared to [bzlib](http://hackage.haskell.org/package/bzlib):++ * Bundles `bzip2` 1.0.8.+ * Compatible with GHC 8.8.2+ * Uses [c2hs](https://github.com/haskell/c2hs) rather than+ [hsc2hs](https://hackage.haskell.org/package/hsc2hs) and thus has a larger+ dependency footprint
+ bench/Bench.hs view
@@ -0,0 +1,25 @@+module Main (main) where++import qualified Codec.Compression.BZip as BZ2+import Criterion.Main+import qualified Data.ByteString.Lazy as BSL++decompressFile :: FilePath -> IO BSL.ByteString+decompressFile = fmap BZ2.decompress . BSL.readFile++compressFile :: FilePath -> IO BSL.ByteString+compressFile = fmap BZ2.compress . BSL.readFile++main :: IO ()+main =+ defaultMain [ bgroup "decompress"+ [ bench "decompress file" $ nfIO (decompressFile "test/data/sample1.bz2")+ , bench "decompress file" $ nfIO (decompressFile "test/data/sample2.bz2")+ , bench "decompress file" $ nfIO (decompressFile "test/data/sample3.bz2")+ ]+ , bgroup "compress"+ [ bench "compress file" $ nfIO (compressFile "test/data/sample1.ref")+ , bench "compress file" $ nfIO (compressFile "test/data/sample2.ref")+ , bench "compress file" $ nfIO (compressFile "test/data/sample3.ref")+ ]+ ]
bz2.cabal view
@@ -1,19 +1,25 @@-cabal-version: 1.18-name: bz2-version: 0.1.0.1-license: BSD3-license-file: LICENSE-copyright: Copyright: (c) 2020 Vanessa McHale-maintainer: vamchale@gmail.com-author: Vanessa McHale-bug-reports: https://hub.darcs.net/vmchale/bz2/issues-synopsis: Bindings to libbz2-description: Low-level bindings to libbz2 using c2hs-category: Compression-build-type: Simple+cabal-version: 1.18+name: bz2+version: 0.1.1.0+license: BSD3+license-file: LICENSE+copyright: Copyright: (c) 2020 Vanessa McHale+maintainer: vamchale@gmail.com+author: Vanessa McHale+bug-reports: https://hub.darcs.net/vmchale/bz2/issues+synopsis: Bindings to libbz2+description: High-level bindings to libbz2 using c2hs and ByteString+category: Compression+build-type: Simple+data-files:+ test/data/sample1.ref+ test/data/sample2.ref+ test/data/sample3.ref+ test/data/sample1.bz2+ test/data/sample2.bz2+ test/data/sample3.bz2 -extra-source-files:- cbits/bzlib_private.h+extra-source-files: cbits/bzlib_private.h extra-doc-files: README.md CHANGELOG.md@@ -29,6 +35,7 @@ library exposed-modules:+ Codec.Compression.BZip Codec.Compression.BZip.Foreign c-sources:@@ -41,8 +48,13 @@ cbits/decompress.c hs-source-dirs: src+ other-modules:+ Codec.Compression.BZip.Common+ Codec.Compression.BZip.Unpack+ Codec.Compression.BZip.Pack default-language: Haskell2010+ other-extensions: DeriveDataTypeable include-dirs: cbits install-includes: cbits/bzlib.h ghc-options: -Wall@@ -51,7 +63,7 @@ bytestring -any if !flag(cross)- build-tool-depends: c2hs:c2hs >=0.28+ build-tool-depends: c2hs:c2hs >=0.26.1 if impl(ghc >=8.0) ghc-options:@@ -60,3 +72,52 @@ if impl(ghc >=8.4) ghc-options: -Wmissing-export-lists++test-suite bz2-test+ type: exitcode-stdio-1.0+ main-is: Spec.hs+ hs-source-dirs: test+ default-language: Haskell2010+ ghc-options: -threaded -rtsopts -with-rtsopts=-N -Wall+ build-depends:+ base -any,+ bz2 -any,+ bytestring -any,+ filepath >=1.4.0.0,+ tasty -any,+ tasty-golden -any,+ tasty-hunit -any++ if impl(ghc >=8.0)+ ghc-options:+ -Wincomplete-uni-patterns -Wincomplete-record-updates+ -Wredundant-constraints -Widentities++ if impl(ghc >=8.4)+ ghc-options: -Wmissing-export-lists++ if impl(ghc >=8.2)+ ghc-options: -Wcpp-undef++benchmark bz2-bench+ type: exitcode-stdio-1.0+ main-is: Bench.hs+ hs-source-dirs: bench+ default-language: Haskell2010+ ghc-options: -threaded -rtsopts -with-rtsopts=-N -O3 -Wall+ build-depends:+ base -any,+ bz2 -any,+ criterion -any,+ bytestring -any++ if impl(ghc >=8.0)+ ghc-options:+ -Wincomplete-uni-patterns -Wincomplete-record-updates+ -Wredundant-constraints -Widentities++ if impl(ghc >=8.4)+ ghc-options: -Wmissing-export-lists++ if impl(ghc >=8.2)+ ghc-options: -Wcpp-undef
+ src/Codec/Compression/BZip.hs view
@@ -0,0 +1,11 @@+module Codec.Compression.BZip ( -- * High-level functions+ compress+ , compressWith+ , decompress+ -- * Low-level bindings+ , module Codec.Compression.BZip.Foreign+ ) where++import Codec.Compression.BZip.Foreign+import Codec.Compression.BZip.Pack+import Codec.Compression.BZip.Unpack
+ src/Codec/Compression/BZip/Common.chs view
@@ -0,0 +1,16 @@+module Codec.Compression.BZip.Common ( bzStreamInit ) where++import Codec.Compression.BZip.Foreign (BzStream)+import Control.Applicative+import Foreign.Ptr (nullFunPtr, nullPtr, Ptr)+import Foreign.Marshal (mallocBytes)++#include <bzlib.h>++bzStreamInit :: IO (Ptr BzStream)+bzStreamInit = do+ p <- mallocBytes {# sizeof bz_stream #}+ {# set bz_stream.bzalloc #} p nullFunPtr+ {# set bz_stream.bzfree #} p nullFunPtr+ {# set bz_stream.opaque #} p nullPtr+ pure p
src/Codec/Compression/BZip/Foreign.chs view
@@ -1,3 +1,5 @@+{-# LANGUAGE DeriveDataTypeable #-}+ -- | This module uses exceptions behind the scenes -- -- Consult the upstream [documentation](https://www.sourceware.org/bzip2/docs.html) for how to use this library.@@ -39,6 +41,7 @@ import Control.Applicative import Control.Exception (Exception, throw) import Control.Monad ((<=<))+import Data.Typeable (Typeable) import Foreign.C.Types (CInt, CUInt) import Foreign.Marshal (alloca) import Foreign.Ptr (castPtr, Ptr)@@ -66,7 +69,7 @@ , BZ_UNEXPECTED_EOF as BzUnexpectedEof , BZ_OUTBUFF_FULL as BzOutbuffFull , BZ_CONFIG_ERROR as BzConfigError- } deriving (Eq, Show)+ } deriving (Eq, Show, Typeable) #} instance Exception BZError where@@ -109,7 +112,7 @@ {# fun BZ2_bzBuffToBuffDecompress as ^ { castPtr `Ptr a', alloca- `CUInt' peek*, castPtr `Ptr a', `CUInt', `Bool', `CInt' } -> `BZError' bzWrap* #} -- Contributed functions-{# fun BZ2_bzlibVersion as ^ { } -> `String' #}+{# fun pure BZ2_bzlibVersion as ^ { } -> `String' #} peekVoidPtr :: Ptr (Ptr ()) -> IO (Ptr a) peekVoidPtr = fmap castPtr . peek
+ src/Codec/Compression/BZip/Pack.chs view
@@ -0,0 +1,105 @@+module Codec.Compression.BZip.Pack ( compress+ , compressWith+ ) where++import Codec.Compression.BZip.Foreign+import Codec.Compression.BZip.Common+import Control.Applicative+import Control.Arrow (second)+import Control.Exception (bracket)+import qualified Data.ByteString as BS+import qualified Data.ByteString.Lazy as BSL+import qualified Data.ByteString.Unsafe as BS+import Foreign.C.Types (CInt)+import Foreign.Ptr (Ptr, castPtr, nullPtr)+import Foreign.Marshal.Alloc (free, mallocBytes)+import System.IO.Unsafe (unsafeDupablePerformIO)++#include <bzlib.h>++{-# NOINLINE compress #-}+-- | @since 0.1.1.0+compress :: BSL.ByteString -> BSL.ByteString+compress = compressWith 9 30++{-# NOINLINE compressWith #-}+-- | See [bzlib manual](https://www.sourceware.org/bzip2/manual/manual.html#bzcompress-init)+-- for information on compression parameters.+--+-- @since 0.1.1.0+compressWith :: CInt -- ^ Block size (@1-9@)+ -> CInt -- ^ Work factor (@0-250@)+ -> BSL.ByteString+ -> BSL.ByteString+compressWith blkSize wf bsl = unsafeDupablePerformIO $+ let bss = BSL.toChunks bsl in+ BSL.fromChunks <$> bracket+ (do { p <- bzStreamInit ; bzCompressInit blkSize wf p ; pure p })+ bZ2BzCompressEnd+ (\p -> bzCompressChunks p bss)++bzCompressChunks :: Ptr BzStream -> [BS.ByteString] -> IO [BS.ByteString]+bzCompressChunks p bs =++ bracket+ (mallocBytes bufSz)+ free+ (fmap snd . extractBuf bs)++ where++ -- corresponds to inner loop in zlib example+ fillBuf :: [BS.ByteString] -> BZAction -> Ptr a -> IO (BZError, [BS.ByteString])+ fillBuf bs' f bufOut = do++ {# set bz_stream.avail_out #} p bufSz+ {# set bz_stream.next_out #} p (castPtr bufOut)++ ret <- bZ2BzCompress p f++ szOut <- fromIntegral <$> {# get bz_stream->avail_out #} p++ let bytesAvail = bufSz - szOut++ newBSAp <- if bytesAvail /= 0+ then (:) <$> BS.packCStringLen (castPtr bufOut, bytesAvail)+ else pure id++ if ret == BzStreamEnd+ then pure (ret, newBSAp [])+ else if szOut == 0+ then second newBSAp <$> fillBuf bs' f bufOut+ else second newBSAp <$> extractBuf bs' bufOut++ -- corresponds to outer loop in zlib example+ extractBuf :: [BS.ByteString] -> Ptr a -> IO (BZError, [BS.ByteString])+ extractBuf [] bufOut = do++ (res, blocks) <- fillBuf [] BzFinish bufOut++ if res == BzStreamEnd+ then pure (BzStreamEnd, blocks)+ else extractBuf [] bufOut++ extractBuf (b:bs') bufOut =+ BS.unsafeUseAsCStringLen b $ \(buf, sz) -> do++ {# set bz_stream.avail_in #} p (fromIntegral sz)+ {# set bz_stream.next_in #} p buf++ (res, blocks) <- fillBuf bs' BzRun bufOut++ if res == BzStreamEnd+ then pure (BzStreamEnd, blocks)+ else extractBuf bs' bufOut++ bufSz :: Integral a => a+ bufSz = 32 * 1024++bzCompressInit :: CInt -> CInt -> Ptr BzStream -> IO ()+bzCompressInit blkSize wf p = do++ {# set bz_stream.next_in #} p nullPtr+ {# set bz_stream.avail_in #} p 0++ bZ2BzCompressInit p blkSize 0 wf
+ src/Codec/Compression/BZip/Unpack.chs view
@@ -0,0 +1,94 @@+module Codec.Compression.BZip.Unpack ( decompress+ ) where++import Codec.Compression.BZip.Foreign+import Codec.Compression.BZip.Common+import Control.Applicative+import Control.Arrow (second)+import Control.Exception (bracket)+import qualified Data.ByteString as BS+import qualified Data.ByteString.Lazy as BSL+import qualified Data.ByteString.Unsafe as BS+import Foreign.Ptr (Ptr, castPtr, nullPtr)+import Foreign.Marshal.Alloc (free, mallocBytes)+import System.IO.Unsafe (unsafeDupablePerformIO)++#include <bzlib.h>++{-# NOINLINE decompress #-}+-- | Don't use this on pathological input; it may not be secure+--+-- @since 0.1.1.0+decompress :: BSL.ByteString -> BSL.ByteString+decompress bsl = unsafeDupablePerformIO $+ let bss = BSL.toChunks bsl in+ BSL.fromChunks <$> bracket+ (do { p <- bzStreamInit ; bzDecompressInit p ; pure p })+ bZ2BzDecompressEnd+ (\p -> bzDecompressChunks p bss)++bzDecompressChunks :: Ptr BzStream -> [BS.ByteString] -> IO [BS.ByteString]+bzDecompressChunks p bs =++ bracket+ (mallocBytes bufSz)+ free+ (fmap snd . extractBuf bs)++ where++ -- corresponds to inner loop in zlib example+ fillBuf :: [BS.ByteString] -> Ptr a -> IO (BZError, [BS.ByteString])+ fillBuf bs' bufOut = do++ {# set bz_stream.avail_out #} p bufSz+ {# set bz_stream.next_out #} p (castPtr bufOut)++ ret <- bZ2BzDecompress p++ szOut <- fromIntegral <$> {# get bz_stream->avail_out #} p++ let bytesAvail = bufSz - szOut++ newBSAp <- if bytesAvail /= 0+ then (:) <$> BS.packCStringLen (castPtr bufOut, bytesAvail)+ else pure id++ if ret == BzStreamEnd+ then pure (ret, newBSAp [])+ else if szOut == 0+ then second newBSAp <$> fillBuf bs' bufOut+ else second newBSAp <$> extractBuf bs' bufOut++ -- corresponds to outer loop in zlib example+ extractBuf :: [BS.ByteString] -> Ptr a -> IO (BZError, [BS.ByteString])+ extractBuf [] bufOut = do++ (res, blocks) <- fillBuf [] bufOut++ if res == BzStreamEnd+ then pure (BzStreamEnd, blocks)+ else extractBuf [] bufOut++ extractBuf (b:bs') bufOut =+ BS.unsafeUseAsCStringLen b $ \(buf, sz) -> do++ {# set bz_stream.avail_in #} p (fromIntegral sz)+ {# set bz_stream.next_in #} p buf++ (res, blocks) <- fillBuf bs' bufOut++ if res == BzStreamEnd+ then pure (BzStreamEnd, blocks)+ else extractBuf bs' bufOut++ bufSz :: Integral a => a+ bufSz = 32 * 1024++bzDecompressInit :: Ptr BzStream -> IO ()+bzDecompressInit p = do++ {# set bz_stream.next_in #} p nullPtr+ {# set bz_stream.avail_in #} p 0++ bZ2BzDecompressInit p 0 False
+ test/Spec.hs view
@@ -0,0 +1,32 @@+module Main (main) where++import Codec.Compression.BZip+import qualified Data.ByteString.Lazy as BSL+import System.FilePath ((-<.>))+import Test.Tasty+import Test.Tasty.Golden+import Test.Tasty.HUnit++testDecompress :: FilePath -> TestTree+testDecompress fp =+ goldenVsString ("Decompress " ++ fp) (fp -<.> ".ref") (decompress <$> BSL.readFile fp)++testCompress :: FilePath -> TestTree+testCompress fp = testCase ("Roundtrip " ++ fp) $ do+ contents <- BSL.readFile fp+ let actual = decompress (compress contents)+ actual @?= contents++main :: IO ()+main = defaultMain (testGroup "bz2" [testDecompression, testCompression])+ where+ testDecompression = testGroup "Decompress"+ [ testDecompress "test/data/sample1.bz2"+ , testDecompress "test/data/sample2.bz2"+ , testDecompress "test/data/sample3.bz2"+ ]+ testCompression = testGroup "Compress"+ [ testCompress "test/data/sample1.ref"+ , testCompress "test/data/sample2.ref"+ , testCompress "test/data/sample3.ref"+ ]
+ test/data/sample1.bz2 view
binary file changed (absent → 32348 bytes)
+ test/data/sample1.ref view
binary file changed (absent → 98696 bytes)
+ test/data/sample2.bz2 view
binary file changed (absent → 73732 bytes)
+ test/data/sample2.ref view
binary file changed (absent → 212340 bytes)
+ test/data/sample3.bz2 view
binary file changed (absent → 235 bytes)
+ test/data/sample3.ref view
@@ -0,0 +1,30007 @@+This file is exceedingly boring. If you find yourself+reading it, please (1) take it from me that you can safely+guess what the rest of the file says, and (2) seek professional+help.++ps. there are no further sarcastic remarks in this file.++ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh+ugh