Repository: asticode/go-astiav Branch: master Commit: 3a5456442686 Files: 197 Total size: 28.3 MB Directory structure: gitextract_kmu419_u/ ├── .devcontainer/ │ ├── Dockerfile │ └── devcontainer.json ├── .github/ │ └── workflows/ │ ├── Makefile │ ├── test.yml │ └── windows.patch ├── .gitignore ├── .vscode/ │ ├── .gitignore │ └── c_cpp_properties.json ├── BREAKING_CHANGES.md ├── LICENSE ├── README.md ├── astiav.go ├── astiav_test.go ├── atomic.c ├── atomic.h ├── audio_fifo.go ├── audio_fifo_test.go ├── bit_stream_filter.go ├── bit_stream_filter_context.go ├── bit_stream_filter_context_test.go ├── bit_stream_filter_test.go ├── buffersink_filter_context.go ├── buffersink_flag.go ├── buffersrc_filter_context.go ├── buffersrc_filter_context_parameters.go ├── buffersrc_filter_context_parameters_test.go ├── buffersrc_filter_context_test.go ├── buffersrc_flag.go ├── bytes.go ├── bytes_test.go ├── channel_layout.go ├── channel_layout.h ├── channel_layout_test.go ├── chroma_location.go ├── class.c ├── class.go ├── class.h ├── class_category.go ├── class_test.go ├── codec.go ├── codec_context.c ├── codec_context.go ├── codec_context.h ├── codec_context_flag.go ├── codec_context_test.go ├── codec_hardware_config.go ├── codec_hardware_config_method_flag.go ├── codec_id.go ├── codec_id_test.go ├── codec_parameters.go ├── codec_parameters_test.go ├── codec_tag.go ├── codec_test.go ├── color_primaries.go ├── color_range.go ├── color_range_test.go ├── color_space.go ├── color_space_test.go ├── color_transfer_characteristic.go ├── device.go ├── device_test.go ├── dictionary.go ├── dictionary_entry.go ├── dictionary_flag.go ├── dictionary_test.go ├── discard.go ├── display_matrix.go ├── display_matrix_test.go ├── disposition_flag.go ├── error.go ├── error_recognition_flag.go ├── error_test.go ├── examples/ │ ├── bit_stream_filtering/ │ │ └── main.go │ ├── custom_io_demuxing/ │ │ └── main.go │ ├── custom_io_muxing/ │ │ └── main.go │ ├── demuxing_decoding/ │ │ └── main.go │ ├── filtering/ │ │ └── main.go │ ├── frame_data_manipulation/ │ │ └── main.go │ ├── hardware_decoding_filtering/ │ │ └── main.go │ ├── hardware_encoding/ │ │ └── main.go │ ├── remuxing/ │ │ └── main.go │ ├── resampling_audio/ │ │ └── main.go │ ├── scaling_video/ │ │ └── main.go │ └── transcoding/ │ └── main.go ├── filter.go ├── filter_chain.go ├── filter_command_flag.go ├── filter_context.go ├── filter_flag.go ├── filter_graph.go ├── filter_graph_segment.go ├── filter_graph_test.go ├── filter_in_out.go ├── filter_pad.go ├── filter_params.go ├── filter_test.go ├── flags.go ├── flags_test.go ├── format_context.go ├── format_context_ctx_flag.go ├── format_context_flag.go ├── format_context_test.go ├── format_event_flag.go ├── frame.c ├── frame.go ├── frame.h ├── frame_data.go ├── frame_data_test.go ├── frame_flag.go ├── frame_side_data.c ├── frame_side_data.go ├── frame_side_data.h ├── frame_side_data_test.go ├── frame_test.go ├── go.mod ├── go.sum ├── hardware_device_context.go ├── hardware_device_type.go ├── hardware_device_type_test.go ├── hardware_frames_constraints.go ├── hardware_frames_context.go ├── input_format.go ├── input_format_test.go ├── internal/ │ └── cmd/ │ └── flags/ │ └── main.go ├── io_context.c ├── io_context.go ├── io_context.h ├── io_context_flag.go ├── io_context_test.go ├── io_format_flag.go ├── io_interrupter.c ├── io_interrupter.go ├── io_interrupter.h ├── io_interrupter_test.go ├── level.go ├── log.c ├── log.go ├── log.h ├── log_test.go ├── macros.c ├── macros.h ├── mathematics.go ├── mathematics_test.go ├── media_type.go ├── media_type_test.go ├── option.c ├── option.go ├── option.h ├── option_search_flag.go ├── option_test.go ├── output_format.go ├── output_format_test.go ├── packet.go ├── packet_flag.go ├── packet_side_data.go ├── packet_side_data_test.go ├── packet_test.go ├── picture_type.go ├── picture_type_test.go ├── pixel_format.go ├── pixel_format_descriptor.go ├── pixel_format_descriptor_flag.go ├── pixel_format_descriptor_test.go ├── pixel_format_test.go ├── private_data.go ├── profile.go ├── program.go ├── program_test.go ├── rational.go ├── rational_test.go ├── region_of_interest.go ├── rounding.go ├── sample_format.go ├── sample_format_test.go ├── seek_flag.go ├── skip_samples.go ├── skip_samples_test.go ├── software_resample_context.go ├── software_resample_context_test.go ├── software_scale_context.go ├── software_scale_context_flag.go ├── software_scale_context_test.go ├── stream.go ├── stream_event_flag.go ├── stream_test.go ├── strict_std_compliance.go ├── testdata/ │ ├── audio-s16le-bytes │ ├── audio-s16le.pcm │ ├── image-rgba-bytes │ ├── image-rgba-struct │ ├── image-rgba-upscaled-bytes │ ├── video-yuv420p-bytes │ ├── video-yuv420p-struct │ └── video-yuv420p.h264 ├── thread_type.go ├── time.go └── time_test.go ================================================ FILE CONTENTS ================================================ ================================================ FILE: .devcontainer/Dockerfile ================================================ FROM debian:latest RUN apt-get update ## # git ## RUN apt-get install -y git nano ## # ffmpeg ## ARG FFMPEG_VERSION RUN apt-get install -y \ build-essential \ nasm \ pkg-config \ libx264-dev \ libpng-dev RUN mkdir -p /opt/ffmpeg \ && git clone https://github.com/FFmpeg/FFmpeg /opt/ffmpeg/src \ && cd /opt/ffmpeg/src \ && git checkout ${FFMPEG_VERSION} RUN cd /opt/ffmpeg/src \ && ./configure --prefix=.. --enable-libx264 --enable-gpl \ && make \ && make install ## # go ## ARG GO_VERSION RUN apt-get install -y wget RUN <<_EOF_ sh arch=$(dpkg --print-architecture) goArch="amd64" case \${arch} in arm64) goArch="arm64" ;; esac wget -O /tmp/go.tar.gz https://dl.google.com/go/go${GO_VERSION}.linux-\${goArch}.tar.gz tar -C /opt -xzf /tmp/go.tar.gz _EOF_ ENV PATH="$PATH:/opt/go/bin" ================================================ FILE: .devcontainer/devcontainer.json ================================================ { "build": { "args": { "FFMPEG_VERSION": "n8.0", "GO_VERSION": "1.25.5" }, "dockerfile": "Dockerfile" }, "containerEnv": { "CGO_LDFLAGS": "-L/opt/ffmpeg/lib/", "CGO_CFLAGS": "-I/opt/ffmpeg/include/", "PKG_CONFIG_PATH": "/opt/ffmpeg/lib/pkgconfig" }, "customizations": { "vscode": { "extensions": [ "ms-vscode.cpptools-extension-pack", "golang.go" ], "settings": { "remote.autoForwardPorts": false } } }, "mounts": [ "source=${localEnv:HOME}${localEnv:USERPROFILE}/.ssh,target=/root/.ssh,readonly,type=bind" ], "name": "asticode/go-astiav" } ================================================ FILE: .github/workflows/Makefile ================================================ version= srcPath= patchPath= install-ffmpeg: rm -rf $(srcPath) mkdir -p $(srcPath) cd $(srcPath) && git clone https://github.com/FFmpeg/FFmpeg . cd $(srcPath) && git checkout $(version) ifneq "" "$(patchPath)" cd $(srcPath) && git apply $(patchPath) endif cd $(srcPath) && ./configure --prefix=.. cd $(srcPath) && make cd $(srcPath) && make install ================================================ FILE: .github/workflows/test.yml ================================================ name: Test on: push: branches: [ "master", "test-github-actions" ] pull_request: branches: [ "master" ] jobs: test-cpu: strategy: fail-fast: false matrix: os: [ubuntu-latest, macos-latest, windows-latest] env: FFMPEG_VERSION: n8.0 runs-on: ${{ matrix.os }} steps: - uses: actions/checkout@v4 - if: ${{ runner.os == 'Windows' }} name: Prepare windows run: | echo "FFMPEG_PATH=$(cygpath -u $(cd ~ && pwd))/ffmpeg" >> $env:GITHUB_ENV choco install --allow-empty-checksums pkgconfiglite - if: ${{ runner.os != 'Windows' }} name: Prepare non windows run: | echo "FFMPEG_PATH=$(echo ~)/ffmpeg" >> $GITHUB_ENV - if: ${{ runner.os == 'Windows' }} name: Set windows ffmpeg cache path run: | echo "FFMPEG_CACHE_PATH=$(cygpath -w ${{ env.FFMPEG_PATH }})" >> $env:GITHUB_ENV - if: ${{ runner.os != 'Windows' }} name: Set non-windows ffmpeg cache path run: | echo "FFMPEG_CACHE_PATH=${{ env.FFMPEG_PATH }}" >> $GITHUB_ENV - name: Load ffmpeg cache id: load-ffmpeg-cache uses: actions/cache@v4 with: path: ${{ env.FFMPEG_CACHE_PATH }} key: ffmpeg-${{ env.FFMPEG_VERSION }}-${{ runner.os }} - if: ${{ steps.load-ffmpeg-cache.outputs.cache-hit != 'true' && runner.os == 'Linux' }} name: Prepare linux ffmpeg install run: | sudo apt-get install nasm - if: ${{ steps.load-ffmpeg-cache.outputs.cache-hit != 'true' && runner.os == 'macOS' }} name: Prepare macos ffmpeg install run: | brew install nasm - if: ${{ steps.load-ffmpeg-cache.outputs.cache-hit != 'true' && runner.os == 'Windows' }} name: Prepare windows ffmpeg install run: | choco install make choco install nasm echo "FFMPEG_PATCH_PATH='$(cygpath -u ${{ github.WORKSPACE }})/.github/workflows/windows.patch'" >> $env:GITHUB_ENV - if: ${{ steps.load-ffmpeg-cache.outputs.cache-hit != 'true' }} name: Install ffmpeg run: | cd .github/workflows make install-ffmpeg srcPath=${{ env.FFMPEG_PATH }}/src version=${{ env.FFMPEG_VERSION }} patchPath=${{ env.FFMPEG_PATCH_PATH }} - if: ${{ steps.load-ffmpeg-cache.outputs.cache-hit != 'true' }} name: Save ffmpeg cache uses: actions/cache/save@v4 with: path: ${{ env.FFMPEG_CACHE_PATH }} key: ffmpeg-${{ env.FFMPEG_VERSION }}-${{ runner.os }} - if: ${{ runner.os == 'Windows' }} name: Set windows environment variables run: | echo "CGO_LDFLAGS=-L${{ env.FFMPEG_PATH }}/lib/" >> $env:GITHUB_ENV echo "CGO_CFLAGS=-I${{ env.FFMPEG_PATH }}/include/" >> $env:GITHUB_ENV echo "PKG_CONFIG_PATH=$(cygpath -w ${{ env.FFMPEG_PATH }}/lib/pkgconfig)" >> $env:GITHUB_ENV - if: ${{ runner.os != 'Windows' }} name: Set non-windows environment variables run: | echo "CGO_LDFLAGS=-L${{ env.FFMPEG_PATH }}/lib/" >> $GITHUB_ENV echo "CGO_CFLAGS=-I${{ env.FFMPEG_PATH }}/include/" >> $GITHUB_ENV echo "PKG_CONFIG_PATH=${{ env.FFMPEG_PATH }}/lib/pkgconfig" >> $GITHUB_ENV - name: Set up Go uses: actions/setup-go@v5 with: go-version: '1.21' - name: Install dependencies run: go mod download - if: ${{ runner.os == 'macOS' }} name: Fix MacOS libx11 bug (remove when unecessary) run: | ln -s /opt/homebrew/Cellar/libx11/1.8.11 /opt/homebrew/Cellar/libx11/1.8.10 - name: Run tests run: | go test -v -race -covermode atomic -coverprofile=covprofile ./... - if: github.event_name != 'pull_request' name: Send coverage env: COVERALLS_TOKEN: ${{ secrets.COVERALLS_TOKEN }} run: | go install github.com/mattn/goveralls@latest goveralls -coverprofile=covprofile -service=github ================================================ FILE: .github/workflows/windows.patch ================================================ # https://trac.ffmpeg.org/ticket/6620 diff --git a/ffbuild/library.mak b/ffbuild/library.mak --- a/ffbuild/library.mak +++ b/ffbuild/library.mak @@ -36,8 +36,8 @@ $(SUBDIR)$(LIBNAME): $(OBJS) $(STLIBOBJS) $(SUBDIR)$(LIBNAME): $(OBJS) $(STLIBOBJS) $(RM) $@ ifeq ($(RESPONSE_FILES),yes) - $(Q)echo $^ > $@.objs + $(file >$@.objs,$^) $(AR) $(ARFLAGS) $(AR_O) @$@.objs else $(AR) $(ARFLAGS) $(AR_O) $^ endif @@ -73,8 +73,8 @@ $(SUBDIR)$(SLIBNAME_WITH_MAJOR): $(OBJS) $(SHLIBOBJS) $(SUBDIR)lib$(NAME).ver $(SUBDIR)$(SLIBNAME_WITH_MAJOR): $(OBJS) $(SHLIBOBJS) $(SUBDIR)lib$(NAME).ver $(SLIB_CREATE_DEF_CMD) ifeq ($(RESPONSE_FILES),yes) - $(Q)echo $$(filter %.o,$$^) > $$@.objs + $(file >$$@.objs,$$(filter %.o,$$^)) $$(LD) $(SHFLAGS) $(LDFLAGS) $(LDSOFLAGS) $$(LD_O) @$$@.objs $(FFEXTRALIBS) else $$(LD) $(SHFLAGS) $(LDFLAGS) $(LDSOFLAGS) $$(LD_O) $$(filter %.o,$$^) $(FFEXTRALIBS) endif ================================================ FILE: .gitignore ================================================ .DS_Store coverage.out .idea ================================================ FILE: .vscode/.gitignore ================================================ settings.json ================================================ FILE: .vscode/c_cpp_properties.json ================================================ { "configurations": [ { "includePath": [ "${workspaceFolder}/**", "/opt/ffmpeg/include" ] } ], "version": 4 } ================================================ FILE: BREAKING_CHANGES.md ================================================ # v0.40.0 - `Codec`.`ChannelLayouts`, `Codec`.`PixelFormats` and `Codec`.`SampleFormats` have been renamed to `Codec`.`SupportedChannelLayouts`, `Codec`.`SupportedPixelFormats` and `Codec`.`SupportedSampleFormats` - `Frame`.`KeyFrame` and `Frame`.`SetKeyFrame` have been removed. Use `Frame`.`Flags` and `Frame`.`SetFlags` instead # v0.31.0 - removed `AllocImage` and `AllocSamples` that are considered useless using CGO until proven otherwise # v0.30.0 - `HardwareFrameContext` has been renamed to `HardwareFramesContext` # v0.29.0 - `NewFilterContext` has been removed, use `NewBuffersinkFilterContext` or `NewBuffersrcFilterContext` instead - `args` has been removed from `NewBuffersinkFilterContext` and `NewBuffersrcFilterContext`. Instead, after calling `NewBuffersrcFilterContext`, you need to use `BuffersrcFilterContext`.`SetParameters` then `BuffersrcFilterContext`.`Initialize`. You don't need to use anything else after calling `NewBuffersinkFilterContext` # v0.27.0 - make sure to call the `IOInterrupter`.`Free` method after using `NewIOInterrupter` # v0.25.0 - `CodecParameters`.`CodecType` and `CodecParameters`.`SetCodecType` have been removed, use `CodecParameters`.`MediaType` and `CodecParameters`.`SetMediaType` instead - `HardwareFrameContext`.`SetPixelFormat` has been replaced with `HardwareFrameContext`.`SetHardwarePixelFormat` - `FormatContext`.`SetInterruptCallback` has been replaced with `FormatContext`.`SetIOInterrupter` # v0.24.0 - use `FilterGraph`.`NewBuffersinkFilterContext` and `FilterGraph`.`NewBuffersrcFilterContext` instead of `FilterGraph`.`NewFilterContext` when creating `buffersink` and `buffersrc` filter contexts and use `BuffersinkFilterContext`.`GetFrame` and `BuffersrcFilterContext`.`AddFrame` to manipulate them. Use `BuffersinkFilterContext`.`FilterContext` and `BuffersrcFilterContext`.`FilterContext` in `FilterInOut`.`SetFilterContext`. - `FilterLink` has been removed and methods like `BuffersinkFilterContext`.`ChannelLayout` have been added instead ================================================ FILE: LICENSE ================================================ MIT License Copyright (c) 2022 Quentin Renard Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ================================================ FILE: README.md ================================================ [![GoReportCard](http://goreportcard.com/badge/github.com/asticode/go-astiav)](http://goreportcard.com/report/github.com/asticode/go-astiav) [![GoDoc](https://godoc.org/github.com/asticode/go-astiav?status.svg)](https://godoc.org/github.com/asticode/go-astiav) [![Test](https://github.com/asticode/go-astiav/actions/workflows/test.yml/badge.svg)](https://github.com/asticode/go-astiav/actions/workflows/test.yml) [![Coveralls](https://coveralls.io/repos/github/asticode/go-astiav/badge.svg?branch=master)](https://coveralls.io/github/asticode/go-astiav) `astiav` is a Golang library providing C bindings for [ffmpeg](https://github.com/FFmpeg/FFmpeg) It's only compatible with `ffmpeg` `n8.0`. Its main goals are to: - [x] provide a better GO idiomatic API - standard error pattern - typed constants and flags - struct-based functions - ... - [x] provide the GO version of [ffmpeg examples](https://github.com/FFmpeg/FFmpeg/tree/n8.0/doc/examples) - [x] be fully tested :warning: breaking changes will be introduced in `go-astiav` **without** using the `v2` golang pattern. You can see the list of breaking changes [here](BREAKING_CHANGES.md). # Examples Examples are located in the [examples](examples) directory and mirror as much as possible the [ffmpeg examples](https://github.com/FFmpeg/FFmpeg/tree/n8.0/doc/examples). |name|astiav|ffmpeg| |---|---|---| |BitStream Filtering|[see](examples/bit_stream_filtering/main.go)|X |Custom IO Demuxing|[see](examples/custom_io_demuxing/main.go)|[see](https://github.com/FFmpeg/FFmpeg/blob/n8.0/doc/examples/avio_read_callback.c) |Custom IO Muxing|[see](examples/custom_io_muxing/main.go)|X |Demuxing/Decoding|[see](examples/demuxing_decoding/main.go)|[see](https://github.com/FFmpeg/FFmpeg/blob/n8.0/doc/examples/demux_decode.c) |Filtering|[see](examples/filtering/main.go)|[see](https://github.com/FFmpeg/FFmpeg/blob/n8.0/doc/examples/decode_filter_video.c) |Frame data manipulation|[see](examples/frame_data_manipulation/main.go)|X |Hardware Decoding/Filtering|[see](examples/hardware_decoding_filtering/main.go)|[see](https://github.com/FFmpeg/FFmpeg/blob/n8.0/doc/examples/hw_decode.c) |Hardware Encoding|[see](examples/hardware_encoding/main.go)|[see](https://github.com/FFmpeg/FFmpeg/blob/n8.0/doc/examples/vaapi_encode.c) |Remuxing|[see](examples/remuxing/main.go)|[see](https://github.com/FFmpeg/FFmpeg/blob/n8.0/doc/examples/remux.c) |Resampling audio|[see](examples/resampling_audio/main.go)|[see](https://github.com/FFmpeg/FFmpeg/blob/n8.0/doc/examples/resample_audio.c) |Scaling video|[see](examples/scaling_video/main.go)|[see](https://github.com/FFmpeg/FFmpeg/blob/n8.0/doc/examples/scale_video.c) |Transcoding|[see](examples/transcoding/main.go)|[see](https://github.com/FFmpeg/FFmpeg/blob/n8.0/doc/examples/transcode.c) *Tip: you can use the video sample located in the `testdata` directory for your tests* # Patterns *NB: errors are not checked below for readibility purposes, however you should!* First off, all use cases are different and it's impossible to provide patterns that work in every situation. That's why `ffmpeg`'s doc or source code should be your ultimate source of truth regarding how to use this library. That's why all methods of this library have been documented with a link referencing the documentation of the C function they use. However it's possible to give rules of thumb and patterns that fit most use cases and can kickstart most people. Here's a few of them: ## When to call `Alloc()`, `.Unref()` and `.Free()` Let's take the `FormatContext.ReadFrame()` pattern as an example. The pattern is similar with frames. ```go // You can allocate the packet once and reuse the same object in the for loop below pkt := astiav.AllocPacket() // However, once you're done using the packet, you need to make sure to free it defer pkt.Free() // Loop for { // We'll use a closure to ease unreferencing the packet func() { // Read frame using the same packet every time formatContext.ReadFrame(pkt) // However make sure to unreference the packet once you're done with what // have been "injected" by the .ReadFrame() method defer pkt.Unref() // Here you can do whatever you feel like with your packet }() } ``` # Install ffmpeg from source Check out the `ffmpeg` section in the [Devcontainer Dockerfile](.devcontainer/Dockerfile) to see how to install ffmpeg from source. For your GO code to pick up `ffmpeg` dependency automatically, you'll need to update the following environment variables : (don't forget to replace `{{ path to your ffmpeg directory }}` with the absolute path to your ffmpeg directory) ```sh export CGO_CFLAGS="-I{{ path to your ffmpeg directory }}/include/", export CGO_LDFLAGS="-L{{ path to your ffmpeg directory }}/lib/", export PKG_CONFIG_PATH="{{ path to your ffmpeg directory }}/lib/pkgconfig", ``` ## Building on Windows Building on Windows requires msys2 / mingw64 gcc toolchain. Read the [Quickstart guide](https://www.msys2.org) to install Msys2. Once complete run the Mingw64 shell from the installation folder, run the below commands: ```shell # Update Packages pacman -Syu # Install Requirements to Build pacman -S --noconfirm --needed git diffutils mingw-w64-x86_64-toolchain pkg-config make nasm # Clone the repository using git git clone https://github.com/asticode/go-astiav cd go-astiav ``` Then once you clone this repository, follow along the build instructions above. > **Notes:** > For `pkg-config` use `pkgconfiglite` from choco. > Remember to set `CGO` and `PKG_CONFIG` env vars properly to point to the folder where ffmpeg was built. # Why astiav? After maintaining for several years the most starred [fork](https://github.com/asticode/goav) of [goav](https://github.com/giorgisio/goav), I've decided to write from scratch my own C bindings to fix most of the problems I still encountered using `goav`. ================================================ FILE: astiav.go ================================================ package astiav //#cgo pkg-config: libavcodec libavdevice libavfilter libavformat libswresample libswscale libavutil import "C" ================================================ FILE: astiav_test.go ================================================ package astiav import ( "errors" "fmt" "os" "sync" "testing" "github.com/asticode/go-astikit" ) var globalHelper = newHelper() func TestMain(m *testing.M) { // Make sure to exit with the proper code var code int defer func(code *int) { os.Exit(*code) }(&code) // Make sure to close global helper defer globalHelper.close() // Run code = m.Run() } type helper struct { closer *astikit.Closer inputs map[string]*helperInput m *sync.Mutex // Locks inputs } func newHelper() *helper { return &helper{ closer: astikit.NewCloser(), inputs: make(map[string]*helperInput), m: &sync.Mutex{}, } } func (h *helper) close() { h.closer.Close() } type helperInput struct { firstPkt *Packet formatContext *FormatContext lastFrames map[MediaType]*Frame } func newHelperInput() *helperInput { return &helperInput{lastFrames: make(map[MediaType]*Frame)} } func (h *helper) inputFormatContext(name string, ifmt *InputFormat) (fc *FormatContext, err error) { h.m.Lock() i, ok := h.inputs[name] if ok && i.formatContext != nil { h.m.Unlock() return i.formatContext, nil } h.m.Unlock() if fc = AllocFormatContext(); fc == nil { err = errors.New("astiav_test: allocated format context is nil") return } h.closer.Add(fc.Free) if err = fc.OpenInput("testdata/"+name, ifmt, nil); err != nil { err = fmt.Errorf("astiav_test: opening input failed: %w", err) return } h.closer.Add(fc.CloseInput) if err = fc.FindStreamInfo(nil); err != nil { err = fmt.Errorf("astiav_test: finding stream info failed: %w", err) return } h.m.Lock() if _, ok := h.inputs[name]; !ok { h.inputs[name] = newHelperInput() } h.inputs[name].formatContext = fc h.m.Unlock() return } func (h *helper) inputFirstPacket(name string) (pkt *Packet, err error) { h.m.Lock() i, ok := h.inputs[name] if ok && i.firstPkt != nil { h.m.Unlock() return i.firstPkt, nil } h.m.Unlock() var fc *FormatContext if fc, err = h.inputFormatContext(name, nil); err != nil { err = fmt.Errorf("astiav_test: getting input format context failed") return } pkt = AllocPacket() if pkt == nil { err = errors.New("astiav_test: pkt is nil") return } h.closer.Add(pkt.Free) if err = fc.ReadFrame(pkt); err != nil { err = fmt.Errorf("astiav_test: reading frame failed: %w", err) return } h.m.Lock() h.inputs[name].firstPkt = pkt h.m.Unlock() return } func (h *helper) inputLastFrame(name string, mediaType MediaType, ifmt *InputFormat) (*Frame, error) { h.m.Lock() if i, ok := h.inputs[name]; ok { if len(i.lastFrames) > 0 { f, ok := i.lastFrames[mediaType] h.m.Unlock() if ok { return f, nil } return nil, fmt.Errorf("astiav_test: no last frame for media type %s", mediaType) } } h.m.Unlock() fc, err := h.inputFormatContext(name, ifmt) if err != nil { return nil, fmt.Errorf("astiav_test: getting input format context failed: %w", err) } type stream struct { cc *CodecContext s *Stream } streams := make(map[int]*stream) mediaTypeFound := false for _, v := range fc.Streams() { s := &stream{s: v} streams[v.Index()] = s c := FindDecoder(v.CodecParameters().CodecID()) if c == nil { return nil, fmt.Errorf("astiav_test: no decoder found for %s", v.CodecParameters().CodecID()) } s.cc = AllocCodecContext(c) if s.cc == nil { return nil, errors.New("astiav_test: no codec context") } h.closer.Add(s.cc.Free) if err = s.s.CodecParameters().ToCodecContext(s.cc); err != nil { return nil, fmt.Errorf("astiav_test: updating codec context failed: %w", err) } if err = s.cc.Open(c, nil); err != nil { return nil, fmt.Errorf("astiav_test: opening codec context failed: %w", err) } if _, ok := h.inputs[name].lastFrames[s.cc.MediaType()]; !ok { h.inputs[name].lastFrames[s.cc.MediaType()] = AllocFrame() h.closer.Add(h.inputs[name].lastFrames[s.cc.MediaType()].Free) } if s.cc.MediaType() == mediaType { mediaTypeFound = true } } if !mediaTypeFound { return nil, fmt.Errorf("astiav_test: no stream for media type %s", mediaType) } var pkt1 *Packet if pkt1, err = h.inputFirstPacket(name); err != nil { return nil, fmt.Errorf("astiav_test: getting input first packet failed: %w", err) } pkt2 := AllocPacket() h.closer.Add(pkt2.Free) f := AllocFrame() h.closer.Add(f.Free) pkts := []*Packet{pkt1} for { if err = fc.ReadFrame(pkt2); err != nil { if errors.Is(err, ErrEof) || errors.Is(err, ErrEagain) { if len(pkts) == 0 { err = nil break } } else { return nil, fmt.Errorf("astiav_test: reading frame failed: %w", err) } } else { pkts = append(pkts, pkt2) } for _, pkt := range pkts { s, ok := streams[pkt.StreamIndex()] if !ok { continue } if err = s.cc.SendPacket(pkt); err != nil { return nil, fmt.Errorf("astiav_test: sending packet failed: %w", err) } for { if err = s.cc.ReceiveFrame(f); err != nil { if errors.Is(err, ErrEof) || errors.Is(err, ErrEagain) { err = nil break } return nil, fmt.Errorf("astiav_test: receiving frame failed: %w", err) } h.m.Lock() h.inputs[name].lastFrames[s.cc.MediaType()].Unref() err = h.inputs[name].lastFrames[s.cc.MediaType()].Ref(f) h.m.Unlock() if err != nil { return nil, fmt.Errorf("astiav_test: refing frame failed: %w", err) } } } pkts = []*Packet{} } return h.inputs[name].lastFrames[mediaType], nil } ================================================ FILE: atomic.c ================================================ #include int astiavAtomicLoadInt(atomic_int* i) { return atomic_load(i); } void astiavAtomicStoreInt(atomic_int* i, int v) { return atomic_store(i, v); } ================================================ FILE: atomic.h ================================================ #include int astiavAtomicLoadInt(atomic_int* i); void astiavAtomicStoreInt(atomic_int* i, int v); ================================================ FILE: audio_fifo.go ================================================ package astiav //#include import "C" import "unsafe" // https://ffmpeg.org/doxygen/8.0/structAVAudioFifo.html type AudioFifo struct { c *C.AVAudioFifo } func newAudioFifoFromC(c *C.AVAudioFifo) *AudioFifo { if c == nil { return nil } return &AudioFifo{c: c} } // https://ffmpeg.org/doxygen/8.0/group__lavu__audiofifo.html#ga9d792394f0615a329aec47847f8f8784 func AllocAudioFifo(sampleFmt SampleFormat, channels int, nbSamples int) *AudioFifo { return newAudioFifoFromC(C.av_audio_fifo_alloc(C.enum_AVSampleFormat(sampleFmt), C.int(channels), C.int(nbSamples))) } // https://ffmpeg.org/doxygen/8.0/group__lavu__audiofifo.html#ga27c1e16e5f09940d6016b1971c0b5742 func (a *AudioFifo) Realloc(nbSamples int) error { return newError(C.av_audio_fifo_realloc(a.c, C.int(nbSamples))) } // https://ffmpeg.org/doxygen/8.0/group__lavu__audiofifo.html#gaa0a4742ecac52a999e8b4478d27f3b9b func (a *AudioFifo) Size() int { return int(C.av_audio_fifo_size(a.c)) } // https://ffmpeg.org/doxygen/8.0/group__lavu__audiofifo.html#ga2bed2f01fe34228ee8a73617b3177d00 func (a *AudioFifo) Space() int { return int(C.av_audio_fifo_space(a.c)) } // https://ffmpeg.org/doxygen/8.0/group__lavu__audiofifo.html#ga51d81a165872919bbfdee3f00f6d6530 func (a *AudioFifo) Write(f *Frame) (int, error) { ret := C.av_audio_fifo_write(a.c, (*unsafe.Pointer)(unsafe.Pointer(&f.c.data[0])), C.int(f.NbSamples())) if err := newError(ret); err != nil { return 0, err } return int(ret), nil } // https://ffmpeg.org/doxygen/8.0/group__lavu__audiofifo.html#ga5e2c87bbeefba0d229b4109b4b755529 func (a *AudioFifo) Read(f *Frame) (int, error) { ret := C.av_audio_fifo_read(a.c, (*unsafe.Pointer)(unsafe.Pointer(&f.c.data[0])), C.int(f.NbSamples())) if err := newError(ret); err != nil { return 0, err } return int(ret), nil } // https://ffmpeg.org/doxygen/8.0/group__lavu__audiofifo.html#ga74e029e47f7aa99217ad1f315c434875 func (a *AudioFifo) Free() { if a.c != nil { C.av_audio_fifo_free(a.c) a.c = nil } } ================================================ FILE: audio_fifo_test.go ================================================ package astiav import ( "testing" "github.com/stretchr/testify/require" ) func TestAudioFIFO(t *testing.T) { afn := 2000 af := AllocAudioFifo(SampleFormatFltp, 2, afn) defer af.Free() wn := 1024 wf := AllocFrame() wf.SetNbSamples(wn) wf.SetChannelLayout(ChannelLayoutStereo) wf.SetSampleFormat(SampleFormatFltp) wf.SetSampleRate(48000) wf.AllocBuffer(0) rn := 120 rf := AllocFrame() rf.SetNbSamples(rn) rf.SetChannelLayout(ChannelLayoutStereo) rf.SetSampleFormat(SampleFormatFltp) rf.SetSampleRate(48000) rf.AllocBuffer(0) w, err := af.Write(wf) require.NoError(t, err) require.Equal(t, wn, w) r, err := af.Read(rf) require.NoError(t, err) require.Equal(t, rn, r) require.Equal(t, wn-rn, af.Size()) require.Equal(t, afn-af.Size(), af.Space()) afn = 3000 require.NoError(t, af.Realloc(afn)) require.Equal(t, wn-rn, af.Size()) require.Equal(t, afn-af.Size(), af.Space()) } ================================================ FILE: bit_stream_filter.go ================================================ package astiav //#include //#include import "C" import ( "unsafe" ) // https://ffmpeg.org/doxygen/8.0/structAVBitStreamFilter.html type BitStreamFilter struct { c *C.AVBitStreamFilter } func newBitStreamFilterFromC(c *C.AVBitStreamFilter) *BitStreamFilter { if c == nil { return nil } return &BitStreamFilter{c: c} } // https://ffmpeg.org/doxygen/8.0/group__lavc__bsf.html#gae491493190b45698ebd43db28c4e8fe9 func FindBitStreamFilterByName(n string) *BitStreamFilter { cn := C.CString(n) defer C.free(unsafe.Pointer(cn)) return newBitStreamFilterFromC(C.av_bsf_get_by_name(cn)) } // https://ffmpeg.org/doxygen/8.0/structAVBitStreamFilter.html#a33c3cb51bd13060da35481655b41e4e5 func (bsf *BitStreamFilter) Name() string { return C.GoString(bsf.c.name) } func (bsf *BitStreamFilter) String() string { return bsf.Name() } ================================================ FILE: bit_stream_filter_context.go ================================================ package astiav //#include import "C" import ( "errors" "unsafe" ) // https://ffmpeg.org/doxygen/8.0/structAVBSFContext.html type BitStreamFilterContext struct { c *C.AVBSFContext } func newBSFContextFromC(c *C.AVBSFContext) *BitStreamFilterContext { if c == nil { return nil } bsfc := &BitStreamFilterContext{c: c} classers.set(bsfc) return bsfc } var _ Classer = (*BitStreamFilterContext)(nil) // https://ffmpeg.org/doxygen/8.0/group__lavc__bsf.html#ga7da65af303e20c9546e15ec266b182c1 func AllocBitStreamFilterContext(f *BitStreamFilter) (*BitStreamFilterContext, error) { if f == nil { return nil, errors.New("astiav: bit stream filter must not be nil") } var bsfc *C.AVBSFContext if err := newError(C.av_bsf_alloc(f.c, &bsfc)); err != nil { return nil, err } return newBSFContextFromC(bsfc), nil } // https://ffmpeg.org/doxygen/8.0/structAVBSFContext.html#aa5d5018816daac804414c459ec8a1c5c func (bsfc *BitStreamFilterContext) Class() *Class { if bsfc.c == nil { return nil } return newClassFromC(unsafe.Pointer(bsfc.c)) } // https://ffmpeg.org/doxygen/8.0/group__lavc__bsf.html#ga242529d54013acf87e94273d298a5ff2 func (bsfc *BitStreamFilterContext) Initialize() error { return newError(C.av_bsf_init(bsfc.c)) } // https://ffmpeg.org/doxygen/8.0/structAVBSFContext.html#a5c799e50f572340b69d4c79cda8f2de9 func (bsfc *BitStreamFilterContext) PrivateData() *PrivateData { return newPrivateDataFromC(bsfc.c.priv_data) } // https://ffmpeg.org/doxygen/8.0/group__lavc__bsf.html#gaada9ea8f08d3dcf23c14564dbc88992c func (bsfc *BitStreamFilterContext) SendPacket(p *Packet) error { var pc *C.AVPacket if p != nil { pc = p.c } return newError(C.av_bsf_send_packet(bsfc.c, pc)) } // https://ffmpeg.org/doxygen/8.0/group__lavc__bsf.html#ga7fffb6c87b91250956e7a2367af56b38 func (bsfc *BitStreamFilterContext) ReceivePacket(p *Packet) error { if p == nil { return errors.New("astiav: packet must not be nil") } return newError(C.av_bsf_receive_packet(bsfc.c, p.c)) } // https://ffmpeg.org/doxygen/8.0/group__lavc__bsf.html#ga08d53431e76355f88e27763b1940df4f func (bsfc *BitStreamFilterContext) Free() { if bsfc.c != nil { // Make sure to clone the classer before freeing the object since // the C free method may reset the pointer c := newClonedClasser(bsfc) C.av_bsf_free(&bsfc.c) // Make sure to remove from classers after freeing the object since // the C free method may use methods needing the classer if c != nil { classers.del(c) } } } // https://ffmpeg.org/doxygen/8.0/structAVBSFContext.html#ad75adf988c00f89202099c87ea39f0db func (bsfc *BitStreamFilterContext) InputTimeBase() Rational { return newRationalFromC(bsfc.c.time_base_in) } // https://ffmpeg.org/doxygen/8.0/structAVBSFContext.html#ad75adf988c00f89202099c87ea39f0db func (bsfc *BitStreamFilterContext) SetInputTimeBase(r Rational) { bsfc.c.time_base_in = r.c } // https://ffmpeg.org/doxygen/8.0/structAVBSFContext.html#a702ace639b8193475cf0a12ebdebd738 func (bsfc *BitStreamFilterContext) InputCodecParameters() *CodecParameters { return newCodecParametersFromC(bsfc.c.par_in) } // https://ffmpeg.org/doxygen/8.0/structAVBSFContext.html#ab58f8c37eec197e0f30d17d60959a60d func (bsfc *BitStreamFilterContext) OutputCodecParameters() *CodecParameters { return newCodecParametersFromC(bsfc.c.par_out) } ================================================ FILE: bit_stream_filter_context_test.go ================================================ package astiav import ( "testing" "github.com/stretchr/testify/require" ) func TestBitStreamFilterContext(t *testing.T) { bsf := FindBitStreamFilterByName("h264_metadata") require.NotNil(t, bsf) bsfc, err := AllocBitStreamFilterContext(bsf) require.NotNil(t, bsfc) require.NoError(t, err) defer bsfc.Free() require.NotNil(t, bsfc.PrivateData()) cl := bsfc.Class() require.NotNil(t, cl) require.Equal(t, "AVBSFContext", cl.Name()) bsfc.SetInputTimeBase(NewRational(15, 1)) require.Equal(t, NewRational(15, 1), bsfc.InputTimeBase()) cp1 := AllocCodecParameters() require.NotNil(t, cp1) defer cp1.Free() cp1.SetCodecID(CodecIDH264) require.NoError(t, cp1.Copy(bsfc.InputCodecParameters())) require.Equal(t, CodecIDH264, bsfc.InputCodecParameters().CodecID()) require.Equal(t, CodecIDNone, bsfc.OutputCodecParameters().CodecID()) require.NoError(t, bsfc.Initialize()) require.Equal(t, CodecIDH264, bsfc.OutputCodecParameters().CodecID()) // TODO Test SendPacket // TODO Test ReceivePacket } ================================================ FILE: bit_stream_filter_test.go ================================================ package astiav import ( "testing" "github.com/stretchr/testify/require" ) func TestBitStreamFilter(t *testing.T) { fn := "null" f := FindBitStreamFilterByName(fn) require.NotNil(t, f) require.Equal(t, f.Name(), fn) require.Equal(t, f.String(), fn) f = FindBitStreamFilterByName("foobar_non_existing_bsf") require.Nil(t, f) } ================================================ FILE: buffersink_filter_context.go ================================================ package astiav //#include import "C" type BuffersinkFilterContext struct { fc *FilterContext } func newBuffersinkFilterContext(fc *FilterContext) *BuffersinkFilterContext { return &BuffersinkFilterContext{fc: fc} } // https://ffmpeg.org/doxygen/8.0/group__lavfi__buffersink__accessors.html#gaad918036937648701c09f9612f42706e func (bfc *BuffersinkFilterContext) ChannelLayout() ChannelLayout { var cl C.AVChannelLayout C.av_buffersink_get_ch_layout(bfc.fc.c, &cl) return newChannelLayoutFromC(&cl) } // https://ffmpeg.org/doxygen/8.0/group__lavfi__buffersink__accessors.html#gab80976e506ab88d23d94bb6d7a4051bd func (bfc *BuffersinkFilterContext) ColorRange() ColorRange { return ColorRange(C.av_buffersink_get_color_range(bfc.fc.c)) } // https://ffmpeg.org/doxygen/8.0/group__lavfi__buffersink__accessors.html#gaad817cdcf5493c385126e8e17c5717f2 func (bfc *BuffersinkFilterContext) ColorSpace() ColorSpace { return ColorSpace(C.av_buffersink_get_colorspace(bfc.fc.c)) } func (bfc *BuffersinkFilterContext) FilterContext() *FilterContext { return bfc.fc } // https://ffmpeg.org/doxygen/8.0/group__lavfi__buffersink__accessors.html#ga55614fd28de2fa05b04f427390061d5b func (bfc *BuffersinkFilterContext) FrameRate() Rational { return newRationalFromC(C.av_buffersink_get_frame_rate(bfc.fc.c)) } // https://ffmpeg.org/doxygen/8.0/group__lavfi__buffersink.html#ga71ae9c529c8da51681e12faa37d1a395 func (bfc *BuffersinkFilterContext) GetFrame(f *Frame, fs BuffersinkFlags) error { var cf *C.AVFrame if f != nil { cf = f.c } return newError(C.av_buffersink_get_frame_flags(bfc.fc.c, cf, C.int(fs))) } // https://ffmpeg.org/doxygen/8.0/group__lavfi__buffersink__accessors.html#ga955ecf3680e71e10429d7500343be25c func (bfc *BuffersinkFilterContext) Height() int { return int(C.av_buffersink_get_h(bfc.fc.c)) } // https://ffmpeg.org/doxygen/8.0/group__lavfi__buffersink__accessors.html#ga1eb8bbf583ffb7cc29aaa1944b1e699c func (bfc *BuffersinkFilterContext) MediaType() MediaType { return MediaType(C.av_buffersink_get_type(bfc.fc.c)) } // https://ffmpeg.org/doxygen/8.0/group__lavfi__buffersink__accessors.html#ga402ddbef6f7347869725696846ac81eb func (bfc *BuffersinkFilterContext) PixelFormat() PixelFormat { return PixelFormat(C.av_buffersink_get_format(bfc.fc.c)) } // https://ffmpeg.org/doxygen/8.0/group__lavfi__buffersink__accessors.html#gaa38ee33e1c7f6f7cb190bd2330e5f848 func (bfc *BuffersinkFilterContext) SampleAspectRatio() Rational { return newRationalFromC(C.av_buffersink_get_sample_aspect_ratio(bfc.fc.c)) } // https://ffmpeg.org/doxygen/8.0/group__lavfi__buffersink__accessors.html#ga402ddbef6f7347869725696846ac81eb func (bfc *BuffersinkFilterContext) SampleFormat() SampleFormat { return SampleFormat(C.av_buffersink_get_format(bfc.fc.c)) } // https://ffmpeg.org/doxygen/8.0/group__lavfi__buffersink__accessors.html#ga2af714e82f48759551acdbc4488ded4a func (bfc *BuffersinkFilterContext) SampleRate() int { return int(C.av_buffersink_get_sample_rate(bfc.fc.c)) } // https://ffmpeg.org/doxygen/8.0/group__lavfi__buffersink__accessors.html#gabc82f65ec7f4fa47c5216260639258a1 func (bfc *BuffersinkFilterContext) TimeBase() Rational { return newRationalFromC(C.av_buffersink_get_time_base(bfc.fc.c)) } // https://ffmpeg.org/doxygen/8.0/group__lavfi__buffersink__accessors.html#gac8c86515d2ef56090395dfd74854c835 func (bfc *BuffersinkFilterContext) Width() int { return int(C.av_buffersink_get_w(bfc.fc.c)) } ================================================ FILE: buffersink_flag.go ================================================ package astiav //#include import "C" // https://ffmpeg.org/doxygen/8.0/group__lavfi__buffersink.html#ga9453fc0e81d30237080b51575da0f0d8 type BuffersinkFlag int64 const ( BuffersinkFlagPeek = BuffersinkFlag(C.AV_BUFFERSINK_FLAG_PEEK) BuffersinkFlagNoRequest = BuffersinkFlag(C.AV_BUFFERSINK_FLAG_NO_REQUEST) ) ================================================ FILE: buffersrc_filter_context.go ================================================ package astiav //#include import "C" type BuffersrcFilterContext struct { fc *FilterContext } func newBuffersrcFilterContext(fc *FilterContext) *BuffersrcFilterContext { return &BuffersrcFilterContext{fc: fc} } // https://ffmpeg.org/doxygen/8.0/group__lavfi__buffersrc.html#ga73ed90c3c3407f36e54d65f91faaaed9 func (bfc *BuffersrcFilterContext) AddFrame(f *Frame, fs BuffersrcFlags) error { var cf *C.AVFrame if f != nil { cf = f.c } return newError(C.av_buffersrc_add_frame_flags(bfc.fc.c, cf, C.int(fs))) } func (bfc *BuffersrcFilterContext) FilterContext() *FilterContext { return bfc.fc } // https://ffmpeg.org/doxygen/8.0/group__lavfi.html#ga8c15af28902395399fe455f6f8236848 func (bfc *BuffersrcFilterContext) Initialize(d *Dictionary) error { var dc **C.AVDictionary if d != nil { dc = &d.c } return newError(C.avfilter_init_dict(bfc.fc.c, dc)) } // https://ffmpeg.org/doxygen/8.0/group__lavfi__buffersrc.html#ga398cd2a84f8b4a588197ab9d90135048 func (bfc *BuffersrcFilterContext) SetParameters(bfcp *BuffersrcFilterContextParameters) error { return newError(C.av_buffersrc_parameters_set(bfc.fc.c, bfcp.c)) } ================================================ FILE: buffersrc_filter_context_parameters.go ================================================ package astiav //#include import "C" import "unsafe" // https://ffmpeg.org/doxygen/8.0/structAVBufferSrcParameters.html type BuffersrcFilterContextParameters struct { c *C.AVBufferSrcParameters } func newBuffersrcFilterContextParametersFromC(c *C.AVBufferSrcParameters) *BuffersrcFilterContextParameters { if c == nil { return nil } return &BuffersrcFilterContextParameters{c: c} } // https://ffmpeg.org/doxygen/8.0/group__lavfi__buffersrc.html#gaae82d4f8a69757ce01421dd3167861a5 func AllocBuffersrcFilterContextParameters() *BuffersrcFilterContextParameters { return newBuffersrcFilterContextParametersFromC(C.av_buffersrc_parameters_alloc()) } func (bfcp *BuffersrcFilterContextParameters) Free() { if bfcp.c != nil { if bfcp.c.hw_frames_ctx != nil { C.av_buffer_unref(&bfcp.c.hw_frames_ctx) } C.av_freep(unsafe.Pointer(&bfcp.c)) } } // https://ffmpeg.org/doxygen/8.0/structAVBufferSrcParameters.html#a5267368bf88b4f2a65a5e06ac3f9ecd4 func (bfcp *BuffersrcFilterContextParameters) ChannelLayout() ChannelLayout { l, _ := newChannelLayoutFromC(&bfcp.c.ch_layout).clone() return l } // https://ffmpeg.org/doxygen/8.0/structAVBufferSrcParameters.html#a5267368bf88b4f2a65a5e06ac3f9ecd4 func (bfcp *BuffersrcFilterContextParameters) SetChannelLayout(l ChannelLayout) { l.copy(&bfcp.c.ch_layout) //nolint: errcheck } // https://ffmpeg.org/doxygen/8.0/structAVBufferSrcParameters.html#a442add2b039f416dd7c92ccf1ccd0d3b func (bfcp *BuffersrcFilterContextParameters) ColorRange() ColorRange { return ColorRange(bfcp.c.color_range) } // https://ffmpeg.org/doxygen/8.0/structAVBufferSrcParameters.html#a442add2b039f416dd7c92ccf1ccd0d3b func (bfcp *BuffersrcFilterContextParameters) SetColorRange(r ColorRange) { bfcp.c.color_range = C.enum_AVColorRange(r) } // https://ffmpeg.org/doxygen/8.0/structAVBufferSrcParameters.html#a700226626af70f787c930d7506554757 func (bfcp *BuffersrcFilterContextParameters) ColorSpace() ColorSpace { return ColorSpace(bfcp.c.color_space) } // https://ffmpeg.org/doxygen/8.0/structAVBufferSrcParameters.html#a700226626af70f787c930d7506554757 func (bfcp *BuffersrcFilterContextParameters) SetColorSpace(s ColorSpace) { bfcp.c.color_space = C.enum_AVColorSpace(s) } // https://ffmpeg.org/doxygen/8.0/structAVBufferSrcParameters.html#a032a202496206e18449c66233058647a func (bfcp *BuffersrcFilterContextParameters) Framerate() Rational { return newRationalFromC(bfcp.c.frame_rate) } // https://ffmpeg.org/doxygen/8.0/structAVBufferSrcParameters.html#a032a202496206e18449c66233058647a func (bfcp *BuffersrcFilterContextParameters) SetFramerate(f Rational) { bfcp.c.frame_rate = f.c } // https://ffmpeg.org/doxygen/8.0/structAVBufferSrcParameters.html#a86c49b4202433037c9e2b0b6ae541534 func (bfcp *BuffersrcFilterContextParameters) SetHardwareFramesContext(hfc *HardwareFramesContext) { if bfcp.c.hw_frames_ctx != nil { C.av_buffer_unref(&bfcp.c.hw_frames_ctx) } if hfc != nil { bfcp.c.hw_frames_ctx = C.av_buffer_ref(hfc.c) } else { bfcp.c.hw_frames_ctx = nil } } // https://ffmpeg.org/doxygen/8.0/structAVBufferSrcParameters.html#a89783d603b84908fb1998bbbea981b70 func (bfcp *BuffersrcFilterContextParameters) Height() int { return int(bfcp.c.height) } // https://ffmpeg.org/doxygen/8.0/structAVBufferSrcParameters.html#a89783d603b84908fb1998bbbea981b70 func (bfcp *BuffersrcFilterContextParameters) SetHeight(height int) { bfcp.c.height = C.int(height) } // https://ffmpeg.org/doxygen/8.0/structAVBufferSrcParameters.html#a56f28f81f1a86cecc39a8d61674912b8 func (bfcp *BuffersrcFilterContextParameters) PixelFormat() PixelFormat { return PixelFormat(bfcp.c.format) } // https://ffmpeg.org/doxygen/8.0/structAVBufferSrcParameters.html#a56f28f81f1a86cecc39a8d61674912b8 func (bfcp *BuffersrcFilterContextParameters) SetPixelFormat(f PixelFormat) { bfcp.c.format = C.int(f) } // https://ffmpeg.org/doxygen/8.0/structAVBufferSrcParameters.html#ae47c141ea7a7770351613242229f951a func (bfcp *BuffersrcFilterContextParameters) SampleAspectRatio() Rational { return newRationalFromC(bfcp.c.sample_aspect_ratio) } // https://ffmpeg.org/doxygen/8.0/structAVBufferSrcParameters.html#ae47c141ea7a7770351613242229f951a func (bfcp *BuffersrcFilterContextParameters) SetSampleAspectRatio(r Rational) { bfcp.c.sample_aspect_ratio = r.c } // https://ffmpeg.org/doxygen/8.0/structAVBufferSrcParameters.html#a56f28f81f1a86cecc39a8d61674912b8 func (bfcp *BuffersrcFilterContextParameters) SampleFormat() SampleFormat { return SampleFormat(bfcp.c.format) } // https://ffmpeg.org/doxygen/8.0/structAVBufferSrcParameters.html#a56f28f81f1a86cecc39a8d61674912b8 func (bfcp *BuffersrcFilterContextParameters) SetSampleFormat(f SampleFormat) { bfcp.c.format = C.int(f) } // https://ffmpeg.org/doxygen/8.0/structAVBufferSrcParameters.html#a34a1613f1e80f8520c159fac59e29834 func (bfcp *BuffersrcFilterContextParameters) SampleRate() int { return int(bfcp.c.sample_rate) } // https://ffmpeg.org/doxygen/8.0/structAVBufferSrcParameters.html#a34a1613f1e80f8520c159fac59e29834 func (bfcp *BuffersrcFilterContextParameters) SetSampleRate(sampleRate int) { bfcp.c.sample_rate = C.int(sampleRate) } // https://ffmpeg.org/doxygen/8.0/structAVBufferSrcParameters.html#a7767325c1259942a33586f05c90e38b0 func (bfcp *BuffersrcFilterContextParameters) TimeBase() Rational { return newRationalFromC(bfcp.c.time_base) } // https://ffmpeg.org/doxygen/8.0/structAVBufferSrcParameters.html#a7767325c1259942a33586f05c90e38b0 func (bfcp *BuffersrcFilterContextParameters) SetTimeBase(r Rational) { bfcp.c.time_base = r.c } // https://ffmpeg.org/doxygen/8.0/structAVBufferSrcParameters.html#a6c6f3d9ed8b427070e9055e7ac61263f func (bfcp *BuffersrcFilterContextParameters) Width() int { return int(bfcp.c.width) } // https://ffmpeg.org/doxygen/8.0/structAVBufferSrcParameters.html#a6c6f3d9ed8b427070e9055e7ac61263f func (bfcp *BuffersrcFilterContextParameters) SetWidth(width int) { bfcp.c.width = C.int(width) } ================================================ FILE: buffersrc_filter_context_parameters_test.go ================================================ package astiav import ( "testing" "github.com/stretchr/testify/require" ) func TestBuffersrcFilterContextParameters(t *testing.T) { p := AllocBuffersrcFilterContextParameters() defer p.Free() p.SetChannelLayout(ChannelLayoutStereo) require.Equal(t, ChannelLayoutStereo, p.ChannelLayout()) p.SetColorRange(ColorRangeMpeg) require.Equal(t, ColorRangeMpeg, p.ColorRange()) p.SetColorSpace(ColorSpaceBt470Bg) require.Equal(t, ColorSpaceBt470Bg, p.ColorSpace()) p.SetFramerate(NewRational(1, 2)) require.Equal(t, NewRational(1, 2), p.Framerate()) p.SetHeight(1) require.Equal(t, 1, p.Height()) p.SetPixelFormat(PixelFormatRgba) require.Equal(t, PixelFormatRgba, p.PixelFormat()) p.SetSampleAspectRatio(NewRational(3, 4)) require.Equal(t, NewRational(3, 4), p.SampleAspectRatio()) p.SetSampleFormat(SampleFormatDblp) require.Equal(t, SampleFormatDblp, p.SampleFormat()) p.SetSampleRate(2) require.Equal(t, 2, p.SampleRate()) p.SetTimeBase(NewRational(5, 6)) require.Equal(t, NewRational(5, 6), p.TimeBase()) p.SetWidth(3) require.Equal(t, 3, p.Width()) } ================================================ FILE: buffersrc_filter_context_test.go ================================================ package astiav import ( "github.com/stretchr/testify/require" "testing" ) func TestBuffersrcFilterContext(t *testing.T) { fg := AllocFilterGraph() filter := FindFilterByName("movie") bufferSrcCtx, err := fg.NewBuffersrcFilterContext(filter, "movie") require.NoError(t, err) d := NewDictionary() require.NoError(t, d.Set("filename", "testdata/video.mp4", 0)) require.NoError(t, bufferSrcCtx.Initialize(d)) } ================================================ FILE: buffersrc_flag.go ================================================ package astiav //#include import "C" // https://ffmpeg.org/doxygen/8.0/group__lavfi__buffersrc.html#gga7c35be1de655e733eaac059ccd76f796a6efcf61145ec6d60d3a773fcd0797872 type BuffersrcFlag int64 const ( BuffersrcFlagNoCheckFormat = BuffersrcFlag(C.AV_BUFFERSRC_FLAG_NO_CHECK_FORMAT) BuffersrcFlagPush = BuffersrcFlag(C.AV_BUFFERSRC_FLAG_PUSH) BuffersrcFlagKeepRef = BuffersrcFlag(C.AV_BUFFERSRC_FLAG_KEEP_REF) ) ================================================ FILE: bytes.go ================================================ package astiav //#include //#include //#include import "C" import ( "errors" "fmt" "unsafe" ) func stringFromC(len int, fn func(buf *C.char, size C.size_t) error) (string, error) { size := C.size_t(len) buf := (*C.char)(C.av_malloc(size)) if buf == nil { return "", errors.New("astiav: buf is nil") } defer C.av_free(unsafe.Pointer(buf)) if err := fn(buf, size); err != nil { return "", err } return C.GoString(buf), nil } func bytesFromC(fn func(size *C.size_t) *C.uint8_t) []byte { var size uint64 r := fn((*C.size_t)(unsafe.Pointer(&size))) return C.GoBytes(unsafe.Pointer(r), C.int(size)) } func bytesToC(b []byte, fn func(b *C.uint8_t, size C.size_t) error) error { var ptr *C.uint8_t if b != nil { c := make([]byte, len(b)) copy(c, b) ptr = (*C.uint8_t)(unsafe.Pointer(&c[0])) } return fn(ptr, C.size_t(len(b))) } // TODO Rename? func setBytesWithIntSizeInC(b []byte, d **C.uint8_t, size *C.int) error { if len(b) == 0 { return nil } if *d != nil { C.av_freep(unsafe.Pointer(d)) *size = 0 } if *d = (*C.uint8_t)(C.av_mallocz(C.size_t(len(b) + C.AV_INPUT_BUFFER_PADDING_SIZE))); *d == nil { return fmt.Errorf("astiav: allocation is nil") } C.memcpy(unsafe.Pointer(*d), unsafe.Pointer(&b[0]), C.size_t(len(b))) *size = C.int(len(b)) return nil } ================================================ FILE: bytes_test.go ================================================ package astiav import "testing" func TestBytes(t *testing.T) { // TODO Test stringFromC // TODO Test bytesFromC // TODO Test bytesToC } ================================================ FILE: channel_layout.go ================================================ package astiav //#include "channel_layout.h" import "C" import ( "unsafe" ) // https://ffmpeg.org/doxygen/8.0/group__lavu__audio__channels.html#ga855bb7dede67971e95bd09d8fcca7293 var ( ChannelLayoutMono = newChannelLayoutFromC(C.astiavChannelLayoutMono) ChannelLayoutStereo = newChannelLayoutFromC(C.astiavChannelLayoutStereo) ChannelLayout2Point1 = newChannelLayoutFromC(C.astiavChannelLayout2Point1) ChannelLayout21 = newChannelLayoutFromC(C.astiavChannelLayout21) ChannelLayoutSurround = newChannelLayoutFromC(C.astiavChannelLayoutSurround) ChannelLayout3Point1 = newChannelLayoutFromC(C.astiavChannelLayout3Point1) ChannelLayout4Point0 = newChannelLayoutFromC(C.astiavChannelLayout4Point0) ChannelLayout4Point1 = newChannelLayoutFromC(C.astiavChannelLayout4Point1) ChannelLayout22 = newChannelLayoutFromC(C.astiavChannelLayout22) ChannelLayoutQuad = newChannelLayoutFromC(C.astiavChannelLayoutQuad) ChannelLayout5Point0 = newChannelLayoutFromC(C.astiavChannelLayout5Point0) ChannelLayout5Point1 = newChannelLayoutFromC(C.astiavChannelLayout5Point1) ChannelLayout5Point0Back = newChannelLayoutFromC(C.astiavChannelLayout5Point0Back) ChannelLayout5Point1Back = newChannelLayoutFromC(C.astiavChannelLayout5Point1Back) ChannelLayout6Point0 = newChannelLayoutFromC(C.astiavChannelLayout6Point0) ChannelLayout6Point0Front = newChannelLayoutFromC(C.astiavChannelLayout6Point0Front) ChannelLayoutHexagonal = newChannelLayoutFromC(C.astiavChannelLayoutHexagonal) ChannelLayout3Point1Point2 = newChannelLayoutFromC(C.astiavChannelLayout3Point1Point2) ChannelLayout6Point1 = newChannelLayoutFromC(C.astiavChannelLayout6Point1) ChannelLayout6Point1Back = newChannelLayoutFromC(C.astiavChannelLayout6Point1Back) ChannelLayout6Point1Front = newChannelLayoutFromC(C.astiavChannelLayout6Point1Front) ChannelLayout7Point0 = newChannelLayoutFromC(C.astiavChannelLayout7Point0) ChannelLayout7Point0Front = newChannelLayoutFromC(C.astiavChannelLayout7Point0Front) ChannelLayout7Point1 = newChannelLayoutFromC(C.astiavChannelLayout7Point1) ChannelLayout7Point1Wide = newChannelLayoutFromC(C.astiavChannelLayout7Point1Wide) ChannelLayout7Point1WideBack = newChannelLayoutFromC(C.astiavChannelLayout7Point1WideBack) ChannelLayout5Point1Point2Back = newChannelLayoutFromC(C.astiavChannelLayout5Point1Point2Back) ChannelLayoutOctagonal = newChannelLayoutFromC(C.astiavChannelLayoutOctagonal) ChannelLayoutCube = newChannelLayoutFromC(C.astiavChannelLayoutCube) ChannelLayout5Point1Point4Back = newChannelLayoutFromC(C.astiavChannelLayout5Point1Point4Back) ChannelLayout7Point1Point2 = newChannelLayoutFromC(C.astiavChannelLayout7Point1Point2) ChannelLayout7Point1Point4Back = newChannelLayoutFromC(C.astiavChannelLayout7Point1Point4Back) ChannelLayoutHexadecagonal = newChannelLayoutFromC(C.astiavChannelLayoutHexadecagonal) ChannelLayoutStereoDownmix = newChannelLayoutFromC(C.astiavChannelLayoutStereoDownmix) ChannelLayout22Point2 = newChannelLayoutFromC(C.astiavChannelLayout22Point2) ChannelLayout7Point1TopBack = newChannelLayoutFromC(C.astiavChannelLayout7Point1TopBack) ) // https://ffmpeg.org/doxygen/8.0/structAVChannelLayout.html type ChannelLayout struct { c *C.AVChannelLayout } func newChannelLayoutFromC(c *C.AVChannelLayout) ChannelLayout { return ChannelLayout{c: c} } // https://ffmpeg.org/doxygen/8.0/structAVChannelLayout.html#adfd3f460a8ea1575baa32852d9248d3c func (l ChannelLayout) Channels() int { if l.c == nil { return 0 } return int(l.c.nb_channels) } func (l ChannelLayout) String() string { b := make([]byte, 1024) n, err := l.Describe(b) if err != nil { return "" } return string(b[:n]) } // https://ffmpeg.org/doxygen/8.0/group__lavu__audio__channels.html#gacc7d7d1a280248aafb8f9196c9d4e24f func (l ChannelLayout) Describe(b []byte) (int, error) { if l.c == nil { return 0, nil } ret := C.av_channel_layout_describe(l.c, (*C.char)(unsafe.Pointer(&b[0])), C.size_t(len(b))) if err := newError(ret); err != nil { return 0, err } if ret > 0 && b[ret-1] == '\x00' { ret -= 1 } return int(ret), nil } // https://ffmpeg.org/doxygen/8.0/group__lavu__audio__channels.html#gad15a6bf80ee8551ee4a4789d970ccbea func (l ChannelLayout) Valid() bool { if l.c == nil { return false } return C.av_channel_layout_check(l.c) > 0 } // https://ffmpeg.org/doxygen/8.0/group__lavu__audio__channels.html#ga5da99475fc07b778522974a2e0a1f58c func (l ChannelLayout) Compare(l2 ChannelLayout) (equal bool, err error) { if l.c == nil || l2.c == nil { return l.c == nil && l2.c == nil, nil } ret := C.av_channel_layout_compare(l.c, l2.c) if err := newError(ret); err != nil { return false, err } return ret == 0, nil } func (l ChannelLayout) Equal(l2 ChannelLayout) bool { v, _ := l.Compare(l2) return v } // https://ffmpeg.org/doxygen/8.0/group__lavu__audio__channels.html#gad36be43b2a1b14b66492b8025b82f886 func (l ChannelLayout) copy(dst *C.AVChannelLayout) error { return newError(C.av_channel_layout_copy(dst, l.c)) } func (l ChannelLayout) clone() (ChannelLayout, error) { var cl C.AVChannelLayout err := l.copy(&cl) dst := newChannelLayoutFromC(&cl) return dst, err } ================================================ FILE: channel_layout.h ================================================ #include // Calling C.AV_CHANNEL_LAYOUT_* in Go gives a "could not determine kind of name for X" error // therefore we need to bridge the channel layout values AVChannelLayout *astiavChannelLayoutMono = &(AVChannelLayout)AV_CHANNEL_LAYOUT_MONO; AVChannelLayout *astiavChannelLayoutStereo = &(AVChannelLayout)AV_CHANNEL_LAYOUT_STEREO; AVChannelLayout *astiavChannelLayout2Point1 = &(AVChannelLayout)AV_CHANNEL_LAYOUT_2POINT1; AVChannelLayout *astiavChannelLayout21 = &(AVChannelLayout)AV_CHANNEL_LAYOUT_2_1; AVChannelLayout *astiavChannelLayoutSurround = &(AVChannelLayout)AV_CHANNEL_LAYOUT_SURROUND; AVChannelLayout *astiavChannelLayout3Point1 = &(AVChannelLayout)AV_CHANNEL_LAYOUT_3POINT1; AVChannelLayout *astiavChannelLayout4Point0 = &(AVChannelLayout)AV_CHANNEL_LAYOUT_4POINT0; AVChannelLayout *astiavChannelLayout4Point1 = &(AVChannelLayout)AV_CHANNEL_LAYOUT_4POINT1; AVChannelLayout *astiavChannelLayout22 = &(AVChannelLayout)AV_CHANNEL_LAYOUT_2_2; AVChannelLayout *astiavChannelLayoutQuad = &(AVChannelLayout)AV_CHANNEL_LAYOUT_QUAD; AVChannelLayout *astiavChannelLayout5Point0 = &(AVChannelLayout)AV_CHANNEL_LAYOUT_5POINT0; AVChannelLayout *astiavChannelLayout5Point1 = &(AVChannelLayout)AV_CHANNEL_LAYOUT_5POINT1; AVChannelLayout *astiavChannelLayout5Point0Back = &(AVChannelLayout)AV_CHANNEL_LAYOUT_5POINT0_BACK; AVChannelLayout *astiavChannelLayout5Point1Back = &(AVChannelLayout)AV_CHANNEL_LAYOUT_5POINT1_BACK; AVChannelLayout *astiavChannelLayout6Point0 = &(AVChannelLayout)AV_CHANNEL_LAYOUT_6POINT0; AVChannelLayout *astiavChannelLayout6Point0Front = &(AVChannelLayout)AV_CHANNEL_LAYOUT_6POINT0_FRONT; AVChannelLayout *astiavChannelLayoutHexagonal = &(AVChannelLayout)AV_CHANNEL_LAYOUT_HEXAGONAL; AVChannelLayout *astiavChannelLayout3Point1Point2 = &(AVChannelLayout)AV_CHANNEL_LAYOUT_3POINT1POINT2; AVChannelLayout *astiavChannelLayout6Point1 = &(AVChannelLayout)AV_CHANNEL_LAYOUT_6POINT1; AVChannelLayout *astiavChannelLayout6Point1Back = &(AVChannelLayout)AV_CHANNEL_LAYOUT_6POINT1_BACK; AVChannelLayout *astiavChannelLayout6Point1Front = &(AVChannelLayout)AV_CHANNEL_LAYOUT_6POINT1_FRONT; AVChannelLayout *astiavChannelLayout7Point0 = &(AVChannelLayout)AV_CHANNEL_LAYOUT_7POINT0; AVChannelLayout *astiavChannelLayout7Point0Front = &(AVChannelLayout)AV_CHANNEL_LAYOUT_7POINT0_FRONT; AVChannelLayout *astiavChannelLayout7Point1 = &(AVChannelLayout)AV_CHANNEL_LAYOUT_7POINT1; AVChannelLayout *astiavChannelLayout7Point1Wide = &(AVChannelLayout)AV_CHANNEL_LAYOUT_7POINT1_WIDE; AVChannelLayout *astiavChannelLayout7Point1WideBack = &(AVChannelLayout)AV_CHANNEL_LAYOUT_7POINT1_WIDE_BACK; AVChannelLayout *astiavChannelLayout5Point1Point2Back = &(AVChannelLayout)AV_CHANNEL_LAYOUT_5POINT1POINT2_BACK; AVChannelLayout *astiavChannelLayoutOctagonal = &(AVChannelLayout)AV_CHANNEL_LAYOUT_OCTAGONAL; AVChannelLayout *astiavChannelLayoutCube = &(AVChannelLayout)AV_CHANNEL_LAYOUT_CUBE; AVChannelLayout *astiavChannelLayout5Point1Point4Back = &(AVChannelLayout)AV_CHANNEL_LAYOUT_5POINT1POINT4_BACK; AVChannelLayout *astiavChannelLayout7Point1Point2 = &(AVChannelLayout)AV_CHANNEL_LAYOUT_7POINT1POINT2; AVChannelLayout *astiavChannelLayout7Point1Point4Back = &(AVChannelLayout)AV_CHANNEL_LAYOUT_7POINT1POINT4_BACK; AVChannelLayout *astiavChannelLayoutHexadecagonal = &(AVChannelLayout)AV_CHANNEL_LAYOUT_HEXADECAGONAL; AVChannelLayout *astiavChannelLayoutStereoDownmix = &(AVChannelLayout)AV_CHANNEL_LAYOUT_STEREO_DOWNMIX; AVChannelLayout *astiavChannelLayout22Point2 = &(AVChannelLayout)AV_CHANNEL_LAYOUT_22POINT2; AVChannelLayout *astiavChannelLayout7Point1TopBack = &(AVChannelLayout)AV_CHANNEL_LAYOUT_7POINT1_TOP_BACK; ================================================ FILE: channel_layout_test.go ================================================ package astiav import ( "testing" "github.com/stretchr/testify/require" ) func TestChannelLayout(t *testing.T) { cl1 := ChannelLayoutStereo require.Equal(t, 2, cl1.Channels()) require.Equal(t, "stereo", cl1.String()) require.True(t, cl1.Valid()) require.True(t, cl1.Equal(ChannelLayoutStereo)) require.False(t, cl1.Equal(ChannelLayoutMono)) cl2 := ChannelLayout{} require.Equal(t, 0, cl2.Channels()) require.False(t, cl2.Valid()) require.Equal(t, "", cl2.String()) require.False(t, cl1.Equal(cl2)) cl3 := ChannelLayout{} require.True(t, cl2.Equal(cl3)) } ================================================ FILE: chroma_location.go ================================================ package astiav //#include import "C" // https://ffmpeg.org/doxygen/8.0/pixfmt_8h.html#a1f86ed1b6a420faccacf77c98db6c1ff type ChromaLocation C.enum_AVChromaLocation const ( ChromaLocationUnspecified = ChromaLocation(C.AVCHROMA_LOC_UNSPECIFIED) ChromaLocationLeft = ChromaLocation(C.AVCHROMA_LOC_LEFT) ChromaLocationCenter = ChromaLocation(C.AVCHROMA_LOC_CENTER) ChromaLocationTopleft = ChromaLocation(C.AVCHROMA_LOC_TOPLEFT) ChromaLocationTop = ChromaLocation(C.AVCHROMA_LOC_TOP) ChromaLocationBottomleft = ChromaLocation(C.AVCHROMA_LOC_BOTTOMLEFT) ChromaLocationBottom = ChromaLocation(C.AVCHROMA_LOC_BOTTOM) ChromaLocationNb = ChromaLocation(C.AVCHROMA_LOC_NB) ) ================================================ FILE: class.c ================================================ #include #include #include char* astiavClassItemName(AVClass* c, void* ptr) { return (char*)c->item_name(ptr); } AVClassCategory astiavClassCategory(AVClass* c, void* ptr) { if (c->get_category) return c->get_category(ptr); return c->category; } AVClass** astiavClassParent(AVClass* c, void* ptr) { if (c->parent_log_context_offset) { AVClass** parent = *(AVClass ***) (((uint8_t *) ptr) + c->parent_log_context_offset); if (parent && *parent) { return parent; } } return NULL; } ================================================ FILE: class.go ================================================ package astiav //#include "class.h" import "C" import ( "fmt" "sync" "unsafe" ) // https://ffmpeg.org/doxygen/8.0/structAVClass.html type Class struct { c *C.AVClass ptr unsafe.Pointer } func newClassFromC(ptr unsafe.Pointer) *Class { if ptr == nil { return nil } c := (**C.AVClass)(ptr) if c == nil { return nil } return &Class{ c: *c, ptr: ptr, } } // https://ffmpeg.org/doxygen/8.0/structAVClass.html#a5fc161d93a0d65a608819da20b7203ba func (c *Class) Category() ClassCategory { return ClassCategory(C.astiavClassCategory(c.c, c.ptr)) } // https://ffmpeg.org/doxygen/8.0/structAVClass.html#ad763b2e6a0846234a165e74574a550bd func (c *Class) ItemName() string { return C.GoString(C.astiavClassItemName(c.c, c.ptr)) } // https://ffmpeg.org/doxygen/8.0/structAVClass.html#aa8883e113a3f2965abd008f7667db7eb func (c *Class) Name() string { return C.GoString(c.c.class_name) } // https://ffmpeg.org/doxygen/8.0/structAVClass.html#a88948c8a7c6515181771615a54a808bf func (c *Class) Parent() *Class { return newClassFromC(unsafe.Pointer(C.astiavClassParent(c.c, c.ptr))) } func (c *Class) String() string { return fmt.Sprintf("%s [%s] @ %p", c.ItemName(), c.Name(), c.ptr) } type Classer interface { Class() *Class } var _ Classer = (*UnknownClasser)(nil) type UnknownClasser struct { c *Class } func newUnknownClasser(ptr unsafe.Pointer) *UnknownClasser { return &UnknownClasser{c: newClassFromC(ptr)} } func (c *UnknownClasser) Class() *Class { return c.c } var _ Classer = (*ClonedClasser)(nil) type ClonedClasser struct { c *Class } func newClonedClasser(c Classer) *ClonedClasser { cl := c.Class() if cl == nil { return nil } return &ClonedClasser{c: newClassFromC(cl.ptr)} } func (c *ClonedClasser) Class() *Class { return c.c } var classers = newClasserPool() type classerPool struct { m sync.Mutex p map[unsafe.Pointer]Classer } func newClasserPool() *classerPool { return &classerPool{p: make(map[unsafe.Pointer]Classer)} } func (p *classerPool) unsafePointer(c Classer) unsafe.Pointer { if c == nil { return nil } cl := c.Class() if cl == nil { return nil } return cl.ptr } func (p *classerPool) set(c Classer) { p.m.Lock() defer p.m.Unlock() if ptr := p.unsafePointer(c); ptr != nil { p.p[ptr] = c } } func (p *classerPool) del(c Classer) { p.m.Lock() defer p.m.Unlock() if ptr := p.unsafePointer(c); ptr != nil { delete(p.p, ptr) } } func (p *classerPool) get(ptr unsafe.Pointer) (Classer, bool) { p.m.Lock() defer p.m.Unlock() c, ok := p.p[ptr] return c, ok } ================================================ FILE: class.h ================================================ #include char* astiavClassItemName(AVClass* c, void* ptr); AVClassCategory astiavClassCategory(AVClass* c, void* ptr); AVClass** astiavClassParent(AVClass* c, void* ptr); ================================================ FILE: class_category.go ================================================ package astiav //#include import "C" // https://ffmpeg.org/doxygen/8.0/log_8h.html#aeb1c06cc3e47a029ca6afeac782ac8f9 type ClassCategory C.AVClassCategory const ( ClassCategoryBitstreamFilter = ClassCategory(C.AV_CLASS_CATEGORY_BITSTREAM_FILTER) ClassCategoryDecoder = ClassCategory(C.AV_CLASS_CATEGORY_DECODER) ClassCategoryDemuxer = ClassCategory(C.AV_CLASS_CATEGORY_DEMUXER) ClassCategoryDeviceAudioInput = ClassCategory(C.AV_CLASS_CATEGORY_DEVICE_AUDIO_INPUT) ClassCategoryDeviceAudioOutput = ClassCategory(C.AV_CLASS_CATEGORY_DEVICE_AUDIO_OUTPUT) ClassCategoryDeviceInput = ClassCategory(C.AV_CLASS_CATEGORY_DEVICE_INPUT) ClassCategoryDeviceOutput = ClassCategory(C.AV_CLASS_CATEGORY_DEVICE_OUTPUT) ClassCategoryDeviceVideoInput = ClassCategory(C.AV_CLASS_CATEGORY_DEVICE_VIDEO_INPUT) ClassCategoryDeviceVideoOutput = ClassCategory(C.AV_CLASS_CATEGORY_DEVICE_VIDEO_OUTPUT) ClassCategoryEncoder = ClassCategory(C.AV_CLASS_CATEGORY_ENCODER) ClassCategoryFilter = ClassCategory(C.AV_CLASS_CATEGORY_FILTER) ClassCategoryInput = ClassCategory(C.AV_CLASS_CATEGORY_INPUT) ClassCategoryMuxer = ClassCategory(C.AV_CLASS_CATEGORY_MUXER) ClassCategoryNa = ClassCategory(C.AV_CLASS_CATEGORY_NA) ClassCategoryNb = ClassCategory(C.AV_CLASS_CATEGORY_NB) ClassCategoryOutput = ClassCategory(C.AV_CLASS_CATEGORY_OUTPUT) ClassCategorySwresampler = ClassCategory(C.AV_CLASS_CATEGORY_SWRESAMPLER) ClassCategorySwscaler = ClassCategory(C.AV_CLASS_CATEGORY_SWSCALER) ) ================================================ FILE: class_test.go ================================================ package astiav import ( "fmt" "os" "path/filepath" "testing" "unsafe" "github.com/stretchr/testify/require" ) func TestClass(t *testing.T) { c := FindDecoder(CodecIDMjpeg) require.NotNil(t, c) cc := AllocCodecContext(c) require.NotNil(t, cc) defer cc.Free() cl := cc.Class() require.NotNil(t, cl) require.Equal(t, ClassCategoryDecoder, cl.Category()) require.Equal(t, "mjpeg", cl.ItemName()) require.Equal(t, "AVCodecContext", cl.Name()) require.Equal(t, fmt.Sprintf("mjpeg [AVCodecContext] @ %p", cc.c), cl.String()) // TODO Test parent } func TestClassers(t *testing.T) { cl := len(classers.p) f1 := AllocFilterGraph() f2 := AllocFilterGraph() c := FindDecoder(CodecIDMjpeg) require.NotNil(t, c) bf := FindBitStreamFilterByName("null") require.NotNil(t, bf) bfc, err := AllocBitStreamFilterContext(bf) require.NoError(t, err) cc := AllocCodecContext(c) require.NotNil(t, cc) bufferSink := FindFilterByName("buffersink") require.NotNil(t, bufferSink) bfc1, err := f1.NewBuffersinkFilterContext(bufferSink, "filter_out") require.NoError(t, err) _, err = f2.NewBuffersinkFilterContext(bufferSink, "filter_out") require.NoError(t, err) fmc1 := AllocFormatContext() fmc2 := AllocFormatContext() require.NoError(t, fmc2.OpenInput("testdata/video.mp4", nil, nil)) path := filepath.Join(t.TempDir(), "iocontext.txt") ic1, err := OpenIOContext(path, NewIOContextFlags(IOContextFlagWrite), nil, nil) require.NoError(t, err) defer os.RemoveAll(path) ic2, err := AllocIOContext(1, true, nil, nil, nil) require.NoError(t, err) src := AllocSoftwareResampleContext() ssc, err := CreateSoftwareScaleContext(1, 1, PixelFormatRgba, 2, 2, PixelFormatRgba, NewSoftwareScaleContextFlags()) require.NoError(t, err) require.Equal(t, cl+13, len(classers.p)) v, ok := classers.get(unsafe.Pointer(f1.c)) require.True(t, ok) require.Equal(t, f1, v) bfc.Free() cc.Free() bfc1.FilterContext().Free() f1.Free() f2.Free() fmc1.Free() fmc2.CloseInput() require.NoError(t, ic1.Close()) ic2.Free() src.Free() ssc.Free() require.Equal(t, cl, len(classers.p)) } ================================================ FILE: codec.go ================================================ package astiav //#include //#include import "C" import ( "unsafe" ) // https://ffmpeg.org/doxygen/8.0/structAVCodec.html type Codec struct { c *C.AVCodec } func newCodecFromC(c *C.AVCodec) *Codec { if c == nil { return nil } return &Codec{c: c} } // https://ffmpeg.org/doxygen/8.0/structAVCodec.html#ad3daa3e729850b573c139a83be8938ca func (c *Codec) Name() string { return C.GoString(c.c.name) } func (c *Codec) String() string { return c.Name() } // https://ffmpeg.org/doxygen/8.0/structAVCodec.html#a01a53d07936f4c7ee280444793b6967b func (c *Codec) ID() CodecID { return CodecID(c.c.id) } // https://ffmpeg.org/doxygen/8.0/group__lavc__core.html#ga6dc18eef1afca3610644a52565cf8a31 func (c *Codec) IsDecoder() bool { return int(C.av_codec_is_decoder(c.c)) != 0 } // https://ffmpeg.org/doxygen/8.0/group__lavc__core.html#ga2b665824e4d9144f8d4f6c01e3e85aa3 func (c *Codec) IsEncoder() bool { return int(C.av_codec_is_encoder(c.c)) != 0 } // https://ffmpeg.org/doxygen/8.0/group__lavc__decoding.html#gadd58e6b0bbca99fdbc547efbaa6b0ef1 func (c *Codec) supportedConfig(config C.enum_AVCodecConfig, fn func(ptr unsafe.Pointer), size C.size_t) { var outConfigs unsafe.Pointer var outNumConfigs C.int ret := C.avcodec_get_supported_config(nil, c.c, config, 0, &outConfigs, &outNumConfigs) if ret >= 0 && outConfigs != nil { numConfigs := uintptr(outNumConfigs) for i := uintptr(0); i < numConfigs; i++ { fn(unsafe.Pointer(uintptr(outConfigs) + i*uintptr(size))) } } } // https://ffmpeg.org/doxygen/8.0/group__lavc__decoding.html#ga9abe043ed40f3c270dff77235fcfcd0b func (c *Codec) SupportedChannelLayouts() (o []ChannelLayout) { c.supportedConfig(C.AV_CODEC_CONFIG_CHANNEL_LAYOUT, func(ptr unsafe.Pointer) { v, _ := newChannelLayoutFromC((*C.AVChannelLayout)(ptr)).clone() o = append(o, v) }, C.sizeof_AVChannelLayout) return } // https://ffmpeg.org/doxygen/8.0/group__lavc__decoding.html#ga9abe043ed40f3c270dff77235fcfcd0b func (c *Codec) SupportedColorRanges() (o []ColorRange) { c.supportedConfig(C.AV_CODEC_CONFIG_COLOR_RANGE, func(ptr unsafe.Pointer) { o = append(o, ColorRange(*(*C.enum_AVColorRange)(ptr))) }, C.sizeof_enum_AVColorRange) return } // https://ffmpeg.org/doxygen/8.0/group__lavc__decoding.html#ga9abe043ed40f3c270dff77235fcfcd0b func (c *Codec) SupportedColorSpaces() (o []ColorSpace) { c.supportedConfig(C.AV_CODEC_CONFIG_COLOR_SPACE, func(ptr unsafe.Pointer) { o = append(o, ColorSpace(*(*C.enum_AVColorSpace)(ptr))) }, C.sizeof_enum_AVColorSpace) return } // https://ffmpeg.org/doxygen/8.0/group__lavc__decoding.html#ga9abe043ed40f3c270dff77235fcfcd0b func (c *Codec) SupportedPixelFormats() (o []PixelFormat) { c.supportedConfig(C.AV_CODEC_CONFIG_PIX_FORMAT, func(ptr unsafe.Pointer) { o = append(o, PixelFormat(*(*C.enum_AVPixelFormat)(ptr))) }, C.sizeof_enum_AVPixelFormat) return } // https://ffmpeg.org/doxygen/8.0/group__lavc__decoding.html#ga9abe043ed40f3c270dff77235fcfcd0b func (c *Codec) SupportedSampleFormats() (o []SampleFormat) { c.supportedConfig(C.AV_CODEC_CONFIG_SAMPLE_FORMAT, func(ptr unsafe.Pointer) { o = append(o, SampleFormat(*(*C.enum_AVSampleFormat)(ptr))) }, C.sizeof_enum_AVSampleFormat) return } // https://ffmpeg.org/doxygen/8.0/group__lavc__decoding.html#ga9abe043ed40f3c270dff77235fcfcd0b func (c *Codec) SupportedFrameRates() (o []Rational) { c.supportedConfig(C.AV_CODEC_CONFIG_FRAME_RATE, func(ptr unsafe.Pointer) { o = append(o, newRationalFromC(*(*C.AVRational)(ptr))) }, C.sizeof_AVRational) return } // https://ffmpeg.org/doxygen/8.0/group__lavc__decoding.html#ga9abe043ed40f3c270dff77235fcfcd0b func (c *Codec) SupportedSampleRates() (o []int) { c.supportedConfig(C.AV_CODEC_CONFIG_SAMPLE_RATE, func(ptr unsafe.Pointer) { o = append(o, int(*(*C.int)(ptr))) }, C.sizeof_int) return } // https://ffmpeg.org/doxygen/8.0/group__lavc__core.html#ga51e35d01da2b3833b3afa839212c58fa func FindDecoder(id CodecID) *Codec { return newCodecFromC(C.avcodec_find_decoder((C.enum_AVCodecID)(id))) } // https://ffmpeg.org/doxygen/8.0/group__lavc__core.html#gad4e08a758f3560006145db074d16cb47 func FindDecoderByName(n string) *Codec { cn := C.CString(n) defer C.free(unsafe.Pointer(cn)) return newCodecFromC(C.avcodec_find_decoder_by_name(cn)) } // https://ffmpeg.org/doxygen/8.0/group__lavc__core.html#ga68e4b5f31de5e5fc25d5781a1be22331 func FindEncoder(id CodecID) *Codec { return newCodecFromC(C.avcodec_find_encoder((C.enum_AVCodecID)(id))) } // https://ffmpeg.org/doxygen/8.0/group__lavc__core.html#ga9fa02c1eae54a2ec67beb789c2688d6e func FindEncoderByName(n string) *Codec { cn := C.CString(n) defer C.free(unsafe.Pointer(cn)) return newCodecFromC(C.avcodec_find_encoder_by_name(cn)) } // https://ffmpeg.org/doxygen/8.0/group__lavc__core.html#ga4f80582a2ea9c0e141de5d6f6152008f func (c *Codec) HardwareConfigs() (configs []CodecHardwareConfig) { var i int for { config := C.avcodec_get_hw_config(c.c, C.int(i)) if config == nil { break } configs = append(configs, newCodecHardwareConfigFromC(config)) i++ } return } // https://ffmpeg.org/doxygen/8.0/group__lavc__core.html#ga7cd040fcc147340186deb0c54dc996b0 func Codecs() (cs []*Codec) { var opq *C.void = nil for { c := C.av_codec_iterate((*unsafe.Pointer)(unsafe.Pointer(&opq))) if c == nil { break } cs = append(cs, newCodecFromC(c)) } return } ================================================ FILE: codec_context.c ================================================ #include "codec_context.h" #include #include enum AVPixelFormat astiavCodecContextGetFormat(AVCodecContext *ctx, const enum AVPixelFormat *pix_fmts) { int pix_fmts_size = 0; while (*pix_fmts != AV_PIX_FMT_NONE) { pix_fmts_size++; pix_fmts++; } pix_fmts -= pix_fmts_size; return goAstiavCodecContextGetFormat(ctx, (enum AVPixelFormat*)(pix_fmts), pix_fmts_size); } void astiavSetCodecContextGetFormat(AVCodecContext *ctx) { ctx->get_format = astiavCodecContextGetFormat; } void astiavResetCodecContextGetFormat(AVCodecContext *ctx) { ctx->get_format = NULL; } ================================================ FILE: codec_context.go ================================================ package astiav //#include "codec_context.h" import "C" import ( "sync" "unsafe" ) // https://ffmpeg.org/doxygen/8.0/structAVCodecContext.html type CodecContext struct { c *C.AVCodecContext } func newCodecContextFromC(c *C.AVCodecContext) *CodecContext { if c == nil { return nil } cc := &CodecContext{c: c} classers.set(cc) return cc } var _ Classer = (*CodecContext)(nil) // https://ffmpeg.org/doxygen/8.0/group__lavc__core.html#gae80afec6f26df6607eaacf39b561c315 func AllocCodecContext(c *Codec) *CodecContext { var cc *C.AVCodec if c != nil { cc = c.c } return newCodecContextFromC(C.avcodec_alloc_context3(cc)) } // https://ffmpeg.org/doxygen/8.0/group__lavc__core.html#gaf869d0829ed607cec3a4a02a1c7026b3 func (cc *CodecContext) Free() { if cc.c != nil { if cc.c.hw_device_ctx != nil { C.av_buffer_unref(&cc.c.hw_device_ctx) } if cc.c.hw_frames_ctx != nil { C.av_buffer_unref(&cc.c.hw_frames_ctx) } // Make sure to clone the classer before freeing the object since // the C free method may reset the pointer c := newClonedClasser(cc) C.avcodec_free_context(&cc.c) // Make sure to remove from classers after freeing the object since // the C free method may use methods needing the classer if c != nil { classers.del(c) } } } func (cc *CodecContext) String() string { s, _ := stringFromC(255, func(buf *C.char, size C.size_t) error { C.avcodec_string(buf, C.int(size), cc.c, C.int(0)) return nil }) return s } // https://ffmpeg.org/doxygen/8.0/structAVCodecContext.html#a6b53fda85ad61baa345edbd96cb8a33c func (cc *CodecContext) BitRate() int64 { return int64(cc.c.bit_rate) } // https://ffmpeg.org/doxygen/8.0/structAVCodecContext.html#a6b53fda85ad61baa345edbd96cb8a33c func (cc *CodecContext) SetBitRate(bitRate int64) { cc.c.bit_rate = C.int64_t(bitRate) } // https://ffmpeg.org/doxygen/8.0/structAVCodecContext.html#a167ff73c67960acf2d5ca73d93e13f64 func (cc *CodecContext) ChannelLayout() ChannelLayout { l, _ := newChannelLayoutFromC(&cc.c.ch_layout).clone() return l } // https://ffmpeg.org/doxygen/8.0/structAVCodecContext.html#a167ff73c67960acf2d5ca73d93e13f64 func (cc *CodecContext) SetChannelLayout(l ChannelLayout) { l.copy(&cc.c.ch_layout) //nolint: errcheck } // https://ffmpeg.org/doxygen/8.0/structAVCodecContext.html#ac60a0209642b5d74068cab0ac35a78b2 func (cc *CodecContext) ChromaLocation() ChromaLocation { return ChromaLocation(cc.c.chroma_sample_location) } // https://ffmpeg.org/doxygen/8.0/structAVCodecContext.html#a90622d3af2a9abba986a1c9f7ca21b16 func (cc *CodecContext) Class() *Class { if cc.c == nil { return nil } return newClassFromC(unsafe.Pointer(cc.c)) } // https://ffmpeg.org/doxygen/8.0/structAVCodecContext.html#adc5f65d6099fd8339c1580c091777223 func (cc *CodecContext) CodecID() CodecID { return CodecID(cc.c.codec_id) } // https://ffmpeg.org/doxygen/8.0/structAVCodecContext.html#a3a41b3e5bde23b877799f6e72dac8ef3 func (cc *CodecContext) ColorPrimaries() ColorPrimaries { return ColorPrimaries(cc.c.color_primaries) } // https://ffmpeg.org/doxygen/8.0/structAVCodecContext.html#a3a41b3e5bde23b877799f6e72dac8ef3 func (cc *CodecContext) SetColorPrimaries(p ColorPrimaries) { cc.c.color_primaries = C.enum_AVColorPrimaries(p) } // https://ffmpeg.org/doxygen/8.0/structAVCodecContext.html#a255bf7100a4ba6dcb6ee5d87740a4f35 func (cc *CodecContext) ColorRange() ColorRange { return ColorRange(cc.c.color_range) } // https://ffmpeg.org/doxygen/8.0/structAVCodecContext.html#a255bf7100a4ba6dcb6ee5d87740a4f35 func (cc *CodecContext) SetColorRange(r ColorRange) { cc.c.color_range = C.enum_AVColorRange(r) } // https://ffmpeg.org/doxygen/8.0/structAVCodecContext.html#a8cd8caa7d40319324ce3d879a2edbd9f func (cc *CodecContext) ColorSpace() ColorSpace { return ColorSpace(cc.c.colorspace) } // https://ffmpeg.org/doxygen/8.0/structAVCodecContext.html#a8cd8caa7d40319324ce3d879a2edbd9f func (cc *CodecContext) SetColorSpace(s ColorSpace) { cc.c.colorspace = C.enum_AVColorSpace(s) } // https://ffmpeg.org/doxygen/8.0/structAVCodecContext.html#ab649e8c599f5a0e2a30448e67a36deb6 func (cc *CodecContext) ColorTransferCharacteristic() ColorTransferCharacteristic { return ColorTransferCharacteristic(cc.c.color_trc) } // https://ffmpeg.org/doxygen/8.0/structAVCodecContext.html#ab649e8c599f5a0e2a30448e67a36deb6 func (cc *CodecContext) SetColorTransferCharacteristic(tc ColorTransferCharacteristic) { cc.c.color_trc = C.enum_AVColorTransferCharacteristic(tc) } // https://ffmpeg.org/doxygen/8.0/structAVCodecContext.html#af9978d9bd6ac80a494ef1b78fe1d004f func (cc *CodecContext) ErrorRecognitionFlags() ErrorRecognitionFlags { return ErrorRecognitionFlags(cc.c.err_recognition) } // https://ffmpeg.org/doxygen/8.0/structAVCodecContext.html#af9978d9bd6ac80a494ef1b78fe1d004f func (cc *CodecContext) SetErrorRecognitionFlags(fs ErrorRecognitionFlags) { cc.c.err_recognition = C.int(fs) } // https://ffmpeg.org/doxygen/8.0/structAVCodecContext.html#abe964316aaaa61967b012efdcced79c4 func (cc *CodecContext) ExtraData() []byte { return bytesFromC(func(size *C.size_t) *C.uint8_t { *size = C.size_t(cc.c.extradata_size) return cc.c.extradata }) } // https://ffmpeg.org/doxygen/8.0/structAVCodecContext.html#abe964316aaaa61967b012efdcced79c4 func (cc *CodecContext) SetExtraData(b []byte) error { return setBytesWithIntSizeInC(b, &cc.c.extradata, &cc.c.extradata_size) } // https://ffmpeg.org/doxygen/8.0/structAVCodecContext.html#abb01e291550fa3fb96188af4d494587e func (cc *CodecContext) Flags() CodecContextFlags { return CodecContextFlags(cc.c.flags) } // https://ffmpeg.org/doxygen/8.0/structAVCodecContext.html#abb01e291550fa3fb96188af4d494587e func (cc *CodecContext) SetFlags(fs CodecContextFlags) { cc.c.flags = C.int(fs) } // https://ffmpeg.org/doxygen/8.0/structAVCodecContext.html#a1944f9a4f8f2e123c087e1fe7613d571 func (cc *CodecContext) Flags2() CodecContextFlags2 { return CodecContextFlags2(cc.c.flags2) } // https://ffmpeg.org/doxygen/8.0/structAVCodecContext.html#a1944f9a4f8f2e123c087e1fe7613d571 func (cc *CodecContext) SetFlags2(fs CodecContextFlags2) { cc.c.flags2 = C.int(fs) } // https://ffmpeg.org/doxygen/8.0/structAVCodecContext.html#a4d08b297e97eefd66c714df4fff493c8 func (cc *CodecContext) Framerate() Rational { return newRationalFromC(cc.c.framerate) } // https://ffmpeg.org/doxygen/8.0/structAVCodecContext.html#a4d08b297e97eefd66c714df4fff493c8 func (cc *CodecContext) SetFramerate(f Rational) { cc.c.framerate = f.c } // https://ffmpeg.org/doxygen/8.0/structAVCodecContext.html#aec57f0d859a6df8b479cd93ca3a44a33 func (cc *CodecContext) FrameSize() int { return int(cc.c.frame_size) } // https://ffmpeg.org/doxygen/8.0/structAVCodecContext.html#a9b6b3f1fcbdcc2ad9f4dbb4370496e38 func (cc *CodecContext) GopSize() int { return int(cc.c.gop_size) } // https://ffmpeg.org/doxygen/8.0/structAVCodecContext.html#a9b6b3f1fcbdcc2ad9f4dbb4370496e38 func (cc *CodecContext) SetGopSize(gopSize int) { cc.c.gop_size = C.int(gopSize) } // https://ffmpeg.org/doxygen/8.0/structAVCodecContext.html#a0449afd803eb107bd4dbc8b5ea22e363 func (cc *CodecContext) Height() int { return int(cc.c.height) } // https://ffmpeg.org/doxygen/8.0/structAVCodecContext.html#a0449afd803eb107bd4dbc8b5ea22e363 func (cc *CodecContext) SetHeight(height int) { cc.c.height = C.int(height) } // https://ffmpeg.org/doxygen/8.0/structAVCodecContext.html#a6927dc652ae6241f1dfdbad4e12d3a40 func (cc *CodecContext) Level() Level { return Level(cc.c.level) } // https://ffmpeg.org/doxygen/8.0/structAVCodecContext.html#a6927dc652ae6241f1dfdbad4e12d3a40 func (cc *CodecContext) SetLevel(l Level) { cc.c.level = C.int(l) } // https://ffmpeg.org/doxygen/8.0/structAVCodecContext.html#a3f99ca3115c44e6d7772c9384faf15e6 func (cc *CodecContext) MediaType() MediaType { return MediaType(cc.c.codec_type) } // https://ffmpeg.org/doxygen/8.0/structAVCodecContext.html#a0425c77b3d06d71e5db88b1d7e1b37f2 func (cc *CodecContext) PixelFormat() PixelFormat { return PixelFormat(cc.c.pix_fmt) } // https://ffmpeg.org/doxygen/8.0/structAVCodecContext.html#a0425c77b3d06d71e5db88b1d7e1b37f2 func (cc *CodecContext) SetPixelFormat(pixFmt PixelFormat) { cc.c.pix_fmt = C.enum_AVPixelFormat(pixFmt) } // https://ffmpeg.org/doxygen/8.0/structAVCodecContext.html#af3379123060ad8cc9c321c29af4f8360 func (cc *CodecContext) PrivateData() *PrivateData { return newPrivateDataFromC(cc.c.priv_data) } // https://ffmpeg.org/doxygen/8.0/structAVCodecContext.html#a7abe7095de73df98df4895bf9e25fc6b func (cc *CodecContext) Profile() Profile { return Profile(cc.c.profile) } // https://ffmpeg.org/doxygen/8.0/structAVCodecContext.html#a7abe7095de73df98df4895bf9e25fc6b func (cc *CodecContext) SetProfile(p Profile) { cc.c.profile = C.int(p) } // https://ffmpeg.org/doxygen/8.0/structAVCodecContext.html#a3f63bc9141e25bf7f1cda0cef7cd4a60 func (cc *CodecContext) Qmin() int { return int(cc.c.qmin) } // https://ffmpeg.org/doxygen/8.0/structAVCodecContext.html#a3f63bc9141e25bf7f1cda0cef7cd4a60 func (cc *CodecContext) SetQmin(qmin int) { cc.c.qmin = C.int(qmin) } // https://ffmpeg.org/doxygen/8.0/structAVCodecContext.html#a5252d34fbce300228d4dbda19a8c3293 func (cc *CodecContext) SampleAspectRatio() Rational { return newRationalFromC(cc.c.sample_aspect_ratio) } // https://ffmpeg.org/doxygen/8.0/structAVCodecContext.html#a5252d34fbce300228d4dbda19a8c3293 func (cc *CodecContext) SetSampleAspectRatio(r Rational) { cc.c.sample_aspect_ratio = r.c } // https://ffmpeg.org/doxygen/8.0/structAVCodecContext.html#a1bdba69ea111e2a9d03fdaa7a46a4c45 func (cc *CodecContext) SampleFormat() SampleFormat { return SampleFormat(cc.c.sample_fmt) } // https://ffmpeg.org/doxygen/8.0/structAVCodecContext.html#a1bdba69ea111e2a9d03fdaa7a46a4c45 func (cc *CodecContext) SetSampleFormat(f SampleFormat) { cc.c.sample_fmt = C.enum_AVSampleFormat(f) } // https://ffmpeg.org/doxygen/8.0/structAVCodecContext.html#a8ff0b000c463361e234af48d03aadfc0 func (cc *CodecContext) SampleRate() int { return int(cc.c.sample_rate) } // https://ffmpeg.org/doxygen/8.0/structAVCodecContext.html#a8ff0b000c463361e234af48d03aadfc0 func (cc *CodecContext) SetSampleRate(sampleRate int) { cc.c.sample_rate = C.int(sampleRate) } // https://ffmpeg.org/doxygen/8.0/structAVCodecContext.html#a3090804569341ca235e3adbdc03318d2 func (cc *CodecContext) StrictStdCompliance() StrictStdCompliance { return StrictStdCompliance(cc.c.strict_std_compliance) } // https://ffmpeg.org/doxygen/8.0/structAVCodecContext.html#a3090804569341ca235e3adbdc03318d2 func (cc *CodecContext) SetStrictStdCompliance(c StrictStdCompliance) { cc.c.strict_std_compliance = C.int(c) } // https://ffmpeg.org/doxygen/8.0/structAVCodecContext.html#ab7bfeb9fa5840aac090e2b0bd0ef7589 func (cc *CodecContext) TimeBase() Rational { return newRationalFromC(cc.c.time_base) } // https://ffmpeg.org/doxygen/8.0/structAVCodecContext.html#ab7bfeb9fa5840aac090e2b0bd0ef7589 func (cc *CodecContext) SetTimeBase(r Rational) { cc.c.time_base = r.c } // https://ffmpeg.org/doxygen/8.0/structAVCodecContext.html#aa852b6227d0778b62e9cc4034ad3720c func (cc *CodecContext) ThreadCount() int { return int(cc.c.thread_count) } // https://ffmpeg.org/doxygen/8.0/structAVCodecContext.html#aa852b6227d0778b62e9cc4034ad3720c func (cc *CodecContext) SetThreadCount(threadCount int) { cc.c.thread_count = C.int(threadCount) } // https://ffmpeg.org/doxygen/8.0/structAVCodecContext.html#a7651614f4309122981d70e06a4b42fcb func (cc *CodecContext) ThreadType() ThreadType { return ThreadType(cc.c.thread_type) } // https://ffmpeg.org/doxygen/8.0/structAVCodecContext.html#a7651614f4309122981d70e06a4b42fcb func (cc *CodecContext) SetThreadType(t ThreadType) { cc.c.thread_type = C.int(t) } // https://ffmpeg.org/doxygen/8.0/structAVCodecContext.html#a0d8f46461754e8abea0847dcbc41b956 func (cc *CodecContext) Width() int { return int(cc.c.width) } // https://ffmpeg.org/doxygen/8.0/structAVCodecContext.html#a0d8f46461754e8abea0847dcbc41b956 func (cc *CodecContext) SetWidth(width int) { cc.c.width = C.int(width) } // https://ffmpeg.org/doxygen/8.0/group__lavc__core.html#ga11f785a188d7d9df71621001465b0f1d func (cc *CodecContext) Open(c *Codec, d *Dictionary) error { var dc **C.AVDictionary if d != nil { dc = &d.c } return newError(C.avcodec_open2(cc.c, c.c, dc)) } // https://ffmpeg.org/doxygen/8.0/group__lavc__decoding.html#ga5b8eff59cf259747cf0b31563e38ded6 func (cc *CodecContext) ReceivePacket(p *Packet) error { var pc *C.AVPacket if p != nil { pc = p.c } return newError(C.avcodec_receive_packet(cc.c, pc)) } // https://ffmpeg.org/doxygen/8.0/group__lavc__decoding.html#ga58bc4bf1e0ac59e27362597e467efff3 func (cc *CodecContext) SendPacket(p *Packet) error { var pc *C.AVPacket if p != nil { pc = p.c } return newError(C.avcodec_send_packet(cc.c, pc)) } // https://ffmpeg.org/doxygen/8.0/group__lavc__decoding.html#ga11e6542c4e66d3028668788a1a74217c func (cc *CodecContext) ReceiveFrame(f *Frame) error { var fc *C.AVFrame if f != nil { fc = f.c } return newError(C.avcodec_receive_frame(cc.c, fc)) } // https://ffmpeg.org/doxygen/8.0/group__lavc__decoding.html#ga9395cb802a5febf1f00df31497779169 func (cc *CodecContext) SendFrame(f *Frame) error { var fc *C.AVFrame if f != nil { fc = f.c } return newError(C.avcodec_send_frame(cc.c, fc)) } func (cc *CodecContext) ToCodecParameters(cp *CodecParameters) error { return cp.FromCodecContext(cc) } func (cc *CodecContext) FromCodecParameters(cp *CodecParameters) error { return cp.ToCodecContext(cc) } // https://ffmpeg.org/doxygen/8.0/structAVCodecContext.html#acf8113e490f9e7b57465e65af9c0c75c func (cc *CodecContext) SetHardwareDeviceContext(hdc *HardwareDeviceContext) { if cc.c.hw_device_ctx != nil { C.av_buffer_unref(&cc.c.hw_device_ctx) } if hdc != nil { cc.c.hw_device_ctx = C.av_buffer_ref(hdc.c) } else { cc.c.hw_device_ctx = nil } } // https://ffmpeg.org/doxygen/8.0/structAVCodecContext.html#a3bac44bb0b016ab838780cc19ac277d6 func (cc *CodecContext) HardwareFramesContext() *HardwareFramesContext { return newHardwareFramesContextFromC(cc.c.hw_frames_ctx) } // https://ffmpeg.org/doxygen/8.0/structAVCodecContext.html#a3bac44bb0b016ab838780cc19ac277d6 func (cc *CodecContext) SetHardwareFramesContext(hfc *HardwareFramesContext) { if cc.c.hw_frames_ctx != nil { C.av_buffer_unref(&cc.c.hw_frames_ctx) } if hfc != nil { cc.c.hw_frames_ctx = C.av_buffer_ref(hfc.c) } else { cc.c.hw_frames_ctx = nil } } // https://ffmpeg.org/doxygen/8.0/structAVCodecContext.html#ad2f772bd948d8f3be4d674a3a52ee00e func (cc *CodecContext) ExtraHardwareFrames() int { return int(cc.c.extra_hw_frames) } // https://ffmpeg.org/doxygen/8.0/structAVCodecContext.html#ad2f772bd948d8f3be4d674a3a52ee00e func (cc *CodecContext) SetExtraHardwareFrames(n int) { cc.c.extra_hw_frames = C.int(n) } func (cc *CodecContext) UnsafePointer() unsafe.Pointer { return unsafe.Pointer(cc.c) } type CodecContextPixelFormatCallback func(pfs []PixelFormat) PixelFormat var ( codecContextPixelFormatCallbacks = make(map[*C.AVCodecContext]CodecContextPixelFormatCallback) codecContextPixelFormatCallbacksMutex = &sync.Mutex{} ) // https://ffmpeg.org/doxygen/8.0/structAVCodecContext.html#a360a2b8508a67c4234d97f4c13ba1bb5 func (cc *CodecContext) SetPixelFormatCallback(c CodecContextPixelFormatCallback) { // Lock codecContextPixelFormatCallbacksMutex.Lock() defer codecContextPixelFormatCallbacksMutex.Unlock() // Update callback if c == nil { C.astiavResetCodecContextGetFormat(cc.c) delete(codecContextPixelFormatCallbacks, cc.c) } else { C.astiavSetCodecContextGetFormat(cc.c) codecContextPixelFormatCallbacks[cc.c] = c } } //export goAstiavCodecContextGetFormat func goAstiavCodecContextGetFormat(cc *C.AVCodecContext, pfsCPtr *C.enum_AVPixelFormat, pfsCSize C.int) C.enum_AVPixelFormat { // Lock codecContextPixelFormatCallbacksMutex.Lock() defer codecContextPixelFormatCallbacksMutex.Unlock() // Get callback c, ok := codecContextPixelFormatCallbacks[cc] if !ok { return C.enum_AVPixelFormat(PixelFormatNone) } // Get pixel formats var pfs []PixelFormat for _, v := range unsafe.Slice(pfsCPtr, pfsCSize) { pfs = append(pfs, PixelFormat(v)) } // Callback return C.enum_AVPixelFormat(c(pfs)) } // https://ffmpeg.org/doxygen/8.0/structAVCodecContext.html#a3e5334a611a3e2a6a653805bb9e2d4d4 func (cc *CodecContext) MaxBFrames() int { return int(cc.c.max_b_frames) } // https://ffmpeg.org/doxygen/8.0/structAVCodecContext.html#a3e5334a611a3e2a6a653805bb9e2d4d4 func (cc *CodecContext) SetMaxBFrames(n int) { cc.c.max_b_frames = C.int(n) } // https://ffmpeg.org/doxygen/8.0/structAVCodecContext.html#aa2b5582f1a360534310b686cc3f7c668 func (cc *CodecContext) RateControlMaxRate() int64 { return int64(cc.c.rc_max_rate) } // https://ffmpeg.org/doxygen/8.0/structAVCodecContext.html#aa2b5582f1a360534310b686cc3f7c668 func (cc *CodecContext) SetRateControlMaxRate(n int64) { cc.c.rc_max_rate = C.int64_t(n) } // https://ffmpeg.org/doxygen/8.0/structAVCodecContext.html#ac265c70b89e87455ec05eb2978def81b func (cc *CodecContext) RateControlMinRate() int64 { return int64(cc.c.rc_min_rate) } // https://ffmpeg.org/doxygen/8.0/structAVCodecContext.html#ac265c70b89e87455ec05eb2978def81b func (cc *CodecContext) SetRateControlMinRate(n int64) { cc.c.rc_min_rate = C.int64_t(n) } // https://ffmpeg.org/doxygen/8.0/structAVCodecContext.html#a15000607a7e2371162348bb35b0184c1 func (cc *CodecContext) RateControlBufferSize() int { return int(cc.c.rc_buffer_size) } // https://ffmpeg.org/doxygen/8.0/structAVCodecContext.html#a15000607a7e2371162348bb35b0184c1 func (cc *CodecContext) SetRateControlBufferSize(n int) { cc.c.rc_buffer_size = C.int(n) } ================================================ FILE: codec_context.h ================================================ #include extern enum AVPixelFormat goAstiavCodecContextGetFormat(AVCodecContext *ctx, enum AVPixelFormat *pix_fmts, int pix_fmts_size); enum AVPixelFormat astiavCodecContextGetFormat(AVCodecContext *ctx, const enum AVPixelFormat *pix_fmts); void astiavSetCodecContextGetFormat(AVCodecContext *ctx); void astiavResetCodecContextGetFormat(AVCodecContext *ctx); ================================================ FILE: codec_context_flag.go ================================================ package astiav //#include import "C" // https://ffmpeg.org/doxygen/8.0/group__lavc__core.html#gaa52d62f5dbfc4529388f0454ae671359 type CodecContextFlag int64 const ( CodecContextFlagUnaligned = CodecContextFlag(C.AV_CODEC_FLAG_UNALIGNED) CodecContextFlagQscale = CodecContextFlag(C.AV_CODEC_FLAG_QSCALE) CodecContextFlag4Mv = CodecContextFlag(C.AV_CODEC_FLAG_4MV) CodecContextFlagOutputCorrupt = CodecContextFlag(C.AV_CODEC_FLAG_OUTPUT_CORRUPT) CodecContextFlagQpel = CodecContextFlag(C.AV_CODEC_FLAG_QPEL) CodecContextFlagPass1 = CodecContextFlag(C.AV_CODEC_FLAG_PASS1) CodecContextFlagPass2 = CodecContextFlag(C.AV_CODEC_FLAG_PASS2) CodecContextFlagLoopFilter = CodecContextFlag(C.AV_CODEC_FLAG_LOOP_FILTER) CodecContextFlagGray = CodecContextFlag(C.AV_CODEC_FLAG_GRAY) CodecContextFlagPsnr = CodecContextFlag(C.AV_CODEC_FLAG_PSNR) CodecContextFlagInterlacedDct = CodecContextFlag(C.AV_CODEC_FLAG_INTERLACED_DCT) CodecContextFlagLowDelay = CodecContextFlag(C.AV_CODEC_FLAG_LOW_DELAY) CodecContextFlagGlobalHeader = CodecContextFlag(C.AV_CODEC_FLAG_GLOBAL_HEADER) CodecContextFlagBitexact = CodecContextFlag(C.AV_CODEC_FLAG_BITEXACT) CodecContextFlagAcPred = CodecContextFlag(C.AV_CODEC_FLAG_AC_PRED) CodecContextFlagInterlacedMe = CodecContextFlag(C.AV_CODEC_FLAG_INTERLACED_ME) CodecContextFlagClosedGop = CodecContextFlag(C.AV_CODEC_FLAG_CLOSED_GOP) ) type CodecContextFlag2 int64 // https://ffmpeg.org/doxygen/8.0/group__lavc__core.html#ga1a6a486e686ab6c581ffffcb88cb31b3 const ( CodecFlag2Fast = CodecContextFlag2(C.AV_CODEC_FLAG2_FAST) CodecFlag2NoOutput = CodecContextFlag2(C.AV_CODEC_FLAG2_NO_OUTPUT) CodecFlag2LocalHeader = CodecContextFlag2(C.AV_CODEC_FLAG2_LOCAL_HEADER) CodecFlag2Chunks = CodecContextFlag2(C.AV_CODEC_FLAG2_CHUNKS) CodecFlag2IgnoreCrop = CodecContextFlag2(C.AV_CODEC_FLAG2_IGNORE_CROP) CodecFlag2ShowAll = CodecContextFlag2(C.AV_CODEC_FLAG2_SHOW_ALL) CodecFlag2ExportMvs = CodecContextFlag2(C.AV_CODEC_FLAG2_EXPORT_MVS) CodecFlag2SkipManual = CodecContextFlag2(C.AV_CODEC_FLAG2_SKIP_MANUAL) CodecFlag2RoFlushNoop = CodecContextFlag2(C.AV_CODEC_FLAG2_RO_FLUSH_NOOP) CodecFlag2IccProfiles = CodecContextFlag2(C.AV_CODEC_FLAG2_ICC_PROFILES) ) ================================================ FILE: codec_context_test.go ================================================ package astiav import ( "testing" "unsafe" "github.com/stretchr/testify/require" ) func TestCodecContext(t *testing.T) { fc, err := globalHelper.inputFormatContext("video.mp4", nil) require.NoError(t, err) ss := fc.Streams() require.Len(t, ss, 2) s1 := ss[0] s2 := ss[1] c1 := FindDecoder(s1.CodecParameters().CodecID()) require.NotNil(t, c1) cc1 := AllocCodecContext(c1) require.NotNil(t, cc1) defer cc1.Free() err = s1.CodecParameters().ToCodecContext(cc1) require.NoError(t, err) require.Equal(t, "Video: h264 (Constrained Baseline) (avc1 / 0x31637661), yuv420p(progressive), 320x180 [SAR 1:1 DAR 16:9], 441 kb/s", cc1.String()) require.Equal(t, int64(441324), cc1.BitRate()) require.Equal(t, ChromaLocationLeft, cc1.ChromaLocation()) require.Equal(t, CodecIDH264, cc1.CodecID()) require.Equal(t, ColorPrimariesUnspecified, cc1.ColorPrimaries()) require.Equal(t, ColorRangeUnspecified, cc1.ColorRange()) require.Equal(t, ColorSpaceUnspecified, cc1.ColorSpace()) require.Equal(t, ColorTransferCharacteristicUnspecified, cc1.ColorTransferCharacteristic()) require.Equal(t, 12, cc1.GopSize()) require.Equal(t, 180, cc1.Height()) require.Equal(t, Level(13), cc1.Level()) require.Equal(t, MediaTypeVideo, cc1.MediaType()) require.Equal(t, PixelFormatYuv420P, cc1.PixelFormat()) require.NotNil(t, cc1.PrivateData()) require.Equal(t, ProfileH264ConstrainedBaseline, cc1.Profile()) require.Equal(t, NewRational(1, 1), cc1.SampleAspectRatio()) require.Equal(t, StrictStdComplianceNormal, cc1.StrictStdCompliance()) require.Equal(t, 1, cc1.ThreadCount()) require.Equal(t, ThreadType(3), cc1.ThreadType()) require.Equal(t, 320, cc1.Width()) require.Equal(t, unsafe.Pointer(cc1.c), cc1.UnsafePointer()) cl := cc1.Class() require.NotNil(t, cl) require.Equal(t, "AVCodecContext", cl.Name()) c2 := FindDecoder(s2.CodecParameters().CodecID()) require.NotNil(t, c2) cc2 := AllocCodecContext(c2) require.NotNil(t, cc2) defer cc2.Free() err = s2.CodecParameters().ToCodecContext(cc2) require.NoError(t, err) require.Equal(t, "Audio: aac (LC) (mp4a / 0x6134706D), 48000 Hz, stereo, fltp, 161 kb/s", cc2.String()) require.Equal(t, int64(161052), cc2.BitRate()) require.True(t, cc2.ChannelLayout().Equal(ChannelLayoutStereo)) require.Equal(t, CodecIDAac, cc2.CodecID()) require.Equal(t, 1024, cc2.FrameSize()) require.Equal(t, MediaTypeAudio, cc2.MediaType()) require.Equal(t, SampleFormatFltp, cc2.SampleFormat()) require.Equal(t, 48000, cc2.SampleRate()) require.Equal(t, StrictStdComplianceNormal, cc2.StrictStdCompliance()) require.Equal(t, 1, cc2.ThreadCount()) require.Equal(t, ThreadType(3), cc2.ThreadType()) c3 := FindEncoder(CodecIDMjpeg) require.NotNil(t, c3) cc3 := AllocCodecContext(c3) require.NotNil(t, cc3) defer cc3.Free() cc3.SetHeight(2) cc3.SetPixelFormat(PixelFormatYuvj420P) cc3.SetTimeBase(NewRational(1, 1)) cc3.SetWidth(3) err = cc3.Open(c3, nil) require.NoError(t, err) cc4 := AllocCodecContext(nil) require.NotNil(t, cc4) defer cc4.Free() cc4.SetBitRate(1) cc4.SetChannelLayout(ChannelLayout21) cc4.SetColorPrimaries(ColorPrimariesBt2020) cc4.SetColorRange(ColorRangeJpeg) cc4.SetColorSpace(ColorSpaceBt2020Cl) cc4.SetColorTransferCharacteristic(ColorTransferCharacteristicAribStdB67) cc4.SetErrorRecognitionFlags(NewErrorRecognitionFlags(ErrorRecognitionFlagAggressive)) cc4.SetFlags(NewCodecContextFlags(4)) cc4.SetFlags2(NewCodecContextFlags2(5)) cc4.SetFramerate(NewRational(6, 1)) cc4.SetGopSize(7) cc4.SetHeight(8) cc4.SetLevel(16) cc4.SetProfile(ProfileH264Extended) cc4.SetPixelFormat(PixelFormat0Bgr) cc4.SetQmin(5) cc4.SetSampleAspectRatio(NewRational(10, 1)) cc4.SetSampleFormat(SampleFormatDbl) cc4.SetSampleRate(12) cc4.SetStrictStdCompliance(StrictStdComplianceExperimental) cc4.SetThreadCount(13) cc4.SetThreadType(ThreadTypeSlice) cc4.SetTimeBase(NewRational(15, 1)) cc4.SetWidth(16) cc4.SetExtraHardwareFrames(4) cc4.SetMaxBFrames(1) cc4.SetRateControlMaxRate(1_500_000) cc4.SetRateControlMinRate(1_500_000) cc4.SetRateControlBufferSize(1_500_000) require.Equal(t, int64(1), cc4.BitRate()) require.True(t, cc4.ChannelLayout().Equal(ChannelLayout21)) require.Equal(t, ColorPrimariesBt2020, cc4.ColorPrimaries()) require.Equal(t, ColorRangeJpeg, cc4.ColorRange()) require.Equal(t, ColorSpaceBt2020Cl, cc4.ColorSpace()) require.Equal(t, ColorTransferCharacteristicAribStdB67, cc4.ColorTransferCharacteristic()) require.True(t, cc4.ErrorRecognitionFlags().Has(ErrorRecognitionFlagAggressive)) require.Equal(t, NewCodecContextFlags(4), cc4.Flags()) require.Equal(t, NewCodecContextFlags2(5), cc4.Flags2()) require.Equal(t, NewRational(6, 1), cc4.Framerate()) require.Equal(t, 7, cc4.GopSize()) require.Equal(t, 8, cc4.Height()) require.Equal(t, Level(16), cc4.Level()) require.Equal(t, ProfileH264Extended, cc4.Profile()) require.Equal(t, PixelFormat0Bgr, cc4.PixelFormat()) require.Equal(t, 5, cc4.Qmin()) require.Equal(t, NewRational(10, 1), cc4.SampleAspectRatio()) require.Equal(t, SampleFormatDbl, cc4.SampleFormat()) require.Equal(t, 12, cc4.SampleRate()) require.Equal(t, StrictStdComplianceExperimental, cc4.StrictStdCompliance()) require.Equal(t, 13, cc4.ThreadCount()) require.Equal(t, ThreadTypeSlice, cc4.ThreadType()) require.Equal(t, NewRational(15, 1), cc4.TimeBase()) require.Equal(t, 16, cc4.Width()) require.Equal(t, 4, cc4.ExtraHardwareFrames()) require.Equal(t, 1, cc4.MaxBFrames()) require.Equal(t, int64(1_500_000), cc4.RateControlMaxRate()) require.Equal(t, int64(1_500_000), cc4.RateControlMinRate()) require.Equal(t, 1_500_000, cc4.RateControlBufferSize()) cc5 := AllocCodecContext(nil) require.NotNil(t, cc5) defer cc5.Free() err = cc5.FromCodecParameters(s2.CodecParameters()) require.NoError(t, err) require.Equal(t, s2.CodecParameters().CodecID(), cc5.CodecID()) cp1 := AllocCodecParameters() require.NotNil(t, cp1) defer cp1.Free() err = cc5.ToCodecParameters(cp1) require.NoError(t, err) require.Equal(t, cc5.CodecID(), cp1.CodecID()) cc6 := AllocCodecContext(nil) require.NotNil(t, cc6) b := []byte("test") require.NoError(t, cc6.SetExtraData(b)) require.Equal(t, b, cc6.ExtraData()) // TODO Test ReceivePacket // TODO Test SendPacket // TODO Test ReceiveFrame // TODO Test SendFrame } ================================================ FILE: codec_hardware_config.go ================================================ package astiav //#include import "C" // https://ffmpeg.org/doxygen/8.0/structAVCodecHWConfig.html type CodecHardwareConfig struct { c *C.AVCodecHWConfig } func newCodecHardwareConfigFromC(c *C.AVCodecHWConfig) CodecHardwareConfig { return CodecHardwareConfig{c: c} } // https://ffmpeg.org/doxygen/8.0/structAVCodecHWConfig.html#a1474cb73c1f41e377dc5070ae373ac40 func (chc CodecHardwareConfig) HardwareDeviceType() HardwareDeviceType { return HardwareDeviceType(chc.c.device_type) } // https://ffmpeg.org/doxygen/8.0/structAVCodecHWConfig.html#a208c924c3f626b01bf2020eef9eb4905 func (chc CodecHardwareConfig) MethodFlags() CodecHardwareConfigMethodFlags { return CodecHardwareConfigMethodFlags(chc.c.methods) } // https://ffmpeg.org/doxygen/8.0/structAVCodecHWConfig.html#a9352b11d6d6b315fe3c61b65447d5174 func (chc CodecHardwareConfig) PixelFormat() PixelFormat { return PixelFormat(chc.c.pix_fmt) } ================================================ FILE: codec_hardware_config_method_flag.go ================================================ package astiav //#include import "C" // https://ffmpeg.org/doxygen/8.0/group__lavc__core.html#gga26e1124d33b4acdb532c49f6498df549a680870b80f0ed65e9ba97ea0905eb2fa type CodecHardwareConfigMethodFlag int64 const ( CodecHardwareConfigMethodFlagAdHoc = CodecHardwareConfigMethodFlag(C.AV_CODEC_HW_CONFIG_METHOD_AD_HOC) CodecHardwareConfigMethodFlagHwDeviceCtx = CodecHardwareConfigMethodFlag(C.AV_CODEC_HW_CONFIG_METHOD_HW_DEVICE_CTX) CodecHardwareConfigMethodFlagHwFramesCtx = CodecHardwareConfigMethodFlag(C.AV_CODEC_HW_CONFIG_METHOD_HW_FRAMES_CTX) CodecHardwareConfigMethodFlagInternal = CodecHardwareConfigMethodFlag(C.AV_CODEC_HW_CONFIG_METHOD_INTERNAL) ) ================================================ FILE: codec_id.go ================================================ package astiav //#include //#include import "C" // https://ffmpeg.org/doxygen/8.0/group__lavc__core.html#gaadca229ad2c20e060a14fec08a5cc7ce type CodecID C.enum_AVCodecID const ( CodecID012V = CodecID(C.AV_CODEC_ID_012V) CodecID4Gv = CodecID(C.AV_CODEC_ID_4GV) CodecID4Xm = CodecID(C.AV_CODEC_ID_4XM) CodecID8Bps = CodecID(C.AV_CODEC_ID_8BPS) CodecID8SvxExp = CodecID(C.AV_CODEC_ID_8SVX_EXP) CodecID8SvxFib = CodecID(C.AV_CODEC_ID_8SVX_FIB) CodecIDA64Multi = CodecID(C.AV_CODEC_ID_A64_MULTI) CodecIDA64Multi5 = CodecID(C.AV_CODEC_ID_A64_MULTI5) CodecIDAac = CodecID(C.AV_CODEC_ID_AAC) CodecIDAacLatm = CodecID(C.AV_CODEC_ID_AAC_LATM) CodecIDAasc = CodecID(C.AV_CODEC_ID_AASC) CodecIDAc3 = CodecID(C.AV_CODEC_ID_AC3) CodecIDAc4 = CodecID(C.AV_CODEC_ID_AC4) CodecIDAcelpKelvin = CodecID(C.AV_CODEC_ID_ACELP_KELVIN) CodecIDAdpcm4Xm = CodecID(C.AV_CODEC_ID_ADPCM_4XM) CodecIDAdpcmAdx = CodecID(C.AV_CODEC_ID_ADPCM_ADX) CodecIDAdpcmAfc = CodecID(C.AV_CODEC_ID_ADPCM_AFC) CodecIDAdpcmAgm = CodecID(C.AV_CODEC_ID_ADPCM_AGM) CodecIDAdpcmAica = CodecID(C.AV_CODEC_ID_ADPCM_AICA) CodecIDAdpcmArgo = CodecID(C.AV_CODEC_ID_ADPCM_ARGO) CodecIDAdpcmCt = CodecID(C.AV_CODEC_ID_ADPCM_CT) CodecIDAdpcmDtk = CodecID(C.AV_CODEC_ID_ADPCM_DTK) CodecIDAdpcmEa = CodecID(C.AV_CODEC_ID_ADPCM_EA) CodecIDAdpcmEaMaxisXa = CodecID(C.AV_CODEC_ID_ADPCM_EA_MAXIS_XA) CodecIDAdpcmEaR1 = CodecID(C.AV_CODEC_ID_ADPCM_EA_R1) CodecIDAdpcmEaR2 = CodecID(C.AV_CODEC_ID_ADPCM_EA_R2) CodecIDAdpcmEaR3 = CodecID(C.AV_CODEC_ID_ADPCM_EA_R3) CodecIDAdpcmEaXas = CodecID(C.AV_CODEC_ID_ADPCM_EA_XAS) CodecIDAdpcmG722 = CodecID(C.AV_CODEC_ID_ADPCM_G722) CodecIDAdpcmG726 = CodecID(C.AV_CODEC_ID_ADPCM_G726) CodecIDAdpcmG726Le = CodecID(C.AV_CODEC_ID_ADPCM_G726LE) CodecIDAdpcmImaAcorn = CodecID(C.AV_CODEC_ID_ADPCM_IMA_ACORN) CodecIDAdpcmImaAlp = CodecID(C.AV_CODEC_ID_ADPCM_IMA_ALP) CodecIDAdpcmImaAmv = CodecID(C.AV_CODEC_ID_ADPCM_IMA_AMV) CodecIDAdpcmImaApc = CodecID(C.AV_CODEC_ID_ADPCM_IMA_APC) CodecIDAdpcmImaApm = CodecID(C.AV_CODEC_ID_ADPCM_IMA_APM) CodecIDAdpcmImaCunning = CodecID(C.AV_CODEC_ID_ADPCM_IMA_CUNNING) CodecIDAdpcmImaDat4 = CodecID(C.AV_CODEC_ID_ADPCM_IMA_DAT4) CodecIDAdpcmImaDk3 = CodecID(C.AV_CODEC_ID_ADPCM_IMA_DK3) CodecIDAdpcmImaDk4 = CodecID(C.AV_CODEC_ID_ADPCM_IMA_DK4) CodecIDAdpcmImaEaEacs = CodecID(C.AV_CODEC_ID_ADPCM_IMA_EA_EACS) CodecIDAdpcmImaEaSead = CodecID(C.AV_CODEC_ID_ADPCM_IMA_EA_SEAD) CodecIDAdpcmImaIss = CodecID(C.AV_CODEC_ID_ADPCM_IMA_ISS) CodecIDAdpcmImaMoflex = CodecID(C.AV_CODEC_ID_ADPCM_IMA_MOFLEX) CodecIDAdpcmImaMtf = CodecID(C.AV_CODEC_ID_ADPCM_IMA_MTF) CodecIDAdpcmImaOki = CodecID(C.AV_CODEC_ID_ADPCM_IMA_OKI) CodecIDAdpcmImaQt = CodecID(C.AV_CODEC_ID_ADPCM_IMA_QT) CodecIDAdpcmImaRad = CodecID(C.AV_CODEC_ID_ADPCM_IMA_RAD) CodecIDAdpcmImaSmjpeg = CodecID(C.AV_CODEC_ID_ADPCM_IMA_SMJPEG) CodecIDAdpcmImaSsi = CodecID(C.AV_CODEC_ID_ADPCM_IMA_SSI) CodecIDAdpcmImaWav = CodecID(C.AV_CODEC_ID_ADPCM_IMA_WAV) CodecIDAdpcmImaWs = CodecID(C.AV_CODEC_ID_ADPCM_IMA_WS) CodecIDAdpcmMs = CodecID(C.AV_CODEC_ID_ADPCM_MS) CodecIDAdpcmMtaf = CodecID(C.AV_CODEC_ID_ADPCM_MTAF) CodecIDAdpcmPsx = CodecID(C.AV_CODEC_ID_ADPCM_PSX) CodecIDAdpcmSbpro2 = CodecID(C.AV_CODEC_ID_ADPCM_SBPRO_2) CodecIDAdpcmSbpro3 = CodecID(C.AV_CODEC_ID_ADPCM_SBPRO_3) CodecIDAdpcmSbpro4 = CodecID(C.AV_CODEC_ID_ADPCM_SBPRO_4) CodecIDAdpcmSwf = CodecID(C.AV_CODEC_ID_ADPCM_SWF) CodecIDAdpcmThp = CodecID(C.AV_CODEC_ID_ADPCM_THP) CodecIDAdpcmThpLe = CodecID(C.AV_CODEC_ID_ADPCM_THP_LE) CodecIDAdpcmVima = CodecID(C.AV_CODEC_ID_ADPCM_VIMA) CodecIDAdpcmVimaDeprecated = CodecID(C.AV_CODEC_ID_ADPCM_VIMA) CodecIDAdpcmXa = CodecID(C.AV_CODEC_ID_ADPCM_XA) CodecIDAdpcmXmd = CodecID(C.AV_CODEC_ID_ADPCM_XMD) CodecIDAdpcmYamaha = CodecID(C.AV_CODEC_ID_ADPCM_YAMAHA) CodecIDAdpcmZork = CodecID(C.AV_CODEC_ID_ADPCM_ZORK) CodecIDAgm = CodecID(C.AV_CODEC_ID_AGM) CodecIDAic = CodecID(C.AV_CODEC_ID_AIC) CodecIDAlac = CodecID(C.AV_CODEC_ID_ALAC) CodecIDAliasPix = CodecID(C.AV_CODEC_ID_ALIAS_PIX) CodecIDAmrNb = CodecID(C.AV_CODEC_ID_AMR_NB) CodecIDAmrWb = CodecID(C.AV_CODEC_ID_AMR_WB) CodecIDAmv = CodecID(C.AV_CODEC_ID_AMV) CodecIDAnm = CodecID(C.AV_CODEC_ID_ANM) CodecIDAnsi = CodecID(C.AV_CODEC_ID_ANSI) CodecIDAnull = CodecID(C.AV_CODEC_ID_ANULL) CodecIDApac = CodecID(C.AV_CODEC_ID_APAC) CodecIDApe = CodecID(C.AV_CODEC_ID_APE) CodecIDApng = CodecID(C.AV_CODEC_ID_APNG) CodecIDAptx = CodecID(C.AV_CODEC_ID_APTX) CodecIDAptxHd = CodecID(C.AV_CODEC_ID_APTX_HD) CodecIDArbc = CodecID(C.AV_CODEC_ID_ARBC) CodecIDArgo = CodecID(C.AV_CODEC_ID_ARGO) CodecIDAribCaption = CodecID(C.AV_CODEC_ID_ARIB_CAPTION) CodecIDAss = CodecID(C.AV_CODEC_ID_ASS) CodecIDAsv1 = CodecID(C.AV_CODEC_ID_ASV1) CodecIDAsv2 = CodecID(C.AV_CODEC_ID_ASV2) CodecIDAtrac1 = CodecID(C.AV_CODEC_ID_ATRAC1) CodecIDAtrac3 = CodecID(C.AV_CODEC_ID_ATRAC3) CodecIDAtrac3Al = CodecID(C.AV_CODEC_ID_ATRAC3AL) CodecIDAtrac3P = CodecID(C.AV_CODEC_ID_ATRAC3P) CodecIDAtrac3Pal = CodecID(C.AV_CODEC_ID_ATRAC3PAL) CodecIDAtrac9 = CodecID(C.AV_CODEC_ID_ATRAC9) CodecIDAura = CodecID(C.AV_CODEC_ID_AURA) CodecIDAura2 = CodecID(C.AV_CODEC_ID_AURA2) CodecIDAv1 = CodecID(C.AV_CODEC_ID_AV1) CodecIDAvrn = CodecID(C.AV_CODEC_ID_AVRN) CodecIDAvrp = CodecID(C.AV_CODEC_ID_AVRP) CodecIDAvs = CodecID(C.AV_CODEC_ID_AVS) CodecIDAvs2 = CodecID(C.AV_CODEC_ID_AVS2) CodecIDAvs3 = CodecID(C.AV_CODEC_ID_AVS3) CodecIDAvui = CodecID(C.AV_CODEC_ID_AVUI) CodecIDBCodecIDext = CodecID(C.AV_CODEC_ID_BINTEXT) CodecIDBethsoftvid = CodecID(C.AV_CODEC_ID_BETHSOFTVID) CodecIDBfi = CodecID(C.AV_CODEC_ID_BFI) CodecIDBinData = CodecID(C.AV_CODEC_ID_BIN_DATA) CodecIDBinkaudioDct = CodecID(C.AV_CODEC_ID_BINKAUDIO_DCT) CodecIDBinkaudioRdft = CodecID(C.AV_CODEC_ID_BINKAUDIO_RDFT) CodecIDBinkvideo = CodecID(C.AV_CODEC_ID_BINKVIDEO) CodecIDBitpacked = CodecID(C.AV_CODEC_ID_BITPACKED) CodecIDBmp = CodecID(C.AV_CODEC_ID_BMP) CodecIDBmvAudio = CodecID(C.AV_CODEC_ID_BMV_AUDIO) CodecIDBmvVideo = CodecID(C.AV_CODEC_ID_BMV_VIDEO) CodecIDBonk = CodecID(C.AV_CODEC_ID_BONK) CodecIDBrenderPix = CodecID(C.AV_CODEC_ID_BRENDER_PIX) CodecIDBrenderPixDeprecated = CodecID(C.AV_CODEC_ID_BRENDER_PIX) CodecIDC93 = CodecID(C.AV_CODEC_ID_C93) CodecIDCavs = CodecID(C.AV_CODEC_ID_CAVS) CodecIDCbd2Dpcm = CodecID(C.AV_CODEC_ID_CBD2_DPCM) CodecIDCdgraphics = CodecID(C.AV_CODEC_ID_CDGRAPHICS) CodecIDCdtoons = CodecID(C.AV_CODEC_ID_CDTOONS) CodecIDCdxl = CodecID(C.AV_CODEC_ID_CDXL) CodecIDCelt = CodecID(C.AV_CODEC_ID_CELT) CodecIDCfhd = CodecID(C.AV_CODEC_ID_CFHD) CodecIDCinepak = CodecID(C.AV_CODEC_ID_CINEPAK) CodecIDClearvideo = CodecID(C.AV_CODEC_ID_CLEARVIDEO) CodecIDCljr = CodecID(C.AV_CODEC_ID_CLJR) CodecIDCllc = CodecID(C.AV_CODEC_ID_CLLC) CodecIDCmv = CodecID(C.AV_CODEC_ID_CMV) CodecIDCodec2 = CodecID(C.AV_CODEC_ID_CODEC2) CodecIDComfortNoise = CodecID(C.AV_CODEC_ID_COMFORT_NOISE) CodecIDCook = CodecID(C.AV_CODEC_ID_COOK) CodecIDCpia = CodecID(C.AV_CODEC_ID_CPIA) CodecIDCri = CodecID(C.AV_CODEC_ID_CRI) CodecIDCscd = CodecID(C.AV_CODEC_ID_CSCD) CodecIDCyuv = CodecID(C.AV_CODEC_ID_CYUV) CodecIDDaala = CodecID(C.AV_CODEC_ID_DAALA) CodecIDDds = CodecID(C.AV_CODEC_ID_DDS) CodecIDDerfDpcm = CodecID(C.AV_CODEC_ID_DERF_DPCM) CodecIDDfa = CodecID(C.AV_CODEC_ID_DFA) CodecIDDfpwm = CodecID(C.AV_CODEC_ID_DFPWM) CodecIDDirac = CodecID(C.AV_CODEC_ID_DIRAC) CodecIDDnxhd = CodecID(C.AV_CODEC_ID_DNXHD) CodecIDDolbyE = CodecID(C.AV_CODEC_ID_DOLBY_E) CodecIDDpx = CodecID(C.AV_CODEC_ID_DPX) CodecIDDsdLsbf = CodecID(C.AV_CODEC_ID_DSD_LSBF) CodecIDDsdLsbfPlanar = CodecID(C.AV_CODEC_ID_DSD_LSBF_PLANAR) CodecIDDsdMsbf = CodecID(C.AV_CODEC_ID_DSD_MSBF) CodecIDDsdMsbfPlanar = CodecID(C.AV_CODEC_ID_DSD_MSBF_PLANAR) CodecIDDsicinaudio = CodecID(C.AV_CODEC_ID_DSICINAUDIO) CodecIDDsicinvideo = CodecID(C.AV_CODEC_ID_DSICINVIDEO) CodecIDDssSp = CodecID(C.AV_CODEC_ID_DSS_SP) CodecIDDst = CodecID(C.AV_CODEC_ID_DST) CodecIDDts = CodecID(C.AV_CODEC_ID_DTS) CodecIDDvaudio = CodecID(C.AV_CODEC_ID_DVAUDIO) CodecIDDvbSubtitle = CodecID(C.AV_CODEC_ID_DVB_SUBTITLE) CodecIDDvbTeletext = CodecID(C.AV_CODEC_ID_DVB_TELETEXT) CodecIDDvdNav = CodecID(C.AV_CODEC_ID_DVD_NAV) CodecIDDvdSubtitle = CodecID(C.AV_CODEC_ID_DVD_SUBTITLE) CodecIDDvvideo = CodecID(C.AV_CODEC_ID_DVVIDEO) CodecIDDxa = CodecID(C.AV_CODEC_ID_DXA) CodecIDDxtory = CodecID(C.AV_CODEC_ID_DXTORY) CodecIDDxv = CodecID(C.AV_CODEC_ID_DXV) CodecIDEac3 = CodecID(C.AV_CODEC_ID_EAC3) CodecIDEia608 = CodecID(C.AV_CODEC_ID_EIA_608) CodecIDEpg = CodecID(C.AV_CODEC_ID_EPG) CodecIDEscape124 = CodecID(C.AV_CODEC_ID_ESCAPE124) CodecIDEscape130 = CodecID(C.AV_CODEC_ID_ESCAPE130) CodecIDEscape130Deprecated = CodecID(C.AV_CODEC_ID_ESCAPE130) CodecIDEvc = CodecID(C.AV_CODEC_ID_EVC) CodecIDEvrc = CodecID(C.AV_CODEC_ID_EVRC) CodecIDExr = CodecID(C.AV_CODEC_ID_EXR) CodecIDExrDeprecated = CodecID(C.AV_CODEC_ID_EXR) CodecIDFastaudio = CodecID(C.AV_CODEC_ID_FASTAUDIO) CodecIDFfmetadata = CodecID(C.AV_CODEC_ID_FFMETADATA) CodecIDFfv1 = CodecID(C.AV_CODEC_ID_FFV1) CodecIDFfvhuff = CodecID(C.AV_CODEC_ID_FFVHUFF) CodecIDFfwavesynth = CodecID(C.AV_CODEC_ID_FFWAVESYNTH) CodecIDFic = CodecID(C.AV_CODEC_ID_FIC) CodecIDFirstAudio = CodecID(C.AV_CODEC_ID_FIRST_AUDIO) CodecIDFirstSubtitle = CodecID(C.AV_CODEC_ID_FIRST_SUBTITLE) CodecIDFirstUnknown = CodecID(C.AV_CODEC_ID_FIRST_UNKNOWN) CodecIDFits = CodecID(C.AV_CODEC_ID_FITS) CodecIDFlac = CodecID(C.AV_CODEC_ID_FLAC) CodecIDFlashsv = CodecID(C.AV_CODEC_ID_FLASHSV) CodecIDFlashsv2 = CodecID(C.AV_CODEC_ID_FLASHSV2) CodecIDFlic = CodecID(C.AV_CODEC_ID_FLIC) CodecIDFlv1 = CodecID(C.AV_CODEC_ID_FLV1) CodecIDFmvc = CodecID(C.AV_CODEC_ID_FMVC) CodecIDFraps = CodecID(C.AV_CODEC_ID_FRAPS) CodecIDFrwu = CodecID(C.AV_CODEC_ID_FRWU) CodecIDFtr = CodecID(C.AV_CODEC_ID_FTR) CodecIDG2M = CodecID(C.AV_CODEC_ID_G2M) CodecIDG2MDeprecated = CodecID(C.AV_CODEC_ID_G2M) CodecIDG7231 = CodecID(C.AV_CODEC_ID_G723_1) CodecIDG729 = CodecID(C.AV_CODEC_ID_G729) CodecIDGdv = CodecID(C.AV_CODEC_ID_GDV) CodecIDGem = CodecID(C.AV_CODEC_ID_GEM) CodecIDGif = CodecID(C.AV_CODEC_ID_GIF) CodecIDGremlinDpcm = CodecID(C.AV_CODEC_ID_GREMLIN_DPCM) CodecIDGsm = CodecID(C.AV_CODEC_ID_GSM) CodecIDGsmMs = CodecID(C.AV_CODEC_ID_GSM_MS) CodecIDH261 = CodecID(C.AV_CODEC_ID_H261) CodecIDH263 = CodecID(C.AV_CODEC_ID_H263) CodecIDH263I = CodecID(C.AV_CODEC_ID_H263I) CodecIDH263P = CodecID(C.AV_CODEC_ID_H263P) CodecIDH264 = CodecID(C.AV_CODEC_ID_H264) CodecIDH265 = CodecID(C.AV_CODEC_ID_H265) CodecIDH266 = CodecID(C.AV_CODEC_ID_H266) CodecIDHap = CodecID(C.AV_CODEC_ID_HAP) CodecIDHca = CodecID(C.AV_CODEC_ID_HCA) CodecIDHcom = CodecID(C.AV_CODEC_ID_HCOM) CodecIDHdmvPgsSubtitle = CodecID(C.AV_CODEC_ID_HDMV_PGS_SUBTITLE) CodecIDHdmvTextSubtitle = CodecID(C.AV_CODEC_ID_HDMV_TEXT_SUBTITLE) CodecIDHevc = CodecID(C.AV_CODEC_ID_HEVC) CodecIDHevcDeprecated = CodecID(C.AV_CODEC_ID_HEVC) CodecIDHnm4Video = CodecID(C.AV_CODEC_ID_HNM4_VIDEO) CodecIDHqHqa = CodecID(C.AV_CODEC_ID_HQ_HQA) CodecIDHqx = CodecID(C.AV_CODEC_ID_HQX) CodecIDHuffyuv = CodecID(C.AV_CODEC_ID_HUFFYUV) CodecIDHymt = CodecID(C.AV_CODEC_ID_HYMT) CodecIDIac = CodecID(C.AV_CODEC_ID_IAC) CodecIDIdcin = CodecID(C.AV_CODEC_ID_IDCIN) CodecIDIdf = CodecID(C.AV_CODEC_ID_IDF) CodecIDIffByterun1 = CodecID(C.AV_CODEC_ID_IFF_BYTERUN1) CodecIDIffIlbm = CodecID(C.AV_CODEC_ID_IFF_ILBM) CodecIDIlbc = CodecID(C.AV_CODEC_ID_ILBC) CodecIDImc = CodecID(C.AV_CODEC_ID_IMC) CodecIDImm4 = CodecID(C.AV_CODEC_ID_IMM4) CodecIDImm5 = CodecID(C.AV_CODEC_ID_IMM5) CodecIDIndeo2 = CodecID(C.AV_CODEC_ID_INDEO2) CodecIDIndeo3 = CodecID(C.AV_CODEC_ID_INDEO3) CodecIDIndeo4 = CodecID(C.AV_CODEC_ID_INDEO4) CodecIDIndeo5 = CodecID(C.AV_CODEC_ID_INDEO5) CodecIDInterplayAcm = CodecID(C.AV_CODEC_ID_INTERPLAY_ACM) CodecIDInterplayDpcm = CodecID(C.AV_CODEC_ID_INTERPLAY_DPCM) CodecIDInterplayVideo = CodecID(C.AV_CODEC_ID_INTERPLAY_VIDEO) CodecIDIpu = CodecID(C.AV_CODEC_ID_IPU) CodecIDIvtvVbi = CodecID(C.AV_CODEC_ID_IVTV_VBI) CodecIDJacosub = CodecID(C.AV_CODEC_ID_JACOSUB) CodecIDJpeg2000 = CodecID(C.AV_CODEC_ID_JPEG2000) CodecIDJpegls = CodecID(C.AV_CODEC_ID_JPEGLS) CodecIDJpegxl = CodecID(C.AV_CODEC_ID_JPEGXL) CodecIDJpegxlAnim = CodecID(C.AV_CODEC_ID_JPEGXL_ANIM) CodecIDJv = CodecID(C.AV_CODEC_ID_JV) CodecIDKgv1 = CodecID(C.AV_CODEC_ID_KGV1) CodecIDKmvc = CodecID(C.AV_CODEC_ID_KMVC) CodecIDLagarith = CodecID(C.AV_CODEC_ID_LAGARITH) CodecIDLc3 = CodecID(C.AV_CODEC_ID_LC3) CodecIDLcevc = CodecID(C.AV_CODEC_ID_LCEVC) CodecIDLead = CodecID(C.AV_CODEC_ID_LEAD) CodecIDLjpeg = CodecID(C.AV_CODEC_ID_LJPEG) CodecIDLoco = CodecID(C.AV_CODEC_ID_LOCO) CodecIDLscr = CodecID(C.AV_CODEC_ID_LSCR) CodecIDM101 = CodecID(C.AV_CODEC_ID_M101) CodecIDMace3 = CodecID(C.AV_CODEC_ID_MACE3) CodecIDMace6 = CodecID(C.AV_CODEC_ID_MACE6) CodecIDMad = CodecID(C.AV_CODEC_ID_MAD) CodecIDMagicyuv = CodecID(C.AV_CODEC_ID_MAGICYUV) CodecIDMdec = CodecID(C.AV_CODEC_ID_MDEC) CodecIDMedia100 = CodecID(C.AV_CODEC_ID_MEDIA100) CodecIDMetasound = CodecID(C.AV_CODEC_ID_METASOUND) CodecIDMicrodvd = CodecID(C.AV_CODEC_ID_MICRODVD) CodecIDMimic = CodecID(C.AV_CODEC_ID_MIMIC) CodecIDMisc4 = CodecID(C.AV_CODEC_ID_MISC4) CodecIDMjpeg = CodecID(C.AV_CODEC_ID_MJPEG) CodecIDMjpegb = CodecID(C.AV_CODEC_ID_MJPEGB) CodecIDMlp = CodecID(C.AV_CODEC_ID_MLP) CodecIDMmvideo = CodecID(C.AV_CODEC_ID_MMVIDEO) CodecIDMobiclip = CodecID(C.AV_CODEC_ID_MOBICLIP) CodecIDMotionpixels = CodecID(C.AV_CODEC_ID_MOTIONPIXELS) CodecIDMovText = CodecID(C.AV_CODEC_ID_MOV_TEXT) CodecIDMp1 = CodecID(C.AV_CODEC_ID_MP1) CodecIDMp2 = CodecID(C.AV_CODEC_ID_MP2) CodecIDMp3 = CodecID(C.AV_CODEC_ID_MP3) CodecIDMp3Adu = CodecID(C.AV_CODEC_ID_MP3ADU) CodecIDMp3On4 = CodecID(C.AV_CODEC_ID_MP3ON4) CodecIDMp4Als = CodecID(C.AV_CODEC_ID_MP4ALS) CodecIDMpeg1Video = CodecID(C.AV_CODEC_ID_MPEG1VIDEO) CodecIDMpeg2Ts = CodecID(C.AV_CODEC_ID_MPEG2TS) CodecIDMpeg2Video = CodecID(C.AV_CODEC_ID_MPEG2VIDEO) CodecIDMpeg4 = CodecID(C.AV_CODEC_ID_MPEG4) CodecIDMpeg4Systems = CodecID(C.AV_CODEC_ID_MPEG4SYSTEMS) CodecIDMpegh3DAudio = CodecID(C.AV_CODEC_ID_MPEGH_3D_AUDIO) CodecIDMpl2 = CodecID(C.AV_CODEC_ID_MPL2) CodecIDMsa1 = CodecID(C.AV_CODEC_ID_MSA1) CodecIDMscc = CodecID(C.AV_CODEC_ID_MSCC) CodecIDMsmpeg4V1 = CodecID(C.AV_CODEC_ID_MSMPEG4V1) CodecIDMsmpeg4V2 = CodecID(C.AV_CODEC_ID_MSMPEG4V2) CodecIDMsmpeg4V3 = CodecID(C.AV_CODEC_ID_MSMPEG4V3) CodecIDMsnsiren = CodecID(C.AV_CODEC_ID_MSNSIREN) CodecIDMsp2 = CodecID(C.AV_CODEC_ID_MSP2) CodecIDMsrle = CodecID(C.AV_CODEC_ID_MSRLE) CodecIDMss1 = CodecID(C.AV_CODEC_ID_MSS1) CodecIDMss2 = CodecID(C.AV_CODEC_ID_MSS2) CodecIDMsvideo1 = CodecID(C.AV_CODEC_ID_MSVIDEO1) CodecIDMszh = CodecID(C.AV_CODEC_ID_MSZH) CodecIDMts2 = CodecID(C.AV_CODEC_ID_MTS2) CodecIDMusepack7 = CodecID(C.AV_CODEC_ID_MUSEPACK7) CodecIDMusepack8 = CodecID(C.AV_CODEC_ID_MUSEPACK8) CodecIDMv30 = CodecID(C.AV_CODEC_ID_MV30) CodecIDMvc1 = CodecID(C.AV_CODEC_ID_MVC1) CodecIDMvc1Deprecated = CodecID(C.AV_CODEC_ID_MVC1) CodecIDMvc2 = CodecID(C.AV_CODEC_ID_MVC2) CodecIDMvc2Deprecated = CodecID(C.AV_CODEC_ID_MVC2) CodecIDMvdv = CodecID(C.AV_CODEC_ID_MVDV) CodecIDMvha = CodecID(C.AV_CODEC_ID_MVHA) CodecIDMwsc = CodecID(C.AV_CODEC_ID_MWSC) CodecIDMxpeg = CodecID(C.AV_CODEC_ID_MXPEG) CodecIDNellymoser = CodecID(C.AV_CODEC_ID_NELLYMOSER) CodecIDNone = CodecID(C.AV_CODEC_ID_NONE) CodecIDNotchlc = CodecID(C.AV_CODEC_ID_NOTCHLC) CodecIDNuv = CodecID(C.AV_CODEC_ID_NUV) CodecIDOn2Avc = CodecID(C.AV_CODEC_ID_ON2AVC) CodecIDOpus = CodecID(C.AV_CODEC_ID_OPUS) CodecIDOpusDeprecated = CodecID(C.AV_CODEC_ID_OPUS) CodecIDOsq = CodecID(C.AV_CODEC_ID_OSQ) CodecIDOtf = CodecID(C.AV_CODEC_ID_OTF) CodecIDPafAudio = CodecID(C.AV_CODEC_ID_PAF_AUDIO) CodecIDPafAudioDeprecated = CodecID(C.AV_CODEC_ID_PAF_AUDIO) CodecIDPafVideo = CodecID(C.AV_CODEC_ID_PAF_VIDEO) CodecIDPafVideoDeprecated = CodecID(C.AV_CODEC_ID_PAF_VIDEO) CodecIDPam = CodecID(C.AV_CODEC_ID_PAM) CodecIDPbm = CodecID(C.AV_CODEC_ID_PBM) CodecIDPcmAlaw = CodecID(C.AV_CODEC_ID_PCM_ALAW) CodecIDPcmBluray = CodecID(C.AV_CODEC_ID_PCM_BLURAY) CodecIDPcmDvd = CodecID(C.AV_CODEC_ID_PCM_DVD) CodecIDPcmF16Le = CodecID(C.AV_CODEC_ID_PCM_F16LE) CodecIDPcmF24Le = CodecID(C.AV_CODEC_ID_PCM_F24LE) CodecIDPcmF32Be = CodecID(C.AV_CODEC_ID_PCM_F32BE) CodecIDPcmF32Le = CodecID(C.AV_CODEC_ID_PCM_F32LE) CodecIDPcmF64Be = CodecID(C.AV_CODEC_ID_PCM_F64BE) CodecIDPcmF64Le = CodecID(C.AV_CODEC_ID_PCM_F64LE) CodecIDPcmLxf = CodecID(C.AV_CODEC_ID_PCM_LXF) CodecIDPcmMulaw = CodecID(C.AV_CODEC_ID_PCM_MULAW) CodecIDPcmS16Be = CodecID(C.AV_CODEC_ID_PCM_S16BE) CodecIDPcmS16BePlanar = CodecID(C.AV_CODEC_ID_PCM_S16BE_PLANAR) CodecIDPcmS16Le = CodecID(C.AV_CODEC_ID_PCM_S16LE) CodecIDPcmS16LePlanar = CodecID(C.AV_CODEC_ID_PCM_S16LE_PLANAR) CodecIDPcmS24Be = CodecID(C.AV_CODEC_ID_PCM_S24BE) CodecIDPcmS24Daud = CodecID(C.AV_CODEC_ID_PCM_S24DAUD) CodecIDPcmS24Le = CodecID(C.AV_CODEC_ID_PCM_S24LE) CodecIDPcmS24LePlanar = CodecID(C.AV_CODEC_ID_PCM_S24LE_PLANAR) CodecIDPcmS24LePlanarDeprecated = CodecID(C.AV_CODEC_ID_PCM_S24LE_PLANAR) CodecIDPcmS32Be = CodecID(C.AV_CODEC_ID_PCM_S32BE) CodecIDPcmS32Le = CodecID(C.AV_CODEC_ID_PCM_S32LE) CodecIDPcmS32LePlanar = CodecID(C.AV_CODEC_ID_PCM_S32LE_PLANAR) CodecIDPcmS32LePlanarDeprecated = CodecID(C.AV_CODEC_ID_PCM_S32LE_PLANAR) CodecIDPcmS64Be = CodecID(C.AV_CODEC_ID_PCM_S64BE) CodecIDPcmS64Le = CodecID(C.AV_CODEC_ID_PCM_S64LE) CodecIDPcmS8 = CodecID(C.AV_CODEC_ID_PCM_S8) CodecIDPcmS8Planar = CodecID(C.AV_CODEC_ID_PCM_S8_PLANAR) CodecIDPcmSga = CodecID(C.AV_CODEC_ID_PCM_SGA) CodecIDPcmU16Be = CodecID(C.AV_CODEC_ID_PCM_U16BE) CodecIDPcmU16Le = CodecID(C.AV_CODEC_ID_PCM_U16LE) CodecIDPcmU24Be = CodecID(C.AV_CODEC_ID_PCM_U24BE) CodecIDPcmU24Le = CodecID(C.AV_CODEC_ID_PCM_U24LE) CodecIDPcmU32Be = CodecID(C.AV_CODEC_ID_PCM_U32BE) CodecIDPcmU32Le = CodecID(C.AV_CODEC_ID_PCM_U32LE) CodecIDPcmU8 = CodecID(C.AV_CODEC_ID_PCM_U8) CodecIDPcmVidc = CodecID(C.AV_CODEC_ID_PCM_VIDC) CodecIDPcmZork = CodecID(C.AV_CODEC_ID_PCM_ZORK) CodecIDPcx = CodecID(C.AV_CODEC_ID_PCX) CodecIDPdv = CodecID(C.AV_CODEC_ID_PDV) CodecIDPfm = CodecID(C.AV_CODEC_ID_PFM) CodecIDPgm = CodecID(C.AV_CODEC_ID_PGM) CodecIDPgmyuv = CodecID(C.AV_CODEC_ID_PGMYUV) CodecIDPgx = CodecID(C.AV_CODEC_ID_PGX) CodecIDPhm = CodecID(C.AV_CODEC_ID_PHM) CodecIDPhotocd = CodecID(C.AV_CODEC_ID_PHOTOCD) CodecIDPictor = CodecID(C.AV_CODEC_ID_PICTOR) CodecIDPixlet = CodecID(C.AV_CODEC_ID_PIXLET) CodecIDPjs = CodecID(C.AV_CODEC_ID_PJS) CodecIDPng = CodecID(C.AV_CODEC_ID_PNG) CodecIDPpm = CodecID(C.AV_CODEC_ID_PPM) CodecIDProbe = CodecID(C.AV_CODEC_ID_PROBE) CodecIDProres = CodecID(C.AV_CODEC_ID_PRORES) CodecIDProresRaw = CodecID(C.AV_CODEC_ID_PRORES_RAW) CodecIDProsumer = CodecID(C.AV_CODEC_ID_PROSUMER) CodecIDPsd = CodecID(C.AV_CODEC_ID_PSD) CodecIDPtx = CodecID(C.AV_CODEC_ID_PTX) CodecIDQcelp = CodecID(C.AV_CODEC_ID_QCELP) CodecIDQdm2 = CodecID(C.AV_CODEC_ID_QDM2) CodecIDQdmc = CodecID(C.AV_CODEC_ID_QDMC) CodecIDQdraw = CodecID(C.AV_CODEC_ID_QDRAW) CodecIDQoa = CodecID(C.AV_CODEC_ID_QOA) CodecIDQoi = CodecID(C.AV_CODEC_ID_QOI) CodecIDQpeg = CodecID(C.AV_CODEC_ID_QPEG) CodecIDQtrle = CodecID(C.AV_CODEC_ID_QTRLE) CodecIDR10K = CodecID(C.AV_CODEC_ID_R10K) CodecIDR210 = CodecID(C.AV_CODEC_ID_R210) CodecIDRa144 = CodecID(C.AV_CODEC_ID_RA_144) CodecIDRa288 = CodecID(C.AV_CODEC_ID_RA_288) CodecIDRadianceHdr = CodecID(C.AV_CODEC_ID_RADIANCE_HDR) CodecIDRalf = CodecID(C.AV_CODEC_ID_RALF) CodecIDRasc = CodecID(C.AV_CODEC_ID_RASC) CodecIDRawvideo = CodecID(C.AV_CODEC_ID_RAWVIDEO) CodecIDRealtext = CodecID(C.AV_CODEC_ID_REALTEXT) CodecIDRka = CodecID(C.AV_CODEC_ID_RKA) CodecIDRl2 = CodecID(C.AV_CODEC_ID_RL2) CodecIDRoq = CodecID(C.AV_CODEC_ID_ROQ) CodecIDRoqDpcm = CodecID(C.AV_CODEC_ID_ROQ_DPCM) CodecIDRpza = CodecID(C.AV_CODEC_ID_RPZA) CodecIDRscc = CodecID(C.AV_CODEC_ID_RSCC) CodecIDRtv1 = CodecID(C.AV_CODEC_ID_RTV1) CodecIDRv10 = CodecID(C.AV_CODEC_ID_RV10) CodecIDRv20 = CodecID(C.AV_CODEC_ID_RV20) CodecIDRv30 = CodecID(C.AV_CODEC_ID_RV30) CodecIDRv40 = CodecID(C.AV_CODEC_ID_RV40) CodecIDS302M = CodecID(C.AV_CODEC_ID_S302M) CodecIDSami = CodecID(C.AV_CODEC_ID_SAMI) CodecIDSanm = CodecID(C.AV_CODEC_ID_SANM) CodecIDSanmDeprecated = CodecID(C.AV_CODEC_ID_SANM) CodecIDSbc = CodecID(C.AV_CODEC_ID_SBC) CodecIDScpr = CodecID(C.AV_CODEC_ID_SCPR) CodecIDScreenpresso = CodecID(C.AV_CODEC_ID_SCREENPRESSO) CodecIDScte35 = CodecID(C.AV_CODEC_ID_SCTE_35) CodecIDSdx2Dpcm = CodecID(C.AV_CODEC_ID_SDX2_DPCM) CodecIDSgaVideo = CodecID(C.AV_CODEC_ID_SGA_VIDEO) CodecIDSgi = CodecID(C.AV_CODEC_ID_SGI) CodecIDSgirle = CodecID(C.AV_CODEC_ID_SGIRLE) CodecIDSgirleDeprecated = CodecID(C.AV_CODEC_ID_SGIRLE) CodecIDSheervideo = CodecID(C.AV_CODEC_ID_SHEERVIDEO) CodecIDShorten = CodecID(C.AV_CODEC_ID_SHORTEN) CodecIDSimbiosisImx = CodecID(C.AV_CODEC_ID_SIMBIOSIS_IMX) CodecIDSipr = CodecID(C.AV_CODEC_ID_SIPR) CodecIDSiren = CodecID(C.AV_CODEC_ID_SIREN) CodecIDSmackaudio = CodecID(C.AV_CODEC_ID_SMACKAUDIO) CodecIDSmackvideo = CodecID(C.AV_CODEC_ID_SMACKVIDEO) CodecIDSmc = CodecID(C.AV_CODEC_ID_SMC) CodecIDSmpte2038 = CodecID(C.AV_CODEC_ID_SMPTE_2038) CodecIDSmpte436mAnc = CodecID(C.AV_CODEC_ID_SMPTE_436M_ANC) CodecIDSmpteKlv = CodecID(C.AV_CODEC_ID_SMPTE_KLV) CodecIDSmv = CodecID(C.AV_CODEC_ID_SMV) CodecIDSmvjpeg = CodecID(C.AV_CODEC_ID_SMVJPEG) CodecIDSnow = CodecID(C.AV_CODEC_ID_SNOW) CodecIDSolDpcm = CodecID(C.AV_CODEC_ID_SOL_DPCM) CodecIDSonic = CodecID(C.AV_CODEC_ID_SONIC) CodecIDSonicLs = CodecID(C.AV_CODEC_ID_SONIC_LS) CodecIDSp5X = CodecID(C.AV_CODEC_ID_SP5X) CodecIDSpeedhq = CodecID(C.AV_CODEC_ID_SPEEDHQ) CodecIDSpeex = CodecID(C.AV_CODEC_ID_SPEEX) CodecIDSrgc = CodecID(C.AV_CODEC_ID_SRGC) CodecIDSrt = CodecID(C.AV_CODEC_ID_SRT) CodecIDSsa = CodecID(C.AV_CODEC_ID_SSA) CodecIDStl = CodecID(C.AV_CODEC_ID_STL) CodecIDSubrip = CodecID(C.AV_CODEC_ID_SUBRIP) CodecIDSubviewer = CodecID(C.AV_CODEC_ID_SUBVIEWER) CodecIDSubviewer1 = CodecID(C.AV_CODEC_ID_SUBVIEWER1) CodecIDSunrast = CodecID(C.AV_CODEC_ID_SUNRAST) CodecIDSvg = CodecID(C.AV_CODEC_ID_SVG) CodecIDSvq1 = CodecID(C.AV_CODEC_ID_SVQ1) CodecIDSvq3 = CodecID(C.AV_CODEC_ID_SVQ3) CodecIDTak = CodecID(C.AV_CODEC_ID_TAK) CodecIDTakDeprecated = CodecID(C.AV_CODEC_ID_TAK) CodecIDTarga = CodecID(C.AV_CODEC_ID_TARGA) CodecIDTargaY216 = CodecID(C.AV_CODEC_ID_TARGA_Y216) CodecIDTdsc = CodecID(C.AV_CODEC_ID_TDSC) CodecIDText = CodecID(C.AV_CODEC_ID_TEXT) CodecIDTgq = CodecID(C.AV_CODEC_ID_TGQ) CodecIDTgv = CodecID(C.AV_CODEC_ID_TGV) CodecIDTheora = CodecID(C.AV_CODEC_ID_THEORA) CodecIDThp = CodecID(C.AV_CODEC_ID_THP) CodecIDTiertexseqvideo = CodecID(C.AV_CODEC_ID_TIERTEXSEQVIDEO) CodecIDTiff = CodecID(C.AV_CODEC_ID_TIFF) CodecIDTimedId3 = CodecID(C.AV_CODEC_ID_TIMED_ID3) CodecIDTmv = CodecID(C.AV_CODEC_ID_TMV) CodecIDTqi = CodecID(C.AV_CODEC_ID_TQI) CodecIDTruehd = CodecID(C.AV_CODEC_ID_TRUEHD) CodecIDTruemotion1 = CodecID(C.AV_CODEC_ID_TRUEMOTION1) CodecIDTruemotion2 = CodecID(C.AV_CODEC_ID_TRUEMOTION2) CodecIDTruemotion2Rt = CodecID(C.AV_CODEC_ID_TRUEMOTION2RT) CodecIDTruespeech = CodecID(C.AV_CODEC_ID_TRUESPEECH) CodecIDTscc = CodecID(C.AV_CODEC_ID_TSCC) CodecIDTscc2 = CodecID(C.AV_CODEC_ID_TSCC2) CodecIDTta = CodecID(C.AV_CODEC_ID_TTA) CodecIDTtf = CodecID(C.AV_CODEC_ID_TTF) CodecIDTtml = CodecID(C.AV_CODEC_ID_TTML) CodecIDTwinvq = CodecID(C.AV_CODEC_ID_TWINVQ) CodecIDTxd = CodecID(C.AV_CODEC_ID_TXD) CodecIDUlti = CodecID(C.AV_CODEC_ID_ULTI) CodecIDUtvideo = CodecID(C.AV_CODEC_ID_UTVIDEO) CodecIDV210 = CodecID(C.AV_CODEC_ID_V210) CodecIDV210X = CodecID(C.AV_CODEC_ID_V210X) CodecIDV308 = CodecID(C.AV_CODEC_ID_V308) CodecIDV408 = CodecID(C.AV_CODEC_ID_V408) CodecIDV410 = CodecID(C.AV_CODEC_ID_V410) CodecIDVb = CodecID(C.AV_CODEC_ID_VB) CodecIDVble = CodecID(C.AV_CODEC_ID_VBLE) CodecIDVbn = CodecID(C.AV_CODEC_ID_VBN) CodecIDVc1 = CodecID(C.AV_CODEC_ID_VC1) CodecIDVc1Image = CodecID(C.AV_CODEC_ID_VC1IMAGE) CodecIDVcr1 = CodecID(C.AV_CODEC_ID_VCR1) CodecIDVixl = CodecID(C.AV_CODEC_ID_VIXL) CodecIDVmdaudio = CodecID(C.AV_CODEC_ID_VMDAUDIO) CodecIDVmdvideo = CodecID(C.AV_CODEC_ID_VMDVIDEO) CodecIDVmix = CodecID(C.AV_CODEC_ID_VMIX) CodecIDVmnc = CodecID(C.AV_CODEC_ID_VMNC) CodecIDVnull = CodecID(C.AV_CODEC_ID_VNULL) CodecIDVorbis = CodecID(C.AV_CODEC_ID_VORBIS) CodecIDVp3 = CodecID(C.AV_CODEC_ID_VP3) CodecIDVp4 = CodecID(C.AV_CODEC_ID_VP4) CodecIDVp5 = CodecID(C.AV_CODEC_ID_VP5) CodecIDVp6 = CodecID(C.AV_CODEC_ID_VP6) CodecIDVp6A = CodecID(C.AV_CODEC_ID_VP6A) CodecIDVp6F = CodecID(C.AV_CODEC_ID_VP6F) CodecIDVp7 = CodecID(C.AV_CODEC_ID_VP7) CodecIDVp7Deprecated = CodecID(C.AV_CODEC_ID_VP7) CodecIDVp8 = CodecID(C.AV_CODEC_ID_VP8) CodecIDVp9 = CodecID(C.AV_CODEC_ID_VP9) CodecIDVplayer = CodecID(C.AV_CODEC_ID_VPLAYER) CodecIDVqc = CodecID(C.AV_CODEC_ID_VQC) CodecIDVvc = CodecID(C.AV_CODEC_ID_VVC) CodecIDWadyDpcm = CodecID(C.AV_CODEC_ID_WADY_DPCM) CodecIDWavarc = CodecID(C.AV_CODEC_ID_WAVARC) CodecIDWavpack = CodecID(C.AV_CODEC_ID_WAVPACK) CodecIDWbmp = CodecID(C.AV_CODEC_ID_WBMP) CodecIDWcmv = CodecID(C.AV_CODEC_ID_WCMV) CodecIDWebp = CodecID(C.AV_CODEC_ID_WEBP) CodecIDWebpDeprecated = CodecID(C.AV_CODEC_ID_WEBP) CodecIDWebvtt = CodecID(C.AV_CODEC_ID_WEBVTT) CodecIDWestwoodSnd1 = CodecID(C.AV_CODEC_ID_WESTWOOD_SND1) CodecIDWmalossless = CodecID(C.AV_CODEC_ID_WMALOSSLESS) CodecIDWmapro = CodecID(C.AV_CODEC_ID_WMAPRO) CodecIDWmav1 = CodecID(C.AV_CODEC_ID_WMAV1) CodecIDWmav2 = CodecID(C.AV_CODEC_ID_WMAV2) CodecIDWmavoice = CodecID(C.AV_CODEC_ID_WMAVOICE) CodecIDWmv1 = CodecID(C.AV_CODEC_ID_WMV1) CodecIDWmv2 = CodecID(C.AV_CODEC_ID_WMV2) CodecIDWmv3 = CodecID(C.AV_CODEC_ID_WMV3) CodecIDWmv3Image = CodecID(C.AV_CODEC_ID_WMV3IMAGE) CodecIDWnv1 = CodecID(C.AV_CODEC_ID_WNV1) CodecIDWrappedAvframe = CodecID(C.AV_CODEC_ID_WRAPPED_AVFRAME) CodecIDWsVqa = CodecID(C.AV_CODEC_ID_WS_VQA) CodecIDXanDpcm = CodecID(C.AV_CODEC_ID_XAN_DPCM) CodecIDXanWc3 = CodecID(C.AV_CODEC_ID_XAN_WC3) CodecIDXanWc4 = CodecID(C.AV_CODEC_ID_XAN_WC4) CodecIDXbin = CodecID(C.AV_CODEC_ID_XBIN) CodecIDXbm = CodecID(C.AV_CODEC_ID_XBM) CodecIDXface = CodecID(C.AV_CODEC_ID_XFACE) CodecIDXma1 = CodecID(C.AV_CODEC_ID_XMA1) CodecIDXma2 = CodecID(C.AV_CODEC_ID_XMA2) CodecIDXpm = CodecID(C.AV_CODEC_ID_XPM) CodecIDXsub = CodecID(C.AV_CODEC_ID_XSUB) CodecIDXwd = CodecID(C.AV_CODEC_ID_XWD) CodecIDY41P = CodecID(C.AV_CODEC_ID_Y41P) CodecIDYlc = CodecID(C.AV_CODEC_ID_YLC) CodecIDYop = CodecID(C.AV_CODEC_ID_YOP) CodecIDYuv4 = CodecID(C.AV_CODEC_ID_YUV4) CodecIDZerocodec = CodecID(C.AV_CODEC_ID_ZEROCODEC) CodecIDZlib = CodecID(C.AV_CODEC_ID_ZLIB) CodecIDZmbv = CodecID(C.AV_CODEC_ID_ZMBV) ) func (c CodecID) MediaType() MediaType { return MediaType(C.avcodec_get_type((C.enum_AVCodecID)(c))) } func (c CodecID) Name() string { return C.GoString(C.avcodec_get_name((C.enum_AVCodecID)(c))) } func (c CodecID) String() string { return c.Name() } ================================================ FILE: codec_id_test.go ================================================ package astiav import ( "testing" "github.com/stretchr/testify/require" ) func TestCodecID(t *testing.T) { require.Equal(t, MediaTypeVideo, CodecIDH264.MediaType()) require.Equal(t, "h264", CodecIDH264.Name()) require.Equal(t, "h264", CodecIDH264.String()) } ================================================ FILE: codec_parameters.go ================================================ package astiav //#include import "C" // https://ffmpeg.org/doxygen/8.0/structAVCodecParameters.html type CodecParameters struct { c *C.AVCodecParameters } // https://ffmpeg.org/doxygen/8.0/group__lavc__core.html#ga647755ab2252e93221bb345f3d5e414f func AllocCodecParameters() *CodecParameters { return newCodecParametersFromC(C.avcodec_parameters_alloc()) } func newCodecParametersFromC(c *C.AVCodecParameters) *CodecParameters { if c == nil { return nil } return &CodecParameters{c: c} } // https://ffmpeg.org/doxygen/8.0/group__lavc__core.html#ga950c8da55b8112077e640b6a0cb8cf36 func (cp *CodecParameters) Free() { if cp.c != nil { C.avcodec_parameters_free(&cp.c) } } // https://ffmpeg.org/doxygen/8.0/structAVCodecParameters.html#a5268fcf4ae8ed27edef54f836b926d93 func (cp *CodecParameters) BitRate() int64 { return int64(cp.c.bit_rate) } // https://ffmpeg.org/doxygen/8.0/structAVCodecParameters.html#a4d581c205b18108a4f00e8fb3a2b26f9 func (cp *CodecParameters) ChannelLayout() ChannelLayout { l, _ := newChannelLayoutFromC(&cp.c.ch_layout).clone() return l } // https://ffmpeg.org/doxygen/8.0/structAVCodecParameters.html#a4d581c205b18108a4f00e8fb3a2b26f9 func (cp *CodecParameters) SetChannelLayout(l ChannelLayout) { l.copy(&cp.c.ch_layout) //nolint: errcheck } // https://ffmpeg.org/doxygen/8.0/structAVCodecParameters.html#a9f76f2475ef24ff4c9771dd53072d040 func (cp *CodecParameters) CodecID() CodecID { return CodecID(cp.c.codec_id) } // https://ffmpeg.org/doxygen/8.0/structAVCodecParameters.html#a9f76f2475ef24ff4c9771dd53072d040 func (cp *CodecParameters) SetCodecID(i CodecID) { cp.c.codec_id = uint32(i) } // https://ffmpeg.org/doxygen/8.0/structAVCodecParameters.html#a9b6f7d220d100ba73defab295623356b func (cp *CodecParameters) CodecTag() CodecTag { return CodecTag(cp.c.codec_tag) } // https://ffmpeg.org/doxygen/8.0/structAVCodecParameters.html#a9b6f7d220d100ba73defab295623356b func (cp *CodecParameters) SetCodecTag(t CodecTag) { cp.c.codec_tag = C.uint(t) } // https://ffmpeg.org/doxygen/8.0/structAVCodecParameters.html#ae4c7ac718a75adb31b5f2076a02fdedf func (cp *CodecParameters) ChromaLocation() ChromaLocation { return ChromaLocation(cp.c.chroma_location) } // https://ffmpeg.org/doxygen/8.0/structAVCodecParameters.html#aa884cae3fd16b30c61201a686664f96b func (cp *CodecParameters) ColorPrimaries() ColorPrimaries { return ColorPrimaries(cp.c.color_primaries) } // https://ffmpeg.org/doxygen/8.0/structAVCodecParameters.html#afa6744d9b8766db47a5ff7bddf0f2404 func (cp *CodecParameters) ColorRange() ColorRange { return ColorRange(cp.c.color_range) } // https://ffmpeg.org/doxygen/8.0/structAVCodecParameters.html#afa6744d9b8766db47a5ff7bddf0f2404 func (cp *CodecParameters) SetColorRange(r ColorRange) { cp.c.color_range = C.enum_AVColorRange(r) } // https://ffmpeg.org/doxygen/8.0/structAVCodecParameters.html#a020398a4963e932853cefc169d90456d func (cp *CodecParameters) ColorSpace() ColorSpace { return ColorSpace(cp.c.color_space) } // https://ffmpeg.org/doxygen/8.0/structAVCodecParameters.html#a020398a4963e932853cefc169d90456d func (cp *CodecParameters) SetColorSpace(s ColorSpace) { cp.c.color_space = C.enum_AVColorSpace(s) } // https://ffmpeg.org/doxygen/8.0/structAVCodecParameters.html#ac25ed8394e1efdbbcf28932ff0020893 func (cp *CodecParameters) ColorTransferCharacteristic() ColorTransferCharacteristic { return ColorTransferCharacteristic(cp.c.color_trc) } // https://ffmpeg.org/doxygen/8.0/structAVCodecParameters.html#a9befe0b86412646017afb0051d144d13 func (cp *CodecParameters) ExtraData() []byte { return bytesFromC(func(size *C.size_t) *C.uint8_t { *size = C.size_t(cp.c.extradata_size) return cp.c.extradata }) } // https://ffmpeg.org/doxygen/8.0/structAVCodecParameters.html#a9befe0b86412646017afb0051d144d13 func (cp *CodecParameters) SetExtraData(b []byte) error { return setBytesWithIntSizeInC(b, &cp.c.extradata, &cp.c.extradata_size) } // https://ffmpeg.org/doxygen/8.0/structAVCodecParameters.html#a0ce9631123719789e4c7b0c23c66d534 func (cp *CodecParameters) FrameSize() int { return int(cp.c.frame_size) } // https://ffmpeg.org/doxygen/8.0/structAVCodecParameters.html#a0ce9631123719789e4c7b0c23c66d534 func (cp *CodecParameters) SetFrameSize(i int) { cp.c.frame_size = C.int(i) } // https://ffmpeg.org/doxygen/8.0/structAVCodecParameters.html#a1ec57ee84f19cf65d00eaa4d2a2253ce func (cp *CodecParameters) Height() int { return int(cp.c.height) } // https://ffmpeg.org/doxygen/8.0/structAVCodecParameters.html#a1ec57ee84f19cf65d00eaa4d2a2253ce func (cp *CodecParameters) SetHeight(h int) { cp.c.height = C.int(h) } // https://ffmpeg.org/doxygen/8.0/structAVCodecParameters.html#a26ae48eeaf8b315eca03b207e11edc7c func (cp *CodecParameters) Level() Level { return Level(cp.c.level) } // https://ffmpeg.org/doxygen/8.0/structAVCodecParameters.html#a26ae48eeaf8b315eca03b207e11edc7c func (cp *CodecParameters) SetLevel(l Level) { cp.c.level = C.int(l) } // https://ffmpeg.org/doxygen/8.0/structAVCodecParameters.html#a58369c3a8a986935b572df5aa6361ce2 func (cp *CodecParameters) MediaType() MediaType { return MediaType(cp.c.codec_type) } // https://ffmpeg.org/doxygen/8.0/structAVCodecParameters.html#a58369c3a8a986935b572df5aa6361ce2 func (cp *CodecParameters) SetMediaType(t MediaType) { cp.c.codec_type = C.enum_AVMediaType(t) } // https://ffmpeg.org/doxygen/8.0/structAVCodecParameters.html#abee943e65d98f9763fa6602a356e774f func (cp *CodecParameters) PixelFormat() PixelFormat { return PixelFormat(cp.c.format) } // https://ffmpeg.org/doxygen/8.0/structAVCodecParameters.html#abee943e65d98f9763fa6602a356e774f func (cp *CodecParameters) SetPixelFormat(f PixelFormat) { cp.c.format = C.int(f) } // https://ffmpeg.org/doxygen/8.0/structAVCodecParameters.html#a6b13b8a226ed923085718cd1323bfcb5 func (cp *CodecParameters) Profile() Profile { return Profile(cp.c.profile) } // https://ffmpeg.org/doxygen/8.0/structAVCodecParameters.html#a6b13b8a226ed923085718cd1323bfcb5 func (cp *CodecParameters) SetProfile(p Profile) { cp.c.profile = C.int(p) } // https://ffmpeg.org/doxygen/8.0/structAVCodecParameters.html#a7d6ef91120ffe80040c699e747a1ad68 func (cp *CodecParameters) SampleAspectRatio() Rational { return newRationalFromC(cp.c.sample_aspect_ratio) } // https://ffmpeg.org/doxygen/8.0/structAVCodecParameters.html#a7d6ef91120ffe80040c699e747a1ad68 func (cp *CodecParameters) SetSampleAspectRatio(r Rational) { cp.c.sample_aspect_ratio = r.c } // https://ffmpeg.org/doxygen/8.0/structAVCodecParameters.html#ad54da9241deabb3601e6e0e8fa832c19 func (cp *CodecParameters) SideData() *PacketSideData { return newPacketSideDataFromC(&cp.c.coded_side_data, &cp.c.nb_coded_side_data) } // https://ffmpeg.org/doxygen/8.0/structAVCodecParameters.html#abee943e65d98f9763fa6602a356e774f func (cp *CodecParameters) SampleFormat() SampleFormat { return SampleFormat(cp.c.format) } // https://ffmpeg.org/doxygen/8.0/structAVCodecParameters.html#abee943e65d98f9763fa6602a356e774f func (cp *CodecParameters) SetSampleFormat(f SampleFormat) { cp.c.format = C.int(f) } // https://ffmpeg.org/doxygen/8.0/structAVCodecParameters.html#abfc9b0aa975206f7e77a125e6b78536e func (cp *CodecParameters) SampleRate() int { return int(cp.c.sample_rate) } // https://ffmpeg.org/doxygen/8.0/structAVCodecParameters.html#abfc9b0aa975206f7e77a125e6b78536e func (cp *CodecParameters) SetSampleRate(r int) { cp.c.sample_rate = C.int(r) } // https://ffmpeg.org/doxygen/8.0/structAVCodecParameters.html#a51639f88aef9f4f283f538a0c033fbb8 func (cp *CodecParameters) Width() int { return int(cp.c.width) } // https://ffmpeg.org/doxygen/8.0/structAVCodecParameters.html#a51639f88aef9f4f283f538a0c033fbb8 func (cp *CodecParameters) SetWidth(w int) { cp.c.width = C.int(w) } // https://ffmpeg.org/doxygen/8.0/group__lavc__core.html#ga506c1c185ac48bb0086c61e267fc085c func (cp *CodecParameters) FromCodecContext(cc *CodecContext) error { return newError(C.avcodec_parameters_from_context(cp.c, cc.c)) } // https://ffmpeg.org/doxygen/8.0/group__lavc__core.html#ga8a4998c9d1695abb01d379539d313227 func (cp *CodecParameters) ToCodecContext(cc *CodecContext) error { return newError(C.avcodec_parameters_to_context(cc.c, cp.c)) } // https://ffmpeg.org/doxygen/8.0/group__lavc__core.html#ga6d02e640ccc12c783841ce51d09b9fa7 func (cp *CodecParameters) Copy(dst *CodecParameters) error { return newError(C.avcodec_parameters_copy(dst.c, cp.c)) } ================================================ FILE: codec_parameters_test.go ================================================ package astiav import ( "testing" "github.com/stretchr/testify/require" ) func TestCodecParameters(t *testing.T) { fc, err := globalHelper.inputFormatContext("video.mp4", nil) require.NoError(t, err) ss := fc.Streams() require.Len(t, ss, 2) s1 := ss[0] s2 := ss[1] cp1 := s1.CodecParameters() require.Equal(t, int64(441324), cp1.BitRate()) require.Equal(t, ChromaLocationLeft, cp1.ChromaLocation()) require.Equal(t, CodecIDH264, cp1.CodecID()) require.Equal(t, CodecTag(0x31637661), cp1.CodecTag()) require.Equal(t, ColorPrimariesUnspecified, cp1.ColorPrimaries()) require.Equal(t, ColorRangeUnspecified, cp1.ColorRange()) require.Equal(t, ColorSpaceUnspecified, cp1.ColorSpace()) require.Equal(t, ColorTransferCharacteristicUnspecified, cp1.ColorTransferCharacteristic()) require.Equal(t, 180, cp1.Height()) require.Equal(t, Level(13), cp1.Level()) require.Equal(t, MediaTypeVideo, cp1.MediaType()) require.Equal(t, PixelFormatYuv420P, cp1.PixelFormat()) require.Equal(t, ProfileH264ConstrainedBaseline, cp1.Profile()) require.Equal(t, NewRational(1, 1), cp1.SampleAspectRatio()) require.Equal(t, 320, cp1.Width()) cp2 := s2.CodecParameters() require.Equal(t, int64(161052), cp2.BitRate()) require.True(t, cp2.ChannelLayout().Equal(ChannelLayoutStereo)) require.Equal(t, CodecIDAac, cp2.CodecID()) require.Equal(t, CodecTag(0x6134706d), cp2.CodecTag()) require.Equal(t, 1024, cp2.FrameSize()) require.Equal(t, MediaTypeAudio, cp2.MediaType()) require.Equal(t, SampleFormatFltp, cp2.SampleFormat()) require.Equal(t, 48000, cp2.SampleRate()) cp3 := AllocCodecParameters() require.NotNil(t, cp3) defer cp3.Free() err = cp2.Copy(cp3) require.NoError(t, err) require.Equal(t, cp2.CodecID(), cp3.CodecID()) cc4 := AllocCodecContext(nil) require.NotNil(t, cc4) defer cc4.Free() err = cp2.ToCodecContext(cc4) require.NoError(t, err) require.Equal(t, cp2.CodecID(), cc4.CodecID()) cp5 := AllocCodecParameters() require.NotNil(t, cp5) defer cp5.Free() err = cp5.FromCodecContext(cc4) require.NoError(t, err) require.Equal(t, cc4.CodecID(), cp5.CodecID()) cp6 := AllocCodecParameters() require.NotNil(t, cp6) defer cp6.Free() cp6.SetChannelLayout(ChannelLayout21) require.True(t, cp6.ChannelLayout().Equal(ChannelLayout21)) defer cp6.Free() cp6.SetCodecID(CodecIDRawvideo) require.Equal(t, CodecIDRawvideo, cp6.CodecID()) cp6.SetCodecTag(CodecTag(2)) require.Equal(t, CodecTag(2), cp6.CodecTag()) cp6.SetColorRange(ColorRangeJpeg) require.Equal(t, ColorRangeJpeg, cp6.ColorRange()) cp6.SetColorSpace(ColorSpaceBt709) require.Equal(t, ColorSpaceBt709, cp6.ColorSpace()) cp6.SetFrameSize(1) require.Equal(t, 1, cp6.FrameSize()) cp6.SetHeight(1) require.Equal(t, 1, cp6.Height()) cp1.SetLevel(16) require.Equal(t, Level(16), cp1.Level()) cp6.SetMediaType(MediaTypeAudio) require.Equal(t, MediaTypeAudio, cp6.MediaType()) cp1.SetProfile(ProfileH264Extended) require.Equal(t, ProfileH264Extended, cp1.Profile()) cp6.SetPixelFormat(PixelFormat0Bgr) require.Equal(t, PixelFormat0Bgr, cp6.PixelFormat()) cp6.SetSampleAspectRatio(NewRational(1, 2)) require.Equal(t, NewRational(1, 2), cp6.SampleAspectRatio()) cp6.SetSampleFormat(SampleFormatDbl) require.Equal(t, SampleFormatDbl, cp6.SampleFormat()) cp6.SetSampleRate(4) require.Equal(t, 4, cp6.SampleRate()) cp6.SetWidth(2) require.Equal(t, 2, cp6.Width()) b := []byte("test") require.NoError(t, cp6.SetExtraData(b)) require.Equal(t, b, cp6.ExtraData()) testPacketSideData(cp6.SideData(), t) } ================================================ FILE: codec_tag.go ================================================ package astiav type CodecTag uint32 ================================================ FILE: codec_test.go ================================================ package astiav import ( "testing" "github.com/stretchr/testify/require" ) func TestCodec(t *testing.T) { c := FindDecoder(CodecIDMp3) require.NotNil(t, c) require.Equal(t, c.ID(), CodecIDMp3) require.Nil(t, c.SupportedChannelLayouts()) require.True(t, c.IsDecoder()) require.False(t, c.IsEncoder()) require.Nil(t, c.SupportedPixelFormats()) require.Equal(t, []SampleFormat{SampleFormatFltp, SampleFormatFlt}, c.SupportedSampleFormats()) require.Equal(t, "mp3float", c.Name()) require.Equal(t, "mp3float", c.String()) c = FindDecoderByName("aac") require.NotNil(t, c) els := []ChannelLayout{ ChannelLayoutMono, ChannelLayoutStereo, ChannelLayoutSurround, ChannelLayout4Point0, ChannelLayout5Point0Back, ChannelLayout5Point1Back, ChannelLayout7Point1WideBack, ChannelLayout6Point1Back, ChannelLayout7Point1, ChannelLayout22Point2, ChannelLayout5Point1Point2Back, } gls := c.SupportedChannelLayouts() require.Len(t, gls, len(els)) for idx := range els { require.True(t, els[idx].Equal(gls[idx])) } require.True(t, c.IsDecoder()) require.False(t, c.IsEncoder()) require.Equal(t, []SampleFormat{SampleFormatFltp}, c.SupportedSampleFormats()) require.Equal(t, "aac", c.Name()) require.Equal(t, "aac", c.String()) c = FindEncoderByName("aac") require.NotNil(t, c) require.Equal(t, []int{96000, 88200, 64000, 48000, 44100, 32000, 24000, 22050, 16000, 12000, 11025, 8000, 7350}, c.SupportedSampleRates()) c = FindEncoder(CodecIDMjpeg) require.NotNil(t, c) require.False(t, c.IsDecoder()) require.True(t, c.IsEncoder()) require.Contains(t, c.SupportedPixelFormats(), PixelFormatYuvj420P) require.Nil(t, c.SupportedSampleFormats()) require.Contains(t, c.Name(), "mjpeg") require.Contains(t, c.String(), "mjpeg") c = FindEncoderByName("mjpeg") require.NotNil(t, c) require.False(t, c.IsDecoder()) require.True(t, c.IsEncoder()) require.Equal(t, []PixelFormat{ PixelFormatYuvj420P, PixelFormatYuvj422P, PixelFormatYuvj444P, PixelFormatYuv420P, PixelFormatYuv422P, PixelFormatYuv444P, }, c.SupportedPixelFormats()) require.Equal(t, "mjpeg", c.Name()) require.Equal(t, "mjpeg", c.String()) require.Equal(t, []ColorRange{ColorRangeJpeg}, c.SupportedColorRanges()) require.Nil(t, c.SupportedColorSpaces()) c = FindEncoderByName("mpeg1video") require.NotNil(t, c) require.Equal(t, []Rational{ NewRational(24000, 1001), NewRational(24, 1), NewRational(25, 1), NewRational(30000, 1001), NewRational(30, 1), NewRational(50, 1), NewRational(60000, 1001), NewRational(60, 1), NewRational(15, 1), NewRational(5, 1), NewRational(10, 1), NewRational(12, 1), NewRational(15, 1), }, c.SupportedFrameRates()) c = FindDecoderByName("invalid") require.Nil(t, c) var found bool for _, c := range Codecs() { if c.ID() == CodecIDMjpeg { found = true } } require.True(t, found) } ================================================ FILE: color_primaries.go ================================================ package astiav //#include import "C" // https://ffmpeg.org/doxygen/8.0/pixfmt_8h.html#ad384ee5a840bafd73daef08e6d9cafe7 type ColorPrimaries C.enum_AVColorPrimaries const ( ColorPrimariesReserved0 = ColorPrimaries(C.AVCOL_PRI_RESERVED0) ColorPrimariesBt709 = ColorPrimaries(C.AVCOL_PRI_BT709) ColorPrimariesUnspecified = ColorPrimaries(C.AVCOL_PRI_UNSPECIFIED) ColorPrimariesReserved = ColorPrimaries(C.AVCOL_PRI_RESERVED) ColorPrimariesBt470M = ColorPrimaries(C.AVCOL_PRI_BT470M) ColorPrimariesBt470Bg = ColorPrimaries(C.AVCOL_PRI_BT470BG) ColorPrimariesSmpte170M = ColorPrimaries(C.AVCOL_PRI_SMPTE170M) ColorPrimariesSmpte240M = ColorPrimaries(C.AVCOL_PRI_SMPTE240M) ColorPrimariesFilm = ColorPrimaries(C.AVCOL_PRI_FILM) ColorPrimariesBt2020 = ColorPrimaries(C.AVCOL_PRI_BT2020) ColorPrimariesSmpte428 = ColorPrimaries(C.AVCOL_PRI_SMPTE428) ColorPrimariesSmptest4281 = ColorPrimaries(C.AVCOL_PRI_SMPTEST428_1) ColorPrimariesSmpte431 = ColorPrimaries(C.AVCOL_PRI_SMPTE431) ColorPrimariesSmpte432 = ColorPrimaries(C.AVCOL_PRI_SMPTE432) ColorPrimariesJedecP22 = ColorPrimaries(C.AVCOL_PRI_JEDEC_P22) ColorPrimariesNb = ColorPrimaries(C.AVCOL_PRI_NB) ) ================================================ FILE: color_range.go ================================================ package astiav //#include //#include import "C" // https://ffmpeg.org/doxygen/8.0/pixfmt_8h.html#a3da0bf691418bc22c4bcbe6583ad589a type ColorRange C.enum_AVColorRange const ( ColorRangeUnspecified = ColorRange(C.AVCOL_RANGE_UNSPECIFIED) ColorRangeMpeg = ColorRange(C.AVCOL_RANGE_MPEG) ColorRangeJpeg = ColorRange(C.AVCOL_RANGE_JPEG) ColorRangeNb = ColorRange(C.AVCOL_RANGE_NB) ) // https://ffmpeg.org/doxygen/8.0/pixdesc_8c.html#a590decf389632dd3af095f3096a92caf func (r ColorRange) Name() string { return C.GoString(C.av_color_range_name(C.enum_AVColorRange(r))) } func (r ColorRange) String() string { return r.Name() } ================================================ FILE: color_range_test.go ================================================ package astiav import ( "testing" "github.com/stretchr/testify/require" ) func TestColorRange(t *testing.T) { require.Equal(t, "tv", ColorRangeMpeg.Name()) require.Equal(t, "tv", ColorRangeMpeg.String()) } ================================================ FILE: color_space.go ================================================ package astiav //#include //#include import "C" // https://ffmpeg.org/doxygen/8.0/pixfmt_8h.html#aff71a069509a1ad3ff54d53a1c894c85 type ColorSpace C.enum_AVColorSpace const ( ColorSpaceRgb = ColorSpace(C.AVCOL_SPC_RGB) ColorSpaceBt709 = ColorSpace(C.AVCOL_SPC_BT709) ColorSpaceUnspecified = ColorSpace(C.AVCOL_SPC_UNSPECIFIED) ColorSpaceReserved = ColorSpace(C.AVCOL_SPC_RESERVED) ColorSpaceFcc = ColorSpace(C.AVCOL_SPC_FCC) ColorSpaceBt470Bg = ColorSpace(C.AVCOL_SPC_BT470BG) ColorSpaceSmpte170M = ColorSpace(C.AVCOL_SPC_SMPTE170M) ColorSpaceSmpte240M = ColorSpace(C.AVCOL_SPC_SMPTE240M) ColorSpaceYcgco = ColorSpace(C.AVCOL_SPC_YCGCO) ColorSpaceYcgcoRe = ColorSpace(C.AVCOL_SPC_YCGCO_RE) ColorSpaceYcgcoRo = ColorSpace(C.AVCOL_SPC_YCGCO_RO) ColorSpaceYcocg = ColorSpace(C.AVCOL_SPC_YCOCG) ColorSpaceBt2020Ncl = ColorSpace(C.AVCOL_SPC_BT2020_NCL) ColorSpaceBt2020Cl = ColorSpace(C.AVCOL_SPC_BT2020_CL) ColorSpaceSmpte2085 = ColorSpace(C.AVCOL_SPC_SMPTE2085) ColorSpaceChromaDerivedNcl = ColorSpace(C.AVCOL_SPC_CHROMA_DERIVED_NCL) ColorSpaceChromaDerivedCl = ColorSpace(C.AVCOL_SPC_CHROMA_DERIVED_CL) ColorSpaceIctcp = ColorSpace(C.AVCOL_SPC_ICTCP) ColorSpaceIptC2 = ColorSpace(C.AVCOL_SPC_IPT_C2) ColorSpaceNb = ColorSpace(C.AVCOL_SPC_NB) ) // https://ffmpeg.org/doxygen/8.0/pixdesc_8c.html#a7a5b3f4d128f0a0112b4a91f75055339 func (s ColorSpace) Name() string { return C.GoString(C.av_color_space_name(C.enum_AVColorSpace(s))) } func (s ColorSpace) String() string { return s.Name() } ================================================ FILE: color_space_test.go ================================================ package astiav import ( "testing" "github.com/stretchr/testify/require" ) func TestColorSpace(t *testing.T) { require.Equal(t, "bt709", ColorSpaceBt709.Name()) require.Equal(t, "bt709", ColorSpaceBt709.String()) } ================================================ FILE: color_transfer_characteristic.go ================================================ package astiav //#include import "C" // https://ffmpeg.org/doxygen/8.0/pixfmt_8h.html#ad4791ea14975f098b649db7fcd731ce6 type ColorTransferCharacteristic C.enum_AVColorTransferCharacteristic const ( ColorTransferCharacteristicReserved0 = ColorTransferCharacteristic(C.AVCOL_TRC_RESERVED0) ColorTransferCharacteristicBt709 = ColorTransferCharacteristic(C.AVCOL_TRC_BT709) ColorTransferCharacteristicUnspecified = ColorTransferCharacteristic(C.AVCOL_TRC_UNSPECIFIED) ColorTransferCharacteristicReserved = ColorTransferCharacteristic(C.AVCOL_TRC_RESERVED) ColorTransferCharacteristicGamma22 = ColorTransferCharacteristic(C.AVCOL_TRC_GAMMA22) ColorTransferCharacteristicGamma28 = ColorTransferCharacteristic(C.AVCOL_TRC_GAMMA28) ColorTransferCharacteristicSmpte170M = ColorTransferCharacteristic(C.AVCOL_TRC_SMPTE170M) ColorTransferCharacteristicSmpte240M = ColorTransferCharacteristic(C.AVCOL_TRC_SMPTE240M) ColorTransferCharacteristicLinear = ColorTransferCharacteristic(C.AVCOL_TRC_LINEAR) ColorTransferCharacteristicLog = ColorTransferCharacteristic(C.AVCOL_TRC_LOG) ColorTransferCharacteristicLogSqrt = ColorTransferCharacteristic(C.AVCOL_TRC_LOG_SQRT) ColorTransferCharacteristicIec6196624 = ColorTransferCharacteristic(C.AVCOL_TRC_IEC61966_2_4) ColorTransferCharacteristicBt1361Ecg = ColorTransferCharacteristic(C.AVCOL_TRC_BT1361_ECG) ColorTransferCharacteristicIec6196621 = ColorTransferCharacteristic(C.AVCOL_TRC_IEC61966_2_1) ColorTransferCharacteristicBt202010 = ColorTransferCharacteristic(C.AVCOL_TRC_BT2020_10) ColorTransferCharacteristicBt202012 = ColorTransferCharacteristic(C.AVCOL_TRC_BT2020_12) ColorTransferCharacteristicSmpte2084 = ColorTransferCharacteristic(C.AVCOL_TRC_SMPTE2084) ColorTransferCharacteristicSmptest2084 = ColorTransferCharacteristic(C.AVCOL_TRC_SMPTEST2084) ColorTransferCharacteristicSmpte428 = ColorTransferCharacteristic(C.AVCOL_TRC_SMPTE428) ColorTransferCharacteristicSmptest4281 = ColorTransferCharacteristic(C.AVCOL_TRC_SMPTEST428_1) ColorTransferCharacteristicAribStdB67 = ColorTransferCharacteristic(C.AVCOL_TRC_ARIB_STD_B67) ColorTransferCharacteristicNb = ColorTransferCharacteristic(C.AVCOL_TRC_NB) ) ================================================ FILE: device.go ================================================ package astiav //#include import "C" // https://ffmpeg.org/doxygen/8.0/group__lavd.html#ga7c90a3585267b55941ae2f7388c006b6 func RegisterAllDevices() { C.avdevice_register_all() } ================================================ FILE: device_test.go ================================================ package astiav import ( "testing" ) func TestDevice(t *testing.T) { RegisterAllDevices() } ================================================ FILE: dictionary.go ================================================ package astiav //#include //#include //#include import "C" import ( "unsafe" ) // https://ffmpeg.org/doxygen/8.0/structAVDictionary.html type Dictionary struct { c *C.AVDictionary } func NewDictionary() *Dictionary { return &Dictionary{} } func newDictionaryFromC(c *C.AVDictionary) *Dictionary { if c == nil { return nil } return &Dictionary{c: c} } // https://ffmpeg.org/doxygen/8.0/group__lavu__dict.html#ga8d9c2de72b310cef8e6a28c9cd3acbbe func (d *Dictionary) Set(key, value string, flags DictionaryFlags) error { ck := C.CString(key) defer C.free(unsafe.Pointer(ck)) cv := C.CString(value) defer C.free(unsafe.Pointer(cv)) return newError(C.av_dict_set(&d.c, ck, cv, C.int(flags))) } // https://ffmpeg.org/doxygen/8.0/group__lavu__dict.html#gaca5ff7c251e60bd13164d13c82f21b79 func (d *Dictionary) ParseString(i, keyValSep, pairsSep string, flags DictionaryFlags) error { ci := C.CString(i) defer C.free(unsafe.Pointer(ci)) ck := C.CString(keyValSep) defer C.free(unsafe.Pointer(ck)) cp := C.CString(pairsSep) defer C.free(unsafe.Pointer(cp)) return newError(C.av_dict_parse_string(&d.c, ci, ck, cp, C.int(flags))) } // https://ffmpeg.org/doxygen/8.0/group__lavu__dict.html#gae67f143237b2cb2936c9b147aa6dfde3 func (d *Dictionary) Get(key string, prev *DictionaryEntry, flags DictionaryFlags) *DictionaryEntry { ck := C.CString(key) defer C.free(unsafe.Pointer(ck)) var cp *C.AVDictionaryEntry if prev != nil { cp = prev.c } if e := C.av_dict_get(d.c, ck, cp, C.int(flags)); e != nil { return newDictionaryEntryFromC(e) } return nil } // https://ffmpeg.org/doxygen/8.0/group__lavu__dict.html#ga1bafd682b1fbb90e48a4cc3814b820f7 func (d *Dictionary) Free() { if d.c != nil { C.av_dict_free(&d.c) } } // https://ffmpeg.org/doxygen/8.0/group__lavc__packet.html#ga2d2c8e143a2c98cf0aa31b072c286186 func (d *Dictionary) Pack() []byte { return bytesFromC(func(size *C.size_t) *C.uint8_t { return C.av_packet_pack_dictionary(d.c, size) }) } // https://ffmpeg.org/doxygen/8.0/group__lavc__packet.html#gaae45c29cb3a29dc80b0b8f4ee9724492 func (d *Dictionary) Unpack(b []byte) error { return bytesToC(b, func(b *C.uint8_t, size C.size_t) error { return newError(C.av_packet_unpack_dictionary(b, size, &d.c)) }) } // https://ffmpeg.org/doxygen/8.0/group__lavu__dict.html#ga59a6372b124b306e3a2233723c5cdc78 func (d *Dictionary) Copy(dst *Dictionary, flags DictionaryFlags) error { return newError(C.av_dict_copy(&dst.c, d.c, C.int(flags))) } ================================================ FILE: dictionary_entry.go ================================================ package astiav //#include import "C" // https://ffmpeg.org/doxygen/8.0/structAVDictionaryEntry.html type DictionaryEntry struct { c *C.AVDictionaryEntry } func newDictionaryEntryFromC(c *C.AVDictionaryEntry) *DictionaryEntry { return &DictionaryEntry{c: c} } // https://ffmpeg.org/doxygen/8.0/structAVDictionaryEntry.html#a38fc80176f8f839282bb61c03392e194 func (e DictionaryEntry) Key() string { return C.GoString(e.c.key) } // https://ffmpeg.org/doxygen/8.0/structAVDictionaryEntry.html#aa38678f2cad36f120d42e56449c5edb4 func (e DictionaryEntry) Value() string { return C.GoString(e.c.value) } ================================================ FILE: dictionary_flag.go ================================================ package astiav //#include import "C" // https://ffmpeg.org/doxygen/8.0/group__lavu__dict.html#gad9cbc53cec515b72ae7caa2e194c6bc0 type DictionaryFlag int64 const ( DictionaryFlagMatchCase = DictionaryFlag(C.AV_DICT_MATCH_CASE) DictionaryFlagIgnoreSuffix = DictionaryFlag(C.AV_DICT_IGNORE_SUFFIX) DictionaryFlagDontStrdupKey = DictionaryFlag(C.AV_DICT_DONT_STRDUP_KEY) DictionaryFlagDontStrdupVal = DictionaryFlag(C.AV_DICT_DONT_STRDUP_VAL) DictionaryFlagDontOverwrite = DictionaryFlag(C.AV_DICT_DONT_OVERWRITE) DictionaryFlagAppend = DictionaryFlag(C.AV_DICT_APPEND) DictionaryFlagMultikey = DictionaryFlag(C.AV_DICT_MULTIKEY) ) ================================================ FILE: dictionary_test.go ================================================ package astiav import ( "testing" "github.com/stretchr/testify/require" ) func TestDictionary(t *testing.T) { d1 := NewDictionary() defer d1.Free() err := d1.ParseString("invalid,,", ":", ",", 0) require.Error(t, err) err = d1.ParseString("k1=v1,k2=v2", "=", ",", 0) require.NoError(t, err) err = d1.Set("k3", "v3", 0) require.NoError(t, err) e := d1.Get("k1", nil, 0) require.NotNil(t, e) require.Equal(t, "k1", e.Key()) require.Equal(t, "v1", e.Value()) e = d1.Get("k2", nil, 0) require.NotNil(t, e) require.Equal(t, "k2", e.Key()) require.Equal(t, "v2", e.Value()) e = d1.Get("k3", nil, 0) require.NotNil(t, e) require.Equal(t, "k3", e.Key()) require.Equal(t, "v3", e.Value()) e = d1.Get("k4", nil, 0) require.Nil(t, e) b := d1.Pack() require.Equal(t, "k1\x00v1\x00k2\x00v2\x00k3\x00v3\x00", string(b)) err = d1.Unpack([]byte("k4\x00v4\x00")) require.NoError(t, err) e = d1.Get("k4", nil, 0) require.NotNil(t, e) require.Equal(t, "k4", e.Key()) require.Equal(t, "v4", e.Value()) d2 := NewDictionary() defer d2.Free() require.NoError(t, d1.Copy(d2, NewDictionaryFlags())) e = d2.Get("k4", nil, 0) require.NotNil(t, e) require.Equal(t, "k4", e.Key()) require.Equal(t, "v4", e.Value()) } ================================================ FILE: discard.go ================================================ package astiav //#include import "C" // https://ffmpeg.org/doxygen/8.0/group__lavc__decoding.html#ga352363bce7d3ed82c101b3bc001d1c16 type Discard C.enum_AVDiscard const ( DiscardNone = Discard(C.AVDISCARD_NONE) DiscardDefault = Discard(C.AVDISCARD_DEFAULT) DiscardNonRef = Discard(C.AVDISCARD_NONREF) DiscardBidirectional = Discard(C.AVDISCARD_BIDIR) DiscardNonIntra = Discard(C.AVDISCARD_NONINTRA) DiscardNonKey = Discard(C.AVDISCARD_NONKEY) DiscardAll = Discard(C.AVDISCARD_ALL) ) ================================================ FILE: display_matrix.go ================================================ package astiav //#include import "C" import ( "encoding/binary" "fmt" "unsafe" ) // https://ffmpeg.org/doxygen/8.0/group__lavu__video__display.html type DisplayMatrix [9]uint32 func newDisplayMatrixFromBytes(b []byte) (m *DisplayMatrix, err error) { // Check length if len(b) < 36 { err = fmt.Errorf("astiav: invalid length %d < 36", len(b)) return } // Create display matrix m = &DisplayMatrix{} // Loop for idx := 0; idx < 9; idx++ { m[idx] = binary.LittleEndian.Uint32(b[idx*4 : (idx+1)*4]) } return } // https://ffmpeg.org/doxygen/8.0/group__lavu__video__display.html#ga5964303bfe085ad33683bc2454768d4a func NewDisplayMatrixFromRotation(angle float64) *DisplayMatrix { m := &DisplayMatrix{} C.av_display_rotation_set((*C.int32_t)(unsafe.Pointer(&m[0])), C.double(angle)) return m } func (m DisplayMatrix) bytes() []byte { b := make([]byte, 0, 36) for _, v := range m { b = binary.LittleEndian.AppendUint32(b, v) } return b } // Rotation is a clockwise angle // https://ffmpeg.org/doxygen/8.0/group__lavu__video__display.html#gaac2ea94d3f66496c758349450b5b0217 func (m DisplayMatrix) Rotation() float64 { return -float64(C.av_display_rotation_get((*C.int32_t)(unsafe.Pointer(&m[0])))) } ================================================ FILE: display_matrix_test.go ================================================ package astiav import ( "testing" "github.com/stretchr/testify/require" ) func TestDisplayMatrix(t *testing.T) { _, err := newDisplayMatrixFromBytes([]byte{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}) require.Error(t, err) b := []byte{0, 0, 0, 0, 0, 0, 255, 255, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 64} dm, err := newDisplayMatrixFromBytes(b) require.NoError(t, err) require.Equal(t, DisplayMatrix{0x0, 0xffff0000, 0x0, 0x10000, 0x0, 0x0, 0x0, 0x0, 0x40000000}, *dm) require.Equal(t, -90.0, dm.Rotation()) require.Equal(t, b, dm.bytes()) dm = NewDisplayMatrixFromRotation(-90) require.Equal(t, -90.0, dm.Rotation()) dm, err = newDisplayMatrixFromBytes([]byte{0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 64}) require.NoError(t, err) require.Equal(t, DisplayMatrix{0x0, 0x10000, 0x0, 0xffff0000, 0x0, 0x0, 0x0, 0x0, 0x40000000}, *dm) require.Equal(t, 90.0, dm.Rotation()) } ================================================ FILE: disposition_flag.go ================================================ package astiav //#include import "C" // https://ffmpeg.org/doxygen/8.0/avformat_8h.html#af09f200b4cd9bf0baa05671436eef2fb type DispositionFlag int64 const ( DispositionFlagAttachedPic = DispositionFlag(C.AV_DISPOSITION_ATTACHED_PIC) DispositionFlagCaptions = DispositionFlag(C.AV_DISPOSITION_CAPTIONS) DispositionFlagCleanEffects = DispositionFlag(C.AV_DISPOSITION_CLEAN_EFFECTS) DispositionFlagComment = DispositionFlag(C.AV_DISPOSITION_COMMENT) DispositionFlagDefault = DispositionFlag(C.AV_DISPOSITION_DEFAULT) DispositionFlagDependent = DispositionFlag(C.AV_DISPOSITION_DEPENDENT) DispositionFlagDescriptions = DispositionFlag(C.AV_DISPOSITION_DESCRIPTIONS) DispositionFlagDub = DispositionFlag(C.AV_DISPOSITION_DUB) DispositionFlagForced = DispositionFlag(C.AV_DISPOSITION_FORCED) DispositionFlagHearingImpaired = DispositionFlag(C.AV_DISPOSITION_HEARING_IMPAIRED) DispositionFlagKaraoke = DispositionFlag(C.AV_DISPOSITION_KARAOKE) DispositionFlagLyrics = DispositionFlag(C.AV_DISPOSITION_LYRICS) DispositionFlagMetadata = DispositionFlag(C.AV_DISPOSITION_METADATA) DispositionFlagMultilayer = DispositionFlag(C.AV_DISPOSITION_MULTILAYER) DispositionFlagNonDiegetic = DispositionFlag(C.AV_DISPOSITION_NON_DIEGETIC) DispositionFlagOriginal = DispositionFlag(C.AV_DISPOSITION_ORIGINAL) DispositionFlagStillImage = DispositionFlag(C.AV_DISPOSITION_STILL_IMAGE) DispositionFlagTimedThumbnails = DispositionFlag(C.AV_DISPOSITION_TIMED_THUMBNAILS) DispositionFlagVisualImpaired = DispositionFlag(C.AV_DISPOSITION_VISUAL_IMPAIRED) ) ================================================ FILE: error.go ================================================ package astiav //#include //#include import "C" // https://ffmpeg.org/doxygen/8.0/group__lavu__error.html#ga586e134e9dad8f57a218b2cd8734b601 type Error int const ( ErrBsfNotFound = Error(C.AVERROR_BSF_NOT_FOUND) ErrBufferTooSmall = Error(C.AVERROR_BUFFER_TOO_SMALL) ErrBug = Error(C.AVERROR_BUG) ErrBug2 = Error(C.AVERROR_BUG2) ErrDecoderNotFound = Error(C.AVERROR_DECODER_NOT_FOUND) ErrDemuxerNotFound = Error(C.AVERROR_DEMUXER_NOT_FOUND) ErrEagain = Error(-(C.EAGAIN)) ErrEio = Error(-(C.EIO)) ErrEncoderNotFound = Error(C.AVERROR_ENCODER_NOT_FOUND) ErrEof = Error(C.AVERROR_EOF) ErrEperm = Error(-(C.EPERM)) ErrEpipe = Error(-(C.EPIPE)) ErrEtimedout = Error(-(C.ETIMEDOUT)) ErrExit = Error(C.AVERROR_EXIT) ErrExperimental = Error(C.AVERROR_EXPERIMENTAL) ErrExternal = Error(C.AVERROR_EXTERNAL) ErrFilterNotFound = Error(C.AVERROR_FILTER_NOT_FOUND) ErrHttpBadRequest = Error(C.AVERROR_HTTP_BAD_REQUEST) ErrHttpForbidden = Error(C.AVERROR_HTTP_FORBIDDEN) ErrHttpNotFound = Error(C.AVERROR_HTTP_NOT_FOUND) ErrHttpOther4Xx = Error(C.AVERROR_HTTP_OTHER_4XX) ErrHttpServerError = Error(C.AVERROR_HTTP_SERVER_ERROR) ErrHttpUnauthorized = Error(C.AVERROR_HTTP_UNAUTHORIZED) ErrInputChanged = Error(C.AVERROR_INPUT_CHANGED) ErrInvaliddata = Error(C.AVERROR_INVALIDDATA) ErrMaxStringSize = Error(C.AV_ERROR_MAX_STRING_SIZE) ErrMuxerNotFound = Error(C.AVERROR_MUXER_NOT_FOUND) ErrOptionNotFound = Error(C.AVERROR_OPTION_NOT_FOUND) ErrOutputChanged = Error(C.AVERROR_OUTPUT_CHANGED) ErrPatchwelcome = Error(C.AVERROR_PATCHWELCOME) ErrProtocolNotFound = Error(C.AVERROR_PROTOCOL_NOT_FOUND) ErrStreamNotFound = Error(C.AVERROR_STREAM_NOT_FOUND) ErrUnknown = Error(C.AVERROR_UNKNOWN) ) func newError(ret C.int) error { i := int(ret) if i >= 0 { return nil } return Error(i) } // https://ffmpeg.org/doxygen/8.0/group__lavu__error.html#ga5792b4a2d18d7d9cb0efbcfc335dce24 func (e Error) Error() string { s, _ := stringFromC(255, func(buf *C.char, size C.size_t) error { return newError(C.av_strerror(C.int(e), buf, size)) }) return s } func (e Error) Is(err error) bool { a, ok := err.(Error) if !ok { return false } return int(a) == int(e) } ================================================ FILE: error_recognition_flag.go ================================================ package astiav //#include import "C" // https://ffmpeg.org/doxygen/8.0/defs_8h.html#a16258b3283a3d34c893dd9a39e29e369 type ErrorRecognitionFlag int64 const ( ErrorRecognitionFlagAggressive = ErrorRecognitionFlag(C.AV_EF_AGGRESSIVE) ErrorRecognitionFlagBitstream = ErrorRecognitionFlag(C.AV_EF_BITSTREAM) ErrorRecognitionFlagBuffer = ErrorRecognitionFlag(C.AV_EF_BUFFER) ErrorRecognitionFlagCareful = ErrorRecognitionFlag(C.AV_EF_CAREFUL) ErrorRecognitionFlagCompliant = ErrorRecognitionFlag(C.AV_EF_COMPLIANT) ErrorRecognitionFlagCRCCheck = ErrorRecognitionFlag(C.AV_EF_CRCCHECK) ErrorRecognitionFlagExplode = ErrorRecognitionFlag(C.AV_EF_EXPLODE) ErrorRecognitionFlagIgnoreErr = ErrorRecognitionFlag(C.AV_EF_IGNORE_ERR) ) ================================================ FILE: error_test.go ================================================ package astiav import ( "errors" "fmt" "testing" "github.com/stretchr/testify/require" ) type testError struct{} func (err testError) Error() string { return "" } func TestError(t *testing.T) { require.Equal(t, "Decoder not found", ErrDecoderNotFound.Error()) err1 := fmt.Errorf("test 1: %w", ErrDecoderNotFound) require.True(t, errors.Is(err1, ErrDecoderNotFound)) require.False(t, errors.Is(err1, testError{})) err2 := fmt.Errorf("test 2: %w", ErrDemuxerNotFound) require.False(t, errors.Is(err2, ErrDecoderNotFound)) } ================================================ FILE: examples/bit_stream_filtering/main.go ================================================ package main import ( "errors" "flag" "fmt" "log" "strings" "github.com/asticode/go-astiav" ) var ( filter = flag.String("f", "null", "the bit stream filter name") input = flag.String("i", "", "the input path") ) type stream struct { bitStreamFilterContext *astiav.BitStreamFilterContext bitStreamPkt *astiav.Packet } func main() { // Handle ffmpeg logs astiav.SetLogLevel(astiav.LogLevelDebug) astiav.SetLogCallback(func(c astiav.Classer, l astiav.LogLevel, fmt, msg string) { var cs string if c != nil { if cl := c.Class(); cl != nil { cs = " - class: " + cl.String() } } log.Printf("ffmpeg log: %s%s - level: %d\n", strings.TrimSpace(msg), cs, l) }) // Parse flags flag.Parse() // Usage if *input == "" { log.Println("Usage: -i -f ") return } // Allocate packet pkt := astiav.AllocPacket() defer pkt.Free() // Allocate input format context inputFormatContext := astiav.AllocFormatContext() if inputFormatContext == nil { log.Println(errors.New("main: input format context is nil")) return } defer inputFormatContext.Free() // Open input if err := inputFormatContext.OpenInput(*input, nil, nil); err != nil { log.Println(fmt.Errorf("main: opening input failed: %w", err)) return } defer inputFormatContext.CloseInput() // Find stream info if err := inputFormatContext.FindStreamInfo(nil); err != nil { log.Println(fmt.Errorf("main: finding stream info failed: %w", err)) return } // Loop through streams streams := make(map[int]*stream) // Indexed by input stream index for _, is := range inputFormatContext.Streams() { // Only process audio or video if is.CodecParameters().MediaType() != astiav.MediaTypeAudio && is.CodecParameters().MediaType() != astiav.MediaTypeVideo { continue } // Create stream s := &stream{} // Allocate packet s.bitStreamPkt = astiav.AllocPacket() defer s.bitStreamPkt.Free() // Find bit stream filter bsf := astiav.FindBitStreamFilterByName(*filter) if bsf == nil { log.Println(errors.New("main: bit stream filter is nil")) return } // Allocate bit stream filter context var err error if s.bitStreamFilterContext, err = astiav.AllocBitStreamFilterContext(bsf); err != nil { log.Println(fmt.Errorf("main: allocating bit stream filter context failed: %w", err)) return } defer s.bitStreamFilterContext.Free() // Copy codec parameters if err := is.CodecParameters().Copy(s.bitStreamFilterContext.InputCodecParameters()); err != nil { log.Println(fmt.Errorf("main: copying codec parameters failed: %w", err)) return } // Update time base s.bitStreamFilterContext.SetInputTimeBase(is.TimeBase()) // Initialize bit stream filter context if err := s.bitStreamFilterContext.Initialize(); err != nil { log.Println(fmt.Errorf("main: initializing bit stream filter context failed: %w", err)) return } // Add stream streams[is.Index()] = s } // Loop through packets for { // We use a closure to ease unreferencing the packet if stop := func() bool { // Read frame if err := inputFormatContext.ReadFrame(pkt); err != nil { if !errors.Is(err, astiav.ErrEof) { log.Println(fmt.Errorf("main: reading frame failed: %w", err)) } return true } // Make sure to unreference the packet defer pkt.Unref() // Get stream s, ok := streams[pkt.StreamIndex()] if !ok { return false } // Filter bit stream if err := filterBitStream(pkt, s); err != nil { log.Println(fmt.Errorf("main: filtering bit stream failed: %w", err)) return true } return false }(); stop { break } } // Loop through streams for _, s := range streams { // Flush bit stream filter if err := filterBitStream(nil, s); err != nil { log.Println(fmt.Errorf("main: filtering bit stream failed: %w", err)) return } } // Done log.Println("done") } func filterBitStream(pkt *astiav.Packet, s *stream) error { // Send packet if err := s.bitStreamFilterContext.SendPacket(pkt); err != nil && !errors.Is(err, astiav.ErrEagain) { return fmt.Errorf("main: sending packet failed: %w", err) } // Loop for { // We use a closure to ease unreferencing the packet if stop, err := func() (bool, error) { // Receive packet if err := s.bitStreamFilterContext.ReceivePacket(s.bitStreamPkt); err != nil { if errors.Is(err, astiav.ErrEof) || errors.Is(err, astiav.ErrEagain) { return true, nil } return false, fmt.Errorf("main: receiving packet failed: %w", err) } // Make sure to unreference the packet defer s.bitStreamPkt.Unref() // Do something with packet log.Printf("new filtered packet: stream %d - pts: %d", s.bitStreamPkt.StreamIndex(), s.bitStreamPkt.Pts()) return false, nil }(); err != nil { return err } else if stop { break } } return nil } ================================================ FILE: examples/custom_io_demuxing/main.go ================================================ package main import ( "errors" "flag" "fmt" "log" "os" "strings" "github.com/asticode/go-astiav" ) var ( input = flag.String("i", "", "the input path") ) func main() { // Handle ffmpeg logs astiav.SetLogLevel(astiav.LogLevelDebug) astiav.SetLogCallback(func(c astiav.Classer, l astiav.LogLevel, fmt, msg string) { var cs string if c != nil { if cl := c.Class(); cl != nil { cs = " - class: " + cl.String() } } log.Printf("ffmpeg log: %s%s - level: %d\n", strings.TrimSpace(msg), cs, l) }) // Parse flags flag.Parse() // Usage if *input == "" { log.Println("Usage: -i ") return } // Allocate packet pkt := astiav.AllocPacket() defer pkt.Free() // Allocate input format context inputFormatContext := astiav.AllocFormatContext() if inputFormatContext == nil { log.Println(errors.New("main: input format context is nil")) return } defer inputFormatContext.Free() // Open file f, err := os.Open(*input) if err != nil { log.Println(fmt.Errorf("main: opening %s failed: %w", *input, err)) return } defer f.Close() // Allocate io context ioContext, err := astiav.AllocIOContext( 4096, false, func(b []byte) (n int, err error) { return f.Read(b) }, func(offset int64, whence int) (n int64, err error) { return f.Seek(offset, whence) }, nil, ) if err != nil { log.Println(fmt.Errorf("main: allocating io context failed: %w", err)) return } defer ioContext.Free() // Store io context inputFormatContext.SetPb(ioContext) // Open input if err := inputFormatContext.OpenInput("", nil, nil); err != nil { log.Println(fmt.Errorf("main: opening input failed: %w", err)) return } defer inputFormatContext.CloseInput() // Find stream info if err := inputFormatContext.FindStreamInfo(nil); err != nil { log.Println(fmt.Errorf("main: finding stream info failed: %w", err)) return } // Loop through packets for { // We use a closure to ease unreferencing the packet if stop := func() bool { // Read frame if err := inputFormatContext.ReadFrame(pkt); err != nil { if !errors.Is(err, astiav.ErrEof) { log.Println(fmt.Errorf("main: reading frame failed: %w", err)) } return true } // Make sure to unreference the packet defer pkt.Unref() // Do something with the packet log.Printf("new packet: stream %d - pts: %d", pkt.StreamIndex(), pkt.Pts()) return false }(); stop { break } } // Done log.Println("done") } ================================================ FILE: examples/custom_io_muxing/main.go ================================================ package main import ( "errors" "flag" "fmt" "log" "os" "strings" "github.com/asticode/go-astiav" ) var ( input = flag.String("i", "", "the input path") output = flag.String("o", "", "the output path") ) func main() { // Handle ffmpeg logs astiav.SetLogLevel(astiav.LogLevelDebug) astiav.SetLogCallback(func(c astiav.Classer, l astiav.LogLevel, fmt, msg string) { var cs string if c != nil { if cl := c.Class(); cl != nil { cs = " - class: " + cl.String() } } log.Printf("ffmpeg log: %s%s - level: %d\n", strings.TrimSpace(msg), cs, l) }) // Parse flags flag.Parse() // Usage if *input == "" || *output == "" { log.Println("Usage: -i -o ") return } // Allocate packet pkt := astiav.AllocPacket() defer pkt.Free() // Allocate input format context inputFormatContext := astiav.AllocFormatContext() if inputFormatContext == nil { log.Println(errors.New("main: input format context is nil")) return } defer inputFormatContext.Free() // Open input if err := inputFormatContext.OpenInput(*input, nil, nil); err != nil { log.Println(fmt.Errorf("main: opening input failed: %w", err)) return } defer inputFormatContext.CloseInput() // Find stream info if err := inputFormatContext.FindStreamInfo(nil); err != nil { log.Println(fmt.Errorf("main: finding stream info failed: %w", err)) return } // Allocate output format context outputFormatContext, err := astiav.AllocOutputFormatContext(nil, "mp4", "") if err != nil { log.Println(fmt.Errorf("main: allocating output format context failed: %w", err)) return } if outputFormatContext == nil { log.Println(errors.New("main: output format context is nil")) return } defer outputFormatContext.Free() // Open file f, err := os.Create(*output) if err != nil { log.Println(fmt.Errorf("main: creating %s failed: %w", *output, err)) return } defer f.Close() // Allocate io context ioContext, err := astiav.AllocIOContext( 4096, true, nil, func(offset int64, whence int) (n int64, err error) { return f.Seek(offset, whence) }, func(b []byte) (n int, err error) { return f.Write(b) }, ) if err != nil { log.Println(fmt.Errorf("main: allocating io context failed: %w", err)) return } defer ioContext.Free() // Store io context outputFormatContext.SetPb(ioContext) // Loop through streams inputStreams := make(map[int]*astiav.Stream) // Indexed by input stream index outputStreams := make(map[int]*astiav.Stream) // Indexed by input stream index for _, is := range inputFormatContext.Streams() { // Only process audio or video if is.CodecParameters().MediaType() != astiav.MediaTypeAudio && is.CodecParameters().MediaType() != astiav.MediaTypeVideo { continue } // Add input stream inputStreams[is.Index()] = is // Add stream to output format context os := outputFormatContext.NewStream(nil) if os == nil { log.Println(errors.New("main: output stream is nil")) return } // Copy codec parameters if err = is.CodecParameters().Copy(os.CodecParameters()); err != nil { log.Println(fmt.Errorf("main: copying codec parameters failed: %w", err)) return } // Reset codec tag os.CodecParameters().SetCodecTag(0) // Add output stream outputStreams[is.Index()] = os } // Write header if err = outputFormatContext.WriteHeader(nil); err != nil { log.Println(fmt.Errorf("main: writing header failed: %w", err)) return } // Loop through packets for { // We use a closure to ease unreferencing packet if stop := func() bool { // Read frame if err = inputFormatContext.ReadFrame(pkt); err != nil { if !errors.Is(err, astiav.ErrEof) { log.Println(fmt.Errorf("main: reading frame failed: %w", err)) } return true } // Make sure to unreference packet defer pkt.Unref() // Get input stream inputStream, ok := inputStreams[pkt.StreamIndex()] if !ok { return false } // Get output stream outputStream, ok := outputStreams[pkt.StreamIndex()] if !ok { return false } // Update packet pkt.SetStreamIndex(outputStream.Index()) pkt.RescaleTs(inputStream.TimeBase(), outputStream.TimeBase()) pkt.SetPos(-1) // Write frame if err = outputFormatContext.WriteInterleavedFrame(pkt); err != nil { log.Println(fmt.Errorf("main: writing interleaved frame failed: %w", err)) return true } return false }(); stop { break } } // Write trailer if err = outputFormatContext.WriteTrailer(); err != nil { log.Println(fmt.Errorf("main: writing trailer failed: %w", err)) return } // Done log.Println("done") } ================================================ FILE: examples/demuxing_decoding/main.go ================================================ package main import ( "errors" "flag" "fmt" "log" "strings" "github.com/asticode/go-astiav" "github.com/asticode/go-astikit" ) var ( input = flag.String("i", "", "the input path") ) type stream struct { decCodec *astiav.Codec decCodecContext *astiav.CodecContext decLastPTS *int64 inputStream *astiav.Stream } func main() { // Handle ffmpeg logs astiav.SetLogLevel(astiav.LogLevelDebug) astiav.SetLogCallback(func(c astiav.Classer, l astiav.LogLevel, fmt, msg string) { var cs string if c != nil { if cl := c.Class(); cl != nil { cs = " - class: " + cl.String() } } log.Printf("ffmpeg log: %s%s - level: %d\n", strings.TrimSpace(msg), cs, l) }) // Parse flags flag.Parse() // Usage if *input == "" { log.Println("Usage: -i ") return } // Allocate packet pkt := astiav.AllocPacket() defer pkt.Free() // Allocate frame f := astiav.AllocFrame() defer f.Free() // Allocate input format context inputFormatContext := astiav.AllocFormatContext() if inputFormatContext == nil { log.Println(errors.New("main: input format context is nil")) return } defer inputFormatContext.Free() // Open input if err := inputFormatContext.OpenInput(*input, nil, nil); err != nil { log.Println(fmt.Errorf("main: opening input failed: %w", err)) return } defer inputFormatContext.CloseInput() // Find stream info if err := inputFormatContext.FindStreamInfo(nil); err != nil { log.Println(fmt.Errorf("main: finding stream info failed: %w", err)) return } // Loop through streams streams := make(map[int]*stream) // Indexed by input stream index for _, is := range inputFormatContext.Streams() { // Only process audio or video if is.CodecParameters().MediaType() != astiav.MediaTypeAudio && is.CodecParameters().MediaType() != astiav.MediaTypeVideo { continue } // Create stream s := &stream{inputStream: is} // Find decoder if s.decCodec = astiav.FindDecoder(is.CodecParameters().CodecID()); s.decCodec == nil { log.Println(errors.New("main: codec is nil")) return } // Allocate codec context if s.decCodecContext = astiav.AllocCodecContext(s.decCodec); s.decCodecContext == nil { log.Println(errors.New("main: codec context is nil")) return } defer s.decCodecContext.Free() // Update codec context if err := is.CodecParameters().ToCodecContext(s.decCodecContext); err != nil { log.Println(fmt.Errorf("main: updating codec context failed: %w", err)) return } // Open codec context if err := s.decCodecContext.Open(s.decCodec, nil); err != nil { log.Println(fmt.Errorf("main: opening codec context failed: %w", err)) return } // Add stream streams[is.Index()] = s } // Loop for { // We use a closure to ease unreferencing the packet if stop := func() bool { // Read frame if err := inputFormatContext.ReadFrame(pkt); err != nil { if !errors.Is(err, astiav.ErrEof) { log.Println(fmt.Errorf("main: reading frame failed: %w", err)) } return true } // Make sure to unreference the packet defer pkt.Unref() // Get stream s, ok := streams[pkt.StreamIndex()] if !ok { return false } // Send packet if err := s.decCodecContext.SendPacket(pkt); err != nil { log.Println(fmt.Errorf("main: sending packet failed: %w", err)) return true } // Loop for { // We use a closure to ease unreferencing the frame if stop := func() bool { // Receive frame if err := s.decCodecContext.ReceiveFrame(f); err != nil { if !errors.Is(err, astiav.ErrEof) && !errors.Is(err, astiav.ErrEagain) { log.Println(fmt.Errorf("main: receiving frame failed: %w", err)) } return true } // Make sure to unreference the frame defer f.Unref() // Ignore frames with non monotonic PTS if s.decLastPTS != nil && *s.decLastPTS >= f.Pts() { return false } s.decLastPTS = astikit.Int64Ptr(f.Pts()) // Log log.Printf("new %s frame: stream %d - pts: %d", s.inputStream.CodecParameters().MediaType(), pkt.StreamIndex(), f.Pts()) return false }(); stop { break } } return false }(); stop { break } } // Done log.Println("done") } ================================================ FILE: examples/filtering/main.go ================================================ package main import ( "errors" "flag" "fmt" "log" "strings" "github.com/asticode/go-astiav" "github.com/asticode/go-astikit" ) var ( input = flag.String("i", "", "the input path") ) var ( c = astikit.NewCloser() inputFormatContext *astiav.FormatContext s *stream ) type stream struct { buffersinkContext *astiav.BuffersinkFilterContext buffersrcContext *astiav.BuffersrcFilterContext decCodec *astiav.Codec decCodecContext *astiav.CodecContext decFrame *astiav.Frame decLastPTS *int64 filterFrame *astiav.Frame filterGraph *astiav.FilterGraph inputStream *astiav.Stream lastPts int64 } func main() { // Handle ffmpeg logs astiav.SetLogLevel(astiav.LogLevelDebug) astiav.SetLogCallback(func(c astiav.Classer, l astiav.LogLevel, fmt, msg string) { var cs string if c != nil { if cl := c.Class(); cl != nil { cs = " - class: " + cl.String() } } log.Printf("ffmpeg log: %s%s - level: %d\n", strings.TrimSpace(msg), cs, l) }) // Parse flags flag.Parse() // Usage if *input == "" { log.Println("Usage: -i ") return } // We use an astikit.Closer to free all resources properly defer c.Close() // Open input file if err := openInputFile(); err != nil { log.Println(fmt.Errorf("main: opening input file failed: %w", err)) return } // Init filter if err := initFilter(); err != nil { log.Println(fmt.Errorf("main: initializing filter failed: %w", err)) return } // Allocate packet pkt := astiav.AllocPacket() c.Add(pkt.Free) // Loop through packets for { // We use a closure to ease unreferencing the packet if stop := func() bool { // Read frame if err := inputFormatContext.ReadFrame(pkt); err != nil { if !errors.Is(err, astiav.ErrEof) { log.Println(fmt.Errorf("main: reading frame failed: %w", err)) } return true } // Make sure to unreference the packet defer pkt.Unref() // Invalid stream if pkt.StreamIndex() != s.inputStream.Index() { return false } // Send packet if err := s.decCodecContext.SendPacket(pkt); err != nil { log.Println(fmt.Errorf("main: sending packet failed: %w", err)) return true } // Loop for { // We use a closure to ease unreferencing the frame if stop := func() bool { // Receive frame if err := s.decCodecContext.ReceiveFrame(s.decFrame); err != nil { if !errors.Is(err, astiav.ErrEof) && !errors.Is(err, astiav.ErrEagain) { log.Println(fmt.Errorf("main: receiving frame failed: %w", err)) } return true } // Make sure to unreference the frame defer s.decFrame.Unref() // Ignore frames with non monotonic PTS if s.decLastPTS != nil && *s.decLastPTS >= s.decFrame.Pts() { return false } s.decLastPTS = astikit.Int64Ptr(s.decFrame.Pts()) // Filter frame if err := filterFrame(s.decFrame, s); err != nil { log.Println(fmt.Errorf("main: filtering frame failed: %w", err)) return true } return false }(); stop { break } } return false }(); stop { break } } // Flush filter if err := filterFrame(nil, s); err != nil { log.Println(fmt.Errorf("main: filtering frame failed: %w", err)) return } // Done log.Println("done") } func openInputFile() (err error) { // Allocate input format context if inputFormatContext = astiav.AllocFormatContext(); inputFormatContext == nil { err = errors.New("main: input format context is nil") return } c.Add(inputFormatContext.Free) // Open input if err = inputFormatContext.OpenInput(*input, nil, nil); err != nil { err = fmt.Errorf("main: opening input failed: %w", err) return } c.Add(inputFormatContext.CloseInput) // Find stream info if err = inputFormatContext.FindStreamInfo(nil); err != nil { err = fmt.Errorf("main: finding stream info failed: %w", err) return } // Loop through streams for _, is := range inputFormatContext.Streams() { // Only process video if is.CodecParameters().MediaType() != astiav.MediaTypeVideo { continue } // Create stream s = &stream{ inputStream: is, lastPts: astiav.NoPtsValue, } // Find decoder if s.decCodec = astiav.FindDecoder(is.CodecParameters().CodecID()); s.decCodec == nil { err = errors.New("main: codec is nil") return } // Allocate codec context if s.decCodecContext = astiav.AllocCodecContext(s.decCodec); s.decCodecContext == nil { err = errors.New("main: codec context is nil") return } c.Add(s.decCodecContext.Free) // Update codec context if err = is.CodecParameters().ToCodecContext(s.decCodecContext); err != nil { err = fmt.Errorf("main: updating codec context failed: %w", err) return } // Open codec context if err = s.decCodecContext.Open(s.decCodec, nil); err != nil { err = fmt.Errorf("main: opening codec context failed: %w", err) return } // Allocate frame s.decFrame = astiav.AllocFrame() c.Add(s.decFrame.Free) break } // No video stream if s == nil { err = errors.New("main: no video stream") return } return } func initFilter() (err error) { // Allocate graph if s.filterGraph = astiav.AllocFilterGraph(); s.filterGraph == nil { err = errors.New("main: graph is nil") return } c.Add(s.filterGraph.Free) // Allocate outputs outputs := astiav.AllocFilterInOut() if outputs == nil { err = errors.New("main: outputs is nil") return } c.Add(outputs.Free) // Allocate inputs inputs := astiav.AllocFilterInOut() if inputs == nil { err = errors.New("main: inputs is nil") return } c.Add(inputs.Free) // Create buffersrc buffersrc := astiav.FindFilterByName("buffer") if buffersrc == nil { err = errors.New("main: buffersrc is nil") return } // Create buffersink buffersink := astiav.FindFilterByName("buffersink") if buffersink == nil { err = errors.New("main: buffersink is nil") return } // Create filter contexts if s.buffersrcContext, err = s.filterGraph.NewBuffersrcFilterContext(buffersrc, "in"); err != nil { err = fmt.Errorf("main: creating buffersrc context failed: %w", err) return } if s.buffersinkContext, err = s.filterGraph.NewBuffersinkFilterContext(buffersink, "in"); err != nil { err = fmt.Errorf("main: creating buffersink context failed: %w", err) return } // Create buffersrc context parameters buffersrcContextParameters := astiav.AllocBuffersrcFilterContextParameters() defer buffersrcContextParameters.Free() buffersrcContextParameters.SetHeight(s.decCodecContext.Height()) buffersrcContextParameters.SetPixelFormat(s.decCodecContext.PixelFormat()) buffersrcContextParameters.SetSampleAspectRatio(s.decCodecContext.SampleAspectRatio()) buffersrcContextParameters.SetTimeBase(s.inputStream.TimeBase()) buffersrcContextParameters.SetWidth(s.decCodecContext.Width()) // Set buffersrc context parameters if err = s.buffersrcContext.SetParameters(buffersrcContextParameters); err != nil { err = fmt.Errorf("main: setting buffersrc context parameters failed: %w", err) return } // Initialize buffersrc context if err = s.buffersrcContext.Initialize(nil); err != nil { err = fmt.Errorf("main: initializing buffersrc context failed: %w", err) return } // Update outputs outputs.SetName("in") outputs.SetFilterContext(s.buffersrcContext.FilterContext()) outputs.SetPadIdx(0) outputs.SetNext(nil) // Update inputs inputs.SetName("out") inputs.SetFilterContext(s.buffersinkContext.FilterContext()) inputs.SetPadIdx(0) inputs.SetNext(nil) // Parse if err = s.filterGraph.Parse("transpose=cclock", inputs, outputs); err != nil { err = fmt.Errorf("main: parsing filter failed: %w", err) return } // Configure if err = s.filterGraph.Configure(); err != nil { err = fmt.Errorf("main: configuring filter failed: %w", err) return } // Allocate frame s.filterFrame = astiav.AllocFrame() c.Add(s.filterFrame.Free) return } func filterFrame(f *astiav.Frame, s *stream) (err error) { // Add frame if err = s.buffersrcContext.AddFrame(f, astiav.NewBuffersrcFlags(astiav.BuffersrcFlagKeepRef)); err != nil { err = fmt.Errorf("main: adding frame failed: %w", err) return } // Loop for { // We use a closure to ease unreferencing the frame if stop, err := func() (bool, error) { // Get frame if err := s.buffersinkContext.GetFrame(s.filterFrame, astiav.NewBuffersinkFlags()); err != nil { if errors.Is(err, astiav.ErrEof) || errors.Is(err, astiav.ErrEagain) { return true, nil } return false, fmt.Errorf("main: getting frame failed: %w", err) } // Make sure to unrefernce the frame defer s.filterFrame.Unref() // Do something with filtered frame log.Printf("new filtered frame: %dx%d\n", s.filterFrame.Width(), s.filterFrame.Height()) return false, nil }(); err != nil { return err } else if stop { break } } return } ================================================ FILE: examples/frame_data_manipulation/main.go ================================================ package main import ( "fmt" "image" "log" "strings" "github.com/asticode/go-astiav" ) func main() { // Handle ffmpeg logs astiav.SetLogLevel(astiav.LogLevelDebug) astiav.SetLogCallback(func(c astiav.Classer, l astiav.LogLevel, fmt, msg string) { var cs string if c != nil { if cl := c.Class(); cl != nil { cs = " - class: " + cl.String() } } log.Printf("ffmpeg log: %s%s - level: %d\n", strings.TrimSpace(msg), cs, l) }) /* In this first part we're going to manipulate an audio frame */ // Allocate frame audioFrame := astiav.AllocFrame() defer audioFrame.Free() // To write data manually into a frame, proper attributes need to be set and allocated audioFrame.SetChannelLayout(astiav.ChannelLayoutStereo) audioFrame.SetNbSamples(960) audioFrame.SetSampleFormat(astiav.SampleFormatFlt) audioFrame.SetSampleRate(48000) // Allocate buffer align := 0 if err := audioFrame.AllocBuffer(align); err != nil { log.Println(fmt.Errorf("main: allocating buffer failed: %w", err)) return } // When writing data manually into a frame, you need to make sure the frame is writable if err := audioFrame.MakeWritable(); err != nil { log.Println(fmt.Errorf("main: making frame writable failed: %w", err)) return } // Let's say b1 contains an actual audio buffer, we can update the audio frame's data based on the buffer var b1 []byte if err := audioFrame.Data().SetBytes(b1, align); err != nil { log.Println(fmt.Errorf("main: setting frame's data based from bytes failed: %w", err)) return } // We can also retrieve the audio frame's data as buffer if _, err := audioFrame.Data().Bytes(align); err != nil { log.Println(fmt.Errorf("main: getting frame's data as bytes failed: %w", err)) return } /* In this second part we're going to manipulate a video frame */ // Allocate frame videoFrame := astiav.AllocFrame() defer videoFrame.Free() // To write data manually into a frame, proper attributes need to be set and allocated videoFrame.SetHeight(256) videoFrame.SetPixelFormat(astiav.PixelFormatRgba) videoFrame.SetWidth(256) // Allocate buffer align = 1 if err := videoFrame.AllocBuffer(align); err != nil { log.Println(fmt.Errorf("main: allocating buffer failed: %w", err)) return } // When writing data manually into a frame, you need to make sure the frame is writable if err := videoFrame.MakeWritable(); err != nil { log.Println(fmt.Errorf("main: making frame writable failed: %w", err)) return } // Let's say b2 contains an actual video buffer, we can update the video frame's data based on the buffer var b2 []byte if err := videoFrame.Data().SetBytes(b2, align); err != nil { log.Println(fmt.Errorf("main: setting frame's data based from bytes failed: %w", err)) return } // We can also retrieve the video frame's data as buffer if _, err := videoFrame.Data().Bytes(align); err != nil { log.Println(fmt.Errorf("main: getting frame's data as bytes failed: %w", err)) return } // Let's say i1 is an actual Go image.Image, we can update the video frame's data based on the image var i1 image.Image if err := videoFrame.Data().FromImage(i1); err != nil { log.Println(fmt.Errorf("main: setting frame's data based on Go image failed: %w", err)) return } // We can also retrieve the video frame's data as a Go image // For that we first need to guess the Go image format based on the frame's attributes before providing // it to .ToImage(). You may not need this and can provide your own image.Image to .ToImage() i2, err := videoFrame.Data().GuessImageFormat() if err != nil { log.Println(fmt.Errorf("main: guessing image format failed: %w", err)) return } if err := videoFrame.Data().ToImage(i2); err != nil { log.Println(fmt.Errorf("main: getting frame's data as Go image failed: %w", err)) return } // Done log.Println("done") } ================================================ FILE: examples/hardware_decoding_filtering/main.go ================================================ package main import ( "errors" "flag" "fmt" "log" "strings" "github.com/asticode/go-astiav" "github.com/asticode/go-astikit" ) var ( decoderCodecName = flag.String("c", "", "the decoder codec name (e.g. h264_cuvid)") filter = flag.String("f", "", "the hardware filter") hardwareDeviceName = flag.String("n", "", "the hardware device name (e.g. 0)") hardwareDeviceTypeName = flag.String("t", "", "the hardware device type (e.g. cuda)") input = flag.String("i", "", "the input path") ) var ( buffersinkContext *astiav.BuffersinkFilterContext buffersrcContext *astiav.BuffersrcFilterContext c = astikit.NewCloser() decCodec *astiav.Codec decCodecContext *astiav.CodecContext decLastPTS *int64 decodedHardwareFrame *astiav.Frame filterGraph *astiav.FilterGraph filteredHardwareFrame *astiav.Frame hardwareDeviceContext *astiav.HardwareDeviceContext inputStream *astiav.Stream softwareFrame *astiav.Frame ) func main() { // Handle ffmpeg logs astiav.SetLogLevel(astiav.LogLevelDebug) astiav.SetLogCallback(func(c astiav.Classer, l astiav.LogLevel, fmt, msg string) { var cs string if c != nil { if cl := c.Class(); cl != nil { cs = " - class: " + cl.String() } } log.Printf("ffmpeg log: %s%s - level: %d\n", strings.TrimSpace(msg), cs, l) }) // Parse flags flag.Parse() // Usage if *input == "" || *hardwareDeviceTypeName == "" { log.Println("Usage: -t -i [-n -c -f ]") return } // We use an astikit.Closer to free all resources properly defer c.Close() // Get hardware device type hardwareDeviceType := astiav.FindHardwareDeviceTypeByName(*hardwareDeviceTypeName) if hardwareDeviceType == astiav.HardwareDeviceTypeNone { log.Println(errors.New("main: hardware device not found")) return } // Allocate packet pkt := astiav.AllocPacket() c.Add(pkt.Free) // Allocate decoded hardware frame decodedHardwareFrame = astiav.AllocFrame() c.Add(decodedHardwareFrame.Free) // Allocate software frame softwareFrame = astiav.AllocFrame() c.Add(softwareFrame.Free) // Allocate input format context inputFormatContext := astiav.AllocFormatContext() if inputFormatContext == nil { log.Println(errors.New("main: input format context is nil")) return } c.Add(inputFormatContext.Free) // Open input if err := inputFormatContext.OpenInput(*input, nil, nil); err != nil { log.Println(fmt.Errorf("main: opening input failed: %w", err)) return } c.Add(inputFormatContext.CloseInput) // Find stream info if err := inputFormatContext.FindStreamInfo(nil); err != nil { log.Println(fmt.Errorf("main: finding stream info failed: %w", err)) return } // Loop through streams hardwarePixelFormat := astiav.PixelFormatNone for _, is := range inputFormatContext.Streams() { // Only process video if is.CodecParameters().MediaType() != astiav.MediaTypeVideo { continue } // Merge decoder name with hardware device type name if *decoderCodecName == "" { *decoderCodecName = fmt.Sprintf("%s_%s", is.CodecParameters().CodecID().Name(), *hardwareDeviceTypeName) } // Update input stream inputStream = is // Find decoder decCodec = astiav.FindDecoderByName(*decoderCodecName) // No codec if decCodec == nil { log.Println(errors.New("main: codec is nil")) return } // Allocate codec context if decCodecContext = astiav.AllocCodecContext(decCodec); decCodecContext == nil { log.Println(errors.New("main: codec context is nil")) return } c.Add(decCodecContext.Free) // Update codec context if err := is.CodecParameters().ToCodecContext(decCodecContext); err != nil { log.Println(fmt.Errorf("main: updating codec context failed: %w", err)) return } // Create hardware device context var err error if hardwareDeviceContext, err = astiav.CreateHardwareDeviceContext(hardwareDeviceType, *hardwareDeviceName, nil, 0); err != nil { log.Println(fmt.Errorf("main: creating hardware device context failed: %w", err)) return } c.Add(hardwareDeviceContext.Free) hardwareFramesConstraints := hardwareDeviceContext.HardwareFramesConstraints() if hardwareFramesConstraints == nil { log.Println("main: hardware frames constraints is nil") return } defer hardwareFramesConstraints.Free() validHardwarePixelFormats := hardwareFramesConstraints.ValidHardwarePixelFormats() if len(validHardwarePixelFormats) == 0 { log.Println("main: no valid hardware pixel formats") return } hardwarePixelFormat = validHardwarePixelFormats[0] // Update decoder context decCodecContext.SetHardwareDeviceContext(hardwareDeviceContext) decCodecContext.SetPixelFormatCallback(func(pfs []astiav.PixelFormat) astiav.PixelFormat { for _, pf := range pfs { if pf == hardwarePixelFormat { return pf } } log.Println(errors.New("main: using hardware pixel format failed")) return astiav.PixelFormatNone }) // Open decoder context if err := decCodecContext.Open(decCodec, nil); err != nil { log.Println(fmt.Errorf("main: opening decoder context failed: %w", err)) return } break } // No video stream if inputStream == nil { log.Println("main: no video stream found") return } // Loop through packets for { // We use a closure to ease unreferencing the packet if stop := func() bool { // Read frame if err := inputFormatContext.ReadFrame(pkt); err != nil { if !errors.Is(err, astiav.ErrEof) { log.Println(fmt.Errorf("main: reading frame failed: %w", err)) } return true } // Make sure to unreference the packet defer pkt.Unref() // Invalid stream if pkt.StreamIndex() != inputStream.Index() { return false } // Send packet if err := decCodecContext.SendPacket(pkt); err != nil { log.Println(fmt.Errorf("main: sending packet failed: %w", err)) return true } // Loop for { // We use a closure to ease unreferencing frames if stop := func() bool { // Receive frame if err := decCodecContext.ReceiveFrame(decodedHardwareFrame); err != nil { if !errors.Is(err, astiav.ErrEof) && !errors.Is(err, astiav.ErrEagain) { log.Println(fmt.Errorf("main: receiving frame failed: %w", err)) } return true } // Make sure to unreference hardware frame defer decodedHardwareFrame.Unref() // Ignore frames with non monotonic PTS if decLastPTS != nil && *decLastPTS >= decodedHardwareFrame.Pts() { return false } decLastPTS = astikit.Int64Ptr(decodedHardwareFrame.Pts()) // Invalid pixel format if decodedHardwareFrame.PixelFormat() != hardwarePixelFormat { log.Printf("main: invalid decoded pixel format %s, expected %s\n", decodedHardwareFrame.PixelFormat(), hardwarePixelFormat) return true } // No filter requested if *filter == "" { // Do something with hardware frame if err := doSomethingWithHardwareFrame(decodedHardwareFrame); err != nil { log.Println(fmt.Errorf("main: doing something with hardware frame failed: %w", err)) return true } return false } // Make sure the filter is initialized // We need to wait for the first frame to be decoded before initializing the filter // since we need a valid hardware frames context if filterGraph == nil { if err := initFilter(); err != nil { log.Println(fmt.Errorf("main: initializing filter failed: %w", err)) return true } } // Filter frame if err := filterFrame(); err != nil { log.Println(fmt.Errorf("main: filtering frame failed: %w", err)) return true } return false }(); stop { break } } return false }(); stop { break } } // Done log.Println("done") } func initFilter() (err error) { // Allocate graph if filterGraph = astiav.AllocFilterGraph(); filterGraph == nil { err = errors.New("main: graph is nil") return } c.Add(filterGraph.Free) // Allocate outputs outputs := astiav.AllocFilterInOut() if outputs == nil { err = errors.New("main: outputs is nil") return } c.Add(outputs.Free) // Allocate inputs inputs := astiav.AllocFilterInOut() if inputs == nil { err = errors.New("main: inputs is nil") return } c.Add(inputs.Free) // Create buffersrc buffersrc := astiav.FindFilterByName("buffer") if buffersrc == nil { err = errors.New("main: buffersrc is nil") return } // Create buffersink buffersink := astiav.FindFilterByName("buffersink") if buffersink == nil { err = errors.New("main: buffersink is nil") return } // Create filter contexts if buffersrcContext, err = filterGraph.NewBuffersrcFilterContext(buffersrc, "in"); err != nil { err = fmt.Errorf("main: creating buffersrc context failed: %w", err) return } if buffersinkContext, err = filterGraph.NewBuffersinkFilterContext(buffersink, "in"); err != nil { err = fmt.Errorf("main: creating buffersink context failed: %w", err) return } // Create buffersrc context parameters buffersrcContextParameters := astiav.AllocBuffersrcFilterContextParameters() defer buffersrcContextParameters.Free() buffersrcContextParameters.SetHardwareFramesContext(decodedHardwareFrame.HardwareFramesContext()) buffersrcContextParameters.SetHeight(decCodecContext.Height()) buffersrcContextParameters.SetPixelFormat(decCodecContext.PixelFormat()) buffersrcContextParameters.SetSampleAspectRatio(decCodecContext.SampleAspectRatio()) buffersrcContextParameters.SetTimeBase(inputStream.TimeBase()) buffersrcContextParameters.SetWidth(decCodecContext.Width()) // Set buffersrc context parameters if err = buffersrcContext.SetParameters(buffersrcContextParameters); err != nil { err = fmt.Errorf("main: setting buffersrc context parameters failed: %w", err) return } // Initialize buffersrc context if err = buffersrcContext.Initialize(nil); err != nil { err = fmt.Errorf("main: initializing buffersrc context failed: %w", err) return } // Update outputs outputs.SetName("in") outputs.SetFilterContext(buffersrcContext.FilterContext()) outputs.SetPadIdx(0) outputs.SetNext(nil) // Update inputs inputs.SetName("out") inputs.SetFilterContext(buffersinkContext.FilterContext()) inputs.SetPadIdx(0) inputs.SetNext(nil) // Loop through filters for _, f := range filterGraph.Filters() { // Filter doesn't handle hardware devices if !f.Filter().Flags().Has(astiav.FilterFlagHardwareDevice) { continue } // Update hardware device context f.SetHardwareDeviceContext(hardwareDeviceContext) } // Parse if err = filterGraph.Parse(*filter, inputs, outputs); err != nil { err = fmt.Errorf("main: parsing filter failed: %w", err) return } // Configure if err = filterGraph.Configure(); err != nil { err = fmt.Errorf("main: configuring filter failed: %w", err) return } // Allocate frame filteredHardwareFrame = astiav.AllocFrame() c.Add(filteredHardwareFrame.Free) return } func filterFrame() (err error) { // Add frame if err = buffersrcContext.AddFrame(decodedHardwareFrame, astiav.NewBuffersrcFlags(astiav.BuffersrcFlagKeepRef)); err != nil { err = fmt.Errorf("main: adding frame failed: %w", err) return } // Loop for { // We use a closure to ease unreferencing the frame if stop, err := func() (bool, error) { // Get frame if err := buffersinkContext.GetFrame(filteredHardwareFrame, astiav.NewBuffersinkFlags()); err != nil { if errors.Is(err, astiav.ErrEof) || errors.Is(err, astiav.ErrEagain) { return true, nil } return false, fmt.Errorf("main: getting frame failed: %w", err) } // Make sure to unrefernce the frame defer filteredHardwareFrame.Unref() // Do something with hardware frame if err := doSomethingWithHardwareFrame(filteredHardwareFrame); err != nil { return false, fmt.Errorf("main: doing something with hardware frame failed: %w", err) } return false, nil }(); err != nil { return err } else if stop { break } } return } func doSomethingWithHardwareFrame(hardwareFrame *astiav.Frame) error { // Transfer hardware data if err := hardwareFrame.TransferHardwareData(softwareFrame); err != nil { return fmt.Errorf("main: transferring hardware data failed: %w", err) } // Make sure to unreference software frame defer softwareFrame.Unref() // Update pts softwareFrame.SetPts(hardwareFrame.Pts()) // Do something with software frame log.Printf("new software frame: pts: %d", softwareFrame.Pts()) return nil } ================================================ FILE: examples/hardware_encoding/main.go ================================================ package main import ( "errors" "flag" "fmt" "log" "slices" "strings" "github.com/asticode/go-astiav" ) var ( encoderCodecName = flag.String("c", "", "the encoder codec name (e.g. h264_nvenc)") hardwareDeviceName = flag.String("n", "", "the hardware device name (e.g. 0)") hardwareDeviceTypeName = flag.String("t", "", "the hardware device type (e.g. cuda)") hardwarePixelFormatName = flag.String("hpf", "", "the hardware pixel format name (e.g. cuda)") height = flag.Int("h", 1080, "the height") softwarePixelFormatName = flag.String("spf", "", "the software pixel format name (e.g. nv12)") width = flag.Int("w", 1920, "the width") ) func main() { // Handle ffmpeg logs astiav.SetLogLevel(astiav.LogLevelDebug) astiav.SetLogCallback(func(c astiav.Classer, l astiav.LogLevel, fmt, msg string) { var cs string if c != nil { if cl := c.Class(); cl != nil { cs = " - class: " + cl.String() } } log.Printf("ffmpeg log: %s%s - level: %d\n", strings.TrimSpace(msg), cs, l) }) // Parse flags flag.Parse() // Usage if *hardwareDeviceTypeName == "" || *encoderCodecName == "" || *hardwarePixelFormatName == "" { log.Println("Usage: -t -c -hpf [-n -w -h ]") return } // Get hardware device type hardwareDeviceType := astiav.FindHardwareDeviceTypeByName(*hardwareDeviceTypeName) if hardwareDeviceType == astiav.HardwareDeviceTypeNone { log.Println(errors.New("main: hardware device not found")) return } // Create hardware device context hardwareDeviceContext, err := astiav.CreateHardwareDeviceContext(hardwareDeviceType, *hardwareDeviceName, nil, 0) if err != nil { log.Println(fmt.Errorf("main: creating hardware device context failed: %w", err)) return } defer hardwareDeviceContext.Free() hardwareFramesConstraints := hardwareDeviceContext.HardwareFramesConstraints() if hardwareFramesConstraints == nil { log.Println("main: hardware frames constraints is nil") return } defer hardwareFramesConstraints.Free() validHardwarePixelFormats := hardwareFramesConstraints.ValidHardwarePixelFormats() if len(validHardwarePixelFormats) == 0 { log.Println("main: no valid hardware pixel formats") return } // Find encoder codec encCodec := astiav.FindEncoderByName(*encoderCodecName) if encCodec == nil { log.Println("main: encoder codec is nil") return } // Alloc codec context encCodecContext := astiav.AllocCodecContext(encCodec) if encCodecContext == nil { log.Println("main: codec context is nil") return } defer encCodecContext.Free() // Get hardware pixel format hardwarePixelFormat := astiav.FindPixelFormatByName(*hardwarePixelFormatName) if hardwarePixelFormat == astiav.PixelFormatNone { log.Println("main: hardware pixel format not found") return } else if !slices.Contains(validHardwarePixelFormats, hardwarePixelFormat) { log.Printf("main: hardware pixel format not supported : %s\n", hardwarePixelFormat) return } // Set codec context encCodecContext.SetWidth(*width) encCodecContext.SetHeight(*height) encCodecContext.SetTimeBase(astiav.NewRational(1, 25)) encCodecContext.SetFramerate(encCodecContext.TimeBase().Invert()) encCodecContext.SetPixelFormat(hardwarePixelFormat) // Alloc hardware frames context hardwareFramesContext := astiav.AllocHardwareFramesContext(hardwareDeviceContext) if hardwareFramesContext == nil { log.Println("main: hardware frames context is nil") return } defer hardwareFramesContext.Free() validSoftwarePixelFormats := hardwareFramesConstraints.ValidSoftwarePixelFormats() if len(validSoftwarePixelFormats) == 0 { log.Println("main: no valid software pixel formats") return } // Get software pixel format softwarePixelFormat := astiav.FindPixelFormatByName(*softwarePixelFormatName) if softwarePixelFormat == astiav.PixelFormatNone { log.Println("main: software pixel format not found") return } else if !slices.Contains(validSoftwarePixelFormats, softwarePixelFormat) { log.Printf("main: software pixel format not supported : %s\n", softwarePixelFormat) return } // Set hardware frame content hardwareFramesContext.SetHardwarePixelFormat(hardwarePixelFormat) hardwareFramesContext.SetSoftwarePixelFormat(softwarePixelFormat) hardwareFramesContext.SetWidth(*width) hardwareFramesContext.SetHeight(*height) hardwareFramesContext.SetInitialPoolSize(20) // Initialize hardware frame context if err := hardwareFramesContext.Initialize(); err != nil { log.Println(fmt.Errorf("main: initializing hardware frame context failed: %w", err)) return } // Update encoder codec context hardware frame context encCodecContext.SetHardwareFramesContext(hardwareFramesContext) // Open codec context if err := encCodecContext.Open(encCodec, nil); err != nil { log.Println(fmt.Errorf("main: opening codec context failed: %w", err)) return } // Alloc software frame softwareFrame := astiav.AllocFrame() defer softwareFrame.Free() // Set software frame softwareFrame.SetWidth(*width) softwareFrame.SetHeight(*height) softwareFrame.SetPixelFormat(softwarePixelFormat) // Alloc software frame buffer if err := softwareFrame.AllocBuffer(0); err != nil { log.Println(fmt.Errorf("main: allocating buffer failed: %w", err)) return } // Fill software frame with black if err = softwareFrame.ImageFillBlack(); err != nil { log.Println(fmt.Errorf("main: filling software frame with black failed: %w", err)) return } // Alloc hardware frame hardwareFrame := astiav.AllocFrame() defer hardwareFrame.Free() // Alloc hardware frame buffer if err := hardwareFrame.AllocHardwareBuffer(hardwareFramesContext); err != nil { log.Println(fmt.Errorf("main: allocating hardware buffer failed: %w", err)) return } // Transfer software frame data to hardware frame if err := softwareFrame.TransferHardwareData(hardwareFrame); err != nil { log.Println(fmt.Errorf("main: transferring hardware data failed: %w", err)) return } // Encode frame if err := encCodecContext.SendFrame(hardwareFrame); err != nil { log.Println(fmt.Errorf("main: sending frame failed: %w", err)) return } // Alloc packet pkt := astiav.AllocPacket() defer pkt.Free() // Loop for { // We use a closure to ease unreferencing the packet if stop := func() bool { // Receive packet if err = encCodecContext.ReceivePacket(pkt); err != nil { if !errors.Is(err, astiav.ErrEof) && !errors.Is(err, astiav.ErrEagain) { log.Println(fmt.Errorf("main: receiving packet failed: %w", err)) } return true } // Make sure to unreference packet defer pkt.Unref() // Log log.Println("new packet") return false }(); stop { break } } } ================================================ FILE: examples/remuxing/main.go ================================================ package main import ( "errors" "flag" "fmt" "log" "strings" "github.com/asticode/go-astiav" ) var ( input = flag.String("i", "", "the input path") output = flag.String("o", "", "the output path") ) func main() { // Handle ffmpeg logs astiav.SetLogLevel(astiav.LogLevelDebug) astiav.SetLogCallback(func(c astiav.Classer, l astiav.LogLevel, fmt, msg string) { var cs string if c != nil { if cl := c.Class(); cl != nil { cs = " - class: " + cl.String() } } log.Printf("ffmpeg log: %s%s - level: %d\n", strings.TrimSpace(msg), cs, l) }) // Parse flags flag.Parse() // Usage if *input == "" || *output == "" { log.Println("Usage: -i -o ") return } // Allocate packet pkt := astiav.AllocPacket() defer pkt.Free() // Allocate input format context inputFormatContext := astiav.AllocFormatContext() if inputFormatContext == nil { log.Println(errors.New("main: input format context is nil")) return } defer inputFormatContext.Free() // Open input if err := inputFormatContext.OpenInput(*input, nil, nil); err != nil { log.Println(fmt.Errorf("main: opening input failed: %w", err)) return } defer inputFormatContext.CloseInput() // Find stream info if err := inputFormatContext.FindStreamInfo(nil); err != nil { log.Println(fmt.Errorf("main: finding stream info failed: %w", err)) return } // Allocate output format context outputFormatContext, err := astiav.AllocOutputFormatContext(nil, "", *output) if err != nil { log.Println(fmt.Errorf("main: allocating output format context failed: %w", err)) return } if outputFormatContext == nil { log.Println(errors.New("main: output format context is nil")) return } defer outputFormatContext.Free() // Loop through streams inputStreams := make(map[int]*astiav.Stream) // Indexed by input stream index outputStreams := make(map[int]*astiav.Stream) // Indexed by input stream index for _, is := range inputFormatContext.Streams() { // Only process audio or video if is.CodecParameters().MediaType() != astiav.MediaTypeAudio && is.CodecParameters().MediaType() != astiav.MediaTypeVideo { continue } // Add input stream inputStreams[is.Index()] = is // Add stream to output format context os := outputFormatContext.NewStream(nil) if os == nil { log.Println(errors.New("main: output stream is nil")) return } // Copy codec parameters if err = is.CodecParameters().Copy(os.CodecParameters()); err != nil { log.Println(fmt.Errorf("main: copying codec parameters failed: %w", err)) return } // Reset codec tag os.CodecParameters().SetCodecTag(0) // Add output stream outputStreams[is.Index()] = os } // If this is a file, we need to use an io context if !outputFormatContext.OutputFormat().Flags().Has(astiav.IOFormatFlagNofile) { // Open io context ioContext, err := astiav.OpenIOContext(*output, astiav.NewIOContextFlags(astiav.IOContextFlagWrite), nil, nil) if err != nil { log.Println(fmt.Errorf("main: opening io context failed: %w", err)) return } defer ioContext.Close() //nolint:errcheck // Update output format context outputFormatContext.SetPb(ioContext) } // Write header if err = outputFormatContext.WriteHeader(nil); err != nil { log.Println(fmt.Errorf("main: writing header failed: %w", err)) return } // Loop through packets for { // We use a closure to ease unreferencing packet if stop := func() bool { // Read frame if err = inputFormatContext.ReadFrame(pkt); err != nil { if !errors.Is(err, astiav.ErrEof) { log.Println(fmt.Errorf("main: reading frame failed: %w", err)) } return true } // Make sure to unreference packet defer pkt.Unref() // Get input stream inputStream, ok := inputStreams[pkt.StreamIndex()] if !ok { return false } // Get output stream outputStream, ok := outputStreams[pkt.StreamIndex()] if !ok { return false } // Update packet pkt.SetStreamIndex(outputStream.Index()) pkt.RescaleTs(inputStream.TimeBase(), outputStream.TimeBase()) pkt.SetPos(-1) // Write frame if err = outputFormatContext.WriteInterleavedFrame(pkt); err != nil { log.Println(fmt.Errorf("main: writing interleaved frame failed: %w", err)) return true } return false }(); stop { break } } // Write trailer if err = outputFormatContext.WriteTrailer(); err != nil { log.Println(fmt.Errorf("main: writing trailer failed: %w", err)) return } // Done log.Println("done") } ================================================ FILE: examples/resampling_audio/main.go ================================================ package main import ( "errors" "flag" "fmt" "log" "strings" "github.com/asticode/go-astiav" "github.com/asticode/go-astikit" ) var ( input = flag.String("i", "", "the input path") ) var ( af *astiav.AudioFifo decLastPTS *int64 decodedFrame *astiav.Frame finalFrame *astiav.Frame resampledFrame *astiav.Frame src *astiav.SoftwareResampleContext ) func main() { // Handle ffmpeg logs astiav.SetLogLevel(astiav.LogLevelDebug) astiav.SetLogCallback(func(c astiav.Classer, l astiav.LogLevel, fmt, msg string) { var cs string if c != nil { if cl := c.Class(); cl != nil { cs = " - class: " + cl.String() } } log.Printf("ffmpeg log: %s%s - level: %d\n", strings.TrimSpace(msg), cs, l) }) // Parse flags flag.Parse() // Usage if *input == "" { log.Println("Usage: -i ") return } // Allocate input format context inputFormatContext := astiav.AllocFormatContext() if inputFormatContext == nil { log.Println(errors.New("main: input format context is nil")) return } defer inputFormatContext.Free() // Open input if err := inputFormatContext.OpenInput(*input, nil, nil); err != nil { log.Println(fmt.Errorf("main: opening input failed: %w", err)) return } defer inputFormatContext.CloseInput() // Find stream info if err := inputFormatContext.FindStreamInfo(nil); err != nil { log.Println(fmt.Errorf("main: finding stream info failed: %w", err)) return } // Loop through streams var s *astiav.Stream var cc *astiav.CodecContext for _, is := range inputFormatContext.Streams() { // Only process audio if is.CodecParameters().MediaType() != astiav.MediaTypeAudio { continue } // Store stream s = is // Find decoder c := astiav.FindDecoder(is.CodecParameters().CodecID()) if c == nil { log.Println(errors.New("main: codec is nil")) return } // Allocate codec context if cc = astiav.AllocCodecContext(c); cc == nil { log.Println(errors.New("main: codec context is nil")) return } defer cc.Free() // Update codec context if err := is.CodecParameters().ToCodecContext(cc); err != nil { log.Println(fmt.Errorf("main: updating codec context failed: %w", err)) return } // Open codec context if err := cc.Open(c, nil); err != nil { log.Println(fmt.Errorf("main: opening codec context failed: %w", err)) return } break } // No stream if s == nil { log.Println("main: no audio stream found") return } // Alloc resample context src = astiav.AllocSoftwareResampleContext() defer src.Free() // Allocate packet pkt := astiav.AllocPacket() defer pkt.Free() // Allocate decoded frame decodedFrame = astiav.AllocFrame() defer decodedFrame.Free() // Allocate resampled frame resampledFrame = astiav.AllocFrame() defer resampledFrame.Free() // For the resampled frame we need to setup mandatory information resampledFrame.SetChannelLayout(astiav.ChannelLayoutStereo) resampledFrame.SetSampleFormat(astiav.SampleFormatFltp) resampledFrame.SetSampleRate(24000) // Do this only if you want to make sure the resampled frame's number of samples doesn't get // bigger than a custom value ("200" in our case) resampledFrame.SetNbSamples(200) const align = 0 if err := resampledFrame.AllocBuffer(align); err != nil { log.Println(fmt.Errorf("main: allocating buffer failed: %w", err)) return } // For the sake of the example we use an audio FIFO to ensure final frames have an exact constant // number of samples except for the last one. However this is optional and it depends on your use case finalFrame = astiav.AllocFrame() defer finalFrame.Free() finalFrame.SetChannelLayout(resampledFrame.ChannelLayout()) finalFrame.SetNbSamples(resampledFrame.NbSamples()) finalFrame.SetSampleFormat(resampledFrame.SampleFormat()) finalFrame.SetSampleRate(resampledFrame.SampleRate()) if err := finalFrame.AllocBuffer(align); err != nil { log.Println(fmt.Errorf("main: allocating buffer failed: %w", err)) return } af = astiav.AllocAudioFifo(finalFrame.SampleFormat(), finalFrame.ChannelLayout().Channels(), finalFrame.NbSamples()) defer af.Free() // Loop for { // We use a closure to ease unreferencing the packet if stop := func() bool { // Read frame if err := inputFormatContext.ReadFrame(pkt); err != nil { if !errors.Is(err, astiav.ErrEof) { log.Println(fmt.Errorf("main: reading frame failed: %w", err)) } return true } // Make sure to unreference the packet defer pkt.Unref() // Invalid stream if pkt.StreamIndex() != s.Index() { return false } // Send packet if err := cc.SendPacket(pkt); err != nil { log.Println(fmt.Errorf("main: sending packet failed: %w", err)) return true } // Loop for { // We use a closure to ease unreferencing the frame if stop := func() bool { // Receive frame if err := cc.ReceiveFrame(decodedFrame); err != nil { if !errors.Is(err, astiav.ErrEof) && !errors.Is(err, astiav.ErrEagain) { log.Println(fmt.Errorf("main: receiving frame failed: %w", err)) } return true } // Make sure to unreference the frame defer decodedFrame.Unref() // Ignore frames with non monotonic PTS if decLastPTS != nil && *decLastPTS >= decodedFrame.Pts() { return false } decLastPTS = astikit.Int64Ptr(decodedFrame.Pts()) // Log log.Printf("new decoded frame: nb samples: %d", decodedFrame.NbSamples()) // Resample decoded frame if err := src.ConvertFrame(decodedFrame, resampledFrame); err != nil { log.Println(fmt.Errorf("main: resampling decoded frame failed: %w", err)) return true } // Something was resampled if nbSamples := resampledFrame.NbSamples(); nbSamples > 0 { // Log log.Printf("new resampled frame: nb samples: %d", nbSamples) // Add resampled frame to audio fifo if err := addResampledFrameToAudioFIFO(false); err != nil { log.Println(fmt.Errorf("main: adding resampled frame to audio fifo failed: %w", err)) return true } // Flush software resample context if err := flushSoftwareResampleContext(false); err != nil { log.Println(fmt.Errorf("main: flushing software resample context failed: %w", err)) return true } } return false }(); stop { break } } return false }(); stop { break } } // Flush software resample context if err := flushSoftwareResampleContext(true); err != nil { log.Println(fmt.Errorf("main: flushing software resample context failed: %w", err)) return } // Done log.Println("done") } func flushSoftwareResampleContext(finalFlush bool) error { // Loop for { // We're making the final flush or there's enough data to flush the resampler if finalFlush || src.Delay(int64(resampledFrame.SampleRate())) >= int64(resampledFrame.NbSamples()) { // Flush resampler if err := src.ConvertFrame(nil, resampledFrame); err != nil { return fmt.Errorf("main: flushing resampler failed: %w", err) } // Nothing was resampled if resampledFrame.NbSamples() == 0 { break } // Log log.Printf("new resampled frame: nb samples: %d", resampledFrame.NbSamples()) // Add resampled frame to audio fifo if err := addResampledFrameToAudioFIFO(finalFlush); err != nil { return fmt.Errorf("main: adding resampled frame to audio fifo failed: %w", err) } continue } break } return nil } func addResampledFrameToAudioFIFO(flush bool) error { // Write if resampledFrame.NbSamples() > 0 { if _, err := af.Write(resampledFrame); err != nil { return fmt.Errorf("main: writing failed: %w", err) } } // Loop for { // We're flushing or there's enough data to read if (flush && af.Size() > 0) || (!flush && af.Size() >= finalFrame.NbSamples()) { // Read n, err := af.Read(finalFrame) if err != nil { return fmt.Errorf("main: reading failed: %w", err) } finalFrame.SetNbSamples(n) // Log log.Printf("new final frame: nb samples: %d", finalFrame.NbSamples()) continue } break } return nil } ================================================ FILE: examples/scaling_video/main.go ================================================ package main import ( "flag" "fmt" "image/png" "log" "os" "strings" "github.com/asticode/go-astiav" ) var ( output = flag.String("o", "", "the png output path") dstWidth = flag.Int("w", 50, "destination width") dstHeight = flag.Int("h", 50, "destination height") ) func main() { // Handle ffmpeg logs astiav.SetLogLevel(astiav.LogLevelDebug) astiav.SetLogCallback(func(c astiav.Classer, l astiav.LogLevel, fmt, msg string) { var cs string if c != nil { if cl := c.Class(); cl != nil { cs = " - class: " + cl.String() } } log.Printf("ffmpeg log: %s%s - level: %d\n", strings.TrimSpace(msg), cs, l) }) // Parse flags flag.Parse() // Usage if *output == "" || *dstWidth <= 0 || *dstHeight <= 0 { log.Println("Usage: -o -w -h ") return } // Create destination file dstFile, err := os.Create(*output) if err != nil { log.Println(fmt.Errorf("main: creating %s failed: %w", *output, err)) return } defer dstFile.Close() // Create source frame srcFrame := astiav.AllocFrame() defer srcFrame.Free() srcFrame.SetWidth(320) srcFrame.SetHeight(240) srcFrame.SetPixelFormat(astiav.PixelFormatYuv420P) if err = srcFrame.AllocBuffer(1); err != nil { log.Println(fmt.Errorf("main: allocating source frame buffer failed: %w", err)) return } if err = srcFrame.ImageFillBlack(); err != nil { log.Println(fmt.Errorf("main: filling source frame with black image failed: %w", err)) return } // Create destination frame dstFrame := astiav.AllocFrame() defer dstFrame.Free() // Create software scale context swsCtx, err := astiav.CreateSoftwareScaleContext( srcFrame.Width(), srcFrame.Height(), srcFrame.PixelFormat(), *dstWidth, *dstHeight, astiav.PixelFormatRgba, astiav.NewSoftwareScaleContextFlags(astiav.SoftwareScaleContextFlagBilinear), ) if err != nil { log.Println(fmt.Errorf("main: creating software scale context failed: %w", err)) return } defer swsCtx.Free() // Scale frame if err := swsCtx.ScaleFrame(srcFrame, dstFrame); err != nil { log.Println(fmt.Errorf("main: scaling frame failed: %w", err)) return } // Guess destination image format img, err := dstFrame.Data().GuessImageFormat() if err != nil { log.Println(fmt.Errorf("main: guessing destination image format failed: %w", err)) return } // Copy frame data to destination image if err = dstFrame.Data().ToImage(img); err != nil { log.Println(fmt.Errorf("main: copying frame data to destination image failed: %w", err)) return } // Encode to png if err = png.Encode(dstFile, img); err != nil { log.Println(fmt.Errorf("main: encoding to png failed: %w", err)) return } // Done log.Println("done") } ================================================ FILE: examples/transcoding/main.go ================================================ package main import ( "errors" "flag" "fmt" "log" "strings" "github.com/asticode/go-astiav" "github.com/asticode/go-astikit" ) var ( input = flag.String("i", "", "the input path") output = flag.String("o", "", "the output path") ) var ( c = astikit.NewCloser() inputFormatContext *astiav.FormatContext outputFormatContext *astiav.FormatContext streams = make(map[int]*stream) // Indexed by input stream index ) type stream struct { buffersinkContext *astiav.BuffersinkFilterContext buffersrcContext *astiav.BuffersrcFilterContext decCodec *astiav.Codec decCodecContext *astiav.CodecContext decFrame *astiav.Frame decLastPTS *int64 encCodec *astiav.Codec encCodecContext *astiav.CodecContext encPkt *astiav.Packet filterFrame *astiav.Frame filterGraph *astiav.FilterGraph inputStream *astiav.Stream outputStream *astiav.Stream } func main() { // Handle ffmpeg logs astiav.SetLogLevel(astiav.LogLevelDebug) astiav.SetLogCallback(func(c astiav.Classer, l astiav.LogLevel, fmt, msg string) { var cs string if c != nil { if cl := c.Class(); cl != nil { cs = " - class: " + cl.String() } } log.Printf("ffmpeg log: %s%s - level: %d\n", strings.TrimSpace(msg), cs, l) }) // Parse flags flag.Parse() // Usage if *input == "" || *output == "" { log.Println("Usage: -i -o ") return } // We use an astikit.Closer to free all resources properly defer c.Close() // Open input file if err := openInputFile(); err != nil { log.Println(fmt.Errorf("main: opening input file failed: %w", err)) return } // Open output file if err := openOutputFile(); err != nil { log.Println(fmt.Errorf("main: opening output file failed: %w", err)) return } // Init filters if err := initFilters(); err != nil { log.Println(fmt.Errorf("main: initializing filters failed: %w", err)) return } // Allocate packet pkt := astiav.AllocPacket() c.Add(pkt.Free) // Loop through packets for { // We use a closure to ease unreferencing the packet if stop := func() bool { // Read frame if err := inputFormatContext.ReadFrame(pkt); err != nil { if !errors.Is(err, astiav.ErrEof) { log.Println(fmt.Errorf("main: reading frame failed: %w", err)) } return true } // Make sure to unreference the packet defer pkt.Unref() // Get stream s, ok := streams[pkt.StreamIndex()] if !ok { return false } // Update packet pkt.RescaleTs(s.inputStream.TimeBase(), s.decCodecContext.TimeBase()) // Send packet if err := s.decCodecContext.SendPacket(pkt); err != nil { log.Println(fmt.Errorf("main: sending packet failed: %w", err)) return true } // Loop for { // We use a closure to ease unreferencing the frame if stop := func() bool { // Receive frame if err := s.decCodecContext.ReceiveFrame(s.decFrame); err != nil { if !errors.Is(err, astiav.ErrEof) && !errors.Is(err, astiav.ErrEagain) { log.Println(fmt.Errorf("main: receiving frame failed: %w", err)) } return true } // Make sure to unreference the frame defer s.decFrame.Unref() // Ignore frames with non monotonic PTS if s.decLastPTS != nil && *s.decLastPTS >= s.decFrame.Pts() { return false } s.decLastPTS = astikit.Int64Ptr(s.decFrame.Pts()) // Filter, encode and write frame if err := filterEncodeWriteFrame(s.decFrame, s); err != nil { log.Println(fmt.Errorf("main: filtering, encoding and writing frame failed: %w", err)) return true } return false }(); stop { break } } return false }(); stop { break } } // Loop through streams for _, s := range streams { // Flush filter if err := filterEncodeWriteFrame(nil, s); err != nil { log.Println(fmt.Errorf("main: filtering, encoding and writing frame failed: %w", err)) return } // Flush encoder if err := encodeWriteFrame(nil, s); err != nil { log.Println(fmt.Errorf("main: encoding and writing frame failed: %w", err)) return } } // Write trailer if err := outputFormatContext.WriteTrailer(); err != nil { log.Println(fmt.Errorf("main: writing trailer failed: %w", err)) return } // Done log.Println("done") } func openInputFile() (err error) { // Allocate input format context if inputFormatContext = astiav.AllocFormatContext(); inputFormatContext == nil { err = errors.New("main: input format context is nil") return } c.Add(inputFormatContext.Free) // Open input if err = inputFormatContext.OpenInput(*input, nil, nil); err != nil { err = fmt.Errorf("main: opening input failed: %w", err) return } c.Add(inputFormatContext.CloseInput) // Find stream info if err = inputFormatContext.FindStreamInfo(nil); err != nil { err = fmt.Errorf("main: finding stream info failed: %w", err) return } // Loop through streams for _, is := range inputFormatContext.Streams() { // Only process audio or video if is.CodecParameters().MediaType() != astiav.MediaTypeAudio && is.CodecParameters().MediaType() != astiav.MediaTypeVideo { continue } // Create stream s := &stream{inputStream: is} // Find decoder if s.decCodec = astiav.FindDecoder(is.CodecParameters().CodecID()); s.decCodec == nil { err = errors.New("main: codec is nil") return } // Allocate codec context if s.decCodecContext = astiav.AllocCodecContext(s.decCodec); s.decCodecContext == nil { err = errors.New("main: codec context is nil") return } c.Add(s.decCodecContext.Free) // Update codec context if err = is.CodecParameters().ToCodecContext(s.decCodecContext); err != nil { err = fmt.Errorf("main: updating codec context failed: %w", err) return } // Set framerate if is.CodecParameters().MediaType() == astiav.MediaTypeVideo { s.decCodecContext.SetFramerate(inputFormatContext.GuessFrameRate(is, nil)) } // Open codec context if err = s.decCodecContext.Open(s.decCodec, nil); err != nil { err = fmt.Errorf("main: opening codec context failed: %w", err) return } // Set time base s.decCodecContext.SetTimeBase(is.TimeBase()) // Allocate frame s.decFrame = astiav.AllocFrame() c.Add(s.decFrame.Free) // Store stream streams[is.Index()] = s } return } func openOutputFile() (err error) { // Allocate output format context if outputFormatContext, err = astiav.AllocOutputFormatContext(nil, "", *output); err != nil { err = fmt.Errorf("main: allocating output format context failed: %w", err) return } else if outputFormatContext == nil { err = errors.New("main: output format context is nil") return } c.Add(outputFormatContext.Free) // Loop through streams for _, is := range inputFormatContext.Streams() { // Get stream s, ok := streams[is.Index()] if !ok { continue } // Create output stream if s.outputStream = outputFormatContext.NewStream(nil); s.outputStream == nil { err = errors.New("main: output stream is nil") return } // Get codec id codecID := astiav.CodecIDH264 if s.decCodecContext.MediaType() == astiav.MediaTypeAudio { codecID = astiav.CodecIDAac } // Find encoder if s.encCodec = astiav.FindEncoder(codecID); s.encCodec == nil { err = errors.New("main: codec is nil") return } // Allocate codec context if s.encCodecContext = astiav.AllocCodecContext(s.encCodec); s.encCodecContext == nil { err = errors.New("main: codec context is nil") return } c.Add(s.encCodecContext.Free) // Update codec context if s.decCodecContext.MediaType() == astiav.MediaTypeAudio { if v := s.encCodec.SupportedChannelLayouts(); len(v) > 0 { s.encCodecContext.SetChannelLayout(v[0]) } else { s.encCodecContext.SetChannelLayout(s.decCodecContext.ChannelLayout()) } s.encCodecContext.SetSampleRate(s.decCodecContext.SampleRate()) if v := s.encCodec.SupportedSampleFormats(); len(v) > 0 { s.encCodecContext.SetSampleFormat(v[0]) } else { s.encCodecContext.SetSampleFormat(s.decCodecContext.SampleFormat()) } s.encCodecContext.SetTimeBase(astiav.NewRational(1, s.encCodecContext.SampleRate())) } else { s.encCodecContext.SetHeight(s.decCodecContext.Height()) if v := s.encCodec.SupportedPixelFormats(); len(v) > 0 { s.encCodecContext.SetPixelFormat(v[0]) } else { s.encCodecContext.SetPixelFormat(s.decCodecContext.PixelFormat()) } s.encCodecContext.SetSampleAspectRatio(s.decCodecContext.SampleAspectRatio()) s.encCodecContext.SetTimeBase(s.decCodecContext.TimeBase()) s.encCodecContext.SetWidth(s.decCodecContext.Width()) } // Update flags if outputFormatContext.OutputFormat().Flags().Has(astiav.IOFormatFlagGlobalheader) { s.encCodecContext.SetFlags(s.encCodecContext.Flags().Add(astiav.CodecContextFlagGlobalHeader)) } // Open codec context if err = s.encCodecContext.Open(s.encCodec, nil); err != nil { err = fmt.Errorf("main: opening codec context failed: %w", err) return } // Update codec parameters if err = s.outputStream.CodecParameters().FromCodecContext(s.encCodecContext); err != nil { err = fmt.Errorf("main: updating codec parameters failed: %w", err) return } // Update stream s.outputStream.SetTimeBase(s.encCodecContext.TimeBase()) } // If this is a file, we need to use an io context if !outputFormatContext.OutputFormat().Flags().Has(astiav.IOFormatFlagNofile) { // Open io context var ioContext *astiav.IOContext if ioContext, err = astiav.OpenIOContext(*output, astiav.NewIOContextFlags(astiav.IOContextFlagWrite), nil, nil); err != nil { err = fmt.Errorf("main: opening io context failed: %w", err) return } c.AddWithError(ioContext.Close) // Update output format context outputFormatContext.SetPb(ioContext) } // Write header if err = outputFormatContext.WriteHeader(nil); err != nil { err = fmt.Errorf("main: writing header failed: %w", err) return } return } func initFilters() (err error) { // Loop through output streams for _, s := range streams { // Allocate graph if s.filterGraph = astiav.AllocFilterGraph(); s.filterGraph == nil { err = errors.New("main: graph is nil") return } c.Add(s.filterGraph.Free) // Allocate outputs outputs := astiav.AllocFilterInOut() if outputs == nil { err = errors.New("main: outputs is nil") return } c.Add(outputs.Free) // Allocate inputs inputs := astiav.AllocFilterInOut() if inputs == nil { err = errors.New("main: inputs is nil") return } c.Add(inputs.Free) // Create buffersrc context parameters buffersrcContextParameters := astiav.AllocBuffersrcFilterContextParameters() defer buffersrcContextParameters.Free() // Switch on media type var buffersrc, buffersink *astiav.Filter var content string switch s.decCodecContext.MediaType() { case astiav.MediaTypeAudio: buffersrc = astiav.FindFilterByName("abuffer") buffersrcContextParameters.SetChannelLayout(s.decCodecContext.ChannelLayout()) buffersrcContextParameters.SetSampleFormat(s.decCodecContext.SampleFormat()) buffersrcContextParameters.SetSampleRate(s.decCodecContext.SampleRate()) buffersrcContextParameters.SetTimeBase(s.decCodecContext.TimeBase()) buffersink = astiav.FindFilterByName("abuffersink") content = fmt.Sprintf("aformat=sample_fmts=%s:channel_layouts=%s", s.encCodecContext.SampleFormat().Name(), s.encCodecContext.ChannelLayout().String()) default: buffersrc = astiav.FindFilterByName("buffer") buffersrcContextParameters.SetHeight(s.decCodecContext.Height()) buffersrcContextParameters.SetPixelFormat(s.decCodecContext.PixelFormat()) buffersrcContextParameters.SetSampleAspectRatio(s.decCodecContext.SampleAspectRatio()) buffersrcContextParameters.SetTimeBase(s.inputStream.TimeBase()) buffersrcContextParameters.SetWidth(s.decCodecContext.Width()) buffersink = astiav.FindFilterByName("buffersink") content = fmt.Sprintf("format=pix_fmts=%s", s.encCodecContext.PixelFormat().Name()) } // Check filters if buffersrc == nil { err = errors.New("main: buffersrc is nil") return } if buffersink == nil { err = errors.New("main: buffersink is nil") return } // Create filter contexts if s.buffersrcContext, err = s.filterGraph.NewBuffersrcFilterContext(buffersrc, "in"); err != nil { err = fmt.Errorf("main: creating buffersrc context failed: %w", err) return } if s.buffersinkContext, err = s.filterGraph.NewBuffersinkFilterContext(buffersink, "out"); err != nil { err = fmt.Errorf("main: creating buffersink context failed: %w", err) return } // Set buffersrc context parameters if err = s.buffersrcContext.SetParameters(buffersrcContextParameters); err != nil { err = fmt.Errorf("main: setting buffersrc context parameters failed: %w", err) return } // Initialize buffersrc context if err = s.buffersrcContext.Initialize(nil); err != nil { err = fmt.Errorf("main: initializing buffersrc context failed: %w", err) return } // Update outputs outputs.SetName("in") outputs.SetFilterContext(s.buffersrcContext.FilterContext()) outputs.SetPadIdx(0) outputs.SetNext(nil) // Update inputs inputs.SetName("out") inputs.SetFilterContext(s.buffersinkContext.FilterContext()) inputs.SetPadIdx(0) inputs.SetNext(nil) // Parse if err = s.filterGraph.Parse(content, inputs, outputs); err != nil { err = fmt.Errorf("main: parsing filter failed: %w", err) return } // Configure if err = s.filterGraph.Configure(); err != nil { err = fmt.Errorf("main: configuring filter failed: %w", err) return } // Allocate frame s.filterFrame = astiav.AllocFrame() c.Add(s.filterFrame.Free) // Allocate packet s.encPkt = astiav.AllocPacket() c.Add(s.encPkt.Free) } return } func filterEncodeWriteFrame(f *astiav.Frame, s *stream) (err error) { // Add frame if err = s.buffersrcContext.AddFrame(f, astiav.NewBuffersrcFlags(astiav.BuffersrcFlagKeepRef)); err != nil { err = fmt.Errorf("main: adding frame failed: %w", err) return } // Loop for { // We use a closure to unreference the frame if stop, err := func() (bool, error) { // Get frame if err := s.buffersinkContext.GetFrame(s.filterFrame, astiav.NewBuffersinkFlags()); err != nil { if errors.Is(err, astiav.ErrEof) || errors.Is(err, astiav.ErrEagain) { return true, nil } return false, fmt.Errorf("main: getting frame failed: %w", err) } // Make sure to unreference the frame defer s.filterFrame.Unref() // Reset picture type s.filterFrame.SetPictureType(astiav.PictureTypeNone) // Encode and write frame if err := encodeWriteFrame(s.filterFrame, s); err != nil { return false, fmt.Errorf("main: encoding and writing frame failed: %w", err) } return false, nil }(); err != nil { return err } else if stop { break } } return } func encodeWriteFrame(f *astiav.Frame, s *stream) (err error) { // Send frame if err = s.encCodecContext.SendFrame(f); err != nil { err = fmt.Errorf("main: sending frame failed: %w", err) return } // Loop for { // We use a closure to ease unreferencing the packet if stop, err := func() (bool, error) { // Receive packet if err := s.encCodecContext.ReceivePacket(s.encPkt); err != nil { if errors.Is(err, astiav.ErrEof) || errors.Is(err, astiav.ErrEagain) { return true, nil } return false, fmt.Errorf("main: receiving packet failed: %w", err) } // Make sure to unreference packet defer s.encPkt.Unref() // Update pkt s.encPkt.SetStreamIndex(s.outputStream.Index()) s.encPkt.RescaleTs(s.encCodecContext.TimeBase(), s.outputStream.TimeBase()) // Write frame if err := outputFormatContext.WriteInterleavedFrame(s.encPkt); err != nil { return false, fmt.Errorf("main: writing frame failed: %w", err) } return false, nil }(); err != nil { return err } else if stop { break } } return } ================================================ FILE: filter.go ================================================ package astiav //#include import "C" import ( "unsafe" ) // https://ffmpeg.org/doxygen/8.0/structAVFilter.html type Filter struct { c *C.AVFilter } func newFilterFromC(c *C.AVFilter) *Filter { if c == nil { return nil } return &Filter{c: c} } // https://ffmpeg.org/doxygen/8.0/group__lavfi.html#gadd774ec49e50edf00158248e1bfe4ae6 func FindFilterByName(n string) *Filter { cn := C.CString(n) defer C.free(unsafe.Pointer(cn)) return newFilterFromC(C.avfilter_get_by_name(cn)) } // https://ffmpeg.org/doxygen/8.0/structAVFilter.html#a632c76418742ad4f4dccbd4db40badd0 func (f *Filter) Flags() FilterFlags { return FilterFlags(f.c.flags) } // https://ffmpeg.org/doxygen/8.0/structAVFilter.html#a28a4776f344f91055f42a4c2a1b15c0c func (f *Filter) Name() string { return C.GoString(f.c.name) } // https://ffmpeg.org/doxygen/8.0/structAVFilter.html#afb208213ea814c722279962fb0228241 func (f *Filter) Description() string { return C.GoString(f.c.description) } func (f *Filter) String() string { return f.Name() } // https://ffmpeg.org/doxygen/8.0/group__lavfi.html#ga54dd15771603f3406c124259595e142b func (f *Filter) NbInputs() int { return int(C.avfilter_filter_pad_count(f.c, 0)) } // https://ffmpeg.org/doxygen/8.0/group__lavfi.html#ga54dd15771603f3406c124259595e142b func (f *Filter) NbOutputs() int { return int(C.avfilter_filter_pad_count(f.c, 1)) } // https://ffmpeg.org/doxygen/8.0/structAVFilter.html#ad311151fe6e8c87a89f895bef7c8b98b func (f *Filter) Inputs() (ps []*FilterPad) { for idx := 0; idx < f.NbInputs(); idx++ { ps = append(ps, newFilterPad(MediaType(C.avfilter_pad_get_type(f.c.inputs, C.int(idx))))) } return } // https://ffmpeg.org/doxygen/8.0/structAVFilter.html#ad0608786fa3e1ca6e4cc4b67039f77d7 func (f *Filter) Outputs() (ps []*FilterPad) { for idx := 0; idx < f.NbOutputs(); idx++ { ps = append(ps, newFilterPad(MediaType(C.avfilter_pad_get_type(f.c.outputs, C.int(idx))))) } return } ================================================ FILE: filter_chain.go ================================================ package astiav //#include import "C" import ( "math" "unsafe" ) // https://ffmpeg.org/doxygen/8.0/structAVFilterChain.html type FilterChain struct { c *C.AVFilterChain } func newFilterChainFromC(c *C.AVFilterChain) *FilterChain { if c == nil { return nil } return &FilterChain{c: c} } // https://ffmpeg.org/doxygen/8.0/structAVFilterChain.html#aedebb337fac024e27b499fb3a0321f3e func (fc *FilterChain) Filters() (fs []*FilterParams) { fcs := (*[(math.MaxInt32 - 1) / unsafe.Sizeof((*C.AVFilterParams)(nil))](*C.AVFilterParams))(unsafe.Pointer(fc.c.filters)) for i := 0; i < fc.NbFilters(); i++ { fs = append(fs, newFilterParamsFromC(fcs[i])) } return } // https://ffmpeg.org/doxygen/8.0/structAVFilterChain.html#abacf5280bd6db0d37a304b0dd0b6c54d func (fc *FilterChain) NbFilters() int { return int(fc.c.nb_filters) } ================================================ FILE: filter_command_flag.go ================================================ package astiav //#include import "C" // https://ffmpeg.org/doxygen/8.0/group__lavfi.html#gace41bae000b621fc8804a93ce9f2d6e9 type FilterCommandFlag int64 const ( FilterCommandFlagOne = FilterCommandFlag(C.AVFILTER_CMD_FLAG_ONE) FilterCommandFlagFast = FilterCommandFlag(C.AVFILTER_CMD_FLAG_FAST) ) ================================================ FILE: filter_context.go ================================================ package astiav //#include import "C" import ( "unsafe" ) // https://ffmpeg.org/doxygen/8.0/structAVFilterContext.html type FilterContext struct { c *C.AVFilterContext } func newFilterContext(c *C.AVFilterContext) *FilterContext { if c == nil { return nil } fc := &FilterContext{c: c} classers.set(fc) return fc } var _ Classer = (*FilterContext)(nil) // https://ffmpeg.org/doxygen/8.0/group__lavfi.html#ga0ea7664a3ce6bb677a830698d358a179 func (fc *FilterContext) Free() { if fc.c != nil { // Make sure to clone the classer before freeing the object since // the C free method may reset the pointer c := newClonedClasser(fc) C.avfilter_free(fc.c) fc.c = nil // Make sure to remove from classers after freeing the object since // the C free method may use methods needing the classer if c != nil { classers.del(c) } } } // https://ffmpeg.org/doxygen/8.0/structAVFilterContext.html#a00ac82b13bb720349c138310f98874ca func (fc *FilterContext) Class() *Class { if fc.c == nil { return nil } return newClassFromC(unsafe.Pointer(fc.c)) } // https://ffmpeg.org/doxygen/8.0/structAVFilterContext.html#addd946fbe5af506a2b19f9ad7cb97c35 func (fc *FilterContext) SetHardwareDeviceContext(hdc *HardwareDeviceContext) { if fc.c.hw_device_ctx != nil { C.av_buffer_unref(&fc.c.hw_device_ctx) } if hdc != nil { fc.c.hw_device_ctx = C.av_buffer_ref(hdc.c) } else { fc.c.hw_device_ctx = nil } } // https://ffmpeg.org/doxygen/8.0/structAVFilterContext.html#a6eee53e57dddfa7cca1cade870c8a44e func (fc *FilterContext) Filter() *Filter { return newFilterFromC(fc.c.filter) } ================================================ FILE: filter_flag.go ================================================ package astiav //#include import "C" // https://ffmpeg.org/doxygen/8.0/group__lavfi.html#gae6ed6c10a03508829bdf17560e3e10e5 type FilterFlag int64 const ( FilterFlagDynamicInputs = FilterFlag(C.AVFILTER_FLAG_DYNAMIC_INPUTS) FilterFlagDynamicOutputs = FilterFlag(C.AVFILTER_FLAG_DYNAMIC_OUTPUTS) FilterFlagSliceThreads = FilterFlag(C.AVFILTER_FLAG_SLICE_THREADS) FilterFlagMetadataOnly = FilterFlag(C.AVFILTER_FLAG_METADATA_ONLY) FilterFlagHardwareDevice = FilterFlag(C.AVFILTER_FLAG_HWDEVICE) FilterFlagSupportTimelineGeneric = FilterFlag(C.AVFILTER_FLAG_SUPPORT_TIMELINE_GENERIC) FilterFlagSupportTimelineInternal = FilterFlag(C.AVFILTER_FLAG_SUPPORT_TIMELINE_INTERNAL) FilterFlagSupportTimeline = FilterFlag(C.AVFILTER_FLAG_SUPPORT_TIMELINE) ) ================================================ FILE: filter_graph.go ================================================ package astiav //#include import "C" import ( "errors" "math" "unsafe" ) // https://ffmpeg.org/doxygen/8.0/structAVFilterGraph.html type FilterGraph struct { c *C.AVFilterGraph // We need to store filter contexts to clean classer once filter graph is freed fcs []*FilterContext } func newFilterGraphFromC(c *C.AVFilterGraph) *FilterGraph { if c == nil { return nil } g := &FilterGraph{c: c} classers.set(g) return g } var _ Classer = (*FilterGraph)(nil) // https://ffmpeg.org/doxygen/8.0/group__lavfi.html#ga6c778454b86f845805ffd814b4ce51d4 func AllocFilterGraph() *FilterGraph { return newFilterGraphFromC(C.avfilter_graph_alloc()) } // https://ffmpeg.org/doxygen/8.0/group__lavfi.html#ga871684449dac05050df238a18d0d493b func (g *FilterGraph) Free() { if g.c != nil { // Make sure to clone the classer before freeing the object since // the C free method may reset the pointer c := newClonedClasser(g) var cfcs []*ClonedClasser for _, fc := range g.fcs { cfcs = append(cfcs, newClonedClasser(fc)) } C.avfilter_graph_free(&g.c) // Make sure to remove from classers after freeing the object since // the C free method may use methods needing the classer for _, cfc := range cfcs { if cfc != nil { classers.del(cfc) } } if c != nil { classers.del(c) } } } // https://ffmpeg.org/doxygen/8.0/group__lavfi.html#gadb442aca4e5a8c3ba740f6049f0a288b func (g *FilterGraph) String() string { return C.GoString(C.avfilter_graph_dump(g.c, nil)) } // https://ffmpeg.org/doxygen/8.0/structAVFilterGraph.html#af00925dd69b474fac48887efc0e1ac94 func (g *FilterGraph) Class() *Class { if g.c == nil { return nil } return newClassFromC(unsafe.Pointer(g.c)) } // https://ffmpeg.org/doxygen/8.0/structAVFilterGraph.html#ac28dcbf76e6fdd800295a2738d41660e func (g *FilterGraph) ThreadCount() int { return int(g.c.nb_threads) } // https://ffmpeg.org/doxygen/8.0/structAVFilterGraph.html#ac28dcbf76e6fdd800295a2738d41660e func (g *FilterGraph) SetThreadCount(threadCount int) { g.c.nb_threads = C.int(threadCount) } // https://ffmpeg.org/doxygen/8.0/structAVFilterGraph.html#a7fd96bbd6d1a3b730681dc0bf5107a5e func (g *FilterGraph) ThreadType() ThreadType { return ThreadType(g.c.thread_type) } // https://ffmpeg.org/doxygen/8.0/structAVFilterGraph.html#a7fd96bbd6d1a3b730681dc0bf5107a5e func (g *FilterGraph) SetThreadType(t ThreadType) { g.c.thread_type = C.int(t) } // https://ffmpeg.org/doxygen/8.0/group__lavfi.html#gac0788a9ab6966dba9318b5d5c7524fea func (g *FilterGraph) NewBuffersinkFilterContext(f *Filter, name string) (*BuffersinkFilterContext, error) { cname := C.CString(name) defer C.free(unsafe.Pointer(cname)) var c *C.AVFilterContext if err := newError(C.avfilter_graph_create_filter(&c, f.c, cname, nil, nil, g.c)); err != nil { return nil, err } fc := newFilterContext(c) g.fcs = append(g.fcs, fc) return newBuffersinkFilterContext(fc), nil } // https://ffmpeg.org/doxygen/8.0/group__lavfi.html#gaa9af17ecf4c5c87307b57cf08411088b func (g *FilterGraph) NewBuffersrcFilterContext(f *Filter, name string) (*BuffersrcFilterContext, error) { cname := C.CString(name) defer C.free(unsafe.Pointer(cname)) c := C.avfilter_graph_alloc_filter(g.c, f.c, cname) if c == nil { return nil, errors.New("astiav: allocating filter context failed") } fc := newFilterContext(c) g.fcs = append(g.fcs, fc) return newBuffersrcFilterContext(fc), nil } // https://ffmpeg.org/doxygen/8.0/group__lavfi.html#ga34f4ff420bd58da6747a3ff1fbedd001 func (g *FilterGraph) Parse(content string, inputs, outputs *FilterInOut) error { cc := C.CString(content) defer C.free(unsafe.Pointer(cc)) var ic **C.AVFilterInOut if inputs != nil { ic = &inputs.c } var oc **C.AVFilterInOut if outputs != nil { oc = &outputs.c } return newError(C.avfilter_graph_parse_ptr(g.c, cc, ic, oc, nil)) } // https://ffmpeg.org/doxygen/8.0/group__lavfi.html#ga2ecfd3667219b6cd1e37b7047cc0ef2b func (g *FilterGraph) ParseSegment(content string) (*FilterGraphSegment, error) { cc := C.CString(content) defer C.free(unsafe.Pointer(cc)) var cs *C.AVFilterGraphSegment if err := newError(C.avfilter_graph_segment_parse(g.c, cc, 0, &cs)); err != nil { return nil, err } return newFilterGraphSegmentFromC(cs), nil } // https://ffmpeg.org/doxygen/8.0/group__lavfi.html#ga1896c46b7bc6ff1bdb1a4815faa9ad07 func (g *FilterGraph) Configure() error { return newError(C.avfilter_graph_config(g.c, nil)) } // https://ffmpeg.org/doxygen/8.0/group__lavfi.html#gaaad7850fb5fe26d35e5d371ca75b79e1 func (g *FilterGraph) SendCommand(target, cmd, args string, f FilterCommandFlags) (response string, err error) { targetc := C.CString(target) defer C.free(unsafe.Pointer(targetc)) cmdc := C.CString(cmd) defer C.free(unsafe.Pointer(cmdc)) argsc := C.CString(args) defer C.free(unsafe.Pointer(argsc)) response, err = stringFromC(255, func(buf *C.char, size C.size_t) error { return newError(C.avfilter_graph_send_command(g.c, targetc, cmdc, argsc, buf, C.int(size), C.int(f))) }) return } // https://ffmpeg.org/doxygen/8.0/structAVFilterGraph.html#a0ba5c820c760788ea5f8e40c476f9704 func (g *FilterGraph) NbFilters() int { return int(g.c.nb_filters) } // https://ffmpeg.org/doxygen/8.0/structAVFilterGraph.html#a1dafd3d239f7c2f5e3ac109578ef926d func (g *FilterGraph) Filters() (fs []*FilterContext) { fcs := (*[(math.MaxInt32 - 1) / unsafe.Sizeof((*C.AVFilterContext)(nil))](*C.AVFilterContext))(unsafe.Pointer(g.c.filters)) for i := 0; i < g.NbFilters(); i++ { fs = append(fs, newFilterContext(fcs[i])) } return } ================================================ FILE: filter_graph_segment.go ================================================ package astiav //#include import "C" import ( "math" "unsafe" ) // https://ffmpeg.org/doxygen/8.0/structAVFilterGraphSegment.html type FilterGraphSegment struct { c *C.AVFilterGraphSegment } func newFilterGraphSegmentFromC(c *C.AVFilterGraphSegment) *FilterGraphSegment { if c == nil { return nil } return &FilterGraphSegment{c: c} } // https://ffmpeg.org/doxygen/8.0/group__lavfi.html#ga51283edd8f3685e1f33239f360e14ae8 func (fgs *FilterGraphSegment) Free() { if fgs.c != nil { C.avfilter_graph_segment_free(&fgs.c) } } // https://ffmpeg.org/doxygen/8.0/structAVFilterGraphSegment.html#ad5a2779af221d1520490fe2719f9e39a func (fgs *FilterGraphSegment) Chains() (cs []*FilterChain) { ccs := (*[(math.MaxInt32 - 1) / unsafe.Sizeof((*C.AVFilterChain)(nil))](*C.AVFilterChain))(unsafe.Pointer(fgs.c.chains)) for i := 0; i < fgs.NbChains(); i++ { cs = append(cs, newFilterChainFromC(ccs[i])) } return } // https://ffmpeg.org/doxygen/8.0/structAVFilterGraphSegment.html#ab7563eca151d89e693f6258de5ce0214 func (fgs *FilterGraphSegment) NbChains() int { return int(fgs.c.nb_chains) } ================================================ FILE: filter_graph_test.go ================================================ package astiav import ( "fmt" "testing" "github.com/stretchr/testify/require" ) func TestFilterGraph(t *testing.T) { fg1 := AllocFilterGraph() require.NotNil(t, fg1) defer fg1.Free() cl := fg1.Class() require.NotNil(t, cl) require.Equal(t, "AVFilterGraph", cl.Name()) fg1.SetThreadCount(2) require.Equal(t, 2, fg1.ThreadCount()) fg1.SetThreadType(ThreadTypeSlice) require.Equal(t, ThreadTypeSlice, fg1.ThreadType()) type command struct { args string cmd string flags FilterCommandFlags resp string target string withError bool } type buffersink struct { channelLayout ChannelLayout colorRange ColorRange colorSpace ColorSpace frameRate Rational height int mediaType MediaType name string pixelFormat PixelFormat sampleAspectRatio Rational sampleFormat SampleFormat sampleRate int timeBase Rational width int } type buffersrc struct { name string } type buffersrcParameters struct { channelLayout ChannelLayout height int mediaType MediaType pixelFormat PixelFormat sampleAspectRatio Rational sampleFormat SampleFormat sampleRate int timeBase Rational width int } type graph struct { buffersink buffersink buffersrc buffersrc commands []command content string s string sources []buffersrcParameters } for _, v := range []graph{ { buffersink: buffersink{ colorRange: ColorRangeUnspecified, colorSpace: ColorSpaceUnspecified, frameRate: NewRational(4, 1), height: 8, mediaType: MediaTypeVideo, name: "buffersink", pixelFormat: PixelFormatYuv420P, sampleAspectRatio: NewRational(2, 1), timeBase: NewRational(1, 4), width: 4, }, buffersrc: buffersrc{name: "buffer"}, commands: []command{ { args: "a", cmd: "invalid", flags: NewFilterCommandFlags(), target: "scale", withError: true, }, { args: "4", cmd: "width", flags: NewFilterCommandFlags().Add(FilterCommandFlagOne), target: "scale", }, }, content: "[input_1]scale=4x8,settb=1/4,fps=fps=4/1,format=pix_fmts=yuv420p,setsar=2/1", s: " +--------------+\nParsed_setsar_4:default--[4x8 2:1 yuv420p]--default| filter_out |\n | (buffersink) |\n +--------------+\n\n+-------------+\n| filter_in_1 |default--[2x4 1:2 rgba]--Parsed_scale_0:default\n| (buffer) |\n+-------------+\n\n +----------------+\nfilter_in_1:default--[2x4 1:2 rgba]--default| Parsed_scale_0 |default--[4x8 1:2 yuv420p]--Parsed_settb_1:default\n | (scale) |\n +----------------+\n\n +----------------+\nParsed_scale_0:default--[4x8 1:2 yuv420p]--default| Parsed_settb_1 |default--[4x8 1:2 yuv420p]--Parsed_fps_2:default\n | (settb) |\n +----------------+\n\n +--------------+\nParsed_settb_1:default--[4x8 1:2 yuv420p]--default| Parsed_fps_2 |default--[4x8 1:2 yuv420p]--Parsed_format_3:default\n | (fps) |\n +--------------+\n\n +-----------------+\nParsed_fps_2:default--[4x8 1:2 yuv420p]--default| Parsed_format_3 |default--[4x8 1:2 yuv420p]--Parsed_setsar_4:default\n | (format) |\n +-----------------+\n\n +-----------------+\nParsed_format_3:default--[4x8 1:2 yuv420p]--default| Parsed_setsar_4 |default--[4x8 2:1 yuv420p]--filter_out:default\n | (setsar) |\n +-----------------+\n\n", sources: []buffersrcParameters{ { height: 4, mediaType: MediaTypeVideo, pixelFormat: PixelFormatRgba, sampleAspectRatio: NewRational(1, 2), timeBase: NewRational(1, 2), width: 2, }, }, }, { buffersink: buffersink{ channelLayout: ChannelLayoutStereo, mediaType: MediaTypeAudio, name: "abuffersink", sampleFormat: SampleFormatS16, sampleRate: 3, timeBase: NewRational(1, 4), }, buffersrc: buffersrc{name: "abuffer"}, content: "[input_1]aformat=sample_fmts=s16:channel_layouts=stereo:sample_rates=3,asettb=1/4", s: " +---------------+\nParsed_asettb_1:default--[3Hz s16:stereo]--default| filter_out |\n | (abuffersink) |\n +---------------+\n\n+-------------+\n| filter_in_1 |default--[2Hz fltp:mono]--auto_aresample_0:default\n| (abuffer) |\n+-------------+\n\n +------------------+\nauto_aresample_0:default--[3Hz s16:stereo]--default| Parsed_aformat_0 |default--[3Hz s16:stereo]--Parsed_asettb_1:default\n | (aformat) |\n +------------------+\n\n +-----------------+\nParsed_aformat_0:default--[3Hz s16:stereo]--default| Parsed_asettb_1 |default--[3Hz s16:stereo]--filter_out:default\n | (asettb) |\n +-----------------+\n\n +------------------+\nfilter_in_1:default--[2Hz fltp:mono]--default| auto_aresample_0 |default--[3Hz s16:stereo]--Parsed_aformat_0:default\n | (aresample) |\n +------------------+\n\n", sources: []buffersrcParameters{ { channelLayout: ChannelLayoutMono, mediaType: MediaTypeAudio, sampleFormat: SampleFormatFltp, sampleRate: 2, timeBase: NewRational(1, 2), }, }, }, } { fg := AllocFilterGraph() require.NotNil(t, fg) defer fg.Free() buffersrc := FindFilterByName(v.buffersrc.name) require.NotNil(t, buffersrc) buffersink := FindFilterByName(v.buffersink.name) require.NotNil(t, buffersink) buffersinkContext, err := fg.NewBuffersinkFilterContext(buffersink, "filter_out") require.NoError(t, err) require.Equal(t, buffersink, buffersinkContext.FilterContext().Filter()) cl = buffersinkContext.FilterContext().Class() require.NotNil(t, cl) require.Equal(t, "AVFilter", cl.Name()) inputs := AllocFilterInOut() defer inputs.Free() inputs.SetName("out") inputs.SetFilterContext(buffersinkContext.FilterContext()) inputs.SetPadIdx(0) inputs.SetNext(nil) var outputs *FilterInOut defer func() { if outputs != nil { outputs.Free() } }() var buffersrcContexts []*BuffersrcFilterContext for idx, src := range v.sources { buffersrcContext, err := fg.NewBuffersrcFilterContext(buffersrc, fmt.Sprintf("filter_in_%d", idx+1)) require.NoError(t, err) buffersrcContextParameters := AllocBuffersrcFilterContextParameters() defer buffersrcContextParameters.Free() switch src.mediaType { case MediaTypeAudio: buffersrcContextParameters.SetChannelLayout(src.channelLayout) buffersrcContextParameters.SetSampleFormat(src.sampleFormat) buffersrcContextParameters.SetSampleRate(src.sampleRate) buffersrcContextParameters.SetTimeBase(src.timeBase) default: buffersrcContextParameters.SetHeight(src.height) buffersrcContextParameters.SetPixelFormat(src.pixelFormat) buffersrcContextParameters.SetSampleAspectRatio(src.sampleAspectRatio) buffersrcContextParameters.SetTimeBase(src.timeBase) buffersrcContextParameters.SetWidth(src.width) } buffersrcContext.SetParameters(buffersrcContextParameters) require.NoError(t, buffersrcContext.Initialize(nil)) buffersrcContexts = append(buffersrcContexts, buffersrcContext) o := AllocFilterInOut() o.SetName(fmt.Sprintf("input_%d", idx+1)) o.SetFilterContext(buffersrcContext.FilterContext()) o.SetPadIdx(0) o.SetNext(outputs) outputs = o } require.Equal(t, len(buffersrcContexts)+1, fg.NbFilters()) fs := fg.Filters() require.Equal(t, len(buffersrcContexts)+1, len(fs)) require.Equal(t, buffersinkContext.FilterContext(), fs[0]) for idx, c := range fs[1:] { require.Equal(t, buffersrcContexts[idx].FilterContext(), c) } require.NoError(t, fg.Parse(v.content, inputs, outputs)) require.NoError(t, fg.Configure()) require.Equal(t, v.buffersink.frameRate, buffersinkContext.FrameRate()) require.Equal(t, v.buffersink.mediaType, buffersinkContext.MediaType()) require.Equal(t, v.buffersink.timeBase, buffersinkContext.TimeBase()) switch v.buffersink.mediaType { case MediaTypeAudio: require.True(t, v.buffersink.channelLayout.Equal(buffersinkContext.ChannelLayout())) require.Equal(t, v.buffersink.sampleFormat, buffersinkContext.SampleFormat()) require.Equal(t, v.buffersink.sampleRate, buffersinkContext.SampleRate()) default: require.Equal(t, v.buffersink.colorRange, buffersinkContext.ColorRange()) require.Equal(t, v.buffersink.colorSpace, buffersinkContext.ColorSpace()) require.Equal(t, v.buffersink.height, buffersinkContext.Height()) require.Equal(t, v.buffersink.pixelFormat, buffersinkContext.PixelFormat()) require.Equal(t, v.buffersink.sampleAspectRatio, buffersinkContext.SampleAspectRatio()) require.Equal(t, v.buffersink.width, buffersinkContext.Width()) } require.Equal(t, v.s, fg.String()) for _, command := range v.commands { resp, err := fg.SendCommand(command.target, command.cmd, command.args, command.flags) if command.withError { require.Error(t, err) } else { require.NoError(t, err) } require.Equal(t, command.resp, resp) } } fg2 := AllocFilterGraph() require.NotNil(t, fg2) defer fg2.Free() fgs, err := fg2.ParseSegment("anullsrc") require.NoError(t, err) defer fgs.Free() require.Equal(t, 1, fgs.NbChains()) cs := fgs.Chains() require.Equal(t, 1, len(cs)) require.Equal(t, 1, cs[0].NbFilters()) fs := cs[0].Filters() require.Equal(t, 1, len(fs)) f := FindFilterByName(fs[0].FilterName()) require.NotNil(t, f) require.Equal(t, 0, f.NbInputs()) require.Equal(t, 1, f.NbOutputs()) os := f.Outputs() require.Equal(t, 1, len(os)) require.Equal(t, MediaTypeAudio, os[0].MediaType()) // TODO Test BuffersrcAddFrame // TODO Test BuffersinkGetFrame } ================================================ FILE: filter_in_out.go ================================================ package astiav //#include import "C" import "unsafe" // https://ffmpeg.org/doxygen/8.0/structAVFilterInOut.html type FilterInOut struct { c *C.AVFilterInOut } func newFilterInOutFromC(c *C.AVFilterInOut) *FilterInOut { if c == nil { return nil } return &FilterInOut{c: c} } // https://ffmpeg.org/doxygen/8.0/group__lavfi.html#ga6e1c2931e15eb4283c59c6ccc8b83919 func AllocFilterInOut() *FilterInOut { return newFilterInOutFromC(C.avfilter_inout_alloc()) } // https://ffmpeg.org/doxygen/8.0/group__lavfi.html#ga294500a9856260eb1552354fd9d9a6c4 func (i *FilterInOut) Free() { if i.c != nil { C.avfilter_inout_free(&i.c) } } // https://ffmpeg.org/doxygen/8.0/structAVFilterInOut.html#a88afecac258f51aab7e9a9db9e7a4d58 func (i *FilterInOut) SetName(n string) { cn := C.CString(n) defer C.free(unsafe.Pointer(cn)) i.c.name = C.av_strdup(cn) } // https://ffmpeg.org/doxygen/8.0/structAVFilterInOut.html#a3227857d0b955b639f4950d13e4e6f40 func (i *FilterInOut) SetFilterContext(c *FilterContext) { i.c.filter_ctx = (*C.AVFilterContext)(c.c) } // https://ffmpeg.org/doxygen/8.0/structAVFilterInOut.html#a386ff90d40aa22f5612dd5eca734ed48 func (i *FilterInOut) SetPadIdx(idx int) { i.c.pad_idx = C.int(idx) } // https://ffmpeg.org/doxygen/8.0/structAVFilterInOut.html#af8c8cf9ffb650974d19e791f5bb7cf33 func (i *FilterInOut) SetNext(n *FilterInOut) { var nc *C.AVFilterInOut if n != nil { nc = n.c } i.c.next = nc } ================================================ FILE: filter_pad.go ================================================ package astiav // Struct attributes are internal but there are C functions to get some of them type FilterPad struct { mediaType MediaType } func newFilterPad(mediaType MediaType) *FilterPad { return &FilterPad{mediaType: mediaType} } func (fp *FilterPad) MediaType() MediaType { return fp.mediaType } ================================================ FILE: filter_params.go ================================================ package astiav //#include import "C" // https://ffmpeg.org/doxygen/8.0/structAVFilterParams.html type FilterParams struct { c *C.AVFilterParams } func newFilterParamsFromC(c *C.AVFilterParams) *FilterParams { if c == nil { return nil } return &FilterParams{c: c} } // https://ffmpeg.org/doxygen/8.0/structAVFilterParams.html#a90edb3817b62f2ca70ea70001b84d001 func (fp *FilterParams) FilterName() string { return C.GoString(fp.c.filter_name) } ================================================ FILE: filter_test.go ================================================ package astiav import ( "testing" "github.com/stretchr/testify/require" ) func TestFilter(t *testing.T) { f := FindFilterByName("format") require.NotNil(t, f) require.Equal(t, "format", f.Name()) require.Equal(t, "format", f.String()) require.Equal(t, "Convert the input video to one of the specified pixel formats.", f.Description()) require.True(t, f.Flags().Has(FilterFlagMetadataOnly)) } ================================================ FILE: flags.go ================================================ // Code generated by astiav. DO NOT EDIT. package astiav import ( "github.com/asticode/go-astikit" ) type BuffersinkFlags astikit.BitFlags func NewBuffersinkFlags(fs ...BuffersinkFlag) BuffersinkFlags { o := BuffersinkFlags(0) for _, f := range fs { o = o.Add(f) } return o } func (fs BuffersinkFlags) Add(f BuffersinkFlag) BuffersinkFlags { return BuffersinkFlags(astikit.BitFlags(fs).Add(uint64(f))) } func (fs BuffersinkFlags) Del(f BuffersinkFlag) BuffersinkFlags { return BuffersinkFlags(astikit.BitFlags(fs).Del(uint64(f))) } func (fs BuffersinkFlags) Has(f BuffersinkFlag) bool { return astikit.BitFlags(fs).Has(uint64(f)) } type BuffersrcFlags astikit.BitFlags func NewBuffersrcFlags(fs ...BuffersrcFlag) BuffersrcFlags { o := BuffersrcFlags(0) for _, f := range fs { o = o.Add(f) } return o } func (fs BuffersrcFlags) Add(f BuffersrcFlag) BuffersrcFlags { return BuffersrcFlags(astikit.BitFlags(fs).Add(uint64(f))) } func (fs BuffersrcFlags) Del(f BuffersrcFlag) BuffersrcFlags { return BuffersrcFlags(astikit.BitFlags(fs).Del(uint64(f))) } func (fs BuffersrcFlags) Has(f BuffersrcFlag) bool { return astikit.BitFlags(fs).Has(uint64(f)) } type CodecContextFlags astikit.BitFlags func NewCodecContextFlags(fs ...CodecContextFlag) CodecContextFlags { o := CodecContextFlags(0) for _, f := range fs { o = o.Add(f) } return o } func (fs CodecContextFlags) Add(f CodecContextFlag) CodecContextFlags { return CodecContextFlags(astikit.BitFlags(fs).Add(uint64(f))) } func (fs CodecContextFlags) Del(f CodecContextFlag) CodecContextFlags { return CodecContextFlags(astikit.BitFlags(fs).Del(uint64(f))) } func (fs CodecContextFlags) Has(f CodecContextFlag) bool { return astikit.BitFlags(fs).Has(uint64(f)) } type CodecContextFlags2 astikit.BitFlags func NewCodecContextFlags2(fs ...CodecContextFlag2) CodecContextFlags2 { o := CodecContextFlags2(0) for _, f := range fs { o = o.Add(f) } return o } func (fs CodecContextFlags2) Add(f CodecContextFlag2) CodecContextFlags2 { return CodecContextFlags2(astikit.BitFlags(fs).Add(uint64(f))) } func (fs CodecContextFlags2) Del(f CodecContextFlag2) CodecContextFlags2 { return CodecContextFlags2(astikit.BitFlags(fs).Del(uint64(f))) } func (fs CodecContextFlags2) Has(f CodecContextFlag2) bool { return astikit.BitFlags(fs).Has(uint64(f)) } type CodecHardwareConfigMethodFlags astikit.BitFlags func NewCodecHardwareConfigMethodFlags(fs ...CodecHardwareConfigMethodFlag) CodecHardwareConfigMethodFlags { o := CodecHardwareConfigMethodFlags(0) for _, f := range fs { o = o.Add(f) } return o } func (fs CodecHardwareConfigMethodFlags) Add(f CodecHardwareConfigMethodFlag) CodecHardwareConfigMethodFlags { return CodecHardwareConfigMethodFlags(astikit.BitFlags(fs).Add(uint64(f))) } func (fs CodecHardwareConfigMethodFlags) Del(f CodecHardwareConfigMethodFlag) CodecHardwareConfigMethodFlags { return CodecHardwareConfigMethodFlags(astikit.BitFlags(fs).Del(uint64(f))) } func (fs CodecHardwareConfigMethodFlags) Has(f CodecHardwareConfigMethodFlag) bool { return astikit.BitFlags(fs).Has(uint64(f)) } type DictionaryFlags astikit.BitFlags func NewDictionaryFlags(fs ...DictionaryFlag) DictionaryFlags { o := DictionaryFlags(0) for _, f := range fs { o = o.Add(f) } return o } func (fs DictionaryFlags) Add(f DictionaryFlag) DictionaryFlags { return DictionaryFlags(astikit.BitFlags(fs).Add(uint64(f))) } func (fs DictionaryFlags) Del(f DictionaryFlag) DictionaryFlags { return DictionaryFlags(astikit.BitFlags(fs).Del(uint64(f))) } func (fs DictionaryFlags) Has(f DictionaryFlag) bool { return astikit.BitFlags(fs).Has(uint64(f)) } type DispositionFlags astikit.BitFlags func NewDispositionFlags(fs ...DispositionFlag) DispositionFlags { o := DispositionFlags(0) for _, f := range fs { o = o.Add(f) } return o } func (fs DispositionFlags) Add(f DispositionFlag) DispositionFlags { return DispositionFlags(astikit.BitFlags(fs).Add(uint64(f))) } func (fs DispositionFlags) Del(f DispositionFlag) DispositionFlags { return DispositionFlags(astikit.BitFlags(fs).Del(uint64(f))) } func (fs DispositionFlags) Has(f DispositionFlag) bool { return astikit.BitFlags(fs).Has(uint64(f)) } type ErrorRecognitionFlags astikit.BitFlags func NewErrorRecognitionFlags(fs ...ErrorRecognitionFlag) ErrorRecognitionFlags { o := ErrorRecognitionFlags(0) for _, f := range fs { o = o.Add(f) } return o } func (fs ErrorRecognitionFlags) Add(f ErrorRecognitionFlag) ErrorRecognitionFlags { return ErrorRecognitionFlags(astikit.BitFlags(fs).Add(uint64(f))) } func (fs ErrorRecognitionFlags) Del(f ErrorRecognitionFlag) ErrorRecognitionFlags { return ErrorRecognitionFlags(astikit.BitFlags(fs).Del(uint64(f))) } func (fs ErrorRecognitionFlags) Has(f ErrorRecognitionFlag) bool { return astikit.BitFlags(fs).Has(uint64(f)) } type FilterFlags astikit.BitFlags func NewFilterFlags(fs ...FilterFlag) FilterFlags { o := FilterFlags(0) for _, f := range fs { o = o.Add(f) } return o } func (fs FilterFlags) Add(f FilterFlag) FilterFlags { return FilterFlags(astikit.BitFlags(fs).Add(uint64(f))) } func (fs FilterFlags) Del(f FilterFlag) FilterFlags { return FilterFlags(astikit.BitFlags(fs).Del(uint64(f))) } func (fs FilterFlags) Has(f FilterFlag) bool { return astikit.BitFlags(fs).Has(uint64(f)) } type FilterCommandFlags astikit.BitFlags func NewFilterCommandFlags(fs ...FilterCommandFlag) FilterCommandFlags { o := FilterCommandFlags(0) for _, f := range fs { o = o.Add(f) } return o } func (fs FilterCommandFlags) Add(f FilterCommandFlag) FilterCommandFlags { return FilterCommandFlags(astikit.BitFlags(fs).Add(uint64(f))) } func (fs FilterCommandFlags) Del(f FilterCommandFlag) FilterCommandFlags { return FilterCommandFlags(astikit.BitFlags(fs).Del(uint64(f))) } func (fs FilterCommandFlags) Has(f FilterCommandFlag) bool { return astikit.BitFlags(fs).Has(uint64(f)) } type FormatContextFlags astikit.BitFlags func NewFormatContextFlags(fs ...FormatContextFlag) FormatContextFlags { o := FormatContextFlags(0) for _, f := range fs { o = o.Add(f) } return o } func (fs FormatContextFlags) Add(f FormatContextFlag) FormatContextFlags { return FormatContextFlags(astikit.BitFlags(fs).Add(uint64(f))) } func (fs FormatContextFlags) Del(f FormatContextFlag) FormatContextFlags { return FormatContextFlags(astikit.BitFlags(fs).Del(uint64(f))) } func (fs FormatContextFlags) Has(f FormatContextFlag) bool { return astikit.BitFlags(fs).Has(uint64(f)) } type FormatContextCtxFlags astikit.BitFlags func NewFormatContextCtxFlags(fs ...FormatContextCtxFlag) FormatContextCtxFlags { o := FormatContextCtxFlags(0) for _, f := range fs { o = o.Add(f) } return o } func (fs FormatContextCtxFlags) Add(f FormatContextCtxFlag) FormatContextCtxFlags { return FormatContextCtxFlags(astikit.BitFlags(fs).Add(uint64(f))) } func (fs FormatContextCtxFlags) Del(f FormatContextCtxFlag) FormatContextCtxFlags { return FormatContextCtxFlags(astikit.BitFlags(fs).Del(uint64(f))) } func (fs FormatContextCtxFlags) Has(f FormatContextCtxFlag) bool { return astikit.BitFlags(fs).Has(uint64(f)) } type FormatEventFlags astikit.BitFlags func NewFormatEventFlags(fs ...FormatEventFlag) FormatEventFlags { o := FormatEventFlags(0) for _, f := range fs { o = o.Add(f) } return o } func (fs FormatEventFlags) Add(f FormatEventFlag) FormatEventFlags { return FormatEventFlags(astikit.BitFlags(fs).Add(uint64(f))) } func (fs FormatEventFlags) Del(f FormatEventFlag) FormatEventFlags { return FormatEventFlags(astikit.BitFlags(fs).Del(uint64(f))) } func (fs FormatEventFlags) Has(f FormatEventFlag) bool { return astikit.BitFlags(fs).Has(uint64(f)) } type FrameFlags astikit.BitFlags func NewFrameFlags(fs ...FrameFlag) FrameFlags { o := FrameFlags(0) for _, f := range fs { o = o.Add(f) } return o } func (fs FrameFlags) Add(f FrameFlag) FrameFlags { return FrameFlags(astikit.BitFlags(fs).Add(uint64(f))) } func (fs FrameFlags) Del(f FrameFlag) FrameFlags { return FrameFlags(astikit.BitFlags(fs).Del(uint64(f))) } func (fs FrameFlags) Has(f FrameFlag) bool { return astikit.BitFlags(fs).Has(uint64(f)) } type IOContextFlags astikit.BitFlags func NewIOContextFlags(fs ...IOContextFlag) IOContextFlags { o := IOContextFlags(0) for _, f := range fs { o = o.Add(f) } return o } func (fs IOContextFlags) Add(f IOContextFlag) IOContextFlags { return IOContextFlags(astikit.BitFlags(fs).Add(uint64(f))) } func (fs IOContextFlags) Del(f IOContextFlag) IOContextFlags { return IOContextFlags(astikit.BitFlags(fs).Del(uint64(f))) } func (fs IOContextFlags) Has(f IOContextFlag) bool { return astikit.BitFlags(fs).Has(uint64(f)) } type IOFormatFlags astikit.BitFlags func NewIOFormatFlags(fs ...IOFormatFlag) IOFormatFlags { o := IOFormatFlags(0) for _, f := range fs { o = o.Add(f) } return o } func (fs IOFormatFlags) Add(f IOFormatFlag) IOFormatFlags { return IOFormatFlags(astikit.BitFlags(fs).Add(uint64(f))) } func (fs IOFormatFlags) Del(f IOFormatFlag) IOFormatFlags { return IOFormatFlags(astikit.BitFlags(fs).Del(uint64(f))) } func (fs IOFormatFlags) Has(f IOFormatFlag) bool { return astikit.BitFlags(fs).Has(uint64(f)) } type OptionSearchFlags astikit.BitFlags func NewOptionSearchFlags(fs ...OptionSearchFlag) OptionSearchFlags { o := OptionSearchFlags(0) for _, f := range fs { o = o.Add(f) } return o } func (fs OptionSearchFlags) Add(f OptionSearchFlag) OptionSearchFlags { return OptionSearchFlags(astikit.BitFlags(fs).Add(uint64(f))) } func (fs OptionSearchFlags) Del(f OptionSearchFlag) OptionSearchFlags { return OptionSearchFlags(astikit.BitFlags(fs).Del(uint64(f))) } func (fs OptionSearchFlags) Has(f OptionSearchFlag) bool { return astikit.BitFlags(fs).Has(uint64(f)) } type PacketFlags astikit.BitFlags func NewPacketFlags(fs ...PacketFlag) PacketFlags { o := PacketFlags(0) for _, f := range fs { o = o.Add(f) } return o } func (fs PacketFlags) Add(f PacketFlag) PacketFlags { return PacketFlags(astikit.BitFlags(fs).Add(uint64(f))) } func (fs PacketFlags) Del(f PacketFlag) PacketFlags { return PacketFlags(astikit.BitFlags(fs).Del(uint64(f))) } func (fs PacketFlags) Has(f PacketFlag) bool { return astikit.BitFlags(fs).Has(uint64(f)) } type PixelFormatDescriptorFlags astikit.BitFlags func NewPixelFormatDescriptorFlags(fs ...PixelFormatDescriptorFlag) PixelFormatDescriptorFlags { o := PixelFormatDescriptorFlags(0) for _, f := range fs { o = o.Add(f) } return o } func (fs PixelFormatDescriptorFlags) Add(f PixelFormatDescriptorFlag) PixelFormatDescriptorFlags { return PixelFormatDescriptorFlags(astikit.BitFlags(fs).Add(uint64(f))) } func (fs PixelFormatDescriptorFlags) Del(f PixelFormatDescriptorFlag) PixelFormatDescriptorFlags { return PixelFormatDescriptorFlags(astikit.BitFlags(fs).Del(uint64(f))) } func (fs PixelFormatDescriptorFlags) Has(f PixelFormatDescriptorFlag) bool { return astikit.BitFlags(fs).Has(uint64(f)) } type SeekFlags astikit.BitFlags func NewSeekFlags(fs ...SeekFlag) SeekFlags { o := SeekFlags(0) for _, f := range fs { o = o.Add(f) } return o } func (fs SeekFlags) Add(f SeekFlag) SeekFlags { return SeekFlags(astikit.BitFlags(fs).Add(uint64(f))) } func (fs SeekFlags) Del(f SeekFlag) SeekFlags { return SeekFlags(astikit.BitFlags(fs).Del(uint64(f))) } func (fs SeekFlags) Has(f SeekFlag) bool { return astikit.BitFlags(fs).Has(uint64(f)) } type SoftwareScaleContextFlags astikit.BitFlags func NewSoftwareScaleContextFlags(fs ...SoftwareScaleContextFlag) SoftwareScaleContextFlags { o := SoftwareScaleContextFlags(0) for _, f := range fs { o = o.Add(f) } return o } func (fs SoftwareScaleContextFlags) Add(f SoftwareScaleContextFlag) SoftwareScaleContextFlags { return SoftwareScaleContextFlags(astikit.BitFlags(fs).Add(uint64(f))) } func (fs SoftwareScaleContextFlags) Del(f SoftwareScaleContextFlag) SoftwareScaleContextFlags { return SoftwareScaleContextFlags(astikit.BitFlags(fs).Del(uint64(f))) } func (fs SoftwareScaleContextFlags) Has(f SoftwareScaleContextFlag) bool { return astikit.BitFlags(fs).Has(uint64(f)) } type StreamEventFlags astikit.BitFlags func NewStreamEventFlags(fs ...StreamEventFlag) StreamEventFlags { o := StreamEventFlags(0) for _, f := range fs { o = o.Add(f) } return o } func (fs StreamEventFlags) Add(f StreamEventFlag) StreamEventFlags { return StreamEventFlags(astikit.BitFlags(fs).Add(uint64(f))) } func (fs StreamEventFlags) Del(f StreamEventFlag) StreamEventFlags { return StreamEventFlags(astikit.BitFlags(fs).Del(uint64(f))) } func (fs StreamEventFlags) Has(f StreamEventFlag) bool { return astikit.BitFlags(fs).Has(uint64(f)) } ================================================ FILE: flags_test.go ================================================ // Code generated by astiav. DO NOT EDIT. package astiav import ( "testing" "github.com/stretchr/testify/require" ) func TestBuffersinkFlags(t *testing.T) { fs := NewBuffersinkFlags(BuffersinkFlag(1)) require.True(t, fs.Has(BuffersinkFlag(1))) fs = fs.Add(BuffersinkFlag(2)) require.True(t, fs.Has(BuffersinkFlag(2))) fs = fs.Del(BuffersinkFlag(2)) require.False(t, fs.Has(BuffersinkFlag(2))) } func TestBuffersrcFlags(t *testing.T) { fs := NewBuffersrcFlags(BuffersrcFlag(1)) require.True(t, fs.Has(BuffersrcFlag(1))) fs = fs.Add(BuffersrcFlag(2)) require.True(t, fs.Has(BuffersrcFlag(2))) fs = fs.Del(BuffersrcFlag(2)) require.False(t, fs.Has(BuffersrcFlag(2))) } func TestCodecContextFlags(t *testing.T) { fs := NewCodecContextFlags(CodecContextFlag(1)) require.True(t, fs.Has(CodecContextFlag(1))) fs = fs.Add(CodecContextFlag(2)) require.True(t, fs.Has(CodecContextFlag(2))) fs = fs.Del(CodecContextFlag(2)) require.False(t, fs.Has(CodecContextFlag(2))) } func TestCodecContextFlags2(t *testing.T) { fs := NewCodecContextFlags2(CodecContextFlag2(1)) require.True(t, fs.Has(CodecContextFlag2(1))) fs = fs.Add(CodecContextFlag2(2)) require.True(t, fs.Has(CodecContextFlag2(2))) fs = fs.Del(CodecContextFlag2(2)) require.False(t, fs.Has(CodecContextFlag2(2))) } func TestCodecHardwareConfigMethodFlags(t *testing.T) { fs := NewCodecHardwareConfigMethodFlags(CodecHardwareConfigMethodFlag(1)) require.True(t, fs.Has(CodecHardwareConfigMethodFlag(1))) fs = fs.Add(CodecHardwareConfigMethodFlag(2)) require.True(t, fs.Has(CodecHardwareConfigMethodFlag(2))) fs = fs.Del(CodecHardwareConfigMethodFlag(2)) require.False(t, fs.Has(CodecHardwareConfigMethodFlag(2))) } func TestDictionaryFlags(t *testing.T) { fs := NewDictionaryFlags(DictionaryFlag(1)) require.True(t, fs.Has(DictionaryFlag(1))) fs = fs.Add(DictionaryFlag(2)) require.True(t, fs.Has(DictionaryFlag(2))) fs = fs.Del(DictionaryFlag(2)) require.False(t, fs.Has(DictionaryFlag(2))) } func TestDispositionFlags(t *testing.T) { fs := NewDispositionFlags(DispositionFlag(1)) require.True(t, fs.Has(DispositionFlag(1))) fs = fs.Add(DispositionFlag(2)) require.True(t, fs.Has(DispositionFlag(2))) fs = fs.Del(DispositionFlag(2)) require.False(t, fs.Has(DispositionFlag(2))) } func TestErrorRecognitionFlags(t *testing.T) { fs := NewErrorRecognitionFlags(ErrorRecognitionFlag(1)) require.True(t, fs.Has(ErrorRecognitionFlag(1))) fs = fs.Add(ErrorRecognitionFlag(2)) require.True(t, fs.Has(ErrorRecognitionFlag(2))) fs = fs.Del(ErrorRecognitionFlag(2)) require.False(t, fs.Has(ErrorRecognitionFlag(2))) } func TestFilterFlags(t *testing.T) { fs := NewFilterFlags(FilterFlag(1)) require.True(t, fs.Has(FilterFlag(1))) fs = fs.Add(FilterFlag(2)) require.True(t, fs.Has(FilterFlag(2))) fs = fs.Del(FilterFlag(2)) require.False(t, fs.Has(FilterFlag(2))) } func TestFilterCommandFlags(t *testing.T) { fs := NewFilterCommandFlags(FilterCommandFlag(1)) require.True(t, fs.Has(FilterCommandFlag(1))) fs = fs.Add(FilterCommandFlag(2)) require.True(t, fs.Has(FilterCommandFlag(2))) fs = fs.Del(FilterCommandFlag(2)) require.False(t, fs.Has(FilterCommandFlag(2))) } func TestFormatContextFlags(t *testing.T) { fs := NewFormatContextFlags(FormatContextFlag(1)) require.True(t, fs.Has(FormatContextFlag(1))) fs = fs.Add(FormatContextFlag(2)) require.True(t, fs.Has(FormatContextFlag(2))) fs = fs.Del(FormatContextFlag(2)) require.False(t, fs.Has(FormatContextFlag(2))) } func TestFormatContextCtxFlags(t *testing.T) { fs := NewFormatContextCtxFlags(FormatContextCtxFlag(1)) require.True(t, fs.Has(FormatContextCtxFlag(1))) fs = fs.Add(FormatContextCtxFlag(2)) require.True(t, fs.Has(FormatContextCtxFlag(2))) fs = fs.Del(FormatContextCtxFlag(2)) require.False(t, fs.Has(FormatContextCtxFlag(2))) } func TestFormatEventFlags(t *testing.T) { fs := NewFormatEventFlags(FormatEventFlag(1)) require.True(t, fs.Has(FormatEventFlag(1))) fs = fs.Add(FormatEventFlag(2)) require.True(t, fs.Has(FormatEventFlag(2))) fs = fs.Del(FormatEventFlag(2)) require.False(t, fs.Has(FormatEventFlag(2))) } func TestFrameFlags(t *testing.T) { fs := NewFrameFlags(FrameFlag(1)) require.True(t, fs.Has(FrameFlag(1))) fs = fs.Add(FrameFlag(2)) require.True(t, fs.Has(FrameFlag(2))) fs = fs.Del(FrameFlag(2)) require.False(t, fs.Has(FrameFlag(2))) } func TestIOContextFlags(t *testing.T) { fs := NewIOContextFlags(IOContextFlag(1)) require.True(t, fs.Has(IOContextFlag(1))) fs = fs.Add(IOContextFlag(2)) require.True(t, fs.Has(IOContextFlag(2))) fs = fs.Del(IOContextFlag(2)) require.False(t, fs.Has(IOContextFlag(2))) } func TestIOFormatFlags(t *testing.T) { fs := NewIOFormatFlags(IOFormatFlag(1)) require.True(t, fs.Has(IOFormatFlag(1))) fs = fs.Add(IOFormatFlag(2)) require.True(t, fs.Has(IOFormatFlag(2))) fs = fs.Del(IOFormatFlag(2)) require.False(t, fs.Has(IOFormatFlag(2))) } func TestOptionSearchFlags(t *testing.T) { fs := NewOptionSearchFlags(OptionSearchFlag(1)) require.True(t, fs.Has(OptionSearchFlag(1))) fs = fs.Add(OptionSearchFlag(2)) require.True(t, fs.Has(OptionSearchFlag(2))) fs = fs.Del(OptionSearchFlag(2)) require.False(t, fs.Has(OptionSearchFlag(2))) } func TestPacketFlags(t *testing.T) { fs := NewPacketFlags(PacketFlag(1)) require.True(t, fs.Has(PacketFlag(1))) fs = fs.Add(PacketFlag(2)) require.True(t, fs.Has(PacketFlag(2))) fs = fs.Del(PacketFlag(2)) require.False(t, fs.Has(PacketFlag(2))) } func TestPixelFormatDescriptorFlags(t *testing.T) { fs := NewPixelFormatDescriptorFlags(PixelFormatDescriptorFlag(1)) require.True(t, fs.Has(PixelFormatDescriptorFlag(1))) fs = fs.Add(PixelFormatDescriptorFlag(2)) require.True(t, fs.Has(PixelFormatDescriptorFlag(2))) fs = fs.Del(PixelFormatDescriptorFlag(2)) require.False(t, fs.Has(PixelFormatDescriptorFlag(2))) } func TestSeekFlags(t *testing.T) { fs := NewSeekFlags(SeekFlag(1)) require.True(t, fs.Has(SeekFlag(1))) fs = fs.Add(SeekFlag(2)) require.True(t, fs.Has(SeekFlag(2))) fs = fs.Del(SeekFlag(2)) require.False(t, fs.Has(SeekFlag(2))) } func TestSoftwareScaleContextFlags(t *testing.T) { fs := NewSoftwareScaleContextFlags(SoftwareScaleContextFlag(1)) require.True(t, fs.Has(SoftwareScaleContextFlag(1))) fs = fs.Add(SoftwareScaleContextFlag(2)) require.True(t, fs.Has(SoftwareScaleContextFlag(2))) fs = fs.Del(SoftwareScaleContextFlag(2)) require.False(t, fs.Has(SoftwareScaleContextFlag(2))) } func TestStreamEventFlags(t *testing.T) { fs := NewStreamEventFlags(StreamEventFlag(1)) require.True(t, fs.Has(StreamEventFlag(1))) fs = fs.Add(StreamEventFlag(2)) require.True(t, fs.Has(StreamEventFlag(2))) fs = fs.Del(StreamEventFlag(2)) require.False(t, fs.Has(StreamEventFlag(2))) } ================================================ FILE: format_context.go ================================================ package astiav //#include //#include import "C" import ( "fmt" "math" "unsafe" ) // https://ffmpeg.org/doxygen/8.0/structAVFormatContext.html type FormatContext struct { c *C.AVFormatContext } func newFormatContextFromC(c *C.AVFormatContext) *FormatContext { if c == nil { return nil } fc := &FormatContext{c: c} classers.set(fc) return fc } var _ Classer = (*FormatContext)(nil) // https://ffmpeg.org/doxygen/8.0/group__lavf__core.html#gac7a91abf2f59648d995894711f070f62 func AllocFormatContext() *FormatContext { return newFormatContextFromC(C.avformat_alloc_context()) } // https://ffmpeg.org/doxygen/8.0/avformat_8h.html#af5930942120e38a4766dc0bb9e4cae74 func AllocOutputFormatContext(of *OutputFormat, formatName, filename string) (*FormatContext, error) { fonc := (*C.char)(nil) if len(formatName) > 0 { fonc = C.CString(formatName) defer C.free(unsafe.Pointer(fonc)) } finc := (*C.char)(nil) if len(filename) > 0 { finc = C.CString(filename) defer C.free(unsafe.Pointer(finc)) } var ofc *C.AVOutputFormat if of != nil { ofc = of.c } var fcc *C.AVFormatContext if err := newError(C.avformat_alloc_output_context2(&fcc, ofc, fonc, finc)); err != nil { return nil, err } return newFormatContextFromC(fcc), nil } // https://ffmpeg.org/doxygen/8.0/group__lavf__core.html#gac2990b13b68e831a408fce8e1d0d6445 func (fc *FormatContext) Free() { if fc.c != nil { // Make sure to clone the classer before freeing the object since // the C free method may reset the pointer c := newClonedClasser(fc) C.avformat_free_context(fc.c) fc.c = nil // Make sure to remove from classers after freeing the object since // the C free method may use methods needing the classer if c != nil { classers.del(c) } } } // https://ffmpeg.org/doxygen/8.0/structAVFormatContext.html#a972a02b9e3b542a426e323a8f8e3ea41 func (fc *FormatContext) BitRate() int64 { return int64(fc.c.bit_rate) } // https://ffmpeg.org/doxygen/8.0/structAVFormatContext.html#a0c396740b9a2487aa57d4352d2dc1687 func (fc *FormatContext) Class() *Class { if fc.c == nil { return nil } return newClassFromC(unsafe.Pointer(fc.c)) } // https://ffmpeg.org/doxygen/8.0/structAVFormatContext.html#a4e6076343df1ffc2e16cedbba3f3f397 func (fc *FormatContext) CtxFlags() FormatContextCtxFlags { return FormatContextCtxFlags(fc.c.ctx_flags) } // https://ffmpeg.org/doxygen/8.0/structAVFormatContext.html#ad0ea78ac48f5bb0a15a15c1c472744d9 func (fc *FormatContext) Duration() int64 { return int64(fc.c.duration) } // https://ffmpeg.org/doxygen/8.0/structAVFormatContext.html#a0302506d4b3434da77b8b3db43821aa0 func (fc *FormatContext) EventFlags() FormatEventFlags { return FormatEventFlags(fc.c.event_flags) } // https://ffmpeg.org/doxygen/8.0/structAVFormatContext.html#a32379cc371463b235d54235d4af06a15 func (fc *FormatContext) Flags() FormatContextFlags { return FormatContextFlags(fc.c.flags) } // https://ffmpeg.org/doxygen/8.0/structAVFormatContext.html#a32379cc371463b235d54235d4af06a15 func (fc *FormatContext) SetFlags(f FormatContextFlags) { fc.c.flags = C.int(f) } // https://ffmpeg.org/doxygen/8.0/structAVFormatContext.html#a5b37acfe4024d92ee510064e80920b40 func (fc *FormatContext) SetIOInterrupter(i *IOInterrupter) { if i == nil { fc.c.interrupt_callback = C.AVIOInterruptCB{} } else { fc.c.interrupt_callback = *i.c } } // https://ffmpeg.org/doxygen/8.0/structAVFormatContext.html#a6c01f25ef062e0398b0b55dd337246ed func (fc *FormatContext) InputFormat() *InputFormat { return newInputFormatFromC(fc.c.iformat) } // https://ffmpeg.org/doxygen/8.0/structAVFormatContext.html#a5e6814c9de3c272396f07e2ff18c7b27 func (fc *FormatContext) IOFlags() IOContextFlags { return IOContextFlags(fc.c.avio_flags) } // https://ffmpeg.org/doxygen/8.0/structAVFormatContext.html#a4d860662c014f88277c8f20e238fa694 func (fc *FormatContext) MaxAnalyzeDuration() int64 { return int64(fc.c.max_analyze_duration) } // https://ffmpeg.org/doxygen/8.0/structAVFormatContext.html#a3019a56080ed2e3297ff25bc2ff88adf func (fc *FormatContext) Metadata() *Dictionary { return newDictionaryFromC(fc.c.metadata) } // https://ffmpeg.org/doxygen/8.0/structAVFormatContext.html#a3019a56080ed2e3297ff25bc2ff88adf func (fc *FormatContext) SetMetadata(d *Dictionary) { if d == nil { fc.c.metadata = nil } else { fc.c.metadata = d.c } } // https://ffmpeg.org/doxygen/8.0/structAVFormatContext.html#a58c8c4d0ea974e0fcb0ce06fb1174f9f func (fc *FormatContext) NbPrograms() int { return int(fc.c.nb_programs) } // https://ffmpeg.org/doxygen/8.0/structAVFormatContext.html#a4c2c5a4c758966349ff513e95154d062 func (fc *FormatContext) Programs() (ps []*Program) { pcs := (*[(math.MaxInt32 - 1) / unsafe.Sizeof((*C.AVProgram)(nil))](*C.AVProgram))(unsafe.Pointer(fc.c.programs)) for i := 0; i < fc.NbPrograms(); i++ { ps = append(ps, newProgramFromC(pcs[i], fc)) } return } // https://ffmpeg.org/doxygen/8.0/structAVFormatContext.html#a0b748d924898b08b89ff4974afd17285 func (fc *FormatContext) NbStreams() int { return int(fc.c.nb_streams) } func (fc *FormatContext) Streams() (ss []*Stream) { scs := (*[(math.MaxInt32 - 1) / unsafe.Sizeof((*C.AVStream)(nil))](*C.AVStream))(unsafe.Pointer(fc.c.streams)) for i := 0; i < fc.NbStreams(); i++ { ss = append(ss, newStreamFromC(scs[i])) } return } // https://ffmpeg.org/doxygen/8.0/structAVFormatContext.html#a37ba86cd5630097cdae01afbc2b40743 func (fc *FormatContext) OutputFormat() *OutputFormat { return newOutputFormatFromC(fc.c.oformat) } // https://ffmpeg.org/doxygen/8.0/structAVFormatContext.html#a1e7324262b6b78522e52064daaa7bc87 func (fc *FormatContext) Pb() *IOContext { // If the io context has been created using the format context's OpenInput() method, we need to // make sure to return the same go struct as the one stored in classers if c, ok := classers.get(unsafe.Pointer(fc.c.pb)); ok { if v, ok := c.(*IOContext); ok { return v } } return newIOContextFromC(fc.c.pb) } // https://ffmpeg.org/doxygen/8.0/structAVFormatContext.html#a1e7324262b6b78522e52064daaa7bc87 func (fc *FormatContext) SetPb(i *IOContext) { fc.c.pb = i.c } // https://ffmpeg.org/doxygen/8.0/structAVFormatContext.html#ac4c0777e54085af2f3f1b27130e2b21b func (fc *FormatContext) PrivateData() *PrivateData { return newPrivateDataFromC(fc.c.priv_data) } // https://ffmpeg.org/doxygen/8.0/structAVFormatContext.html#a2590129e00adfa726ab2033a10e905e9 func (fc *FormatContext) StartTime() int64 { return int64(fc.c.start_time) } // https://ffmpeg.org/doxygen/8.0/structAVFormatContext.html#a5017684cf0a84c990f60c8d50adec144 func (fc *FormatContext) StrictStdCompliance() StrictStdCompliance { return StrictStdCompliance(fc.c.strict_std_compliance) } // https://ffmpeg.org/doxygen/8.0/structAVFormatContext.html#a5017684cf0a84c990f60c8d50adec144 func (fc *FormatContext) SetStrictStdCompliance(strictStdCompliance StrictStdCompliance) { fc.c.strict_std_compliance = C.int(strictStdCompliance) } // https://ffmpeg.org/doxygen/8.0/group__lavf__decoding.html#gac05d61a2b492ae3985c658f34622c19d func (fc *FormatContext) OpenInput(url string, fmt *InputFormat, d *Dictionary) error { var urlc *C.char if url != "" { urlc = C.CString(url) defer C.free(unsafe.Pointer(urlc)) } var dc **C.AVDictionary if d != nil { dc = &d.c } var fmtc *C.AVInputFormat if fmt != nil { fmtc = fmt.c } if err := newError(C.avformat_open_input(&fc.c, urlc, fmtc, dc)); err != nil { return err } if pb := fc.Pb(); pb != nil { classers.set(pb) } return nil } // https://ffmpeg.org/doxygen/8.0/group__lavf__decoding.html#gae804b99aec044690162b8b9b110236a4 func (fc *FormatContext) CloseInput() { if fc.c != nil { // Make sure to clone the classer before freeing the object since // the C free method may reset the pointer c := newClonedClasser(fc) var cpb *ClonedClasser if pb := fc.Pb(); pb != nil { cpb = newClonedClasser(pb) } C.avformat_close_input(&fc.c) // Make sure to remove from classers after freeing the object since // the C free method may use methods needing the classer if cpb != nil { classers.del(cpb) } if c != nil { classers.del(c) } } } // https://ffmpeg.org/doxygen/8.0/group__lavf__core.html#gab31f7c7c99dcadead38e8e83e0fdb828 func (fc *FormatContext) NewProgram(id int) *Program { return newProgramFromC(C.av_new_program(fc.c, C.int(id)), fc) } // https://ffmpeg.org/doxygen/8.0/group__lavf__core.html#gaf2c94216a6a19144e86cac843a0a4409 func (fc *FormatContext) NewStream(c *Codec) *Stream { var cc *C.AVCodec if c != nil { cc = c.c } return newStreamFromC(C.avformat_new_stream(fc.c, cc)) } // https://ffmpeg.org/doxygen/8.0/group__lavf__decoding.html#gad42172e27cddafb81096939783b157bb func (fc *FormatContext) FindStreamInfo(d *Dictionary) error { var dc **C.AVDictionary if d != nil { dc = &d.c } return newError(C.avformat_find_stream_info(fc.c, dc)) } // https://ffmpeg.org/doxygen/8.0/group__lavf__decoding.html#ga4fdb3084415a82e3810de6ee60e46a61 func (fc *FormatContext) ReadFrame(p *Packet) error { var pc *C.AVPacket if p != nil { pc = p.c } return newError(C.av_read_frame(fc.c, pc)) } // https://ffmpeg.org/doxygen/8.0/group__lavf__decoding.html#gaa23f7619d8d4ea0857065d9979c75ac8 func (fc *FormatContext) SeekFrame(streamIndex int, timestamp int64, f SeekFlags) error { return newError(C.av_seek_frame(fc.c, C.int(streamIndex), C.int64_t(timestamp), C.int(f))) } // https://ffmpeg.org/doxygen/8.0/group__lavf__decoding.html#gaa03a82c5fd4fe3af312d229ca94cd6f3 func (fc *FormatContext) Flush() error { return newError(C.avformat_flush(fc.c)) } // https://ffmpeg.org/doxygen/8.0/group__lavf__encoding.html#ga18b7b10bb5b94c4842de18166bc677cb func (fc *FormatContext) WriteHeader(d *Dictionary) error { var dc **C.AVDictionary if d != nil { dc = &d.c } return newError(C.avformat_write_header(fc.c, dc)) } // https://ffmpeg.org/doxygen/8.0/group__lavf__encoding.html#gaa85cc1774f18f306cd20a40fc50d0b36 func (fc *FormatContext) WriteFrame(p *Packet) error { var pc *C.AVPacket if p != nil { pc = p.c } return newError(C.av_write_frame(fc.c, pc)) } // https://ffmpeg.org/doxygen/8.0/group__lavf__encoding.html#ga37352ed2c63493c38219d935e71db6c1 func (fc *FormatContext) WriteInterleavedFrame(p *Packet) error { var pc *C.AVPacket if p != nil { pc = p.c } return newError(C.av_interleaved_write_frame(fc.c, pc)) } // https://ffmpeg.org/doxygen/8.0/group__lavf__encoding.html#ga7f14007e7dc8f481f054b21614dfec13 func (fc *FormatContext) WriteTrailer() error { return newError(C.av_write_trailer(fc.c)) } // https://ffmpeg.org/doxygen/8.0/group__lavf__misc.html#gafa6fbfe5c1bf6792fd6e33475b6056bd func (fc *FormatContext) GuessSampleAspectRatio(s *Stream, f *Frame) Rational { var cf *C.AVFrame if f != nil { cf = f.c } return newRationalFromC(C.av_guess_sample_aspect_ratio(fc.c, s.c, cf)) } // https://ffmpeg.org/doxygen/8.0/group__lavf__misc.html#ga698e6aa73caa9616851092e2be15875d func (fc *FormatContext) GuessFrameRate(s *Stream, f *Frame) Rational { var cf *C.AVFrame if f != nil { cf = f.c } return newRationalFromC(C.av_guess_frame_rate(fc.c, s.c, cf)) } // https://ffmpeg.org/doxygen/8.0/group__lavf__misc.html#gaa2a7353a6bb0c8726797abd56b176af0 func (fc *FormatContext) SDPCreate() (string, error) { return stringFromC(1024, func(buf *C.char, size C.size_t) error { fccs := []*C.AVFormatContext{fc.c} return newError(C.av_sdp_create(&fccs[0], C.int(len(fccs)), buf, C.int(size))) }) } // https://ffmpeg.org/doxygen/8.0/avformat_8c.html#a8d4609a8f685ad894c1503ffd1b610b4 func (fc *FormatContext) FindBestStream(mt MediaType, wantedStreamIndex, relatedStreamIndex int) (*Stream, *Codec, error) { // Find best stream var cCodec *C.AVCodec ret := C.av_find_best_stream(fc.c, C.enum_AVMediaType(mt), C.int(wantedStreamIndex), C.int(relatedStreamIndex), &cCodec, 0) if err := newError(ret); err != nil { return nil, nil, err } // Loop through streams for _, s := range fc.Streams() { if s.Index() == int(ret) { return s, newCodecFromC(cCodec), nil } } return nil, nil, fmt.Errorf("astiav: no stream with index %d", ret) } // https://ffmpeg.org/doxygen/8.0/group__lavf__misc.html#gae2645941f2dc779c307eb6314fd39f10 func (fc *FormatContext) Dump(streamIndex int, url string, isOutput bool) { curl := (*C.char)(nil) if len(url) > 0 { curl = C.CString(url) defer C.free(unsafe.Pointer(curl)) } cisOutput := 0 if isOutput { cisOutput = 1 } C.av_dump_format(fc.c, C.int(streamIndex), curl, C.int(cisOutput)) } ================================================ FILE: format_context_ctx_flag.go ================================================ package astiav //#include import "C" // https://ffmpeg.org/doxygen/8.0/avformat_8h.html#a42e3c3d72e561fdc501613962fccc4aa type FormatContextCtxFlag int64 const ( FormatContextCtxFlagNoHeader = FormatContextCtxFlag(C.AVFMTCTX_NOHEADER) FormatContextCtxFlagUnseekable = FormatContextCtxFlag(C.AVFMTCTX_UNSEEKABLE) ) ================================================ FILE: format_context_flag.go ================================================ package astiav //#include import "C" // https://ffmpeg.org/doxygen/8.0/avformat_8h.html#a69e2c8bc119c0245ff6092f9db4d12ae type FormatContextFlag int64 const ( FormatContextFlagAutoBsf = FormatContextFlag(C.AVFMT_FLAG_AUTO_BSF) FormatContextFlagBitexact = FormatContextFlag(C.AVFMT_FLAG_BITEXACT) FormatContextFlagCustomIo = FormatContextFlag(C.AVFMT_FLAG_CUSTOM_IO) FormatContextFlagDiscardCorrupt = FormatContextFlag(C.AVFMT_FLAG_DISCARD_CORRUPT) FormatContextFlagFastSeek = FormatContextFlag(C.AVFMT_FLAG_FAST_SEEK) FormatContextFlagFlushPackets = FormatContextFlag(C.AVFMT_FLAG_FLUSH_PACKETS) FormatContextFlagGenPts = FormatContextFlag(C.AVFMT_FLAG_GENPTS) FormatContextFlagIgnDts = FormatContextFlag(C.AVFMT_FLAG_IGNDTS) FormatContextFlagIgnidx = FormatContextFlag(C.AVFMT_FLAG_IGNIDX) FormatContextFlagNobuffer = FormatContextFlag(C.AVFMT_FLAG_NOBUFFER) FormatContextFlagNofillin = FormatContextFlag(C.AVFMT_FLAG_NOFILLIN) FormatContextFlagNonblock = FormatContextFlag(C.AVFMT_FLAG_NONBLOCK) FormatContextFlagNoparse = FormatContextFlag(C.AVFMT_FLAG_NOPARSE) FormatContextFlagSortDts = FormatContextFlag(C.AVFMT_FLAG_SORT_DTS) ) ================================================ FILE: format_context_test.go ================================================ package astiav import ( "path/filepath" "testing" "github.com/stretchr/testify/require" ) func TestFormatContext(t *testing.T) { fc1, err := globalHelper.inputFormatContext("video.mp4", nil) require.NoError(t, err) ss := fc1.Streams() require.Len(t, ss, 2) s1 := ss[0] require.Equal(t, int64(607664), fc1.BitRate()) require.Equal(t, NewFormatContextCtxFlags(0), fc1.CtxFlags()) require.Equal(t, int64(5013333), fc1.Duration()) require.True(t, fc1.EventFlags().Has(FormatEventFlagMetadataUpdated)) require.True(t, fc1.Flags().Has(FormatContextFlagAutoBsf)) require.Equal(t, NewRational(24, 1), fc1.GuessFrameRate(s1, nil)) require.Equal(t, NewRational(1, 1), fc1.GuessSampleAspectRatio(s1, nil)) require.True(t, fc1.InputFormat().Flags().Has(IOFormatFlagNoByteSeek)) require.Equal(t, IOContextFlags(0), fc1.IOFlags()) require.Equal(t, int64(0), fc1.MaxAnalyzeDuration()) require.Equal(t, "isom", fc1.Metadata().Get("major_brand", nil, NewDictionaryFlags()).Value()) require.NotNil(t, fc1.PrivateData()) require.Equal(t, int64(0), fc1.StartTime()) require.Equal(t, 2, fc1.NbStreams()) require.Len(t, fc1.Streams(), 2) cl := fc1.Class() require.NotNil(t, cl) require.Equal(t, "AVFormatContext", cl.Name()) sdp, err := fc1.SDPCreate() require.NoError(t, err) require.Equal(t, "v=0\r\no=- 0 0 IN IP4 127.0.0.1\r\ns=Big Buck Bunny\r\nt=0 0\r\na=tool:libavformat 62.3.100\r\nm=video 0 RTP/AVP 96\r\nb=AS:441\r\na=framerate:24\r\na=rtpmap:96 H264/90000\r\na=fmtp:96 packetization-mode=1; sprop-parameter-sets=Z0LADasgKDPz4CIAAAMAAgAAAwBhHihUkA==,aM48gA==; profile-level-id=42C00D\r\na=control:streamid=0\r\nm=audio 0 RTP/AVP 97\r\nb=AS:161\r\na=rtpmap:97 MPEG4-GENERIC/48000/2\r\na=fmtp:97 profile-level-id=1;mode=AAC-hbr;sizelength=13;indexlength=3;indexdeltalength=3; config=1190\r\na=control:streamid=1\r\n", sdp) SetLogLevel(LogLevelInfo) var dump string SetLogCallback(func(c Classer, l LogLevel, f, msg string) { dump += msg }) fc1.Dump(0, "video.mp4", false) require.Equal(t, "Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'video.mp4':\n Metadata:\n major_brand : isom\n minor_version : 512\n compatible_brands: isomiso2avc1mp41\n title : Big Buck Bunny\n artist : Blender Foundation\n composer : Blender Foundation\n date : 2008\n encoder : Lavf58.12.100\n Duration: 00:00:05.01, start: 0.000000, bitrate: 607 kb/s\n Stream #0:0[0x1](und): Video: h264 (Extended) (avc1 / 0x31637661), yuv420p(progressive), 320x180 [SAR 1:1 DAR 16:9], 441 kb/s, 24 fps, 24 tbr, 12288 tbn (default)\n Metadata:\n handler_name : VideoHandler\n vendor_id : [0][0][0][0]\n Stream #0:1[0x2](und): Audio: aac (LC) (mp4a / 0x6134706D), 48000 Hz, stereo, fltp, 161 kb/s (default)\n Metadata:\n handler_name : SoundHandler\n vendor_id : [0][0][0][0]\n", dump) ResetLogCallback() _, _, err = fc1.FindBestStream(MediaTypeUnknown, -1, -1) require.Error(t, err) s2, c1, err := fc1.FindBestStream(MediaTypeVideo, -1, -1) require.NoError(t, err) require.Equal(t, s1.Index(), s2.Index()) require.Equal(t, s1.CodecParameters().CodecID(), c1.ID()) s2, _, err = fc1.FindBestStream(MediaTypeAudio, 1, 0) require.NoError(t, err) require.Equal(t, 1, s2.Index()) fc2, err := AllocOutputFormatContext(nil, "mp4", "") require.NoError(t, err) defer fc2.Free() require.True(t, fc2.OutputFormat().Flags().Has(IOFormatFlagGlobalheader)) fc3 := AllocFormatContext() require.NotNil(t, fc3) defer fc3.Free() io, err := OpenIOContext("testdata/video.mp4", NewIOContextFlags(IOContextFlagRead), nil, nil) require.NoError(t, err) defer io.Close() //nolint:errcheck fc3.SetPb(io) fc3.SetStrictStdCompliance(StrictStdComplianceExperimental) fc3.SetFlags(NewFormatContextFlags(FormatContextFlagAutoBsf)) require.NotNil(t, fc3.Pb()) require.Equal(t, StrictStdComplianceExperimental, fc3.StrictStdCompliance()) require.True(t, fc3.Flags().Has(FormatContextFlagAutoBsf)) s3 := fc3.NewStream(nil) require.NotNil(t, s3) s4 := fc3.NewStream(nil) require.NotNil(t, s4) require.Equal(t, 1, s4.Index()) d := NewDictionary() d.Set("k", "v", 0) fc3.SetMetadata(d) e := fc3.Metadata().Get("k", nil, 0) require.NotNil(t, e) require.Equal(t, "v", e.Value()) fc3.SetMetadata(nil) require.Nil(t, fc3.Metadata()) fc4 := AllocFormatContext() require.NotNil(t, fc4) defer fc4.Free() ii1 := NewIOInterrupter() defer ii1.Free() fc4.SetIOInterrupter(ii1) ii1.Interrupt() require.ErrorIs(t, fc4.OpenInput("testdata/video.mp4", nil, nil), ErrExit) fc9 := AllocFormatContext() require.NotNil(t, fc9) defer fc9.Free() ii2 := NewIOInterrupter() defer ii2.Free() fc9.SetIOInterrupter(ii2) fc9.SetIOInterrupter(nil) require.NoError(t, fc4.OpenInput("testdata/video.mp4", nil, nil)) fc5 := AllocFormatContext() require.NotNil(t, fc5) defer fc5.Free() require.NotNil(t, fc5.NewProgram(1)) require.Equal(t, 1, fc5.NbPrograms()) ps := fc5.Programs() require.Equal(t, 1, len(ps)) require.Equal(t, 1, ps[0].ID()) fc6 := AllocFormatContext() require.NotNil(t, fc6) defer fc6.Free() require.NoError(t, fc6.OpenInput("testdata/video.mp4", nil, nil)) require.NoError(t, fc6.FindStreamInfo(nil)) require.Equal(t, 2, fc6.NbStreams()) pkt1 := AllocPacket() require.NotNil(t, pkt1) defer pkt1.Free() require.NoError(t, fc6.ReadFrame(pkt1)) require.Equal(t, int64(48), pkt1.Pos()) pkt2 := AllocPacket() require.NotNil(t, pkt2) defer pkt2.Free() require.NoError(t, fc6.ReadFrame(pkt2)) require.Equal(t, int64(261), pkt2.Pos()) require.NoError(t, fc6.SeekFrame(0, 0, NewSeekFlags().Add(SeekFlagBackward))) require.NoError(t, fc6.ReadFrame(pkt1)) require.Equal(t, int64(48), pkt1.Pos()) var outputPath = filepath.Join(t.TempDir(), "test-format-context-output.mp4") fc7, err := AllocOutputFormatContext(nil, "", outputPath) require.NoError(t, err) defer fc7.Free() for _, is := range fc6.Streams() { os := fc7.NewStream(nil) require.NotNil(t, os) require.NoError(t, is.CodecParameters().Copy(os.CodecParameters())) } ic, err := OpenIOContext(outputPath, NewIOContextFlags(IOContextFlagWrite), nil, nil) require.NoError(t, err) defer ic.Free() defer ic.Close() fc7.SetPb(ic) require.NoError(t, fc7.WriteHeader(nil)) require.NoError(t, fc7.WriteFrame(pkt1)) require.NoError(t, fc7.WriteInterleavedFrame(pkt2)) require.NoError(t, fc7.WriteTrailer()) require.NoError(t, fc7.Flush()) fc8 := AllocFormatContext() require.NotNil(t, fc8) defer fc8.Free() require.NoError(t, fc8.OpenInput(outputPath, nil, nil)) defer fc8.CloseInput() require.NoError(t, fc8.FindStreamInfo(nil)) require.Equal(t, 2, fc8.NbStreams()) pkt3 := AllocPacket() require.NotNil(t, pkt3) defer pkt3.Free() require.NoError(t, fc8.ReadFrame(pkt3)) require.Equal(t, int64(48), pkt3.Pos()) pkt4 := AllocPacket() require.NotNil(t, pkt4) defer pkt4.Free() require.NoError(t, fc8.ReadFrame(pkt4)) require.Equal(t, int64(261), pkt4.Pos()) } ================================================ FILE: format_event_flag.go ================================================ package astiav //#include import "C" // https://ffmpeg.org/doxygen/8.0/avformat_8h.html#a19485b8b52e579db560875e9a1e44e7a type FormatEventFlag int64 const ( FormatEventFlagMetadataUpdated = FormatEventFlag(C.AVFMT_EVENT_FLAG_METADATA_UPDATED) ) ================================================ FILE: frame.c ================================================ #include #include #include #include #include int astiavSamplesCopyToBuffer(uint8_t* dst, int dst_size, const uint8_t * const src_data[8], int nb_channels, int nb_samples, enum AVSampleFormat sample_fmt, int align) { int linesize, buffer_size, nb_planes, i; buffer_size = av_samples_get_buffer_size(&linesize, nb_channels, nb_samples, sample_fmt, align); if (buffer_size > dst_size || buffer_size < 0) return AVERROR(EINVAL); nb_planes = buffer_size / linesize; for (i = 0; i < nb_planes; i++) { const uint8_t *src = src_data[i]; memcpy(dst, src, linesize); dst += linesize; src += linesize; } return buffer_size; } ================================================ FILE: frame.go ================================================ package astiav //#include //#include //#include //#include //#include //#include "frame.h" import "C" import ( "unsafe" ) // https://ffmpeg.org/doxygen/8.0/frame_8h.html#add80189702cf0f5ea82718576fb43201 const NumDataPointers = uint(C.AV_NUM_DATA_POINTERS) // https://ffmpeg.org/doxygen/8.0/structAVFrame.html type Frame struct { c *C.AVFrame } func newFrameFromC(c *C.AVFrame) *Frame { if c == nil { return nil } return &Frame{c: c} } // https://ffmpeg.org/doxygen/8.0/group__lavu__frame.html#gac700017c5270c79c1e1befdeeb008b2f func AllocFrame() *Frame { return newFrameFromC(C.av_frame_alloc()) } // https://ffmpeg.org/doxygen/8.0/group__lavu__frame.html#ga6b1acbfa82c79bf7fd78d868572f0ceb func (f *Frame) AllocBuffer(align int) error { return newError(C.av_frame_get_buffer(f.c, C.int(align))) } // https://ffmpeg.org/doxygen/8.0/hwcontext_8c.html#adfa5aaa3a4f69b163ea30cadc6d663dc func (f *Frame) AllocHardwareBuffer(hfc *HardwareFramesContext) error { return newError(C.av_hwframe_get_buffer(hfc.c, f.c, 0)) } // https://ffmpeg.org/doxygen/8.0/structAVFrame.html#ae291cdec7758599e765bc9e3edbb3065 func (f *Frame) ChannelLayout() ChannelLayout { l, _ := newChannelLayoutFromC(&f.c.ch_layout).clone() return l } // https://ffmpeg.org/doxygen/8.0/structAVFrame.html#ae291cdec7758599e765bc9e3edbb3065 func (f *Frame) SetChannelLayout(l ChannelLayout) { l.copy(&f.c.ch_layout) //nolint: errcheck } // https://ffmpeg.org/doxygen/8.0/structAVFrame.html#a853afbad220bbc58549b4860732a3aa5 func (f *Frame) ColorRange() ColorRange { return ColorRange(f.c.color_range) } // https://ffmpeg.org/doxygen/8.0/structAVFrame.html#a853afbad220bbc58549b4860732a3aa5 func (f *Frame) SetColorRange(r ColorRange) { f.c.color_range = C.enum_AVColorRange(r) } // https://ffmpeg.org/doxygen/8.0/structAVFrame.html#a9262c231f1f64869439b4fe587fe1710 func (f *Frame) ColorSpace() ColorSpace { return ColorSpace(f.c.colorspace) } // https://ffmpeg.org/doxygen/8.0/structAVFrame.html#a9262c231f1f64869439b4fe587fe1710 func (f *Frame) SetColorSpace(s ColorSpace) { f.c.colorspace = C.enum_AVColorSpace(s) } // https://ffmpeg.org/doxygen/8.0/structAVFrame.html#a1d0f65014a8d1bf78cec8cbed2304992 func (f *Frame) Data() *FrameData { return newFrameData(newFrameDataFrame(f)) } // https://ffmpeg.org/doxygen/8.0/structAVFrame.html#a29493fbfabaa21432c360a090426aa8e func (f *Frame) HardwareFramesContext() *HardwareFramesContext { return newHardwareFramesContextFromC(f.c.hw_frames_ctx) } // https://ffmpeg.org/doxygen/8.0/structAVFrame.html#a3f89733f429c98ba5bc64373fb0a3f13 func (f *Frame) Height() int { return int(f.c.height) } // https://ffmpeg.org/doxygen/8.0/structAVFrame.html#a3f89733f429c98ba5bc64373fb0a3f13 func (f *Frame) SetHeight(h int) { f.c.height = C.int(h) } // https://ffmpeg.org/doxygen/8.0/structAVFrame.html#a49020cc320b8fb1f5449167b6c97515b func (f *Frame) Flags() FrameFlags { return FrameFlags(f.c.flags) } // https://ffmpeg.org/doxygen/8.0/structAVFrame.html#a49020cc320b8fb1f5449167b6c97515b func (f *Frame) SetFlags(fs FrameFlags) { f.c.flags = C.int(fs) } // https://ffmpeg.org/doxygen/8.0/group__lavu__picture.html#ga24a67963c3ae0054a2a4bab35930e694 func (f *Frame) ImageBufferSize(align int) (int, error) { ret := C.av_image_get_buffer_size((C.enum_AVPixelFormat)(f.c.format), f.c.width, f.c.height, C.int(align)) if err := newError(ret); err != nil { return 0, err } return int(ret), nil } // https://ffmpeg.org/doxygen/8.0/group__lavu__picture.html#ga6f8576f1ef0c2d9a9f7c5ac7f9a28c52 func (f *Frame) ImageCopyToBuffer(b []byte, align int) (int, error) { ret := C.av_image_copy_to_buffer((*C.uint8_t)(unsafe.Pointer(&b[0])), C.int(len(b)), &f.c.data[0], &f.c.linesize[0], (C.enum_AVPixelFormat)(f.c.format), f.c.width, f.c.height, C.int(align)) if err := newError(ret); err != nil { return 0, err } return int(ret), nil } // https://ffmpeg.org/doxygen/8.0/group__lavu__picture.html#ga3fa8e484cc214e8c7b9026825b5f4078 func (f *Frame) ImageFillBlack() error { linesize := [NumDataPointers]C.ptrdiff_t{} for i := 0; i < int(NumDataPointers); i++ { linesize[i] = C.ptrdiff_t(f.c.linesize[i]) } return newError(C.av_image_fill_black(&f.c.data[0], &linesize[0], (C.enum_AVPixelFormat)(f.c.format), (C.enum_AVColorRange)(f.c.color_range), f.c.width, f.c.height)) } // https://ffmpeg.org/doxygen/8.0/group__lavu__sampfmts.html#gaa7368bc4e3a366b688e81938ed55eb06 func (f *Frame) SamplesBufferSize(align int) (int, error) { ret := C.av_samples_get_buffer_size(nil, f.c.ch_layout.nb_channels, f.c.nb_samples, (C.enum_AVSampleFormat)(f.c.format), C.int(align)) if err := newError(ret); err != nil { return 0, err } return int(ret), nil } func (f *Frame) SamplesCopyToBuffer(b []byte, align int) (int, error) { ret := C.astiavSamplesCopyToBuffer((*C.uint8_t)(unsafe.Pointer(&b[0])), C.int(len(b)), &f.c.data[0], f.c.ch_layout.nb_channels, f.c.nb_samples, (C.enum_AVSampleFormat)(f.c.format), C.int(align)) if err := newError(ret); err != nil { return 0, err } return int(ret), nil } // https://ffmpeg.org/doxygen/8.0/group__lavu__sampmanip.html#gabcb166e22938c7d93c2d609529c458bb func (f *Frame) SamplesFillSilence() error { return newError(C.av_samples_set_silence(&f.c.data[0], 0, f.c.nb_samples, f.c.ch_layout.nb_channels, (C.enum_AVSampleFormat)(f.c.format))) } // https://ffmpeg.org/doxygen/8.0/structAVFrame.html#aa52bfc6605f6a3059a0c3226cc0f6567 func (f *Frame) Linesize() [NumDataPointers]int { o := [NumDataPointers]int{} for i := 0; i < int(NumDataPointers); i++ { o[i] = int(f.c.linesize[i]) } return o } // https://ffmpeg.org/doxygen/8.0/structAVFrame.html#a02f45ab8191aea1660159f1e464237ea func (f *Frame) NbSamples() int { return int(f.c.nb_samples) } // https://ffmpeg.org/doxygen/8.0/structAVFrame.html#a02f45ab8191aea1660159f1e464237ea func (f *Frame) SetNbSamples(n int) { f.c.nb_samples = C.int(n) } // https://ffmpeg.org/doxygen/8.0/structAVFrame.html#af9920fc3fbfa347b8943ae461b50d18b func (f *Frame) PictureType() PictureType { return PictureType(f.c.pict_type) } // https://ffmpeg.org/doxygen/8.0/structAVFrame.html#af9920fc3fbfa347b8943ae461b50d18b func (f *Frame) SetPictureType(t PictureType) { f.c.pict_type = C.enum_AVPictureType(t) } // https://ffmpeg.org/doxygen/8.0/structAVFrame.html#aed14fa772ce46881020fd1545c86432c func (f *Frame) PixelFormat() PixelFormat { return PixelFormat(f.c.format) } // https://ffmpeg.org/doxygen/8.0/structAVFrame.html#aed14fa772ce46881020fd1545c86432c func (f *Frame) SetPixelFormat(pf PixelFormat) { f.c.format = C.int(pf) } // https://ffmpeg.org/doxygen/8.0/structAVFrame.html#aa52951f35ec9e303d3dfeb4b3e44248a func (f *Frame) PktDts() int64 { return int64(f.c.pkt_dts) } // https://ffmpeg.org/doxygen/8.0/structAVFrame.html#a0452833e3ab6ddd7acbf82817a7818a4 func (f *Frame) Pts() int64 { return int64(f.c.pts) } // https://ffmpeg.org/doxygen/8.0/structAVFrame.html#a0452833e3ab6ddd7acbf82817a7818a4 func (f *Frame) SetPts(i int64) { f.c.pts = C.int64_t(i) } // https://ffmpeg.org/doxygen/8.0/structAVFrame.html#a62f9c20541a83d37db7072126ff0060d func (f *Frame) SampleAspectRatio() Rational { return newRationalFromC(f.c.sample_aspect_ratio) } // https://ffmpeg.org/doxygen/8.0/structAVFrame.html#a62f9c20541a83d37db7072126ff0060d func (f *Frame) SetSampleAspectRatio(r Rational) { f.c.sample_aspect_ratio = r.c } // https://ffmpeg.org/doxygen/8.0/structAVFrame.html#aed14fa772ce46881020fd1545c86432c func (f *Frame) SampleFormat() SampleFormat { return SampleFormat(f.c.format) } // https://ffmpeg.org/doxygen/8.0/structAVFrame.html#aed14fa772ce46881020fd1545c86432c func (f *Frame) SetSampleFormat(sf SampleFormat) { f.c.format = C.int(sf) } // https://ffmpeg.org/doxygen/8.0/structAVFrame.html#ac85daa1316e1f47e78da0ca19b7c60e6 func (f *Frame) SampleRate() int { return int(f.c.sample_rate) } // https://ffmpeg.org/doxygen/8.0/structAVFrame.html#ac85daa1316e1f47e78da0ca19b7c60e6 func (f *Frame) SetSampleRate(r int) { f.c.sample_rate = C.int(r) } // https://ffmpeg.org/doxygen/8.0/structAVFrame.html#a44d40e03fe22a0511c9157dab22143ee func (f *Frame) SideData() *FrameSideData { return newFrameSideDataFromC(&f.c.side_data, &f.c.nb_side_data) } // https://ffmpeg.org/doxygen/8.0/structAVFrame.html#a5bde87fd101f66d6263bb451056dba13 func (f *Frame) Metadata() *Dictionary { return newDictionaryFromC(f.c.metadata) } // https://ffmpeg.org/doxygen/8.0/structAVFrame.html#a5bde87fd101f66d6263bb451056dba13 func (f *Frame) SetMetadata(d *Dictionary) { if d == nil { f.c.metadata = nil } else { f.c.metadata = d.c } } // https://ffmpeg.org/doxygen/8.0/structAVFrame.html#a1e71ce60cedd5f3b6811714a9f7f9e0a func (f *Frame) Width() int { return int(f.c.width) } // https://ffmpeg.org/doxygen/8.0/structAVFrame.html#a1e71ce60cedd5f3b6811714a9f7f9e0a func (f *Frame) SetWidth(w int) { f.c.width = C.int(w) } // https://ffmpeg.org/doxygen/8.0/hwcontext_8c.html#abf1b1664b8239d953ae2cac8b643815a func (f *Frame) TransferHardwareData(dst *Frame) error { return newError(C.av_hwframe_transfer_data(dst.c, f.c, 0)) } // https://ffmpeg.org/doxygen/8.0/group__lavu__frame.html#ga979d73f3228814aee56aeca0636e37cc func (f *Frame) Free() { if f.c != nil { C.av_frame_free(&f.c) } } // https://ffmpeg.org/doxygen/8.0/group__lavu__frame.html#ga88b0ecbc4eb3453eef3fbefa3bddeb7c func (f *Frame) Ref(src *Frame) error { return newError(C.av_frame_ref(f.c, src.c)) } // https://ffmpeg.org/doxygen/8.0/group__lavu__frame.html#ga46d6d32f6482a3e9c19203db5877105b func (f *Frame) Clone() *Frame { return newFrameFromC(C.av_frame_clone(f.c)) } // https://ffmpeg.org/doxygen/8.0/group__lavu__frame.html#ga0a2b687f9c1c5ed0089b01fd61227108 func (f *Frame) Unref() { C.av_frame_unref(f.c) } // https://ffmpeg.org/doxygen/8.0/group__lavu__frame.html#ga709e62bc2917ffd84c5c0f4e1dfc48f7 func (f *Frame) MoveRef(src *Frame) { C.av_frame_move_ref(f.c, src.c) } func (f *Frame) UnsafePointer() unsafe.Pointer { return unsafe.Pointer(f.c) } // https://ffmpeg.org/doxygen/8.0/group__lavu__frame.html#ga3ba755bada5c3c8883361ef43fb5fb7a func (f *Frame) IsWritable() bool { return C.av_frame_is_writable(f.c) > 0 } // https://ffmpeg.org/doxygen/8.0/group__lavu__frame.html#gadd5417c06f5a6b419b0dbd8f0ff363fd func (f *Frame) MakeWritable() error { return newError(C.av_frame_make_writable(f.c)) } // https://ffmpeg.org/doxygen/8.0/group__lavu__frame.html#gaec4e92f6e1e75ffaf76e07586fb0c9ed func (f *Frame) Copy(dst *Frame) error { return newError(C.av_frame_copy(dst.c, f.c)) } ================================================ FILE: frame.h ================================================ #include #include int astiavSamplesCopyToBuffer(uint8_t* dst, int dst_size, const uint8_t * const src_data[8], int nb_channels, int nb_samples, enum AVSampleFormat sample_fmt, int align); ================================================ FILE: frame_data.go ================================================ package astiav //#include //#include //#include //#include "macros.h" import "C" import ( "errors" "fmt" "image" "strings" "unsafe" ) type FrameData struct { f frameDataFramer } type frameDataFramer interface { bytes(align int) ([]byte, error) copyPlanes(ps []frameDataPlane) error height() int pixelFormat() PixelFormat planes(b []byte, align int) ([]frameDataPlane, error) width() int } type frameDataPlane struct { bytes []byte linesize int } func newFrameData(f frameDataFramer) *FrameData { return &FrameData{f: f} } func (d *FrameData) Bytes(align int) ([]byte, error) { return d.f.bytes(align) } // It's the developer's responsibility to handle frame's writability func (d *FrameData) SetBytes(b []byte, align int) error { // Get planes planes, err := d.f.planes(b, align) if err != nil { return fmt.Errorf("astiav: getting planes failed: %w", err) } // Copy planes if err := d.f.copyPlanes(planes); err != nil { return fmt.Errorf("astiav: copying planes failed: %w", err) } return nil } // Always returns non-premultiplied formats when dealing with alpha channels, however this might not // always be accurate. In this case, use your own format in .ToImage() func (d *FrameData) GuessImageFormat() (image.Image, error) { switch d.f.pixelFormat() { case PixelFormatGray8: return &image.Gray{}, nil case PixelFormatGray16Be: return &image.Gray16{}, nil case PixelFormatRgb0, PixelFormat0Rgb, PixelFormatRgb4, PixelFormatRgb8: return &image.RGBA{}, nil case PixelFormatRgba: return &image.NRGBA{}, nil case PixelFormatRgba64Be: return &image.NRGBA64{}, nil case PixelFormatYuva420P, PixelFormatYuva422P, PixelFormatYuva444P: return &image.NYCbCrA{}, nil case PixelFormatYuv410P, PixelFormatYuv411P, PixelFormatYuvj411P, PixelFormatYuv420P, PixelFormatYuvj420P, PixelFormatYuv422P, PixelFormatYuvj422P, PixelFormatYuv440P, PixelFormatYuvj440P, PixelFormatYuv444P, PixelFormatYuvj444P: return &image.YCbCr{}, nil } return nil, fmt.Errorf("astiav: pixel format %s not handled by Go", d.f.pixelFormat()) } func (d *FrameData) imageYCbCrSubsampleRatio() image.YCbCrSubsampleRatio { name := d.f.pixelFormat().Name() for s, r := range map[string]image.YCbCrSubsampleRatio{ "410": image.YCbCrSubsampleRatio410, "411": image.YCbCrSubsampleRatio411, "420": image.YCbCrSubsampleRatio420, "422": image.YCbCrSubsampleRatio422, "440": image.YCbCrSubsampleRatio440, "444": image.YCbCrSubsampleRatio444, } { if strings.Contains(name, s) { return r } } return image.YCbCrSubsampleRatio444 } func (d *FrameData) toImagePix(pix *[]uint8, stride *int, rect *image.Rectangle, planes []frameDataPlane) { *pix = planes[0].bytes if v := planes[0].linesize; *stride != v { *stride = v } if w, h := d.f.width(), d.f.height(); rect.Dy() != w || rect.Dx() != h { *rect = image.Rect(0, 0, w, h) } } func (d *FrameData) toImageYCbCr(y, cb, cr *[]uint8, yStride, cStride *int, subsampleRatio *image.YCbCrSubsampleRatio, rect *image.Rectangle, planes []frameDataPlane) { *y = planes[0].bytes *cb = planes[1].bytes *cr = planes[2].bytes if v := planes[0].linesize; *yStride != v { *yStride = v } if v := planes[1].linesize; *cStride != v { *cStride = v } if v := d.imageYCbCrSubsampleRatio(); *subsampleRatio != v { *subsampleRatio = v } if w, h := d.f.width(), d.f.height(); rect.Dy() != w || rect.Dx() != h { *rect = image.Rect(0, 0, w, h) } } func (d *FrameData) toImageYCbCrA(y, cb, cr, a *[]uint8, yStride, cStride, aStride *int, subsampleRatio *image.YCbCrSubsampleRatio, rect *image.Rectangle, planes []frameDataPlane) { d.toImageYCbCr(y, cb, cr, yStride, cStride, subsampleRatio, rect, planes) *a = planes[3].bytes if v := planes[3].linesize; *aStride != v { *aStride = v } } func (d *FrameData) ToImage(dst image.Image) error { // Get bytes // Using bytesFromC on f.c.data caused random segfaults const align = 1 b, err := d.f.bytes(align) if err != nil { return fmt.Errorf("astiav: getting bytes failed: %w", err) } // Get planes planes, err := d.f.planes(b, align) if err != nil { return fmt.Errorf("astiav: getting planes failed: %w", err) } // Update image switch v := dst.(type) { case *image.Alpha: d.toImagePix(&v.Pix, &v.Stride, &v.Rect, planes) case *image.Alpha16: d.toImagePix(&v.Pix, &v.Stride, &v.Rect, planes) case *image.CMYK: d.toImagePix(&v.Pix, &v.Stride, &v.Rect, planes) case *image.Gray: d.toImagePix(&v.Pix, &v.Stride, &v.Rect, planes) case *image.Gray16: d.toImagePix(&v.Pix, &v.Stride, &v.Rect, planes) case *image.NRGBA: d.toImagePix(&v.Pix, &v.Stride, &v.Rect, planes) case *image.NRGBA64: d.toImagePix(&v.Pix, &v.Stride, &v.Rect, planes) case *image.NYCbCrA: d.toImageYCbCrA(&v.Y, &v.Cb, &v.Cr, &v.A, &v.YStride, &v.CStride, &v.AStride, &v.SubsampleRatio, &v.Rect, planes) case *image.RGBA: d.toImagePix(&v.Pix, &v.Stride, &v.Rect, planes) case *image.RGBA64: d.toImagePix(&v.Pix, &v.Stride, &v.Rect, planes) case *image.YCbCr: d.toImageYCbCr(&v.Y, &v.Cb, &v.Cr, &v.YStride, &v.CStride, &v.SubsampleRatio, &v.Rect, planes) default: return errors.New("astiav: image format is not handled") } return nil } func (d *FrameData) fromImagePix(pix []uint8, stride int) error { // Copy planes if err := d.f.copyPlanes([]frameDataPlane{{bytes: pix, linesize: stride}}); err != nil { return fmt.Errorf("astiav: copying planes failed: %w", err) } return nil } func (d *FrameData) fromImageYCbCr(y, cb, cr []uint8, yStride, cStride int) error { // Copy planes if err := d.f.copyPlanes([]frameDataPlane{ {bytes: y, linesize: yStride}, {bytes: cb, linesize: cStride}, {bytes: cr, linesize: cStride}, }); err != nil { return fmt.Errorf("astiav: copying planes failed: %w", err) } return nil } func (d *FrameData) fromImageYCbCrA(y, cb, cr, a []uint8, yStride, cStride, aStride int) error { // Copy planes if err := d.f.copyPlanes([]frameDataPlane{ {bytes: y, linesize: yStride}, {bytes: cb, linesize: cStride}, {bytes: cr, linesize: cStride}, {bytes: a, linesize: aStride}, }); err != nil { return fmt.Errorf("astiav: copying planes failed: %w", err) } return nil } // It's the developer's responsibility to handle frame's writability func (d *FrameData) FromImage(src image.Image) error { // Copy planes switch v := src.(type) { case *image.Alpha: return d.fromImagePix(v.Pix, v.Stride) case *image.Alpha16: return d.fromImagePix(v.Pix, v.Stride) case *image.CMYK: return d.fromImagePix(v.Pix, v.Stride) case *image.Gray: return d.fromImagePix(v.Pix, v.Stride) case *image.Gray16: return d.fromImagePix(v.Pix, v.Stride) case *image.NRGBA: return d.fromImagePix(v.Pix, v.Stride) case *image.NRGBA64: return d.fromImagePix(v.Pix, v.Stride) case *image.NYCbCrA: return d.fromImageYCbCrA(v.Y, v.Cb, v.Cr, v.A, v.YStride, v.CStride, v.AStride) case *image.RGBA: return d.fromImagePix(v.Pix, v.Stride) case *image.RGBA64: return d.fromImagePix(v.Pix, v.Stride) case *image.YCbCr: return d.fromImageYCbCr(v.Y, v.Cb, v.Cr, v.YStride, v.CStride) } return errors.New("astiav: image format is not handled") } var _ frameDataFramer = (*frameDataFrame)(nil) type frameDataFrame struct { f *Frame } func newFrameDataFrame(f *Frame) *frameDataFrame { return &frameDataFrame{f: f} } func (f *frameDataFrame) bytes(align int) ([]byte, error) { // Get funcs var bufferSizeFunc func(int) (int, error) var copyToBufferFunc func([]byte, int) (int, error) switch f.mediaType() { case MediaTypeAudio: bufferSizeFunc = f.f.SamplesBufferSize copyToBufferFunc = f.f.SamplesCopyToBuffer case MediaTypeVideo: bufferSizeFunc = f.f.ImageBufferSize copyToBufferFunc = f.f.ImageCopyToBuffer default: return nil, errors.New("astiav: media type not implemented") } // Get buffer size s, err := bufferSizeFunc(align) if err != nil { return nil, fmt.Errorf("astiav: getting buffer size failed: %w", err) } // Invalid buffer size if s == 0 { return nil, errors.New("astiav: invalid buffer size") } // Create buffer b := make([]byte, s) // Copy to buffer if _, err = copyToBufferFunc(b, align); err != nil { return nil, fmt.Errorf("astiav: copying to buffer failed: %w", err) } return b, nil } func (f *frameDataFrame) copyPlanes(ps []frameDataPlane) error { // Check writability if !f.f.IsWritable() { return errors.New("astiav: frame is not writable") } // Prepare data var cdata [8]*C.uint8_t var clinesizes [8]C.int for i, p := range ps { // Convert data if len(p.bytes) > 0 { cdata[i] = (*C.uint8_t)(C.CBytes(p.bytes)) defer C.free(unsafe.Pointer(cdata[i])) } // Convert linesize clinesizes[i] = C.int(p.linesize) } // Copy data switch f.mediaType() { case MediaTypeAudio: C.av_samples_copy(&f.f.c.data[0], &cdata[0], 0, 0, f.f.c.nb_samples, f.f.c.ch_layout.nb_channels, (C.enum_AVSampleFormat)(f.f.c.format)) case MediaTypeVideo: C.av_image_copy(&f.f.c.data[0], &f.f.c.linesize[0], &cdata[0], &clinesizes[0], (C.enum_AVPixelFormat)(f.f.c.format), f.f.c.width, f.f.c.height) default: return errors.New("astiav: media type not implemented") } return nil } func (f *frameDataFrame) height() int { return f.f.Height() } func (f *frameDataFrame) mediaType() MediaType { switch { // Audio case f.f.NbSamples() > 0: return MediaTypeAudio // Video case f.f.Height() > 0 && f.f.Width() > 0: return MediaTypeVideo default: return MediaTypeUnknown } } func (f *frameDataFrame) pixelFormat() PixelFormat { return f.f.PixelFormat() } func (f *frameDataFrame) planes(b []byte, align int) ([]frameDataPlane, error) { // Get line and plane sizes var linesizes [8]int var planeSizes [8]int switch f.mediaType() { case MediaTypeAudio: // Get buffer size var cLinesize C.int cBufferSize := C.av_samples_get_buffer_size(&cLinesize, f.f.c.ch_layout.nb_channels, f.f.c.nb_samples, (C.enum_AVSampleFormat)(f.f.c.format), C.int(align)) if err := newError(cBufferSize); err != nil { return nil, fmt.Errorf("astiav: getting buffer size failed: %w", err) } // Update line and plane sizes for i := 0; i < int(cBufferSize/cLinesize); i++ { linesizes[i] = int(cLinesize) planeSizes[i] = int(cLinesize) } case MediaTypeVideo: // Below is mostly inspired by https://ffmpeg.org/doxygen/7.0/group__lavu__picture.html#ga24a67963c3ae0054a2a4bab35930e694 // Get linesize var cLinesizes [8]C.int if err := newError(C.av_image_fill_linesizes(&cLinesizes[0], (C.enum_AVPixelFormat)(f.f.c.format), f.f.c.width)); err != nil { return nil, fmt.Errorf("astiav: getting linesize failed: %w", err) } // Align linesize var cAlignedLinesizes [8]C.ptrdiff_t for i := 0; i < 4; i++ { cAlignedLinesizes[i] = C.astiavFFAlign(cLinesizes[i], C.int(align)) } // Get plane sizes var cPlaneSizes [8]C.size_t if err := newError(C.av_image_fill_plane_sizes(&cPlaneSizes[0], (C.enum_AVPixelFormat)(f.f.c.format), f.f.c.height, &cAlignedLinesizes[0])); err != nil { return nil, fmt.Errorf("astiav: getting plane sizes failed: %w", err) } // Update line and plane sizes for i := range cPlaneSizes { linesizes[i] = int(cAlignedLinesizes[i]) planeSizes[i] = int(cPlaneSizes[i]) } default: return nil, errors.New("astiav: media type not implemented") } // Loop through plane sizes var ps []frameDataPlane start := 0 for i := range planeSizes { // Get end end := start + planeSizes[i] if len(b) < end { return nil, fmt.Errorf("astiav: buffer length %d is invalid for [%d:%d]", len(b), start, end) } // Append plane ps = append(ps, frameDataPlane{ bytes: b[start:end], linesize: linesizes[i], }) // Update start start = end } return ps, nil } func (f *frameDataFrame) width() int { return f.f.Width() } ================================================ FILE: frame_data_test.go ================================================ package astiav import ( "fmt" "image" "os" "testing" "github.com/stretchr/testify/require" ) type mockedFrameDataFrame struct { copiedPlanes []frameDataPlane h int onBytes func(align int) ([]byte, error) onPlanes func(b []byte, align int) ([]frameDataPlane, error) pf PixelFormat w int } var _ frameDataFramer = (*mockedFrameDataFrame)(nil) func (f *mockedFrameDataFrame) bytes(align int) ([]byte, error) { return f.onBytes(align) } func (f *mockedFrameDataFrame) copyPlanes(ps []frameDataPlane) error { f.copiedPlanes = ps return nil } func (f *mockedFrameDataFrame) height() int { return f.h } func (f *mockedFrameDataFrame) pixelFormat() PixelFormat { return f.pf } func (f *mockedFrameDataFrame) planes(b []byte, align int) ([]frameDataPlane, error) { return f.onPlanes(b, align) } func (f *mockedFrameDataFrame) width() int { return f.w } func TestFrameDataInternal(t *testing.T) { fdf := &mockedFrameDataFrame{} fd := newFrameData(fdf) for _, v := range []struct { err bool i image.Image pfs []PixelFormat }{ { i: &image.Gray{}, pfs: []PixelFormat{PixelFormatGray8}, }, { i: &image.Gray16{}, pfs: []PixelFormat{PixelFormatGray16Be}, }, { i: &image.RGBA{}, pfs: []PixelFormat{ PixelFormatRgb0, PixelFormat0Rgb, PixelFormatRgb4, PixelFormatRgb8, }, }, { i: &image.NRGBA{}, pfs: []PixelFormat{PixelFormatRgba}, }, { i: &image.NRGBA64{}, pfs: []PixelFormat{PixelFormatRgba64Be}, }, { i: &image.NYCbCrA{}, pfs: []PixelFormat{ PixelFormatYuva420P, PixelFormatYuva422P, PixelFormatYuva444P, }, }, { i: &image.YCbCr{}, pfs: []PixelFormat{ PixelFormatYuv410P, PixelFormatYuv411P, PixelFormatYuvj411P, PixelFormatYuv420P, PixelFormatYuvj420P, PixelFormatYuv422P, PixelFormatYuvj422P, PixelFormatYuv440P, PixelFormatYuvj440P, PixelFormatYuv444P, PixelFormatYuvj444P, }, }, { err: true, pfs: []PixelFormat{PixelFormatAbgr}, }, } { for _, pf := range v.pfs { fdf.pf = pf i, err := fd.GuessImageFormat() if v.err { require.Error(t, err) } else { require.IsType(t, v.i, i) } } } b1 := []byte{0, 1, 2, 3} fdf.onBytes = func(align int) ([]byte, error) { return b1, nil } b2, err := fd.Bytes(0) require.NoError(t, err) require.Equal(t, b1, b2) fdf.h = 1 fdf.w = 2 for _, v := range []struct { e image.Image i image.Image pixelFormat PixelFormat planes []frameDataPlane }{ { e: &image.Alpha{ Pix: []byte{0, 1, 2, 3}, Stride: 1, Rect: image.Rect(0, 0, 2, 1), }, i: &image.Alpha{}, pixelFormat: PixelFormatRgba, planes: []frameDataPlane{ { bytes: []byte{0, 1, 2, 3}, linesize: 1, }, }, }, { e: &image.Alpha16{ Pix: []byte{0, 1, 2, 3}, Stride: 1, Rect: image.Rect(0, 0, 2, 1), }, i: &image.Alpha16{}, pixelFormat: PixelFormatRgba, planes: []frameDataPlane{ { bytes: []byte{0, 1, 2, 3}, linesize: 1, }, }, }, { e: &image.CMYK{ Pix: []byte{0, 1, 2, 3}, Stride: 1, Rect: image.Rect(0, 0, 2, 1), }, i: &image.CMYK{}, pixelFormat: PixelFormatRgba, planes: []frameDataPlane{ { bytes: []byte{0, 1, 2, 3}, linesize: 1, }, }, }, { e: &image.Gray{ Pix: []byte{0, 1, 2, 3}, Stride: 1, Rect: image.Rect(0, 0, 2, 1), }, i: &image.Gray{}, pixelFormat: PixelFormatRgba, planes: []frameDataPlane{ { bytes: []byte{0, 1, 2, 3}, linesize: 1, }, }, }, { e: &image.Gray16{ Pix: []byte{0, 1, 2, 3}, Stride: 1, Rect: image.Rect(0, 0, 2, 1), }, i: &image.Gray16{}, pixelFormat: PixelFormatRgba, planes: []frameDataPlane{ { bytes: []byte{0, 1, 2, 3}, linesize: 1, }, }, }, { e: &image.NRGBA{ Pix: []byte{0, 1, 2, 3}, Stride: 1, Rect: image.Rect(0, 0, 2, 1), }, i: &image.NRGBA{}, pixelFormat: PixelFormatRgba, planes: []frameDataPlane{ { bytes: []byte{0, 1, 2, 3}, linesize: 1, }, }, }, { e: &image.NRGBA64{ Pix: []byte{0, 1, 2, 3}, Stride: 1, Rect: image.Rect(0, 0, 2, 1), }, i: &image.NRGBA64{}, pixelFormat: PixelFormatRgba, planes: []frameDataPlane{ { bytes: []byte{0, 1, 2, 3}, linesize: 1, }, }, }, { e: &image.NYCbCrA{ A: []byte{6, 7}, AStride: 4, YCbCr: image.YCbCr{ Y: []byte{0, 1}, Cb: []byte{2, 3}, Cr: []byte{4, 5}, YStride: 1, CStride: 2, SubsampleRatio: image.YCbCrSubsampleRatio444, Rect: image.Rect(0, 0, 2, 1), }, }, i: &image.NYCbCrA{}, pixelFormat: PixelFormatYuv444P, planes: []frameDataPlane{ { bytes: []byte{0, 1}, linesize: 1, }, { bytes: []byte{2, 3}, linesize: 2, }, { bytes: []byte{4, 5}, linesize: 3, }, { bytes: []byte{6, 7}, linesize: 4, }, }, }, { e: &image.RGBA{ Pix: []byte{0, 1, 2, 3}, Stride: 1, Rect: image.Rect(0, 0, 2, 1), }, i: &image.RGBA{}, pixelFormat: PixelFormatRgba, planes: []frameDataPlane{ { bytes: []byte{0, 1, 2, 3}, linesize: 1, }, }, }, { e: &image.RGBA64{ Pix: []byte{0, 1, 2, 3}, Stride: 1, Rect: image.Rect(0, 0, 2, 1), }, i: &image.RGBA64{}, pixelFormat: PixelFormatRgba, planes: []frameDataPlane{ { bytes: []byte{0, 1, 2, 3}, linesize: 1, }, }, }, { e: &image.YCbCr{ Y: []byte{0, 1}, Cb: []byte{2, 3}, Cr: []byte{4, 5}, YStride: 1, CStride: 2, SubsampleRatio: image.YCbCrSubsampleRatio420, Rect: image.Rect(0, 0, 2, 1), }, i: &image.YCbCr{}, pixelFormat: PixelFormatYuv420P, planes: []frameDataPlane{ { bytes: []byte{0, 1}, linesize: 1, }, { bytes: []byte{2, 3}, linesize: 2, }, { bytes: []byte{4, 5}, linesize: 3, }, }, }, } { fdf.pf = v.pixelFormat fdf.onPlanes = func(b []byte, align int) ([]frameDataPlane, error) { return v.planes, nil } require.NoError(t, fd.ToImage(v.i)) require.Equal(t, v.e, v.i) } b1 = []byte{1, 2, 3, 4} fdf.onPlanes = func(b []byte, align int) ([]frameDataPlane, error) { return []frameDataPlane{ { bytes: b1[:2], linesize: 1, }, { bytes: b1[2:], linesize: 2, }, }, nil } require.NoError(t, fd.SetBytes(b1, 0)) require.Equal(t, []frameDataPlane{ {bytes: b1[:2], linesize: 1}, {bytes: b1[2:], linesize: 2}, }, fdf.copiedPlanes) for _, v := range []struct { expectedCopiedPlanes []frameDataPlane i image.Image }{ { expectedCopiedPlanes: []frameDataPlane{{bytes: []byte{0, 1, 2, 3}, linesize: 1}}, i: &image.Alpha{ Pix: []byte{0, 1, 2, 3}, Stride: 1, }, }, { expectedCopiedPlanes: []frameDataPlane{{bytes: []byte{0, 1, 2, 3}, linesize: 1}}, i: &image.Alpha16{ Pix: []byte{0, 1, 2, 3}, Stride: 1, }, }, { expectedCopiedPlanes: []frameDataPlane{{bytes: []byte{0, 1, 2, 3}, linesize: 1}}, i: &image.CMYK{ Pix: []byte{0, 1, 2, 3}, Stride: 1, }, }, { expectedCopiedPlanes: []frameDataPlane{{bytes: []byte{0, 1, 2, 3}, linesize: 1}}, i: &image.Gray{ Pix: []byte{0, 1, 2, 3}, Stride: 1, }, }, { expectedCopiedPlanes: []frameDataPlane{{bytes: []byte{0, 1, 2, 3}, linesize: 1}}, i: &image.Gray16{ Pix: []byte{0, 1, 2, 3}, Stride: 1, }, }, { expectedCopiedPlanes: []frameDataPlane{{bytes: []byte{0, 1, 2, 3}, linesize: 1}}, i: &image.NRGBA{ Pix: []byte{0, 1, 2, 3}, Stride: 1, }, }, { expectedCopiedPlanes: []frameDataPlane{{bytes: []byte{0, 1, 2, 3}, linesize: 1}}, i: &image.NRGBA64{ Pix: []byte{0, 1, 2, 3}, Stride: 1, }, }, { expectedCopiedPlanes: []frameDataPlane{ {bytes: []byte{0, 1}, linesize: 1}, {bytes: []byte{2, 3}, linesize: 2}, {bytes: []byte{4, 5}, linesize: 2}, {bytes: []byte{6, 7}, linesize: 4}, }, i: &image.NYCbCrA{ A: []byte{6, 7}, AStride: 4, YCbCr: image.YCbCr{ Y: []byte{0, 1}, Cb: []byte{2, 3}, Cr: []byte{4, 5}, YStride: 1, CStride: 2, }, }, }, { expectedCopiedPlanes: []frameDataPlane{{bytes: []byte{0, 1, 2, 3}, linesize: 1}}, i: &image.RGBA{ Pix: []byte{0, 1, 2, 3}, Stride: 1, }, }, { expectedCopiedPlanes: []frameDataPlane{{bytes: []byte{0, 1, 2, 3}, linesize: 1}}, i: &image.RGBA64{ Pix: []byte{0, 1, 2, 3}, Stride: 1, }, }, { expectedCopiedPlanes: []frameDataPlane{ {bytes: []byte{0, 1}, linesize: 1}, {bytes: []byte{2, 3}, linesize: 2}, {bytes: []byte{4, 5}, linesize: 2}, }, i: &image.YCbCr{ Y: []byte{0, 1}, Cb: []byte{2, 3}, Cr: []byte{4, 5}, YStride: 1, CStride: 2, }, }, } { require.NoError(t, fd.FromImage(v.i)) require.Equal(t, v.expectedCopiedPlanes, fdf.copiedPlanes) } } func TestFrameData(t *testing.T) { for _, v := range []struct { ext string ifmt *InputFormat md MediaType name string }{ { ext: "pcm", ifmt: FindInputFormat("s16le"), md: MediaTypeAudio, name: "audio-s16le", }, { ext: "png", md: MediaTypeVideo, name: "image-rgba", }, { ext: "h264", md: MediaTypeVideo, name: "video-yuv420p", }, } { f1, err := globalHelper.inputLastFrame(v.name+"."+v.ext, v.md, v.ifmt) require.NoError(t, err) fd1 := f1.Data() b1, err := fd1.Bytes(1) require.NoError(t, err) b2 := []byte(fmt.Sprintf("%+v", b1)) b3, err := os.ReadFile("testdata/" + v.name + "-bytes") require.NoError(t, err) require.Equal(t, b3, b2) var i1 image.Image switch v.md { case MediaTypeVideo: i1, err = fd1.GuessImageFormat() require.NoError(t, err) require.NoError(t, fd1.ToImage(i1)) b4 := []byte(fmt.Sprintf("%+v", i1)) b5, err := os.ReadFile("testdata/" + v.name + "-struct") require.NoError(t, err) require.Equal(t, b5, b4) } f2 := AllocFrame() defer f2.Free() fd2 := f2.Data() align := 0 switch v.md { case MediaTypeAudio: f2.SetChannelLayout(f1.ChannelLayout()) f2.SetNbSamples(f1.NbSamples()) f2.SetSampleFormat(f1.SampleFormat()) f2.SetSampleRate(f1.SampleRate()) require.NoError(t, f2.AllocBuffer(align)) case MediaTypeVideo: align = 1 f2.SetHeight(f1.Height()) f2.SetPixelFormat(f1.PixelFormat()) f2.SetWidth(f1.Width()) require.NoError(t, f2.AllocBuffer(align)) } switch v.md { case MediaTypeVideo: require.NoError(t, fd2.FromImage(i1)) b6, err := fd2.Bytes(align) require.NoError(t, err) b7 := []byte(fmt.Sprintf("%+v", b6)) require.Equal(t, b3, b7) } switch v.md { case MediaTypeAudio: require.NoError(t, f2.SamplesFillSilence()) case MediaTypeVideo: require.NoError(t, f2.ImageFillBlack()) } require.NoError(t, fd2.SetBytes(b1, align)) b1[0] -= 1 b8, err := fd2.Bytes(align) require.NoError(t, err) b9 := []byte(fmt.Sprintf("%+v", b8)) require.Equal(t, b3, b9) f3 := AllocFrame() defer f3.Free() require.NoError(t, f3.Ref(f2)) switch v.md { case MediaTypeVideo: require.Error(t, fd2.FromImage(i1)) } require.Error(t, fd2.SetBytes(b1, align)) f2.MakeWritable() switch v.md { case MediaTypeVideo: require.NoError(t, fd2.FromImage(i1)) } require.NoError(t, fd2.SetBytes(b1, align)) } } ================================================ FILE: frame_flag.go ================================================ package astiav //#include import "C" // https://ffmpeg.org/doxygen/8.0/group__lavu__frame__flags.html#gadddbce4ec0cc2ad4298cf6f266f97f6a type FrameFlag int64 const ( FrameFlagCorrupt = FrameFlag(C.AV_FRAME_FLAG_CORRUPT) FrameFlagDiscard = FrameFlag(C.AV_FRAME_FLAG_DISCARD) FrameFlagInterlaced = FrameFlag(C.AV_FRAME_FLAG_INTERLACED) FrameFlagKey = FrameFlag(C.AV_FRAME_FLAG_KEY) FrameFlagLossless = FrameFlag(C.AV_FRAME_FLAG_LOSSLESS) FrameFlagTopFieldFirst = FrameFlag(C.AV_FRAME_FLAG_TOP_FIELD_FIRST) ) ================================================ FILE: frame_side_data.c ================================================ #include AVRegionOfInterest* astiavConvertRegionsOfInterestFrameSideData(AVFrameSideData *sd) { return (AVRegionOfInterest*)sd->data; } ================================================ FILE: frame_side_data.go ================================================ package astiav //#include //#include "frame_side_data.h" import "C" import ( "errors" "math" "unsafe" ) // https://ffmpeg.org/doxygen/8.0/structAVFrameSideData.html // https://ffmpeg.org/doxygen/8.0/group__lavu__frame.html#gae01fa7e427274293aacdf2adc17076bc type FrameSideData struct { sd ***C.AVFrameSideData size *C.int } func newFrameSideDataFromC(sd ***C.AVFrameSideData, size *C.int) *FrameSideData { return &FrameSideData{ sd: sd, size: size, } } // https://ffmpeg.org/doxygen/8.0/group__lavu__frame.html#ggae01fa7e427274293aacdf2adc17076bcaf525ec92d2c5a78d44950bc3f29972aa func (d *FrameSideData) RegionsOfInterest() *frameSideDataRegionsOfInterest { return newFrameSideDataRegionsOfInterest(d) } type frameSideDataRegionsOfInterest struct { d *FrameSideData } func newFrameSideDataRegionsOfInterest(d *FrameSideData) *frameSideDataRegionsOfInterest { return &frameSideDataRegionsOfInterest{d: d} } func (d *frameSideDataRegionsOfInterest) data(sd *C.AVFrameSideData) *[(math.MaxInt32 - 1) / C.sizeof_AVRegionOfInterest]C.AVRegionOfInterest { return (*[(math.MaxInt32 - 1) / C.sizeof_AVRegionOfInterest](C.AVRegionOfInterest))(unsafe.Pointer(C.astiavConvertRegionsOfInterestFrameSideData(sd))) } func (d *frameSideDataRegionsOfInterest) Add(rois []RegionOfInterest) error { sd := C.av_frame_side_data_new(d.d.sd, d.d.size, C.AV_FRAME_DATA_REGIONS_OF_INTEREST, C.size_t(C.sizeof_AVRegionOfInterest*len(rois)), 0) if sd == nil { return errors.New("astiav: nil pointer") } crois := d.data(sd) for i, roi := range rois { crois[i].bottom = C.int(roi.Bottom) crois[i].left = C.int(roi.Left) crois[i].qoffset = roi.QuantisationOffset.c crois[i].right = C.int(roi.Right) crois[i].self_size = C.sizeof_AVRegionOfInterest crois[i].top = C.int(roi.Top) } return nil } func (d *frameSideDataRegionsOfInterest) Get() ([]RegionOfInterest, bool) { sd := C.av_frame_side_data_get(*d.d.sd, *d.d.size, C.AV_FRAME_DATA_REGIONS_OF_INTEREST) if sd == nil { return nil, false } crois := d.data(sd) rois := make([]RegionOfInterest, int(sd.size/C.sizeof_AVRegionOfInterest)) for i := range rois { rois[i] = RegionOfInterest{ Bottom: int(crois[i].bottom), Left: int(crois[i].left), QuantisationOffset: newRationalFromC(crois[i].qoffset), Right: int(crois[i].right), Top: int(crois[i].top), } } return rois, true } ================================================ FILE: frame_side_data.h ================================================ #include AVRegionOfInterest* astiavConvertRegionsOfInterestFrameSideData(AVFrameSideData *sd); ================================================ FILE: frame_side_data_test.go ================================================ package astiav import ( "testing" "github.com/stretchr/testify/require" ) func testFrameSideData(sd *FrameSideData, t *testing.T) { rois1 := []RegionOfInterest{ { Bottom: 1, Left: 2, QuantisationOffset: NewRational(3, 4), Right: 5, Top: 6, }, { Bottom: 7, Left: 8, QuantisationOffset: NewRational(9, 10), Right: 11, Top: 12, }, } require.NoError(t, sd.RegionsOfInterest().Add(rois1)) rois2, ok := sd.RegionsOfInterest().Get() require.True(t, ok) require.Equal(t, rois1, rois2) } func TestFrameSideData(t *testing.T) { f := AllocFrame() require.NotNil(t, f) defer f.Free() sd := f.SideData() rois1, ok := sd.RegionsOfInterest().Get() require.False(t, ok) require.Nil(t, rois1) rois1 = []RegionOfInterest{ { Bottom: 1, Left: 2, QuantisationOffset: NewRational(3, 4), Right: 5, Top: 6, }, { Bottom: 7, Left: 8, QuantisationOffset: NewRational(9, 10), Right: 11, Top: 12, }, } require.NoError(t, sd.RegionsOfInterest().Add(rois1)) rois2, ok := sd.RegionsOfInterest().Get() require.True(t, ok) require.Equal(t, rois1, rois2) } ================================================ FILE: frame_test.go ================================================ package astiav import ( "testing" "unsafe" "github.com/stretchr/testify/require" ) func TestFrame(t *testing.T) { f1, err := globalHelper.inputLastFrame("video.mp4", MediaTypeVideo, nil) require.NoError(t, err) // Should be "{384, 192, 192, 0, 0, 0, 0, 0}" but for some reason it"s "{320, 160, 160, 0, 0, 0, 0, 0}" // on darwin when testing using github require.Contains(t, [][8]int{ {384, 192, 192, 0, 0, 0, 0, 0}, {320, 160, 160, 0, 0, 0, 0, 0}, }, f1.Linesize()) require.Equal(t, int64(60928), f1.PktDts()) require.Equal(t, unsafe.Pointer(f1.c), f1.UnsafePointer()) f2 := AllocFrame() require.NotNil(t, f2) defer f2.Free() f2.SetChannelLayout(ChannelLayout21) f2.SetColorRange(ColorRangeJpeg) f2.SetColorSpace(ColorSpaceBt709) f2.SetHeight(2) f2.SetFlags(NewFrameFlags(FrameFlagKey)) f2.SetNbSamples(4) f2.SetPictureType(PictureTypeB) f2.SetPixelFormat(PixelFormat0Bgr) require.Equal(t, PixelFormat0Bgr, f2.PixelFormat()) // Need to test it right away as sample format actually updates the same field f2.SetPts(7) f2.SetSampleAspectRatio(NewRational(10, 2)) f2.SetSampleFormat(SampleFormatDbl) require.Equal(t, SampleFormatDbl, f2.SampleFormat()) f2.SetSampleRate(9) f2.SetWidth(10) require.True(t, f2.ChannelLayout().Equal(ChannelLayout21)) require.Equal(t, ColorRangeJpeg, f2.ColorRange()) require.Equal(t, ColorSpaceBt709, f2.ColorSpace()) require.Equal(t, 2, f2.Height()) require.True(t, f2.Flags().Has(FrameFlagKey)) require.Equal(t, 4, f2.NbSamples()) require.Equal(t, PictureTypeB, f2.PictureType()) require.Equal(t, int64(7), f2.Pts()) require.Equal(t, NewRational(10, 2), f2.SampleAspectRatio()) require.Equal(t, 9, f2.SampleRate()) require.Equal(t, 10, f2.Width()) f3 := f1.Clone() require.NotNil(t, f3) defer f3.Free() require.Equal(t, 180, f3.Height()) err = f2.AllocBuffer(0) require.NoError(t, err) err = f3.Ref(f2) require.NoError(t, err) require.Equal(t, 2, f3.Height()) f3.MoveRef(f1) require.Equal(t, 180, f3.Height()) require.Equal(t, 0, f1.Height()) f3.Unref() require.Equal(t, 0, f3.Height()) f4 := AllocFrame() require.NotNil(t, f4) defer f4.Free() f4.SetNbSamples(960) f4.SetChannelLayout(ChannelLayoutStereo) f4.SetSampleFormat(SampleFormatS16) f4.SetSampleRate(48000) align := 0 require.NoError(t, f4.AllocBuffer(align)) require.NoError(t, f4.SamplesFillSilence()) n, err := f4.SamplesBufferSize(align) require.NoError(t, err) require.Equal(t, 3840, n) b := make([]byte, n) n, err = f4.SamplesCopyToBuffer(b, align) require.NoError(t, err) require.Equal(t, 3840, n) require.Equal(t, []byte{0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}, b) f5 := AllocFrame() require.NotNil(t, f5) defer f5.Free() testFrameSideData(f5.SideData(), t) f6 := AllocFrame() require.NotNil(t, f6) defer f6.Free() f6.SetColorRange(ColorRangeUnspecified) f6.SetHeight(2) f6.SetPixelFormat(PixelFormatYuv420P) f6.SetWidth(4) align = 1 require.NoError(t, f6.AllocBuffer(align)) require.NoError(t, f6.ImageFillBlack()) n, err = f6.ImageBufferSize(align) require.NoError(t, err) require.Equal(t, 12, n) b = make([]byte, n) n, err = f6.ImageCopyToBuffer(b, align) require.NoError(t, err) require.Equal(t, 12, n) require.Equal(t, []byte{0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x80, 0x80, 0x80, 0x80}, b) require.True(t, f6.IsWritable()) require.NoError(t, f5.Ref(f6)) require.False(t, f6.IsWritable()) require.NoError(t, f6.MakeWritable()) require.True(t, f6.IsWritable()) f7 := AllocFrame() require.NotNil(t, f7) defer f7.Free() align = 1 f7.SetHeight(f6.Height()) f7.SetPixelFormat(f6.PixelFormat()) f7.SetWidth(f6.Width()) require.NoError(t, f7.AllocBuffer(align)) require.NoError(t, f6.Copy(f7)) f6b, err := f6.Data().Bytes(align) require.NoError(t, err) f7b, err := f7.Data().Bytes(align) require.NoError(t, err) require.Equal(t, f6b, f7b) f8 := AllocFrame() require.NotNil(t, f8) defer f8.Free() d := NewDictionary() require.NoError(t, d.Set("k", "v", 0)) f8.SetMetadata(d) v := f8.Metadata().Get("k", nil, 0) require.NotNil(t, v) require.Equal(t, "v", v.Value()) f8.SetMetadata(nil) require.Nil(t, f8.Metadata()) } ================================================ FILE: go.mod ================================================ module github.com/asticode/go-astiav go 1.21 require ( github.com/asticode/go-astikit v0.42.0 github.com/stretchr/testify v1.7.0 ) require ( github.com/davecgh/go-spew v1.1.0 // indirect github.com/pmezard/go-difflib v1.0.0 // indirect gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c // indirect ) //replace github.com/asticode/go-astikit => ../go-astikit ================================================ FILE: go.sum ================================================ github.com/asticode/go-astikit v0.42.0 h1:pnir/2KLUSr0527Tv908iAH6EGYYrYta132vvjXsH5w= github.com/asticode/go-astikit v0.42.0/go.mod h1:h4ly7idim1tNhaVkdVBeXQZEE3L0xblP7fCWbgwipF0= github.com/davecgh/go-spew v1.1.0 h1:ZDRjVQ15GmhC3fiQ8ni8+OwkZQO4DARzQgrnXU1Liz8= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM= github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= github.com/stretchr/testify v1.7.0 h1:nwc3DEeHmmLAfoZucVR881uASk0Mfjw8xYJ99tb5CcY= github.com/stretchr/testify v1.7.0/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405 h1:yhCVgyC4o1eVCa2tZl7eS0r+SDo693bJlVdllGtEeKM= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c h1:dUUwHk2QECo/6vqA44rthZ8ie2QXMNeKRTHCNY2nXvo= gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= ================================================ FILE: hardware_device_context.go ================================================ package astiav //#include //#include import "C" import ( "unsafe" ) // https://ffmpeg.org/doxygen/8.0/structAVHWDeviceContext.html type HardwareDeviceContext struct { c *C.AVBufferRef } // https://ffmpeg.org/doxygen/8.0/hwcontext_8c.html#a21fbd088225e4e25c4d9a01b3f5e8c51 func CreateHardwareDeviceContext(t HardwareDeviceType, device string, options *Dictionary, flags int) (*HardwareDeviceContext, error) { hdc := HardwareDeviceContext{} deviceC := (*C.char)(nil) if device != "" { deviceC = C.CString(device) defer C.free(unsafe.Pointer(deviceC)) } optionsC := (*C.AVDictionary)(nil) if options != nil { optionsC = options.c } if err := newError(C.av_hwdevice_ctx_create(&hdc.c, (C.enum_AVHWDeviceType)(t), deviceC, optionsC, C.int(flags))); err != nil { return nil, err } return &hdc, nil } // https://ffmpeg.org/doxygen/8.0/hwcontext_8c.html#a80f4c1184e1758150b6d9bc0adf2c1df func (hdc *HardwareDeviceContext) HardwareFramesConstraints() *HardwareFramesConstraints { return newHardwareFramesConstraintsFromC(C.av_hwdevice_get_hwframe_constraints(hdc.c, nil)) } func (hdc *HardwareDeviceContext) Free() { if hdc.c != nil { C.av_buffer_unref(&hdc.c) } } ================================================ FILE: hardware_device_type.go ================================================ package astiav //#include import "C" import ( "unsafe" ) // https://ffmpeg.org/doxygen/8.0/hwcontext_8h.html#acf25724be4b066a51ad86aa9214b0d34 type HardwareDeviceType C.enum_AVHWDeviceType const ( HardwareDeviceTypeCUDA = HardwareDeviceType(C.AV_HWDEVICE_TYPE_CUDA) HardwareDeviceTypeD3D11VA = HardwareDeviceType(C.AV_HWDEVICE_TYPE_D3D11VA) HardwareDeviceTypeDRM = HardwareDeviceType(C.AV_HWDEVICE_TYPE_DRM) HardwareDeviceTypeDXVA2 = HardwareDeviceType(C.AV_HWDEVICE_TYPE_DXVA2) HardwareDeviceTypeMediaCodec = HardwareDeviceType(C.AV_HWDEVICE_TYPE_MEDIACODEC) HardwareDeviceTypeNone = HardwareDeviceType(C.AV_HWDEVICE_TYPE_NONE) HardwareDeviceTypeOpenCL = HardwareDeviceType(C.AV_HWDEVICE_TYPE_OPENCL) HardwareDeviceTypeQSV = HardwareDeviceType(C.AV_HWDEVICE_TYPE_QSV) HardwareDeviceTypeVAAPI = HardwareDeviceType(C.AV_HWDEVICE_TYPE_VAAPI) HardwareDeviceTypeVDPAU = HardwareDeviceType(C.AV_HWDEVICE_TYPE_VDPAU) HardwareDeviceTypeVideoToolbox = HardwareDeviceType(C.AV_HWDEVICE_TYPE_VIDEOTOOLBOX) HardwareDeviceTypeVulkan = HardwareDeviceType(C.AV_HWDEVICE_TYPE_VULKAN) ) // https://ffmpeg.org/doxygen/8.0/hwcontext_8h.html#afb2b99a15f3fdde25a2fd19353ac5a67 func (t HardwareDeviceType) Name() string { return C.GoString(C.av_hwdevice_get_type_name((C.enum_AVHWDeviceType)(t))) } func (t HardwareDeviceType) String() string { return t.Name() } // https://ffmpeg.org/doxygen/8.0/hwcontext_8h.html#a541943ddced791765349645a30adfa4d func FindHardwareDeviceTypeByName(n string) HardwareDeviceType { cn := C.CString(n) defer C.free(unsafe.Pointer(cn)) return HardwareDeviceType(C.av_hwdevice_find_type_by_name(cn)) } ================================================ FILE: hardware_device_type_test.go ================================================ package astiav import ( "testing" "github.com/stretchr/testify/require" ) func TestHardwareDeviceType(t *testing.T) { require.Equal(t, "cuda", HardwareDeviceTypeCUDA.Name()) require.Equal(t, "cuda", HardwareDeviceTypeCUDA.String()) require.Equal(t, FindHardwareDeviceTypeByName("cuda"), HardwareDeviceTypeCUDA) } ================================================ FILE: hardware_frames_constraints.go ================================================ package astiav //#include import "C" import "unsafe" // https://ffmpeg.org/doxygen/8.0/structAVHWFramesConstraints.html type HardwareFramesConstraints struct { c *C.AVHWFramesConstraints } func newHardwareFramesConstraintsFromC(c *C.AVHWFramesConstraints) *HardwareFramesConstraints { if c == nil { return nil } return &HardwareFramesConstraints{c: c} } func (hfc *HardwareFramesConstraints) pixelFormats(formats *C.enum_AVPixelFormat) (o []PixelFormat) { if formats == nil { return nil } size := unsafe.Sizeof(*formats) for i := 0; ; i++ { p := *(*C.int)(unsafe.Pointer(uintptr(unsafe.Pointer(formats)) + uintptr(i)*size)) if p == C.AV_PIX_FMT_NONE { break } o = append(o, PixelFormat(p)) } return } // https://ffmpeg.org/doxygen/8.0/structAVHWFramesConstraints.html#a4258bbe81f927b76b7ca5af44ba7ef6b func (hfc *HardwareFramesConstraints) ValidHardwarePixelFormats() (o []PixelFormat) { return hfc.pixelFormats(hfc.c.valid_hw_formats) } // https://ffmpeg.org/doxygen/8.0/structAVHWFramesConstraints.html#aabea88093c6f85d6185ffb0852a2217f func (hfc *HardwareFramesConstraints) ValidSoftwarePixelFormats() (o []PixelFormat) { return hfc.pixelFormats(hfc.c.valid_sw_formats) } // https://ffmpeg.org/doxygen/8.0/structAVHWFramesConstraints.html#af220776925452091085139081d5d7251 func (hfc *HardwareFramesConstraints) MinWidth() int { return int(hfc.c.min_width) } // https://ffmpeg.org/doxygen/8.0/structAVHWFramesConstraints.html#a3f1aec6d1c90f77837875c2a3598be46 func (hfc *HardwareFramesConstraints) MinHeight() int { return int(hfc.c.min_height) } // https://ffmpeg.org/doxygen/8.0/structAVHWFramesConstraints.html#a34e06e3397af2b83de9d78f893bf4168 func (hfc *HardwareFramesConstraints) MaxWidth() int { return int(hfc.c.max_width) } // https://ffmpeg.org/doxygen/8.0/structAVHWFramesConstraints.html#af5d3a683727f7b92abca7b7114d4e15c func (hfc *HardwareFramesConstraints) MaxHeight() int { return int(hfc.c.max_height) } // https://ffmpeg.org/doxygen/8.0/hwcontext_8c.html#a29da7fa7ffa73266d1cbfccb116ed634 func (hfc *HardwareFramesConstraints) Free() { if hfc.c != nil { C.av_hwframe_constraints_free(&hfc.c) hfc.c = nil } } ================================================ FILE: hardware_frames_context.go ================================================ package astiav //#include import "C" import ( "unsafe" ) // https://ffmpeg.org/doxygen/8.0/structAVHWFramesContext.html type HardwareFramesContext struct { c *C.struct_AVBufferRef } func newHardwareFramesContextFromC(c *C.struct_AVBufferRef) *HardwareFramesContext { if c == nil { return nil } return &HardwareFramesContext{c: c} } // https://ffmpeg.org/doxygen/8.0/hwcontext_8c.html#ac45a7c039eb4e084b692f69ff5f2e217 func AllocHardwareFramesContext(hdc *HardwareDeviceContext) *HardwareFramesContext { return newHardwareFramesContextFromC(C.av_hwframe_ctx_alloc(hdc.c)) } func (hfc *HardwareFramesContext) Free() { if hfc.c != nil { C.av_buffer_unref(&hfc.c) } } func (hfc *HardwareFramesContext) data() *C.AVHWFramesContext { return (*C.AVHWFramesContext)(unsafe.Pointer((hfc.c.data))) } // https://ffmpeg.org/doxygen/8.0/structAVHWFramesContext.html#a9e6f29d0f744930cdd0e8bdff8771520 func (hfc *HardwareFramesContext) SetWidth(width int) { hfc.data().width = C.int(width) } // https://ffmpeg.org/doxygen/8.0/structAVHWFramesContext.html#ae61bbe1d8645a0c573085e29f1d0a58f func (hfc *HardwareFramesContext) SetHeight(height int) { hfc.data().height = C.int(height) } // https://ffmpeg.org/doxygen/8.0/structAVHWFramesContext.html#a045bc1713932804f6ceef170a5578e0e func (hfc *HardwareFramesContext) SetHardwarePixelFormat(format PixelFormat) { hfc.data().format = C.enum_AVPixelFormat(format) } // https://ffmpeg.org/doxygen/8.0/structAVHWFramesContext.html#a663a9aceca97aa7b2426c9aba6543e4a func (hfc *HardwareFramesContext) SetSoftwarePixelFormat(swFormat PixelFormat) { hfc.data().sw_format = C.enum_AVPixelFormat(swFormat) } // https://ffmpeg.org/doxygen/8.0/structAVHWFramesContext.html#a9c3a94dcd9c96e19059b56a6bae9c764 func (hfc *HardwareFramesContext) SetInitialPoolSize(initialPoolSize int) { hfc.data().initial_pool_size = C.int(initialPoolSize) } // https://ffmpeg.org/doxygen/8.0/hwcontext_8c.html#a66a7e1ebc7e459ce07d3de6639ac7e38 func (hfc *HardwareFramesContext) Initialize() error { return newError(C.av_hwframe_ctx_init(hfc.c)) } ================================================ FILE: input_format.go ================================================ package astiav //#include import "C" import "unsafe" // https://ffmpeg.org/doxygen/8.0/structAVInputFormat.html type InputFormat struct { c *C.AVInputFormat } func newInputFormatFromC(c *C.AVInputFormat) *InputFormat { if c == nil { return nil } return &InputFormat{c: c} } // https://ffmpeg.org/doxygen/8.0/group__lavf__decoding.html#ga40034b6d64d372e1c989e16dde4b459a func FindInputFormat(name string) *InputFormat { cname := C.CString(name) defer C.free(unsafe.Pointer(cname)) return newInputFormatFromC(C.av_find_input_format(cname)) } // https://ffmpeg.org/doxygen/8.0/structAVInputFormat.html#a1b30f6647d0c2faf38ba8786d7c3a838 func (f *InputFormat) Flags() IOFormatFlags { return IOFormatFlags(f.c.flags) } // https://ffmpeg.org/doxygen/8.0/structAVInputFormat.html#a850db3eb225e22b64f3304d72134ca0c func (f *InputFormat) Name() string { return C.GoString(f.c.name) } // https://ffmpeg.org/doxygen/8.0/structAVInputFormat.html#a1f67064a527941944017f1dfe65d3aa9 func (f *InputFormat) LongName() string { return C.GoString(f.c.long_name) } func (f *InputFormat) String() string { return f.Name() } ================================================ FILE: input_format_test.go ================================================ package astiav import ( "testing" "github.com/stretchr/testify/require" ) func TestInputFormat(t *testing.T) { formatName := "rawvideo" inputFormat := FindInputFormat(formatName) require.NotNil(t, inputFormat) require.Equal(t, formatName, inputFormat.Name()) require.Equal(t, formatName, inputFormat.String()) require.Equal(t, "raw video", inputFormat.LongName()) } ================================================ FILE: internal/cmd/flags/main.go ================================================ package main import ( "fmt" "log" "os" "path/filepath" "text/template" ) type listItem struct { Name string Suffix string } var list = []listItem{ {Name: "Buffersink"}, {Name: "Buffersrc"}, {Name: "CodecContext"}, {Name: "CodecContext", Suffix: "2"}, {Name: "CodecHardwareConfigMethod"}, {Name: "Dictionary"}, {Name: "Disposition"}, {Name: "ErrorRecognition"}, {Name: "Filter"}, {Name: "FilterCommand"}, {Name: "FormatContext"}, {Name: "FormatContextCtx"}, {Name: "FormatEvent"}, {Name: "Frame"}, {Name: "IOContext"}, {Name: "IOFormat"}, {Name: "OptionSearch"}, {Name: "Packet"}, {Name: "PixelFormatDescriptor"}, {Name: "Seek"}, {Name: "SoftwareScaleContext"}, {Name: "StreamEvent"}, } var tmpl = `// Code generated by astiav. DO NOT EDIT. package astiav import ( "github.com/asticode/go-astikit" ) {{ range $val := . }} type {{ $val.Name }}Flags{{ $val.Suffix }} astikit.BitFlags func New{{ $val.Name }}Flags{{ $val.Suffix }}(fs ...{{ $val.Name }}Flag{{ $val.Suffix }}) {{ $val.Name }}Flags{{ $val.Suffix }} { o := {{ $val.Name }}Flags{{ $val.Suffix }}(0) for _, f := range fs { o = o.Add(f) } return o } func (fs {{ $val.Name }}Flags{{ $val.Suffix }}) Add(f {{ $val.Name }}Flag{{ $val.Suffix }}) {{ $val.Name }}Flags{{ $val.Suffix }} { return {{ $val.Name }}Flags{{ $val.Suffix }}(astikit.BitFlags(fs).Add(uint64(f))) } func (fs {{ $val.Name }}Flags{{ $val.Suffix }}) Del(f {{ $val.Name }}Flag{{ $val.Suffix }}) {{ $val.Name }}Flags{{ $val.Suffix }} { return {{ $val.Name }}Flags{{ $val.Suffix }}(astikit.BitFlags(fs).Del(uint64(f))) } func (fs {{ $val.Name }}Flags{{ $val.Suffix }}) Has(f {{ $val.Name }}Flag{{ $val.Suffix }}) bool { return astikit.BitFlags(fs).Has(uint64(f)) } {{ end }}` var tmplTest = `// Code generated by astiav. DO NOT EDIT. package astiav import ( "testing" "github.com/stretchr/testify/require" ) {{ range $val := . }} func Test{{ $val.Name }}Flags{{ $val.Suffix }}(t *testing.T) { fs := New{{ $val.Name }}Flags{{ $val.Suffix }}({{ $val.Name }}Flag{{ $val.Suffix }}(1)) require.True(t, fs.Has({{ $val.Name }}Flag{{ $val.Suffix }}(1))) fs = fs.Add({{ $val.Name }}Flag{{ $val.Suffix }}(2)) require.True(t, fs.Has({{ $val.Name }}Flag{{ $val.Suffix }}(2))) fs = fs.Del({{ $val.Name }}Flag{{ $val.Suffix }}(2)) require.False(t, fs.Has({{ $val.Name }}Flag{{ $val.Suffix }}(2))) } {{ end }}` func main() { dir, err := os.Getwd() if err != nil { log.Fatal(fmt.Errorf("main: getting working directory failed: %w", err)) } f, err := os.Create(filepath.Join(dir, "flags.go")) if err != nil { log.Fatal(fmt.Errorf("main: creating file failed: %w", err)) } defer f.Close() if err = template.Must(template.New("tmpl").Parse(tmpl)).Execute(f, list); err != nil { log.Fatal(fmt.Errorf("main: executing template failed: %w", err)) } ft, err := os.Create(filepath.Join(dir, "flags_test.go")) if err != nil { log.Fatal(fmt.Errorf("main: creating test file failed: %w", err)) } defer ft.Close() if err = template.Must(template.New("tmpl").Parse(tmplTest)).Execute(ft, list); err != nil { log.Fatal(fmt.Errorf("main: executing template failed: %w", err)) } } ================================================ FILE: io_context.c ================================================ #include "io_context.h" #include int astiavIOContextReadFunc(void *opaque, uint8_t *buf, int buf_size) { return goAstiavIOContextReadFunc(opaque, buf, buf_size); } int64_t astiavIOContextSeekFunc(void *opaque, int64_t offset, int whence) { return goAstiavIOContextSeekFunc(opaque, offset, whence); } int astiavIOContextWriteFunc(void *opaque, uint8_t *buf, int buf_size) { return goAstiavIOContextWriteFunc(opaque, buf, buf_size); } ================================================ FILE: io_context.go ================================================ package astiav //#include //#include "io_context.h" import "C" import ( "errors" "fmt" "io" "sync" "unsafe" ) // https://ffmpeg.org/doxygen/8.0/structAVIOContext.html type IOContext struct { c *C.AVIOContext handlerID unsafe.Pointer } func newIOContextFromC(c *C.AVIOContext) *IOContext { if c == nil { return nil } ic := &IOContext{c: c} classers.set(ic) return ic } var _ Classer = (*IOContext)(nil) type IOContextReadFunc func(b []byte) (n int, err error) type IOContextSeekFunc func(offset int64, whence int) (n int64, err error) type IOContextWriteFunc func(b []byte) (n int, err error) // https://ffmpeg.org/doxygen/8.0/avio_8h.html#a50c588d3c44707784f3afde39e1c181c func AllocIOContext(bufferSize int, writable bool, readFunc IOContextReadFunc, seekFunc IOContextSeekFunc, writeFunc IOContextWriteFunc) (ic *IOContext, err error) { // Invalid buffer size if bufferSize <= 0 { err = errors.New("astiav: buffer size <= 0") return } // Allocate buffer buffer := C.av_malloc(C.size_t(bufferSize)) if buffer == nil { err = errors.New("astiav: allocating buffer failed") return } // Make sure buffer is freed in case of error defer func() { if err != nil { C.av_free(buffer) } }() // Since go doesn't allow c to store pointers to go data, we need to create this C pointer handlerID := C.av_malloc(C.size_t(1)) if handlerID == nil { err = errors.New("astiav: allocating handler id failed") return } // Make sure handler id is freed in case of error defer func() { if err != nil { C.av_free(handlerID) } }() // Get callbacks var cReadFunc, cSeekFunc, cWriteFunc *[0]byte if readFunc != nil { cReadFunc = (*[0]byte)(C.astiavIOContextReadFunc) } if seekFunc != nil { cSeekFunc = (*[0]byte)(C.astiavIOContextSeekFunc) } if writeFunc != nil { cWriteFunc = (*[0]byte)(C.astiavIOContextWriteFunc) } // Get write flag wf := C.int(0) if writable { wf = C.int(1) } // Allocate io context cic := C.avio_alloc_context((*C.uchar)(buffer), C.int(bufferSize), wf, handlerID, cReadFunc, cWriteFunc, cSeekFunc) if cic == nil { err = errors.New("astiav: allocating io context failed: %w") return } // Create io context ic = newIOContextFromC(cic) // Store handler ic.handlerID = handlerID ioContextHandlers.set(handlerID, &ioContextHandler{ r: readFunc, s: seekFunc, w: writeFunc, }) return } // https://ffmpeg.org/doxygen/8.0/avio_8c.html#ae8589aae955d16ca228b6b9d66ced33d func OpenIOContext(filename string, flags IOContextFlags, ii *IOInterrupter, d *Dictionary) (*IOContext, error) { cfi := C.CString(filename) defer C.free(unsafe.Pointer(cfi)) var dc **C.AVDictionary if d != nil { dc = &d.c } var cii *C.AVIOInterruptCB = nil if ii != nil { cii = ii.c } var c *C.AVIOContext if err := newError(C.avio_open2(&c, cfi, C.int(flags), cii, dc)); err != nil { return nil, err } return newIOContextFromC(c), nil } func (ic *IOContext) Class() *Class { if ic.c == nil { return nil } return newClassFromC(unsafe.Pointer(ic.c)) } // https://ffmpeg.org/doxygen/8.0/avio_8c.html#ae118a1f37f1e48617609ead9910aac15 func (ic *IOContext) Close() error { if ic.c != nil { // Make sure to clone the classer before freeing the object since // the C free method may reset the pointer c := newClonedClasser(ic) // Error is returned when closing the url but pointer has been freed at this point // therefore we must make sure classers are cleaned up properly even on error err := newError(C.avio_closep(&ic.c)) // Make sure to remove from classers after freeing the object since // the C free method may use methods needing the classer if c != nil && ic.c == nil { classers.del(c) } return err } return nil } // https://ffmpeg.org/doxygen/8.0/avio_8h.html#ad1baf8cd6711f05a45d0339cafe2d21d func (ic *IOContext) Free() { if ic.c != nil { if ic.c.buffer != nil { C.av_freep(unsafe.Pointer(&ic.c.buffer)) } if ic.handlerID != nil { ioContextHandlers.del(ic.handlerID) C.av_free(ic.handlerID) ic.handlerID = nil } // Make sure to clone the classer before freeing the object since // the C free method may reset the pointer c := newClonedClasser(ic) C.avio_context_free(&ic.c) // Make sure to remove from classers after freeing the object since // the C free method may use methods needing the classer if c != nil { classers.del(c) } } return } // https://ffmpeg.org/doxygen/8.0/avio_8h.html#a53843d2cbe6282d994fcf59c03d59294 func (ic *IOContext) Read(b []byte) (n int, err error) { // Nothing to read if b == nil || len(b) <= 0 { return } // Allocate buffer buf := C.av_malloc(C.size_t(len(b))) if buf == nil { err = errors.New("astiav: allocating buffer failed") return } // Make sure buffer is freed defer C.av_free(buf) // Read ret := C.avio_read_partial(ic.c, (*C.uchar)(unsafe.Pointer(buf)), C.int(len(b))) if err = newError(ret); err != nil { err = fmt.Errorf("astiav: reading failed: %w", err) return } // Copy C.memcpy(unsafe.Pointer(&b[0]), unsafe.Pointer(buf), C.size_t(ret)) n = int(ret) return } // https://ffmpeg.org/doxygen/8.0/avio_8h.html#a03e23bf0144030961c34e803c71f614f func (ic *IOContext) Seek(offset int64, whence int) (int64, error) { ret := C.avio_seek(ic.c, C.int64_t(offset), C.int(whence)) if err := newError(C.int(ret)); err != nil { return 0, err } return int64(ret), nil } // https://ffmpeg.org/doxygen/8.0/avio_8h.html#acc3626afc6aa3964b75d02811457164e func (ic *IOContext) Write(b []byte) { // Nothing to write if b == nil || len(b) <= 0 { return } // Write C.avio_write(ic.c, (*C.uchar)(unsafe.Pointer(&b[0])), C.int(len(b))) } // https://ffmpeg.org/doxygen/8.0/avio_8h.html#ad88b866a118c17c95663f7782b2e8946 func (ic *IOContext) Flush() { C.avio_flush(ic.c) } type ioContextHandler struct { r IOContextReadFunc s IOContextSeekFunc w IOContextWriteFunc } var ioContextHandlers = newIOContextHandlerPool() type ioContextHandlerPool struct { m sync.Mutex p map[unsafe.Pointer]*ioContextHandler } func newIOContextHandlerPool() *ioContextHandlerPool { return &ioContextHandlerPool{p: make(map[unsafe.Pointer]*ioContextHandler)} } func (p *ioContextHandlerPool) set(id unsafe.Pointer, h *ioContextHandler) { p.m.Lock() defer p.m.Unlock() p.p[id] = h } func (p *ioContextHandlerPool) get(id unsafe.Pointer) (h *ioContextHandler, ok bool) { p.m.Lock() defer p.m.Unlock() h, ok = p.p[id] return } func (p *ioContextHandlerPool) del(id unsafe.Pointer) { p.m.Lock() defer p.m.Unlock() delete(p.p, id) } //export goAstiavIOContextReadFunc func goAstiavIOContextReadFunc(opaque unsafe.Pointer, buf *C.uint8_t, bufSize C.int) C.int { // Get handler h, ok := ioContextHandlers.get(opaque) if !ok { return C.AVERROR_UNKNOWN } // Create go buffer b := make([]byte, int(bufSize), int(bufSize)) // Read n, err := h.r(b) if err != nil { var e Error if errors.As(err, &e) { return C.int(e) } else if errors.Is(err, io.EOF) { return C.AVERROR_EOF } return C.AVERROR_UNKNOWN } // Copy C.memcpy(unsafe.Pointer(buf), unsafe.Pointer(&b[0]), C.size_t(n)) return C.int(n) } //export goAstiavIOContextSeekFunc func goAstiavIOContextSeekFunc(opaque unsafe.Pointer, offset C.int64_t, whence C.int) C.int64_t { // Get handler h, ok := ioContextHandlers.get(opaque) if !ok { return C.AVERROR_UNKNOWN } // Seek n, err := h.s(int64(offset), int(whence)) if err != nil { var e Error if errors.As(err, &e) { return C.int64_t(e) } return C.int64_t(C.AVERROR_UNKNOWN) } return C.int64_t(n) } //export goAstiavIOContextWriteFunc func goAstiavIOContextWriteFunc(opaque unsafe.Pointer, buf *C.uint8_t, bufSize C.int) C.int { // Get handler h, ok := ioContextHandlers.get(opaque) if !ok { return C.AVERROR_UNKNOWN } // Write n, err := h.w(C.GoBytes(unsafe.Pointer(buf), bufSize)) if err != nil { var e Error if errors.As(err, &e) { return C.int(e) } return C.AVERROR_UNKNOWN } return C.int(n) } ================================================ FILE: io_context.h ================================================ #include extern int goAstiavIOContextReadFunc(void *opaque, uint8_t *buf, int buf_size); extern int64_t goAstiavIOContextSeekFunc(void *opaque, int64_t offset, int whence); extern int goAstiavIOContextWriteFunc(void *opaque, uint8_t *buf, int buf_size); int astiavIOContextReadFunc(void *opaque, uint8_t *buf, int buf_size); int64_t astiavIOContextSeekFunc(void *opaque, int64_t offset, int whence); int astiavIOContextWriteFunc(void *opaque, uint8_t *buf, int buf_size); ================================================ FILE: io_context_flag.go ================================================ package astiav //#include import "C" // https://ffmpeg.org/doxygen/8.0/avio_8h.html#a21e61cb486bd1588eb7f775998cf8c77 type IOContextFlag int64 const ( IOContextFlagRead = IOContextFlag(C.AVIO_FLAG_READ) IOContextFlagWrite = IOContextFlag(C.AVIO_FLAG_WRITE) IOContextFlagReadWrite = IOContextFlag(C.AVIO_FLAG_READ_WRITE) IOContextFlagNonBlock = IOContextFlag(C.AVIO_FLAG_NONBLOCK) IOContextFlagDirect = IOContextFlag(C.AVIO_FLAG_DIRECT) ) ================================================ FILE: io_context_test.go ================================================ package astiav import ( "io" "os" "path/filepath" "testing" "github.com/stretchr/testify/require" ) func TestIOContext(t *testing.T) { t.Run("read write seek", func(t *testing.T) { var seeked bool rb := []byte("read") wb := []byte("write") var written []byte c, err := AllocIOContext(8, true, func(b []byte) (int, error) { copy(b, rb) return len(rb), nil }, func(offset int64, whence int) (n int64, err error) { seeked = true return offset, nil }, func(b []byte) (int, error) { written = make([]byte, len(b)) copy(written, b) return len(b), nil }) require.NoError(t, err) defer c.Free() b := make([]byte, 6) n, err := c.Read(b) require.NoError(t, err) require.Equal(t, 4, n) require.Equal(t, rb, b[:n]) _, err = c.Seek(2, 0) require.NoError(t, err) require.True(t, seeked) c.Write(wb) c.Flush() require.Equal(t, wb, written) }) t.Run("io.EOF is mapped to AVERROR_EOF when reading", func(t *testing.T) { c, err := AllocIOContext(8, false, func(b []byte) (int, error) { return 0, io.EOF }, nil, nil) require.NoError(t, err) defer c.Free() b := make([]byte, 100) n, err := c.Read(b) require.ErrorIs(t, err, ErrEof) require.Equal(t, 0, n) }) } func TestOpenIOContext(t *testing.T) { path := filepath.Join(t.TempDir(), "iocontext.txt") c1, err := OpenIOContext(path, NewIOContextFlags(IOContextFlagWrite), nil, nil) require.NoError(t, err) defer os.RemoveAll(path) cl := c1.Class() require.NotNil(t, cl) require.Equal(t, "AVIOContext", cl.Name()) c1.Write(nil) c1.Write([]byte("test")) require.NoError(t, c1.Close()) b1, err := os.ReadFile(path) require.NoError(t, err) require.Equal(t, "test", string(b1)) ii := NewIOInterrupter() defer ii.Free() c2, err := OpenIOContext(path, NewIOContextFlags(IOContextFlagRead), ii, nil) require.NoError(t, err) b2 := make([]byte, 10) _, err = c2.Read(b2) require.NoError(t, err) ii.Interrupt() _, err = c2.Read(b2) require.ErrorIs(t, err, ErrExit) require.ErrorIs(t, c2.Close(), ErrExit) d := NewDictionary() require.NoError(t, d.Set("protocol_whitelist", "rtp", NewDictionaryFlags())) _, err = OpenIOContext(path, NewIOContextFlags(IOContextFlagWrite), nil, d) require.Error(t, err) } ================================================ FILE: io_format_flag.go ================================================ package astiav //#include import "C" // https://ffmpeg.org/doxygen/8.0/avformat_8h.html#a752cce390d480521919aa5d8be24ac0b type IOFormatFlag int64 const ( IOFormatFlagNofile = IOFormatFlag(C.AVFMT_NOFILE) IOFormatFlagNeednumber = IOFormatFlag(C.AVFMT_NEEDNUMBER) IOFormatFlagExperimental = IOFormatFlag(C.AVFMT_EXPERIMENTAL) IOFormatFlagShowIds = IOFormatFlag(C.AVFMT_SHOW_IDS) IOFormatFlagGlobalheader = IOFormatFlag(C.AVFMT_GLOBALHEADER) IOFormatFlagNotimestamps = IOFormatFlag(C.AVFMT_NOTIMESTAMPS) IOFormatFlagGenericIndex = IOFormatFlag(C.AVFMT_GENERIC_INDEX) IOFormatFlagTsDiscont = IOFormatFlag(C.AVFMT_TS_DISCONT) IOFormatFlagVariableFps = IOFormatFlag(C.AVFMT_VARIABLE_FPS) IOFormatFlagNodimensions = IOFormatFlag(C.AVFMT_NODIMENSIONS) IOFormatFlagNostreams = IOFormatFlag(C.AVFMT_NOSTREAMS) IOFormatFlagNobinsearch = IOFormatFlag(C.AVFMT_NOBINSEARCH) IOFormatFlagNogensearch = IOFormatFlag(C.AVFMT_NOGENSEARCH) IOFormatFlagNoByteSeek = IOFormatFlag(C.AVFMT_NO_BYTE_SEEK) IOFormatFlagTsNonstrict = IOFormatFlag(C.AVFMT_TS_NONSTRICT) IOFormatFlagTsNegative = IOFormatFlag(C.AVFMT_TS_NEGATIVE) IOFormatFlagSeekToPts = IOFormatFlag(C.AVFMT_SEEK_TO_PTS) ) ================================================ FILE: io_interrupter.c ================================================ #include #include #include #include int astiavInterruptCallback(void *ret) { return atomic_load((atomic_int*)ret); } AVIOInterruptCB* astiavNewInterruptCallback(atomic_int *ret) { AVIOInterruptCB* c = av_malloc(sizeof(AVIOInterruptCB)); c->callback = astiavInterruptCallback; c->opaque = ret; return c; } ================================================ FILE: io_interrupter.go ================================================ package astiav //#include "atomic.h" //#include "io_interrupter.h" //#include //#include import "C" import "unsafe" type IOInterrupter struct { c *C.AVIOInterruptCB i C.atomic_int } func NewIOInterrupter() *IOInterrupter { i := &IOInterrupter{} i.c = C.astiavNewInterruptCallback(&i.i) return i } func (i *IOInterrupter) Free() { if i.c != nil { C.av_free(unsafe.Pointer(i.c)) i.c = nil } } func (i *IOInterrupter) Interrupt() { C.astiavAtomicStoreInt(&i.i, 1) } func (i *IOInterrupter) Interrupted() bool { return C.astiavAtomicLoadInt(&i.i) == 1 } func (i *IOInterrupter) Resume() { C.astiavAtomicStoreInt(&i.i, 0) } ================================================ FILE: io_interrupter.h ================================================ #include #include int astiavInterruptCallback(void *ret); AVIOInterruptCB* astiavNewInterruptCallback(atomic_int *ret); ================================================ FILE: io_interrupter_test.go ================================================ package astiav import ( "testing" "github.com/stretchr/testify/require" ) func TestIOInterrupter(t *testing.T) { ii := NewIOInterrupter() defer ii.Free() require.False(t, ii.Interrupted()) ii.Interrupt() require.True(t, ii.Interrupted()) ii.Resume() require.False(t, ii.Interrupted()) } ================================================ FILE: level.go ================================================ package astiav //#include import "C" // https://ffmpeg.org/doxygen/8.0/defs_8h.html#a3b66f83dc9a672ac570d1acfb27b1057 type Level int const ( LevelUnknown = Level(C.AV_LEVEL_UNKNOWN) ) ================================================ FILE: log.c ================================================ #include "log.h" #include #include #ifndef ASTIAV_LOG_BUF_SIZE #define ASTIAV_LOG_BUF_SIZE 4096 #endif void astiavLogCallback(void *ptr, int level, const char *fmt, va_list vl) { if (level > av_log_get_level()) return; char msg[ASTIAV_LOG_BUF_SIZE]; vsprintf(msg, fmt, vl); goAstiavLogCallback(ptr, level, (char*)(fmt), msg); } void astiavSetLogCallback() { av_log_set_callback(astiavLogCallback); } void astiavResetLogCallback() { av_log_set_callback(av_log_default_callback); } void astiavLog(void* ptr, int level, const char *fmt, char* arg) { av_log(ptr, level, fmt, arg); } ================================================ FILE: log.go ================================================ package astiav //#include "log.h" //#include //#include import "C" import ( "unsafe" ) // https://ffmpeg.org/doxygen/8.0/group__lavu__log__constants.html#ga11e329935b59b83ca722b66674f37fd4 type LogLevel int const ( LogLevelQuiet = LogLevel(C.AV_LOG_QUIET) LogLevelPanic = LogLevel(C.AV_LOG_PANIC) LogLevelFatal = LogLevel(C.AV_LOG_FATAL) LogLevelError = LogLevel(C.AV_LOG_ERROR) LogLevelWarning = LogLevel(C.AV_LOG_WARNING) LogLevelInfo = LogLevel(C.AV_LOG_INFO) LogLevelVerbose = LogLevel(C.AV_LOG_VERBOSE) LogLevelDebug = LogLevel(C.AV_LOG_DEBUG) ) // https://ffmpeg.org/doxygen/8.0/group__lavu__log.html#ga1fd32c74db581e3e2e7f35d277bb1e24 func SetLogLevel(l LogLevel) { C.av_log_set_level(C.int(l)) } // https://ffmpeg.org/doxygen/8.0/group__lavu__log.html#gae8ada5cc5722548d8698650b05207904 func GetLogLevel() LogLevel { return LogLevel(C.av_log_get_level()) } type LogCallback func(c Classer, l LogLevel, fmt, msg string) var logCallback LogCallback // https://ffmpeg.org/doxygen/8.0/group__lavu__log.html#ga14034761faf581a8b9ed6ef19b313708 func SetLogCallback(c LogCallback) { logCallback = c C.astiavSetLogCallback() } //export goAstiavLogCallback func goAstiavLogCallback(ptr unsafe.Pointer, level C.int, fmt, msg *C.char) { // No callback if logCallback == nil { return } // Get classer var c Classer if ptr != nil { var ok bool if c, ok = classers.get(ptr); !ok { c = newUnknownClasser(ptr) } } // Callback logCallback(c, LogLevel(level), C.GoString(fmt), C.GoString(msg)) } // https://ffmpeg.org/doxygen/8.0/group__lavu__log.html#ga5bd132d2e4ac6f9843ef6d8e3c05050a func ResetLogCallback() { C.astiavResetLogCallback() } // https://ffmpeg.org/doxygen/8.0/group__lavu__log.html#gabd386ffd4b27637cf34e98d5d1a6e8ae func Log(c Classer, l LogLevel, fmt string, args ...string) { fmtc := C.CString(fmt) defer C.free(unsafe.Pointer(fmtc)) argc := (*C.char)(nil) if len(args) > 0 { argc = C.CString(args[0]) defer C.free(unsafe.Pointer(argc)) } var ptr unsafe.Pointer if c != nil { if cl := c.Class(); cl != nil { ptr = cl.ptr } } C.astiavLog(ptr, C.int(l), fmtc, argc) } ================================================ FILE: log.h ================================================ #include extern void goAstiavLogCallback(void* ptr, int level, char* fmt, char* msg); void astiavLogCallback(void *ptr, int level, const char *fmt, va_list vl); void astiavSetLogCallback(); void astiavResetLogCallback(); void astiavLog(void* ptr, int level, const char *fmt, char* arg); ================================================ FILE: log_test.go ================================================ package astiav import ( "testing" "github.com/stretchr/testify/require" ) type logItem struct { c Classer fmt string l LogLevel msg string } func TestLog(t *testing.T) { var lis []logItem SetLogLevel(LogLevelWarning) require.Equal(t, LogLevelWarning, GetLogLevel()) SetLogCallback(func(c Classer, l LogLevel, fmt, msg string) { lis = append(lis, logItem{ c: c, fmt: fmt, l: l, msg: msg, }) }) f := AllocFilterGraph() defer f.Free() Log(f, LogLevelInfo, "info") Log(f, LogLevelWarning, "warning %s", "arg") Log(f, LogLevelError, "error") Log(f, LogLevelFatal, "fatal") require.Equal(t, []logItem{ { c: f, fmt: "warning %s", l: LogLevelWarning, msg: "warning arg", }, { c: f, fmt: "error", l: LogLevelError, msg: "error", }, { c: f, fmt: "fatal", l: LogLevelFatal, msg: "fatal", }, }, lis) ResetLogCallback() lis = []logItem{} Log(nil, LogLevelError, "test error log\n") require.Equal(t, []logItem{}, lis) lcs := []Classer{} SetLogCallback(func(c Classer, l LogLevel, fmt, msg string) { if c != nil { lcs = append(lcs, c) } }) classers.del(f) lcs = []Classer{} Log(f, LogLevelWarning, "") require.Len(t, lcs, 1) require.IsType(t, &UnknownClasser{}, lcs[0]) } ================================================ FILE: macros.c ================================================ #include #include ptrdiff_t astiavFFAlign(int i, int align) { return FFALIGN(i, align); } ================================================ FILE: macros.h ================================================ #include ptrdiff_t astiavFFAlign(int i, int align); ================================================ FILE: mathematics.go ================================================ package astiav //#include import "C" // https://ffmpeg.org/doxygen/8.0/group__lavu__math.html#gaf02994a8bbeaa91d4757df179cbe567f func RescaleQ(a int64, b Rational, c Rational) int64 { return int64(C.av_rescale_q(C.int64_t(a), b.c, c.c)) } // https://ffmpeg.org/doxygen/8.0/group__lavu__math.html#gab706bfec9bf56534e02ca9564cb968f6 func RescaleQRnd(a int64, b Rational, c Rational, r Rounding) int64 { return int64(C.av_rescale_q_rnd(C.int64_t(a), b.c, c.c, C.enum_AVRounding(r))) } ================================================ FILE: mathematics_test.go ================================================ package astiav import ( "testing" "github.com/stretchr/testify/require" ) func TestMathematics(t *testing.T) { require.Equal(t, int64(1000), RescaleQ(100, NewRational(1, 100), NewRational(1, 1000))) require.Equal(t, int64(0), RescaleQRnd(1, NewRational(1, 100), NewRational(1, 10), RoundingDown)) require.Equal(t, int64(1), RescaleQRnd(1, NewRational(1, 100), NewRational(1, 10), RoundingUp)) } ================================================ FILE: media_type.go ================================================ package astiav //#include //#include import "C" // https://ffmpeg.org/doxygen/8.0/group__lavu__misc.html#ga9a84bba4713dfced21a1a56163be1f48 type MediaType C.enum_AVMediaType const ( MediaTypeAttachment = MediaType(C.AVMEDIA_TYPE_ATTACHMENT) MediaTypeAudio = MediaType(C.AVMEDIA_TYPE_AUDIO) MediaTypeData = MediaType(C.AVMEDIA_TYPE_DATA) MediaTypeNb = MediaType(C.AVMEDIA_TYPE_NB) MediaTypeSubtitle = MediaType(C.AVMEDIA_TYPE_SUBTITLE) MediaTypeUnknown = MediaType(C.AVMEDIA_TYPE_UNKNOWN) MediaTypeVideo = MediaType(C.AVMEDIA_TYPE_VIDEO) ) // https://ffmpeg.org/doxygen/8.0/group__lavu__misc.html#gaf21645cfa855b2caf9699d7dc7b2d08e func (t MediaType) String() string { return C.GoString(C.av_get_media_type_string((C.enum_AVMediaType)(t))) } ================================================ FILE: media_type_test.go ================================================ package astiav import ( "testing" "github.com/stretchr/testify/require" ) func TestMediaType(t *testing.T) { require.Equal(t, "video", MediaTypeVideo.String()) } ================================================ FILE: option.c ================================================ #include int astiavOptionGet(void *obj, const char *name, const char **value, int flags) { uint8_t *v = NULL; int ret = av_opt_get(obj, name, flags, &v); if (ret < 0) { return ret; } *value = (const char *)v; return 0; } ================================================ FILE: option.go ================================================ package astiav //#include //#include "option.h" import "C" import ( "unsafe" ) // https://www.ffmpeg.org/doxygen/7.0/structAVOption.html type Option struct { c *C.AVOption } func newOptionFromC(c *C.AVOption) *Option { if c == nil { return nil } return &Option{c: c} } // https://www.ffmpeg.org/doxygen/7.0/structAVOption.html#a87e81c6e58d6a94d97a98ad15a4e507c func (o *Option) Name() string { return C.GoString(o.c.name) } type Options struct { c unsafe.Pointer } func newOptionsFromC(c unsafe.Pointer) *Options { if c == nil { return nil } return &Options{c: c} } // https://www.ffmpeg.org/doxygen/7.0/group__opt__mng.html#gabc75970cd87d1bf47a4ff449470e9225 func (os *Options) List() (list []*Option) { var prev *C.AVOption for { o := C.av_opt_next(os.c, prev) if o == nil { return } list = append(list, newOptionFromC(o)) prev = o } } // https://www.ffmpeg.org/doxygen/7.0/group__opt__set__funcs.html#ga5fd4b92bdf4f392a2847f711676a7537 func (os *Options) Set(name, value string, f OptionSearchFlags) error { cname := C.CString(name) defer C.free(unsafe.Pointer(cname)) cvalue := C.CString(value) defer C.free(unsafe.Pointer(cvalue)) return newError(C.av_opt_set(os.c, cname, cvalue, C.int(f))) } // https://www.ffmpeg.org/doxygen/7.0/group__opt__get__funcs.html#gaf31144e60f9ce89dbe8cbea57a0b232c func (os *Options) Get(name string, f OptionSearchFlags) (string, error) { cname := C.CString(name) defer C.free(unsafe.Pointer(cname)) var cvalue *C.char = nil if err := newError(C.astiavOptionGet(os.c, cname, &cvalue, C.int(f))); err != nil { return "", err } if cvalue == nil { return "", nil } defer C.av_freep(unsafe.Pointer(&cvalue)) return C.GoString(cvalue), nil } ================================================ FILE: option.h ================================================ int astiavOptionGet(void *obj, const char *name, const char **value, int flags); ================================================ FILE: option_search_flag.go ================================================ package astiav //#include import "C" // https://ffmpeg.org/doxygen/8.0/group__opt__mng.html#ga25801ba4fc9b5313eb33ec84e082dd72 type OptionSearchFlag int64 const ( OptionSearchFlagChildren = CodecContextFlag(C.AV_OPT_SEARCH_CHILDREN) OptionSearchFlagFakeObject = CodecContextFlag(C.AV_OPT_SEARCH_FAKE_OBJ) ) ================================================ FILE: option_test.go ================================================ package astiav import ( "testing" "github.com/stretchr/testify/require" ) func TestOption(t *testing.T) { fc, err := AllocOutputFormatContext(nil, "mp4", "") require.NoError(t, err) pd := fc.PrivateData() require.NotNil(t, pd) os := pd.Options() require.NotNil(t, os) l := os.List() require.Len(t, l, 56) const name = "brand" o := l[0] require.Equal(t, name, o.Name()) _, err = os.Get("invalid", NewOptionSearchFlags()) require.Error(t, err) v, err := os.Get(name, NewOptionSearchFlags()) require.NoError(t, err) require.Equal(t, "", v) require.Error(t, os.Set("invalid", "", NewOptionSearchFlags())) const value = "test" require.NoError(t, os.Set(name, value, NewOptionSearchFlags())) v, err = os.Get(name, NewOptionSearchFlags()) require.NoError(t, err) require.Equal(t, value, v) } ================================================ FILE: output_format.go ================================================ package astiav //#include import "C" import "unsafe" // https://ffmpeg.org/doxygen/8.0/structAVOutputFormat.html type OutputFormat struct { c *C.AVOutputFormat } func newOutputFormatFromC(c *C.AVOutputFormat) *OutputFormat { if c == nil { return nil } return &OutputFormat{c: c} } // https://ffmpeg.org/doxygen/8.0/group__lavf__encoding.html#ga00bceb049f2b20716e2f36ebc990a350 func FindOutputFormat(name string) *OutputFormat { cname := C.CString(name) defer C.free(unsafe.Pointer(cname)) return newOutputFormatFromC(C.av_guess_format(cname, nil, nil)) } // https://ffmpeg.org/doxygen/8.0/structAVOutputFormat.html#aad55a00e728a020c1dcfaaf695320445 func (f *OutputFormat) Flags() IOFormatFlags { return IOFormatFlags(f.c.flags) } // https://ffmpeg.org/doxygen/8.0/structAVOutputFormat.html#ac3abc5f47f3465b6b7eec89c9476351c func (f *OutputFormat) Name() string { return C.GoString(f.c.name) } // https://ffmpeg.org/doxygen/8.0/structAVOutputFormat.html#a4ff98d90aac0047a204a35a758a363fc func (f *OutputFormat) LongName() string { return C.GoString(f.c.long_name) } func (f *OutputFormat) String() string { return f.Name() } ================================================ FILE: output_format_test.go ================================================ package astiav import ( "testing" "github.com/stretchr/testify/require" ) func TestOutputFormat(t *testing.T) { formatName := "rawvideo" outputFormat := FindOutputFormat(formatName) require.NotNil(t, outputFormat) require.Equal(t, formatName, outputFormat.Name()) require.Equal(t, formatName, outputFormat.String()) require.Equal(t, "raw video", outputFormat.LongName()) } ================================================ FILE: packet.go ================================================ package astiav //#include import "C" import ( "errors" "unsafe" ) // https://ffmpeg.org/doxygen/8.0/structAVPacket.html type Packet struct { c *C.AVPacket } func newPacketFromC(c *C.AVPacket) *Packet { if c == nil { return nil } return &Packet{c: c} } // https://ffmpeg.org/doxygen/8.0/group__lavc__packet.html#gaaf85aa950695631e0217a16062289b66 func AllocPacket() *Packet { return newPacketFromC(C.av_packet_alloc()) } // https://ffmpeg.org/doxygen/8.0/structAVPacket.html#aaf4fe58dfcc7c232c1f2268b539d8367 func (p *Packet) Data() []byte { if p.c.data == nil { return nil } return bytesFromC(func(size *C.size_t) *C.uint8_t { *size = C.size_t(p.c.size) return p.c.data }) } // https://ffmpeg.org/doxygen/8.0/structAVPacket.html#a85dbbd306b44b02390cd91c45e6a0f76 func (p *Packet) Dts() int64 { return int64(p.c.dts) } // https://ffmpeg.org/doxygen/8.0/structAVPacket.html#a85dbbd306b44b02390cd91c45e6a0f76 func (p *Packet) SetDts(v int64) { p.c.dts = C.int64_t(v) } // https://ffmpeg.org/doxygen/8.0/structAVPacket.html#a622e758be29fd500aed0ffdc069550f7 func (p *Packet) Duration() int64 { return int64(p.c.duration) } // https://ffmpeg.org/doxygen/8.0/structAVPacket.html#a622e758be29fd500aed0ffdc069550f7 func (p *Packet) SetDuration(d int64) { p.c.duration = C.int64_t(d) } // https://ffmpeg.org/doxygen/8.0/structAVPacket.html#a437be96a9da675f12caa228a9c81bd82 func (p *Packet) Flags() PacketFlags { return PacketFlags(p.c.flags) } // https://ffmpeg.org/doxygen/8.0/structAVPacket.html#a437be96a9da675f12caa228a9c81bd82 func (p *Packet) SetFlags(f PacketFlags) { p.c.flags = C.int(f) } // https://ffmpeg.org/doxygen/8.0/structAVPacket.html#ab5793d8195cf4789dfb3913b7a693903 func (p *Packet) Pos() int64 { return int64(p.c.pos) } // https://ffmpeg.org/doxygen/8.0/structAVPacket.html#ab5793d8195cf4789dfb3913b7a693903 func (p *Packet) SetPos(v int64) { p.c.pos = C.int64_t(v) } // https://ffmpeg.org/doxygen/8.0/structAVPacket.html#a73bde0a37f3b1efc839f11295bfbf42a func (p *Packet) Pts() int64 { return int64(p.c.pts) } // https://ffmpeg.org/doxygen/8.0/structAVPacket.html#a73bde0a37f3b1efc839f11295bfbf42a func (p *Packet) SetPts(v int64) { p.c.pts = C.int64_t(v) } // https://ffmpeg.org/doxygen/8.0/structAVPacket.html#ac55bfef91c33f02704ba76518d0f294c func (p *Packet) SideData() *PacketSideData { return newPacketSideDataFromC(&p.c.side_data, &p.c.side_data_elems) } // https://ffmpeg.org/doxygen/8.0/structAVPacket.html#a4d1ea19f63eb107111fd650ca514d1f4 func (p *Packet) Size() int { return int(p.c.size) } // https://ffmpeg.org/doxygen/8.0/structAVPacket.html#a4d1ea19f63eb107111fd650ca514d1f4 func (p *Packet) SetSize(s int) { p.c.size = C.int(s) } // https://ffmpeg.org/doxygen/8.0/structAVPacket.html#a0d1cb9b5a32b00fb6edc81ea3aae2a49 func (p *Packet) StreamIndex() int { return int(p.c.stream_index) } // https://ffmpeg.org/doxygen/8.0/structAVPacket.html#a0d1cb9b5a32b00fb6edc81ea3aae2a49 func (p *Packet) SetStreamIndex(i int) { p.c.stream_index = C.int(i) } // https://ffmpeg.org/doxygen/8.0/group__lavc__packet.html#ga1066464e7cdd1f215df6940db94e5d8e func (p *Packet) Free() { if p.c != nil { C.av_packet_free(&p.c) } } // https://ffmpeg.org/doxygen/8.0/group__lavc__packet.html#gacbe3e51cf411a7003d706127dc48cbb1 func (p *Packet) Clone() *Packet { return newPacketFromC(C.av_packet_clone(p.c)) } // https://ffmpeg.org/doxygen/8.0/group__lavc__packet.html#gade00f67930f4e2a3401b67b701d5b3a2 func (p *Packet) CopyProperties(src *Packet) error { return newError(C.av_packet_copy_props(p.c, src.c)) } // https://ffmpeg.org/doxygen/8.0/group__lavc__packet.html#ga8a6deff6c1809029037ffd760db3e0d4 func (p *Packet) MakeReferenceCounted() error { return newError(C.av_packet_make_refcounted(p.c)) } // https://ffmpeg.org/doxygen/8.0/group__lavc__packet.html#gaaa304ffdab83984ac995d134e4298d4b func (p *Packet) MakeWritable() error { return newError(C.av_packet_make_writable(p.c)) } func (p *Packet) IsWritable() bool { return p.c.buf != nil && C.av_buffer_is_writable(p.c.buf) != 0 } // https://ffmpeg.org/doxygen/8.0/group__lavc__packet.html#gadfa708660b85a56749c753124de2da7d func (p *Packet) AllocPayload(s int) error { return newError(C.av_new_packet(p.c, C.int(s))) } // https://ffmpeg.org/doxygen/8.0/group__lavc__packet.html#gadb05d71fa2ea7b7fd3e8cfc6d9065a47 func (p *Packet) Ref(src *Packet) error { return newError(C.av_packet_ref(p.c, src.c)) } // https://ffmpeg.org/doxygen/8.0/group__lavc__packet.html#ga63d5a489b419bd5d45cfd09091cbcbc2 func (p *Packet) Unref() { C.av_packet_unref(p.c) } // https://ffmpeg.org/doxygen/8.0/group__lavc__packet.html#ga91dbb1359f99547adb544ee96a406b21 func (p *Packet) MoveRef(src *Packet) { C.av_packet_move_ref(p.c, src.c) } // https://ffmpeg.org/doxygen/8.0/group__lavc__packet.html#gae5c86e4d93f6e7aa62ef2c60763ea67e func (p *Packet) RescaleTs(src, dst Rational) { C.av_packet_rescale_ts(p.c, src.c, dst.c) } // https://ffmpeg.org/doxygen/8.0/group__lavc__packet.html#ga7ca877e1f0ded89a27199b65e9a077dc func (p *Packet) FromData(data []byte) (err error) { // Create buf buf := (*C.uint8_t)(C.av_malloc(C.size_t(len(data)))) if buf == nil { err = errors.New("astiav: allocating buffer failed") return } // Make sure to free buf in case of error defer func() { if err != nil { C.av_freep(unsafe.Pointer(&buf)) } }() // Copy if len(data) > 0 { C.memcpy(unsafe.Pointer(buf), unsafe.Pointer(&data[0]), C.size_t(len(data))) } // From data err = newError(C.av_packet_from_data(p.c, buf, C.int(len(data)))) return } ================================================ FILE: packet_flag.go ================================================ package astiav //#include import "C" // https://ffmpeg.org/doxygen/8.0/group__lavc__packet.html#ga75603d7c2b8adf5829f4fd2fb860168f type PacketFlag int64 const ( PacketFlagCorrupt = PacketFlag(C.AV_PKT_FLAG_CORRUPT) PacketFlagDiscard = PacketFlag(C.AV_PKT_FLAG_DISCARD) PacketFlagKey = PacketFlag(C.AV_PKT_FLAG_KEY) ) ================================================ FILE: packet_side_data.go ================================================ package astiav //#include import "C" import ( "errors" "unsafe" ) // https://ffmpeg.org/doxygen/8.0/structAVPacketSideData.html // https://ffmpeg.org/doxygen/8.0/group__lavc__packet__side__data.html#ga9a80bfcacc586b483a973272800edb97 type PacketSideData struct { sd **C.AVPacketSideData size *C.int } func newPacketSideDataFromC(sd **C.AVPacketSideData, size *C.int) *PacketSideData { return &PacketSideData{ sd: sd, size: size, } } // https://ffmpeg.org/doxygen/8.0/group__lavc__packet__side__data.html#gga9a80bfcacc586b483a973272800edb97aab8c149a1e6c67aad340733becec87e1 func (d *PacketSideData) DisplayMatrix() *packetSideDataDisplayMatrix { return newPacketSideDataDisplayMatrix(d) } type packetSideDataDisplayMatrix struct { d *PacketSideData } func newPacketSideDataDisplayMatrix(d *PacketSideData) *packetSideDataDisplayMatrix { return &packetSideDataDisplayMatrix{d: d} } func (d *packetSideDataDisplayMatrix) Add(m *DisplayMatrix) error { return d.d.addBytes(C.AV_PKT_DATA_DISPLAYMATRIX, m.bytes()) } func (d *packetSideDataDisplayMatrix) Get() (*DisplayMatrix, bool) { b := d.d.getBytes(C.AV_PKT_DATA_DISPLAYMATRIX) if len(b) == 0 { return nil, false } m, err := newDisplayMatrixFromBytes(b) if err != nil { return nil, false } return m, true } // https://ffmpeg.org/doxygen/8.0/group__lavc__packet__side__data.html#gga9a80bfcacc586b483a973272800edb97a2093332d8086d25a04942ede61007f6a func (d *PacketSideData) SkipSamples() *packetSideDataSkipSamples { return newPacketSideDataSkipSamples(d) } type packetSideDataSkipSamples struct { d *PacketSideData } func newPacketSideDataSkipSamples(d *PacketSideData) *packetSideDataSkipSamples { return &packetSideDataSkipSamples{d: d} } func (d *packetSideDataSkipSamples) Add(ss *SkipSamples) error { return d.d.addBytes(C.AV_PKT_DATA_SKIP_SAMPLES, ss.bytes()) } func (d *packetSideDataSkipSamples) Get() (*SkipSamples, bool) { b := d.d.getBytes(C.AV_PKT_DATA_SKIP_SAMPLES) if len(b) == 0 { return nil, false } ss, err := newSkipSamplesFromBytes(b) if err != nil { return nil, false } return ss, true } // https://ffmpeg.org/doxygen/8.0/group__lavc__packet__side__data.html#gad208a666db035802403ea994912a83db func (d *PacketSideData) addBytes(t C.enum_AVPacketSideDataType, b []byte) error { if len(b) == 0 { return nil } sd := C.av_packet_side_data_new(d.sd, d.size, t, C.size_t(len(b)), 0) if sd == nil { return errors.New("astiav: nil pointer") } C.memcpy(unsafe.Pointer(sd.data), unsafe.Pointer(&b[0]), C.size_t(len(b))) return nil } // https://ffmpeg.org/doxygen/8.0/group__lavc__packet__side__data.html#ga61a3a0fba92a308208c8ab957472d23c func (d *PacketSideData) getBytes(t C.enum_AVPacketSideDataType) []byte { return bytesFromC(func(size *C.size_t) *C.uint8_t { if d.sd == nil || d.size == nil { return nil } sd := C.av_packet_side_data_get(*d.sd, *d.size, t) if sd == nil { return nil } *size = sd.size return sd.data }) } ================================================ FILE: packet_side_data_test.go ================================================ package astiav import ( "testing" "github.com/stretchr/testify/require" ) func testPacketSideData(sd *PacketSideData, t *testing.T) { m1 := NewDisplayMatrixFromRotation(90) require.NoError(t, sd.DisplayMatrix().Add(m1)) m2, ok := sd.DisplayMatrix().Get() require.True(t, ok) require.Equal(t, m1.Rotation(), m2.Rotation()) } func TestPacketSideData(t *testing.T) { cp := AllocCodecParameters() defer cp.Free() sd := cp.SideData() m1, ok := sd.DisplayMatrix().Get() require.False(t, ok) require.Nil(t, m1) m1 = NewDisplayMatrixFromRotation(90) require.NoError(t, sd.DisplayMatrix().Add(m1)) m2, ok := sd.DisplayMatrix().Get() require.True(t, ok) require.Equal(t, m1.Rotation(), m2.Rotation()) ss1, ok := sd.SkipSamples().Get() require.False(t, ok) require.Nil(t, ss1) ss1 = &SkipSamples{ ReasonEnd: 1, ReasonStart: 2, SkipEnd: 3, SkipStart: 4, } require.NoError(t, sd.SkipSamples().Add(ss1)) ss2, ok := sd.SkipSamples().Get() require.True(t, ok) require.Equal(t, ss1, ss2) } ================================================ FILE: packet_test.go ================================================ package astiav import ( "testing" "github.com/stretchr/testify/require" ) func TestPacket(t *testing.T) { pkt1, err := globalHelper.inputFirstPacket("video.mp4") require.NoError(t, err) require.Equal(t, []byte{0x0, 0x0, 0x0, 0xd1, 0x65, 0x88, 0x82, 0x0, 0x1f, 0x5f, 0xff, 0xf8, 0x22, 0x8a, 0x0, 0x2, 0x2d, 0xbe, 0x38, 0xc7, 0x19, 0x39, 0x39, 0x39, 0x39, 0x39, 0x39, 0x39, 0x39, 0x39, 0x39, 0x39, 0x39, 0x39, 0x39, 0x39, 0x39, 0x39, 0x39, 0x3a, 0xeb, 0xae, 0xba, 0xeb, 0xae, 0xba, 0xeb, 0xae, 0xba, 0xeb, 0xae, 0xba, 0xeb, 0xae, 0xba, 0xeb, 0xae, 0xba, 0xeb, 0xae, 0xba, 0xeb, 0xae, 0xba, 0xeb, 0xae, 0xba, 0xeb, 0xae, 0xba, 0xeb, 0xae, 0xba, 0xeb, 0xae, 0xba, 0xeb, 0xae, 0xba, 0xeb, 0xae, 0xba, 0xeb, 0xae, 0xba, 0xeb, 0xae, 0xba, 0xeb, 0xae, 0xba, 0xeb, 0xae, 0xba, 0xeb, 0xae, 0xba, 0xeb, 0xae, 0xba, 0xeb, 0xae, 0xba, 0xeb, 0xae, 0xba, 0xeb, 0xae, 0xba, 0xeb, 0xae, 0xba, 0xeb, 0xae, 0xba, 0xeb, 0xae, 0xba, 0xeb, 0xae, 0xba, 0xeb, 0xae, 0xba, 0xeb, 0xae, 0xba, 0xeb, 0xae, 0xba, 0xeb, 0xae, 0xba, 0xeb, 0xae, 0xba, 0xeb, 0xae, 0xba, 0xeb, 0xae, 0xba, 0xeb, 0xae, 0xba, 0xeb, 0xae, 0xba, 0xeb, 0xae, 0xba, 0xeb, 0xae, 0xba, 0xeb, 0xae, 0xba, 0xeb, 0xae, 0xba, 0xeb, 0xae, 0xba, 0xeb, 0xae, 0xba, 0xeb, 0xae, 0xba, 0xeb, 0xae, 0xba, 0xeb, 0xae, 0xba, 0xeb, 0xae, 0xba, 0xeb, 0xae, 0xba, 0xeb, 0xae, 0xba, 0xeb, 0xae, 0xba, 0xeb, 0xae, 0xb9, 0xb8, 0xe6, 0x39, 0xa5, 0xa5, 0xa5, 0xa5, 0xa5, 0xa5, 0xa5, 0xa5, 0xa5, 0xa5, 0xa5, 0xa5, 0xa5, 0xa5, 0xa5, 0xa5, 0xa5, 0xa5, 0xa5, 0xc0}, pkt1.Data()) require.Equal(t, int64(0), pkt1.Dts()) require.Equal(t, int64(512), pkt1.Duration()) require.True(t, pkt1.Flags().Has(PacketFlagKey)) require.Equal(t, int64(48), pkt1.Pos()) require.Equal(t, int64(0), pkt1.Pts()) require.Equal(t, 213, pkt1.Size()) require.Equal(t, 0, pkt1.StreamIndex()) pkt2 := AllocPacket() require.NotNil(t, pkt2) defer pkt2.Free() require.Nil(t, pkt2.Data()) err = pkt2.AllocPayload(5) require.NoError(t, err) require.Len(t, pkt2.Data(), 5) pkt2.SetDts(1) pkt2.SetDuration(2) pkt2.SetFlags(NewPacketFlags(3)) pkt2.SetPos(4) pkt2.SetPts(5) pkt2.SetSize(6) pkt2.SetStreamIndex(7) require.Equal(t, int64(1), pkt2.Dts()) require.Equal(t, int64(2), pkt2.Duration()) require.Equal(t, NewPacketFlags(3), pkt2.Flags()) require.Equal(t, int64(4), pkt2.Pos()) require.Equal(t, int64(5), pkt2.Pts()) require.Equal(t, 6, pkt2.Size()) require.Equal(t, 7, pkt2.StreamIndex()) pkt3 := pkt1.Clone() require.NotNil(t, pkt3) defer pkt3.Free() require.Equal(t, int64(512), pkt3.Duration()) err = pkt3.Ref(pkt2) require.NoError(t, err) require.Equal(t, int64(2), pkt3.Duration()) pkt3.MoveRef(pkt1) require.Equal(t, int64(512), pkt3.Duration()) require.Equal(t, int64(0), pkt1.Duration()) pkt3.Unref() require.Equal(t, int64(0), pkt3.Duration()) pkt3.SetDts(10) pkt3.SetDuration(20) pkt3.SetPts(30) pkt3.RescaleTs(NewRational(1, 10), NewRational(1, 1)) require.Equal(t, int64(1), pkt3.Dts()) require.Equal(t, int64(2), pkt3.Duration()) require.Equal(t, int64(3), pkt3.Pts()) pkt4 := AllocPacket() require.NotNil(t, pkt4) defer pkt4.Free() b := []byte("test") require.NoError(t, pkt4.FromData(b)) require.Equal(t, b, pkt4.Data()) pkt5 := AllocPacket() require.NotNil(t, pkt5) defer pkt5.Free() testPacketSideData(pkt5.SideData(), t) pkt6 := AllocPacket() require.NotNil(t, pkt6) defer pkt6.Free() b = []byte{} require.NoError(t, pkt6.FromData(b)) require.Equal(t, b, pkt6.Data()) pkt7 := AllocPacket() require.NotNil(t, pkt7) defer pkt7.Free() require.NotEqual(t, pkt2.Dts(), pkt7.Dts()) require.NoError(t, pkt7.CopyProperties(pkt2)) require.Equal(t, pkt2.Dts(), pkt7.Dts()) pkt8 := pkt2.Clone() defer pkt8.Free() require.False(t, pkt8.IsWritable()) require.NoError(t, pkt8.MakeWritable()) require.True(t, pkt8.IsWritable()) pkt9 := pkt2.Clone() defer pkt9.Free() require.NoError(t, pkt9.MakeReferenceCounted()) } ================================================ FILE: picture_type.go ================================================ package astiav //#include import "C" // https://ffmpeg.org/doxygen/8.0/group__lavu__picture.html#gae6cbcab1f70d8e476757f1c1f5a0a78e type PictureType C.enum_AVPictureType const ( PictureTypeNone = PictureType(C.AV_PICTURE_TYPE_NONE) PictureTypeI = PictureType(C.AV_PICTURE_TYPE_I) PictureTypeP = PictureType(C.AV_PICTURE_TYPE_P) PictureTypeB = PictureType(C.AV_PICTURE_TYPE_B) PictureTypeS = PictureType(C.AV_PICTURE_TYPE_S) PictureTypeSi = PictureType(C.AV_PICTURE_TYPE_SI) PictureTypeSp = PictureType(C.AV_PICTURE_TYPE_SP) PictureTypeBi = PictureType(C.AV_PICTURE_TYPE_BI) ) // https://ffmpeg.org/doxygen/8.0/group__lavu__picture.html#gacbf2ea8b2b89924c890ef8ec10a3d922 func (t PictureType) String() string { return string(rune(C.av_get_picture_type_char((C.enum_AVPictureType)(t)))) } ================================================ FILE: picture_type_test.go ================================================ package astiav import ( "testing" "github.com/stretchr/testify/require" ) func TestPictureType(t *testing.T) { require.Equal(t, "I", PictureTypeI.String()) } ================================================ FILE: pixel_format.go ================================================ package astiav //#include //#include //#include //#include import "C" import "unsafe" // https://ffmpeg.org/doxygen/8.0/pixfmt_8h.html#a9a8e335cf3be472042bc9f0cf80cd4c5 type PixelFormat C.enum_AVPixelFormat const ( PixelFormat0Bgr = PixelFormat(C.AV_PIX_FMT_0BGR) PixelFormat0Rgb = PixelFormat(C.AV_PIX_FMT_0RGB) PixelFormatAbgr = PixelFormat(C.AV_PIX_FMT_ABGR) PixelFormatArgb = PixelFormat(C.AV_PIX_FMT_ARGB) PixelFormatAyuv64Be = PixelFormat(C.AV_PIX_FMT_AYUV64BE) PixelFormatAyuv64Le = PixelFormat(C.AV_PIX_FMT_AYUV64LE) PixelFormatBayerBggr16Be = PixelFormat(C.AV_PIX_FMT_BAYER_BGGR16BE) PixelFormatBayerBggr16Le = PixelFormat(C.AV_PIX_FMT_BAYER_BGGR16LE) PixelFormatBayerBggr8 = PixelFormat(C.AV_PIX_FMT_BAYER_BGGR8) PixelFormatBayerGbrg16Be = PixelFormat(C.AV_PIX_FMT_BAYER_GBRG16BE) PixelFormatBayerGbrg16Le = PixelFormat(C.AV_PIX_FMT_BAYER_GBRG16LE) PixelFormatBayerGbrg8 = PixelFormat(C.AV_PIX_FMT_BAYER_GBRG8) PixelFormatBayerGrbg16Be = PixelFormat(C.AV_PIX_FMT_BAYER_GRBG16BE) PixelFormatBayerGrbg16Le = PixelFormat(C.AV_PIX_FMT_BAYER_GRBG16LE) PixelFormatBayerGrbg8 = PixelFormat(C.AV_PIX_FMT_BAYER_GRBG8) PixelFormatBayerRggb16Be = PixelFormat(C.AV_PIX_FMT_BAYER_RGGB16BE) PixelFormatBayerRggb16Le = PixelFormat(C.AV_PIX_FMT_BAYER_RGGB16LE) PixelFormatBayerRggb8 = PixelFormat(C.AV_PIX_FMT_BAYER_RGGB8) PixelFormatBgr0 = PixelFormat(C.AV_PIX_FMT_BGR0) PixelFormatBgr24 = PixelFormat(C.AV_PIX_FMT_BGR24) PixelFormatBgr4 = PixelFormat(C.AV_PIX_FMT_BGR4) PixelFormatBgr444Be = PixelFormat(C.AV_PIX_FMT_BGR444BE) PixelFormatBgr444Le = PixelFormat(C.AV_PIX_FMT_BGR444LE) PixelFormatBgr48Be = PixelFormat(C.AV_PIX_FMT_BGR48BE) PixelFormatBgr48Le = PixelFormat(C.AV_PIX_FMT_BGR48LE) PixelFormatBgr4Byte = PixelFormat(C.AV_PIX_FMT_BGR4_BYTE) PixelFormatBgr555Be = PixelFormat(C.AV_PIX_FMT_BGR555BE) PixelFormatBgr555Le = PixelFormat(C.AV_PIX_FMT_BGR555LE) PixelFormatBgr565Be = PixelFormat(C.AV_PIX_FMT_BGR565BE) PixelFormatBgr565Le = PixelFormat(C.AV_PIX_FMT_BGR565LE) PixelFormatBgr8 = PixelFormat(C.AV_PIX_FMT_BGR8) PixelFormatBgra = PixelFormat(C.AV_PIX_FMT_BGRA) PixelFormatBgra64Be = PixelFormat(C.AV_PIX_FMT_BGRA64BE) PixelFormatBgra64Le = PixelFormat(C.AV_PIX_FMT_BGRA64LE) PixelFormatCuda = PixelFormat(C.AV_PIX_FMT_CUDA) PixelFormatD3D11 = PixelFormat(C.AV_PIX_FMT_D3D11) PixelFormatD3D11VaVld = PixelFormat(C.AV_PIX_FMT_D3D11VA_VLD) PixelFormatDrmPrime = PixelFormat(C.AV_PIX_FMT_DRM_PRIME) PixelFormatDxva2Vld = PixelFormat(C.AV_PIX_FMT_DXVA2_VLD) PixelFormatGbr24P = PixelFormat(C.AV_PIX_FMT_GBR24P) PixelFormatGbrap = PixelFormat(C.AV_PIX_FMT_GBRAP) PixelFormatGbrap10Be = PixelFormat(C.AV_PIX_FMT_GBRAP10BE) PixelFormatGbrap10Le = PixelFormat(C.AV_PIX_FMT_GBRAP10LE) PixelFormatGbrap12Be = PixelFormat(C.AV_PIX_FMT_GBRAP12BE) PixelFormatGbrap12Le = PixelFormat(C.AV_PIX_FMT_GBRAP12LE) PixelFormatGbrap16Be = PixelFormat(C.AV_PIX_FMT_GBRAP16BE) PixelFormatGbrap16Le = PixelFormat(C.AV_PIX_FMT_GBRAP16LE) PixelFormatGbrapf32Be = PixelFormat(C.AV_PIX_FMT_GBRAPF32BE) PixelFormatGbrapf32Le = PixelFormat(C.AV_PIX_FMT_GBRAPF32LE) PixelFormatGbrp = PixelFormat(C.AV_PIX_FMT_GBRP) PixelFormatGbrp10Be = PixelFormat(C.AV_PIX_FMT_GBRP10BE) PixelFormatGbrp10Le = PixelFormat(C.AV_PIX_FMT_GBRP10LE) PixelFormatGbrp12Be = PixelFormat(C.AV_PIX_FMT_GBRP12BE) PixelFormatGbrp12Le = PixelFormat(C.AV_PIX_FMT_GBRP12LE) PixelFormatGbrp14Be = PixelFormat(C.AV_PIX_FMT_GBRP14BE) PixelFormatGbrp14Le = PixelFormat(C.AV_PIX_FMT_GBRP14LE) PixelFormatGbrp16Be = PixelFormat(C.AV_PIX_FMT_GBRP16BE) PixelFormatGbrp16Le = PixelFormat(C.AV_PIX_FMT_GBRP16LE) PixelFormatGbrp9Be = PixelFormat(C.AV_PIX_FMT_GBRP9BE) PixelFormatGbrp9Le = PixelFormat(C.AV_PIX_FMT_GBRP9LE) PixelFormatGbrpf32Be = PixelFormat(C.AV_PIX_FMT_GBRPF32BE) PixelFormatGbrpf32Le = PixelFormat(C.AV_PIX_FMT_GBRPF32LE) PixelFormatGray10Be = PixelFormat(C.AV_PIX_FMT_GRAY10BE) PixelFormatGray10Le = PixelFormat(C.AV_PIX_FMT_GRAY10LE) PixelFormatGray12Be = PixelFormat(C.AV_PIX_FMT_GRAY12BE) PixelFormatGray12Le = PixelFormat(C.AV_PIX_FMT_GRAY12LE) PixelFormatGray14Be = PixelFormat(C.AV_PIX_FMT_GRAY14BE) PixelFormatGray14Le = PixelFormat(C.AV_PIX_FMT_GRAY14LE) PixelFormatGray16Be = PixelFormat(C.AV_PIX_FMT_GRAY16BE) PixelFormatGray16Le = PixelFormat(C.AV_PIX_FMT_GRAY16LE) PixelFormatGray8 = PixelFormat(C.AV_PIX_FMT_GRAY8) PixelFormatGray8A = PixelFormat(C.AV_PIX_FMT_GRAY8A) PixelFormatGray9Be = PixelFormat(C.AV_PIX_FMT_GRAY9BE) PixelFormatGray9Le = PixelFormat(C.AV_PIX_FMT_GRAY9LE) PixelFormatGrayf32Be = PixelFormat(C.AV_PIX_FMT_GRAYF32BE) PixelFormatGrayf32Le = PixelFormat(C.AV_PIX_FMT_GRAYF32LE) PixelFormatMediacodec = PixelFormat(C.AV_PIX_FMT_MEDIACODEC) PixelFormatMmal = PixelFormat(C.AV_PIX_FMT_MMAL) PixelFormatMonoblack = PixelFormat(C.AV_PIX_FMT_MONOBLACK) PixelFormatMonowhite = PixelFormat(C.AV_PIX_FMT_MONOWHITE) PixelFormatNb = PixelFormat(C.AV_PIX_FMT_NB) PixelFormatNone = PixelFormat(C.AV_PIX_FMT_NONE) PixelFormatNv12 = PixelFormat(C.AV_PIX_FMT_NV12) PixelFormatNv16 = PixelFormat(C.AV_PIX_FMT_NV16) PixelFormatNv20Be = PixelFormat(C.AV_PIX_FMT_NV20BE) PixelFormatNv20Le = PixelFormat(C.AV_PIX_FMT_NV20LE) PixelFormatNv21 = PixelFormat(C.AV_PIX_FMT_NV21) PixelFormatOpencl = PixelFormat(C.AV_PIX_FMT_OPENCL) PixelFormatP010Be = PixelFormat(C.AV_PIX_FMT_P010BE) PixelFormatP010Le = PixelFormat(C.AV_PIX_FMT_P010LE) PixelFormatP016Be = PixelFormat(C.AV_PIX_FMT_P016BE) PixelFormatP016Le = PixelFormat(C.AV_PIX_FMT_P016LE) PixelFormatPal8 = PixelFormat(C.AV_PIX_FMT_PAL8) PixelFormatQsv = PixelFormat(C.AV_PIX_FMT_QSV) PixelFormatRgb0 = PixelFormat(C.AV_PIX_FMT_RGB0) PixelFormatRgb24 = PixelFormat(C.AV_PIX_FMT_RGB24) PixelFormatRgb4 = PixelFormat(C.AV_PIX_FMT_RGB4) PixelFormatRgb444Be = PixelFormat(C.AV_PIX_FMT_RGB444BE) PixelFormatRgb444Le = PixelFormat(C.AV_PIX_FMT_RGB444LE) PixelFormatRgb48Be = PixelFormat(C.AV_PIX_FMT_RGB48BE) PixelFormatRgb48Le = PixelFormat(C.AV_PIX_FMT_RGB48LE) PixelFormatRgb4Byte = PixelFormat(C.AV_PIX_FMT_RGB4_BYTE) PixelFormatRgb555Be = PixelFormat(C.AV_PIX_FMT_RGB555BE) PixelFormatRgb555Le = PixelFormat(C.AV_PIX_FMT_RGB555LE) PixelFormatRgb565Be = PixelFormat(C.AV_PIX_FMT_RGB565BE) PixelFormatRgb565Le = PixelFormat(C.AV_PIX_FMT_RGB565LE) PixelFormatRgb8 = PixelFormat(C.AV_PIX_FMT_RGB8) PixelFormatRgba = PixelFormat(C.AV_PIX_FMT_RGBA) PixelFormatRgba64Be = PixelFormat(C.AV_PIX_FMT_RGBA64BE) PixelFormatRgba64Le = PixelFormat(C.AV_PIX_FMT_RGBA64LE) PixelFormatUyvy422 = PixelFormat(C.AV_PIX_FMT_UYVY422) PixelFormatUyyvyy411 = PixelFormat(C.AV_PIX_FMT_UYYVYY411) PixelFormatVaapi = PixelFormat(C.AV_PIX_FMT_VAAPI) PixelFormatVdpau = PixelFormat(C.AV_PIX_FMT_VDPAU) PixelFormatVideotoolbox = PixelFormat(C.AV_PIX_FMT_VIDEOTOOLBOX) PixelFormatXyz12Be = PixelFormat(C.AV_PIX_FMT_XYZ12BE) PixelFormatXyz12Le = PixelFormat(C.AV_PIX_FMT_XYZ12LE) PixelFormatY400A = PixelFormat(C.AV_PIX_FMT_Y400A) PixelFormatYa16Be = PixelFormat(C.AV_PIX_FMT_YA16BE) PixelFormatYa16Le = PixelFormat(C.AV_PIX_FMT_YA16LE) PixelFormatYa8 = PixelFormat(C.AV_PIX_FMT_YA8) PixelFormatYuv410P = PixelFormat(C.AV_PIX_FMT_YUV410P) PixelFormatYuv411P = PixelFormat(C.AV_PIX_FMT_YUV411P) PixelFormatYuv420P = PixelFormat(C.AV_PIX_FMT_YUV420P) PixelFormatYuv420P10Be = PixelFormat(C.AV_PIX_FMT_YUV420P10BE) PixelFormatYuv420P10Le = PixelFormat(C.AV_PIX_FMT_YUV420P10LE) PixelFormatYuv420P12Be = PixelFormat(C.AV_PIX_FMT_YUV420P12BE) PixelFormatYuv420P12Le = PixelFormat(C.AV_PIX_FMT_YUV420P12LE) PixelFormatYuv420P14Be = PixelFormat(C.AV_PIX_FMT_YUV420P14BE) PixelFormatYuv420P14Le = PixelFormat(C.AV_PIX_FMT_YUV420P14LE) PixelFormatYuv420P16Be = PixelFormat(C.AV_PIX_FMT_YUV420P16BE) PixelFormatYuv420P16Le = PixelFormat(C.AV_PIX_FMT_YUV420P16LE) PixelFormatYuv420P9Be = PixelFormat(C.AV_PIX_FMT_YUV420P9BE) PixelFormatYuv420P9Le = PixelFormat(C.AV_PIX_FMT_YUV420P9LE) PixelFormatYuv422P = PixelFormat(C.AV_PIX_FMT_YUV422P) PixelFormatYuv422P10Be = PixelFormat(C.AV_PIX_FMT_YUV422P10BE) PixelFormatYuv422P10Le = PixelFormat(C.AV_PIX_FMT_YUV422P10LE) PixelFormatYuv422P12Be = PixelFormat(C.AV_PIX_FMT_YUV422P12BE) PixelFormatYuv422P12Le = PixelFormat(C.AV_PIX_FMT_YUV422P12LE) PixelFormatYuv422P14Be = PixelFormat(C.AV_PIX_FMT_YUV422P14BE) PixelFormatYuv422P14Le = PixelFormat(C.AV_PIX_FMT_YUV422P14LE) PixelFormatYuv422P16Be = PixelFormat(C.AV_PIX_FMT_YUV422P16BE) PixelFormatYuv422P16Le = PixelFormat(C.AV_PIX_FMT_YUV422P16LE) PixelFormatYuv422P9Be = PixelFormat(C.AV_PIX_FMT_YUV422P9BE) PixelFormatYuv422P9Le = PixelFormat(C.AV_PIX_FMT_YUV422P9LE) PixelFormatYuv440P = PixelFormat(C.AV_PIX_FMT_YUV440P) PixelFormatYuv440P10Be = PixelFormat(C.AV_PIX_FMT_YUV440P10BE) PixelFormatYuv440P10Le = PixelFormat(C.AV_PIX_FMT_YUV440P10LE) PixelFormatYuv440P12Be = PixelFormat(C.AV_PIX_FMT_YUV440P12BE) PixelFormatYuv440P12Le = PixelFormat(C.AV_PIX_FMT_YUV440P12LE) PixelFormatYuv444P = PixelFormat(C.AV_PIX_FMT_YUV444P) PixelFormatYuv444P10Be = PixelFormat(C.AV_PIX_FMT_YUV444P10BE) PixelFormatYuv444P10Le = PixelFormat(C.AV_PIX_FMT_YUV444P10LE) PixelFormatYuv444P12Be = PixelFormat(C.AV_PIX_FMT_YUV444P12BE) PixelFormatYuv444P12Le = PixelFormat(C.AV_PIX_FMT_YUV444P12LE) PixelFormatYuv444P14Be = PixelFormat(C.AV_PIX_FMT_YUV444P14BE) PixelFormatYuv444P14Le = PixelFormat(C.AV_PIX_FMT_YUV444P14LE) PixelFormatYuv444P16Be = PixelFormat(C.AV_PIX_FMT_YUV444P16BE) PixelFormatYuv444P16Le = PixelFormat(C.AV_PIX_FMT_YUV444P16LE) PixelFormatYuv444P9Be = PixelFormat(C.AV_PIX_FMT_YUV444P9BE) PixelFormatYuv444P9Le = PixelFormat(C.AV_PIX_FMT_YUV444P9LE) PixelFormatYuva420P = PixelFormat(C.AV_PIX_FMT_YUVA420P) PixelFormatYuva420P10Be = PixelFormat(C.AV_PIX_FMT_YUVA420P10BE) PixelFormatYuva420P10Le = PixelFormat(C.AV_PIX_FMT_YUVA420P10LE) PixelFormatYuva420P16Be = PixelFormat(C.AV_PIX_FMT_YUVA420P16BE) PixelFormatYuva420P16Le = PixelFormat(C.AV_PIX_FMT_YUVA420P16LE) PixelFormatYuva420P9Be = PixelFormat(C.AV_PIX_FMT_YUVA420P9BE) PixelFormatYuva420P9Le = PixelFormat(C.AV_PIX_FMT_YUVA420P9LE) PixelFormatYuva422P = PixelFormat(C.AV_PIX_FMT_YUVA422P) PixelFormatYuva422P10Be = PixelFormat(C.AV_PIX_FMT_YUVA422P10BE) PixelFormatYuva422P10Le = PixelFormat(C.AV_PIX_FMT_YUVA422P10LE) PixelFormatYuva422P16Be = PixelFormat(C.AV_PIX_FMT_YUVA422P16BE) PixelFormatYuva422P16Le = PixelFormat(C.AV_PIX_FMT_YUVA422P16LE) PixelFormatYuva422P9Be = PixelFormat(C.AV_PIX_FMT_YUVA422P9BE) PixelFormatYuva422P9Le = PixelFormat(C.AV_PIX_FMT_YUVA422P9LE) PixelFormatYuva444P = PixelFormat(C.AV_PIX_FMT_YUVA444P) PixelFormatYuva444P10Be = PixelFormat(C.AV_PIX_FMT_YUVA444P10BE) PixelFormatYuva444P10Le = PixelFormat(C.AV_PIX_FMT_YUVA444P10LE) PixelFormatYuva444P16Be = PixelFormat(C.AV_PIX_FMT_YUVA444P16BE) PixelFormatYuva444P16Le = PixelFormat(C.AV_PIX_FMT_YUVA444P16LE) PixelFormatYuva444P9Be = PixelFormat(C.AV_PIX_FMT_YUVA444P9BE) PixelFormatYuva444P9Le = PixelFormat(C.AV_PIX_FMT_YUVA444P9LE) PixelFormatYuvj411P = PixelFormat(C.AV_PIX_FMT_YUVJ411P) PixelFormatYuvj420P = PixelFormat(C.AV_PIX_FMT_YUVJ420P) PixelFormatYuvj422P = PixelFormat(C.AV_PIX_FMT_YUVJ422P) PixelFormatYuvj440P = PixelFormat(C.AV_PIX_FMT_YUVJ440P) PixelFormatYuvj444P = PixelFormat(C.AV_PIX_FMT_YUVJ444P) PixelFormatYuyv422 = PixelFormat(C.AV_PIX_FMT_YUYV422) PixelFormatYvyu422 = PixelFormat(C.AV_PIX_FMT_YVYU422) ) // https://ffmpeg.org/doxygen/8.0/pixdesc_8c.html#ab92e2a8a9b58c982560c49df9f01e47e func (f PixelFormat) Name() string { return C.GoString(C.av_get_pix_fmt_name((C.enum_AVPixelFormat)(f))) } func (f PixelFormat) String() string { return f.Name() } func (f PixelFormat) Descriptor() *PixelFormatDescriptor { return newPixelFormatDescriptorFromC(C.av_pix_fmt_desc_get((C.enum_AVPixelFormat)(f))) } // https://ffmpeg.org/doxygen/8.0/pixdesc_8c.html#a925ef18d69c24c3be8c53d5a7dc0660e func FindPixelFormatByName(name string) PixelFormat { cn := C.CString(name) defer C.free(unsafe.Pointer(cn)) return PixelFormat(C.av_get_pix_fmt(cn)) } ================================================ FILE: pixel_format_descriptor.go ================================================ package astiav //#include import "C" // https://ffmpeg.org/doxygen/8.0/structAVPixFmtDescriptor.html type PixelFormatDescriptor struct { c *C.AVPixFmtDescriptor } func newPixelFormatDescriptorFromC(c *C.AVPixFmtDescriptor) *PixelFormatDescriptor { if c == nil { return nil } return &PixelFormatDescriptor{c: c} } // https://ffmpeg.org/doxygen/8.0/structAVPixFmtDescriptor.html#a10736c3f1288eb87b23ede3ffdefb435 func (pfd *PixelFormatDescriptor) Name() string { return C.GoString(pfd.c.name) } // https://ffmpeg.org/doxygen/8.0/structAVPixFmtDescriptor.html#a5047d1e6b045f637345dbc305bf4357d func (pfd *PixelFormatDescriptor) Flags() PixelFormatDescriptorFlags { return PixelFormatDescriptorFlags(pfd.c.flags) } ================================================ FILE: pixel_format_descriptor_flag.go ================================================ package astiav //#include import "C" // https://ffmpeg.org/doxygen/8.0/pixdesc_8h.html#ac7c7d0be16fb9b6f05b3e0d463cd037b type PixelFormatDescriptorFlag int64 const ( PixelFormatDescriptorFlagBe = PixelFormatDescriptorFlag(C.AV_PIX_FMT_FLAG_BE) PixelFormatDescriptorFlagPal = PixelFormatDescriptorFlag(C.AV_PIX_FMT_FLAG_PAL) PixelFormatDescriptorFlagBitStream = PixelFormatDescriptorFlag(C.AV_PIX_FMT_FLAG_BITSTREAM) PixelFormatDescriptorFlagHwAccel = PixelFormatDescriptorFlag(C.AV_PIX_FMT_FLAG_HWACCEL) PixelFormatDescriptorFlagPlanar = PixelFormatDescriptorFlag(C.AV_PIX_FMT_FLAG_PLANAR) PixelFormatDescriptorFlagRgb = PixelFormatDescriptorFlag(C.AV_PIX_FMT_FLAG_RGB) PixelFormatDescriptorFlagAlpha = PixelFormatDescriptorFlag(C.AV_PIX_FMT_FLAG_ALPHA) PixelFormatDescriptorFlagBayer = PixelFormatDescriptorFlag(C.AV_PIX_FMT_FLAG_BAYER) PixelFormatDescriptorFlagFloat = PixelFormatDescriptorFlag(C.AV_PIX_FMT_FLAG_FLOAT) PixelFormatDescriptorFlagXyz = PixelFormatDescriptorFlag(C.AV_PIX_FMT_FLAG_XYZ) ) ================================================ FILE: pixel_format_descriptor_test.go ================================================ package astiav import ( "testing" "github.com/stretchr/testify/require" ) func TestPixelFormatDescriptor(t *testing.T) { p := PixelFormatCuda d := p.Descriptor() require.NotNil(t, d) require.Equal(t, d.Name(), p.String()) require.True(t, d.Flags().Has(PixelFormatDescriptorFlagHwAccel)) } ================================================ FILE: pixel_format_test.go ================================================ package astiav import ( "testing" "github.com/stretchr/testify/require" ) func TestPixelFormat(t *testing.T) { p := FindPixelFormatByName("yuv420p") require.Equal(t, PixelFormatYuv420P, p) require.Equal(t, "yuv420p", p.String()) d := p.Descriptor() require.NotNil(t, d) require.Equal(t, d.Name(), p.String()) } ================================================ FILE: private_data.go ================================================ package astiav import "unsafe" type PrivateData struct { c unsafe.Pointer } func newPrivateDataFromC(c unsafe.Pointer) *PrivateData { if c == nil { return nil } return &PrivateData{c: c} } func (pd *PrivateData) Options() *Options { return newOptionsFromC(pd.c) } ================================================ FILE: profile.go ================================================ package astiav //#include import "C" // https://ffmpeg.org/doxygen/8.0/defs_8h.html#a1c4e97fd8f802ee87dbc1713a993dc5c type Profile int const ( ProfileUnknown = Profile(C.AV_PROFILE_UNKNOWN) ProfileReserved = Profile(C.AV_PROFILE_RESERVED) ProfileAacEld = Profile(C.AV_PROFILE_AAC_ELD) ProfileAacHe = Profile(C.AV_PROFILE_AAC_HE) ProfileAacHeV2 = Profile(C.AV_PROFILE_AAC_HE_V2) ProfileAacLd = Profile(C.AV_PROFILE_AAC_LD) ProfileAacLow = Profile(C.AV_PROFILE_AAC_LOW) ProfileAacLtp = Profile(C.AV_PROFILE_AAC_LTP) ProfileAacMain = Profile(C.AV_PROFILE_AAC_MAIN) ProfileAacSsr = Profile(C.AV_PROFILE_AAC_SSR) ProfileAacUsac = Profile(C.AV_PROFILE_AAC_USAC) ProfileAribProfileA = Profile(C.AV_PROFILE_ARIB_PROFILE_A) ProfileAribProfileC = Profile(C.AV_PROFILE_ARIB_PROFILE_C) ProfileAv1High = Profile(C.AV_PROFILE_AV1_HIGH) ProfileAv1Main = Profile(C.AV_PROFILE_AV1_MAIN) ProfileAv1Professional = Profile(C.AV_PROFILE_AV1_PROFESSIONAL) ProfileDnxhd = Profile(C.AV_PROFILE_DNXHD) ProfileDnxhr444 = Profile(C.AV_PROFILE_DNXHR_444) ProfileDnxhrHq = Profile(C.AV_PROFILE_DNXHR_HQ) ProfileDnxhrHqx = Profile(C.AV_PROFILE_DNXHR_HQX) ProfileDnxhrLb = Profile(C.AV_PROFILE_DNXHR_LB) ProfileDnxhrSq = Profile(C.AV_PROFILE_DNXHR_SQ) ProfileDts = Profile(C.AV_PROFILE_DTS) ProfileDts9624 = Profile(C.AV_PROFILE_DTS_96_24) ProfileDtsEs = Profile(C.AV_PROFILE_DTS_ES) ProfileDtsExpress = Profile(C.AV_PROFILE_DTS_EXPRESS) ProfileDtsHdHra = Profile(C.AV_PROFILE_DTS_HD_HRA) ProfileDtsHdMa = Profile(C.AV_PROFILE_DTS_HD_MA) ProfileDtsHdMaX = Profile(C.AV_PROFILE_DTS_HD_MA_X) ProfileDtsHdMaXImax = Profile(C.AV_PROFILE_DTS_HD_MA_X_IMAX) ProfileEac3DdpAtmos = Profile(C.AV_PROFILE_EAC3_DDP_ATMOS) ProfileEvcBaseline = Profile(C.AV_PROFILE_EVC_BASELINE) ProfileEvcMain = Profile(C.AV_PROFILE_EVC_MAIN) ProfileH264Baseline = Profile(C.AV_PROFILE_H264_BASELINE) ProfileH264Cavlc444 = Profile(C.AV_PROFILE_H264_CAVLC_444) ProfileH264Constrained = Profile(C.AV_PROFILE_H264_CONSTRAINED) ProfileH264ConstrainedBaseline = Profile(C.AV_PROFILE_H264_CONSTRAINED_BASELINE) ProfileH264Extended = Profile(C.AV_PROFILE_H264_EXTENDED) ProfileH264High = Profile(C.AV_PROFILE_H264_HIGH) ProfileH264High10 = Profile(C.AV_PROFILE_H264_HIGH_10) ProfileH264High10Intra = Profile(C.AV_PROFILE_H264_HIGH_10_INTRA) ProfileH264High422 = Profile(C.AV_PROFILE_H264_HIGH_422) ProfileH264High422Intra = Profile(C.AV_PROFILE_H264_HIGH_422_INTRA) ProfileH264High444 = Profile(C.AV_PROFILE_H264_HIGH_444) ProfileH264High444Intra = Profile(C.AV_PROFILE_H264_HIGH_444_INTRA) ProfileH264High444Predictive = Profile(C.AV_PROFILE_H264_HIGH_444_PREDICTIVE) ProfileH264Intra = Profile(C.AV_PROFILE_H264_INTRA) ProfileH264Main = Profile(C.AV_PROFILE_H264_MAIN) ProfileH264MultiviewHigh = Profile(C.AV_PROFILE_H264_MULTIVIEW_HIGH) ProfileH264StereoHigh = Profile(C.AV_PROFILE_H264_STEREO_HIGH) ProfileHevcMain = Profile(C.AV_PROFILE_HEVC_MAIN) ProfileHevcMain10 = Profile(C.AV_PROFILE_HEVC_MAIN_10) ProfileHevcMainStillPicture = Profile(C.AV_PROFILE_HEVC_MAIN_STILL_PICTURE) ProfileHevcMultiviewMain = Profile(C.AV_PROFILE_HEVC_MULTIVIEW_MAIN) ProfileHevcRext = Profile(C.AV_PROFILE_HEVC_REXT) ProfileHevcScc = Profile(C.AV_PROFILE_HEVC_SCC) ProfileJpeg2000CstreamNoRestriction = Profile(C.AV_PROFILE_JPEG2000_CSTREAM_NO_RESTRICTION) ProfileJpeg2000CstreamRestriction0 = Profile(C.AV_PROFILE_JPEG2000_CSTREAM_RESTRICTION_0) ProfileJpeg2000CstreamRestriction1 = Profile(C.AV_PROFILE_JPEG2000_CSTREAM_RESTRICTION_1) ProfileJpeg2000Dcinema2K = Profile(C.AV_PROFILE_JPEG2000_DCINEMA_2K) ProfileJpeg2000Dcinema4K = Profile(C.AV_PROFILE_JPEG2000_DCINEMA_4K) ProfileKlvaAsync = Profile(C.AV_PROFILE_KLVA_ASYNC) ProfileKlvaSync = Profile(C.AV_PROFILE_KLVA_SYNC) ProfileMjpegHuffmanBaselineDct = Profile(C.AV_PROFILE_MJPEG_HUFFMAN_BASELINE_DCT) ProfileMjpegHuffmanExtendedSequentialDct = Profile(C.AV_PROFILE_MJPEG_HUFFMAN_EXTENDED_SEQUENTIAL_DCT) ProfileMjpegHuffmanLossless = Profile(C.AV_PROFILE_MJPEG_HUFFMAN_LOSSLESS) ProfileMjpegHuffmanProgressiveDct = Profile(C.AV_PROFILE_MJPEG_HUFFMAN_PROGRESSIVE_DCT) ProfileMjpegJpegLs = Profile(C.AV_PROFILE_MJPEG_JPEG_LS) ProfileMpeg2422 = Profile(C.AV_PROFILE_MPEG2_422) ProfileMpeg2AacHe = Profile(C.AV_PROFILE_MPEG2_AAC_HE) ProfileMpeg2AacLow = Profile(C.AV_PROFILE_MPEG2_AAC_LOW) ProfileMpeg2High = Profile(C.AV_PROFILE_MPEG2_HIGH) ProfileMpeg2Main = Profile(C.AV_PROFILE_MPEG2_MAIN) ProfileMpeg2Simple = Profile(C.AV_PROFILE_MPEG2_SIMPLE) ProfileMpeg2SnrScalable = Profile(C.AV_PROFILE_MPEG2_SNR_SCALABLE) ProfileMpeg2Ss = Profile(C.AV_PROFILE_MPEG2_SS) ProfileMpeg4AdvancedCoding = Profile(C.AV_PROFILE_MPEG4_ADVANCED_CODING) ProfileMpeg4AdvancedCore = Profile(C.AV_PROFILE_MPEG4_ADVANCED_CORE) ProfileMpeg4AdvancedRealTime = Profile(C.AV_PROFILE_MPEG4_ADVANCED_REAL_TIME) ProfileMpeg4AdvancedScalableTexture = Profile(C.AV_PROFILE_MPEG4_ADVANCED_SCALABLE_TEXTURE) ProfileMpeg4AdvancedSimple = Profile(C.AV_PROFILE_MPEG4_ADVANCED_SIMPLE) ProfileMpeg4BasicAnimatedTexture = Profile(C.AV_PROFILE_MPEG4_BASIC_ANIMATED_TEXTURE) ProfileMpeg4Core = Profile(C.AV_PROFILE_MPEG4_CORE) ProfileMpeg4CoreScalable = Profile(C.AV_PROFILE_MPEG4_CORE_SCALABLE) ProfileMpeg4Hybrid = Profile(C.AV_PROFILE_MPEG4_HYBRID) ProfileMpeg4Main = Profile(C.AV_PROFILE_MPEG4_MAIN) ProfileMpeg4NBit = Profile(C.AV_PROFILE_MPEG4_N_BIT) ProfileMpeg4ScalableTexture = Profile(C.AV_PROFILE_MPEG4_SCALABLE_TEXTURE) ProfileMpeg4Simple = Profile(C.AV_PROFILE_MPEG4_SIMPLE) ProfileMpeg4SimpleFaceAnimation = Profile(C.AV_PROFILE_MPEG4_SIMPLE_FACE_ANIMATION) ProfileMpeg4SimpleScalable = Profile(C.AV_PROFILE_MPEG4_SIMPLE_SCALABLE) ProfileMpeg4SimpleStudio = Profile(C.AV_PROFILE_MPEG4_SIMPLE_STUDIO) ProfileProres4444 = Profile(C.AV_PROFILE_PRORES_4444) ProfileProresHq = Profile(C.AV_PROFILE_PRORES_HQ) ProfileProresLt = Profile(C.AV_PROFILE_PRORES_LT) ProfileProresProxy = Profile(C.AV_PROFILE_PRORES_PROXY) ProfileProresStandard = Profile(C.AV_PROFILE_PRORES_STANDARD) ProfileProresXq = Profile(C.AV_PROFILE_PRORES_XQ) ProfileSbcMsbc = Profile(C.AV_PROFILE_SBC_MSBC) ProfileTruehdAtmos = Profile(C.AV_PROFILE_TRUEHD_ATMOS) ProfileVc1Advanced = Profile(C.AV_PROFILE_VC1_ADVANCED) ProfileVc1Complex = Profile(C.AV_PROFILE_VC1_COMPLEX) ProfileVc1Main = Profile(C.AV_PROFILE_VC1_MAIN) ProfileVc1Simple = Profile(C.AV_PROFILE_VC1_SIMPLE) ProfileVp90 = Profile(C.AV_PROFILE_VP9_0) ProfileVp91 = Profile(C.AV_PROFILE_VP9_1) ProfileVp92 = Profile(C.AV_PROFILE_VP9_2) ProfileVp93 = Profile(C.AV_PROFILE_VP9_3) ProfileVvcMain10 = Profile(C.AV_PROFILE_VVC_MAIN_10) ProfileVvcMain10444 = Profile(C.AV_PROFILE_VVC_MAIN_10_444) ) ================================================ FILE: program.go ================================================ package astiav //#include import "C" import ( "unsafe" ) // https://ffmpeg.org/doxygen/8.0/structAVProgram.html type Program struct { c *C.AVProgram fc *FormatContext } func newProgramFromC(c *C.AVProgram, fc *FormatContext) *Program { if c == nil { return nil } return &Program{ c: c, fc: fc, } } // https://ffmpeg.org/doxygen/8.0/avformat_8c.html#ae1eb83cf16060217c805e61f0f62fa4e func (p *Program) AddStream(s *Stream) { C.av_program_add_stream_index(p.fc.c, p.c.id, C.uint(s.c.index)) } // https://ffmpeg.org/doxygen/8.0/structAVProgram.html#a10cc799a98b37335e820b0bdb386eb95 func (p *Program) ID() int { return int(p.c.id) } // https://ffmpeg.org/doxygen/8.0/structAVProgram.html#a10cc799a98b37335e820b0bdb386eb95 func (p *Program) SetID(i int) { p.c.id = C.int(i) } // https://ffmpeg.org/doxygen/8.0/structAVProgram.html#a136cf29d2aa5b0e4c6d743406c5e39d1 func (p *Program) NbStreams() int { return int(p.c.nb_stream_indexes) } // https://ffmpeg.org/doxygen/8.0/structAVProgram.html#a7967d41af4812ed61a28762e988c7a02 func (p *Program) Streams() (ss []*Stream) { is := make(map[int]bool) for _, idx := range unsafe.Slice(p.c.stream_index, p.c.nb_stream_indexes) { is[int(idx)] = true } for _, s := range p.fc.Streams() { if _, ok := is[s.Index()]; ok { ss = append(ss, s) } } return } // https://ffmpeg.org/doxygen/8.0/structAVProgram.html#a9c7a07c08a1f960aaa49f3f47633af5c func (p *Program) Discard() Discard { return Discard(p.c.discard) } // https://ffmpeg.org/doxygen/8.0/structAVProgram.html#a9c7a07c08a1f960aaa49f3f47633af5c func (p *Program) SetDiscard(d Discard) { p.c.discard = C.enum_AVDiscard(d) } // https://ffmpeg.org/doxygen/8.0/structAVProgram.html#ae9dab38d4694e3da9cba0f882f4e43d3 func (p *Program) Metadata() *Dictionary { return newDictionaryFromC(p.c.metadata) } // https://ffmpeg.org/doxygen/8.0/structAVProgram.html#ae9dab38d4694e3da9cba0f882f4e43d3 func (p *Program) SetMetadata(d *Dictionary) { p.c.metadata = d.c } // https://ffmpeg.org/doxygen/8.0/structAVProgram.html#a4c1539ea3c98da979b95a59a3ea163cb func (p *Program) ProgramNumber() int { return int(p.c.program_num) } // https://ffmpeg.org/doxygen/8.0/structAVProgram.html#a4c1539ea3c98da979b95a59a3ea163cb func (p *Program) SetProgramNumber(n int) { p.c.program_num = C.int(n) } // https://ffmpeg.org/doxygen/8.0/structAVProgram.html#a02011963a63c291c6dc6d4eefa56cd69 func (p *Program) PmtPid() int { return int(p.c.pmt_pid) } // https://ffmpeg.org/doxygen/8.0/structAVProgram.html#a02011963a63c291c6dc6d4eefa56cd69 func (p *Program) SetPmtPid(n int) { p.c.pmt_pid = C.int(n) } // https://ffmpeg.org/doxygen/8.0/structAVProgram.html#a7e026323df87e84a72ec5e5c8ce341a5 func (p *Program) PcrPid() int { return int(p.c.pcr_pid) } // https://ffmpeg.org/doxygen/8.0/structAVProgram.html#a7e026323df87e84a72ec5e5c8ce341a5 func (p *Program) SetPcrPid(n int) { p.c.pcr_pid = C.int(n) } // https://ffmpeg.org/doxygen/8.0/structAVProgram.html#a2276db4d51695120664d527f20b7c532 func (p *Program) StartTime() int64 { return int64(p.c.start_time) } // https://ffmpeg.org/doxygen/8.0/structAVProgram.html#a5a7795c918153d0f64d68a838e172db4 func (p *Program) EndTime() int64 { return int64(p.c.end_time) } // https://ffmpeg.org/doxygen/8.0/structAVProgram.html#a7e539e286876577e158039f6e7678452 func (p *Program) PtsWrapReference() int64 { return int64(p.c.pts_wrap_reference) } // https://ffmpeg.org/doxygen/8.0/structAVProgram.html#aa3f8af78093a910ff766ac5af381758b func (p *Program) PtsWrapBehavior() int { return int(p.c.pts_wrap_behavior) } ================================================ FILE: program_test.go ================================================ package astiav import ( "testing" "github.com/stretchr/testify/require" ) func TestProgram(t *testing.T) { fc := AllocFormatContext() require.NotNil(t, fc) defer fc.Free() p := fc.NewProgram(1) require.Equal(t, 1, p.ID()) p.SetID(2) require.Equal(t, 2, p.ID()) p.SetDiscard(DiscardAll) require.Equal(t, DiscardAll, p.Discard()) d := NewDictionary() require.NoError(t, d.Set("service_name", "test_service_name", 0)) p.SetMetadata(d) require.Equal(t, p.Metadata().Get("service_name", nil, 0).Value(), "test_service_name") p.SetProgramNumber(101) require.Equal(t, 101, p.ProgramNumber()) p.SetPmtPid(201) require.Equal(t, 201, p.PmtPid()) p.SetPcrPid(301) require.Equal(t, 301, p.PcrPid()) require.Equal(t, p.StartTime(), NoPtsValue) require.Equal(t, p.EndTime(), NoPtsValue) require.Equal(t, p.PtsWrapReference(), NoPtsValue) require.Equal(t, p.PtsWrapBehavior(), 0) s := fc.NewStream(nil) s.SetID(2) require.Equal(t, 0, p.NbStreams()) p.AddStream(s) require.Equal(t, 1, p.NbStreams()) ss := p.Streams() require.Equal(t, 1, len(ss)) require.Equal(t, s.ID(), ss[0].ID()) } ================================================ FILE: rational.go ================================================ package astiav //#include import "C" import "strconv" // https://ffmpeg.org/doxygen/8.0/structAVRational.html type Rational struct { c C.AVRational } func newRationalFromC(c C.AVRational) Rational { return Rational{c: c} } func NewRational(num, den int) Rational { var r Rational r.SetNum(num) r.SetDen(den) return r } func (r Rational) Num() int { return int(r.c.num) } func (r *Rational) SetNum(num int) { r.c.num = C.int(num) } func (r Rational) Den() int { return int(r.c.den) } func (r *Rational) SetDen(den int) { r.c.den = C.int(den) } func (r Rational) Float64() float64 { if r.Num() == 0 || r.Den() == 0 { return 0 } return float64(r.Num()) / float64(r.Den()) } func (r Rational) String() string { if r.Num() == 0 || r.Den() == 0 { return "0" } return strconv.Itoa(r.Num()) + "/" + strconv.Itoa(r.Den()) } func (r Rational) Invert() Rational { return NewRational(r.Den(), r.Num()) } ================================================ FILE: rational_test.go ================================================ package astiav import ( "testing" "github.com/stretchr/testify/require" ) func TestRational(t *testing.T) { r := NewRational(2, 1) require.Equal(t, 2, r.Num()) require.Equal(t, 1, r.Den()) require.Equal(t, 0.5, r.Invert().Float64()) r.SetNum(1) r.SetDen(2) require.Equal(t, 1, r.Num()) require.Equal(t, 2, r.Den()) require.Equal(t, "1/2", r.String()) require.Equal(t, 0.5, r.Float64()) r.SetDen(0) require.Equal(t, float64(0), r.Float64()) require.Equal(t, "0", r.String()) } ================================================ FILE: region_of_interest.go ================================================ package astiav //#include import "C" // https://ffmpeg.org/doxygen/8.0/structAVRegionOfInterest.html type RegionOfInterest struct { Bottom int Left int QuantisationOffset Rational Right int Top int } ================================================ FILE: rounding.go ================================================ package astiav //#include import "C" // https://ffmpeg.org/doxygen/8.0/group__lavu__math.html#ga921d656eaf2c4d6800a734a13af021d0 type Rounding C.enum_AVRounding const ( RoundingZero = Rounding(C.AV_ROUND_ZERO) RoundingInf = Rounding(C.AV_ROUND_INF) RoundingDown = Rounding(C.AV_ROUND_DOWN) RoundingUp = Rounding(C.AV_ROUND_UP) RoundingNearInf = Rounding(C.AV_ROUND_NEAR_INF) RoundingPassMinmax = Rounding(C.AV_ROUND_PASS_MINMAX) ) ================================================ FILE: sample_format.go ================================================ package astiav //#include import "C" // https://ffmpeg.org/doxygen/8.0/group__lavu__sampfmts.html#gaf9a51ca15301871723577c730b5865c5 type SampleFormat C.enum_AVSampleFormat const ( SampleFormatDbl = SampleFormat(C.AV_SAMPLE_FMT_DBL) SampleFormatDblp = SampleFormat(C.AV_SAMPLE_FMT_DBLP) SampleFormatFlt = SampleFormat(C.AV_SAMPLE_FMT_FLT) SampleFormatFltp = SampleFormat(C.AV_SAMPLE_FMT_FLTP) SampleFormatNb = SampleFormat(C.AV_SAMPLE_FMT_NB) SampleFormatNone = SampleFormat(C.AV_SAMPLE_FMT_NONE) SampleFormatS16 = SampleFormat(C.AV_SAMPLE_FMT_S16) SampleFormatS16P = SampleFormat(C.AV_SAMPLE_FMT_S16P) SampleFormatS32 = SampleFormat(C.AV_SAMPLE_FMT_S32) SampleFormatS32P = SampleFormat(C.AV_SAMPLE_FMT_S32P) SampleFormatS64 = SampleFormat(C.AV_SAMPLE_FMT_S64) SampleFormatS64P = SampleFormat(C.AV_SAMPLE_FMT_S64P) SampleFormatU8 = SampleFormat(C.AV_SAMPLE_FMT_U8) SampleFormatU8P = SampleFormat(C.AV_SAMPLE_FMT_U8P) ) // https://ffmpeg.org/doxygen/8.0/group__lavu__sampfmts.html#ga31b9d149b2de9821a65f4f5612970838 func (f SampleFormat) Name() string { return C.GoString(C.av_get_sample_fmt_name((C.enum_AVSampleFormat)(f))) } func (f SampleFormat) String() string { return f.Name() } // https://ffmpeg.org/doxygen/8.0/group__lavu__sampfmts.html#ga0c3c218e1dd570ad4917c69a35a6c77d func (f SampleFormat) BytesPerSample() int { return int(C.av_get_bytes_per_sample((C.enum_AVSampleFormat)(f))) } // https://ffmpeg.org/doxygen/8.0/group__lavu__sampfmts.html#ga06ba8a64dc4382c422789a5d0b6bf592 func (f SampleFormat) IsPlanar() bool { return C.av_sample_fmt_is_planar((C.enum_AVSampleFormat)(f)) > 0 } ================================================ FILE: sample_format_test.go ================================================ package astiav import ( "testing" "github.com/stretchr/testify/require" ) func TestSampleFormat(t *testing.T) { require.Equal(t, "s16", SampleFormatS16.String()) require.Equal(t, 2, SampleFormatS16.BytesPerSample()) require.False(t, SampleFormatS16.IsPlanar()) require.True(t, SampleFormatS16P.IsPlanar()) } ================================================ FILE: seek_flag.go ================================================ package astiav //#include import "C" // https://ffmpeg.org/doxygen/8.0/avformat_8h.html#ac736f8f4afc930ca1cda0b43638cc678 type SeekFlag int64 const ( SeekFlagAny = SeekFlag(C.AVSEEK_FLAG_ANY) SeekFlagBackward = SeekFlag(C.AVSEEK_FLAG_BACKWARD) SeekFlagByte = SeekFlag(C.AVSEEK_FLAG_BYTE) SeekFlagFrame = SeekFlag(C.AVSEEK_FLAG_FRAME) ) ================================================ FILE: skip_samples.go ================================================ package astiav import ( "encoding/binary" "fmt" ) // https://ffmpeg.org/doxygen/8.0/group__lavc__packet__side__data.html#gga9a80bfcacc586b483a973272800edb97a2093332d8086d25a04942ede61007f6a // https://ffmpeg.org/doxygen/8.0/group__lavu__frame.html#ggae01fa7e427274293aacdf2adc17076bca6b0b1ee4315f322922710f65d02a146b type SkipSamples struct { ReasonEnd uint8 ReasonStart uint8 SkipEnd uint32 SkipStart uint32 } func newSkipSamplesFromBytes(b []byte) (*SkipSamples, error) { if len(b) < 10 { return nil, fmt.Errorf("astiav: invalid length %d < 10", len(b)) } return &SkipSamples{ ReasonEnd: b[9], ReasonStart: b[8], SkipEnd: binary.LittleEndian.Uint32(b[4:8]), SkipStart: binary.LittleEndian.Uint32(b[0:4]), }, nil } func (ss *SkipSamples) bytes() (b []byte) { b = binary.LittleEndian.AppendUint32(b, ss.SkipStart) b = binary.LittleEndian.AppendUint32(b, ss.SkipEnd) b = append(b, ss.ReasonStart, ss.ReasonEnd) return b } ================================================ FILE: skip_samples_test.go ================================================ package astiav import ( "testing" "github.com/stretchr/testify/require" ) func TestSkipSamples(t *testing.T) { _, err := newSkipSamplesFromBytes([]byte("123456789")) require.Error(t, err) ss1 := &SkipSamples{ ReasonEnd: 1, ReasonStart: 2, SkipEnd: 3, SkipStart: 4, } b1 := ss1.bytes() require.Equal(t, []byte{0x4, 0x0, 0x0, 0x0, 0x3, 0x0, 0x0, 0x0, 0x2, 0x1}, b1) ss2, err := newSkipSamplesFromBytes(b1) require.NoError(t, err) require.Equal(t, ss1, ss2) } ================================================ FILE: software_resample_context.go ================================================ package astiav //#include import "C" import "unsafe" // https://ffmpeg.org/doxygen/8.0/structSwrContext.html type SoftwareResampleContext struct { c *C.SwrContext } func newSoftwareResampleContextFromC(c *C.SwrContext) *SoftwareResampleContext { if c == nil { return nil } src := &SoftwareResampleContext{c: c} classers.set(src) return src } // https://ffmpeg.org/doxygen/8.0/group__lswr.html#gaf58c4ff10f73d74bdab8e5aa7193147c func AllocSoftwareResampleContext() *SoftwareResampleContext { return newSoftwareResampleContextFromC(C.swr_alloc()) } // https://ffmpeg.org/doxygen/8.0/group__lswr.html#ga818f7d78b1ad7d8d5b70de374b668c34 func (src *SoftwareResampleContext) Free() { if src.c != nil { // Make sure to clone the classer before freeing the object since // the C free method may reset the pointer c := newClonedClasser(src) C.swr_free(&src.c) // Make sure to remove from classers after freeing the object since // the C free method may use methods needing the classer if c != nil { classers.del(c) } } } var _ Classer = (*SoftwareResampleContext)(nil) // https://ffmpeg.org/doxygen/8.0/structSwrContext.html#a7e13adcdcbc11bcc933cb7d0b9f839a0 func (src *SoftwareResampleContext) Class() *Class { if src.c == nil { return nil } return newClassFromC(unsafe.Pointer(src.c)) } // https://ffmpeg.org/doxygen/8.0/group__lswr.html#gac482028c01d95580106183aa84b0930c func (src_ *SoftwareResampleContext) ConvertFrame(src, dst *Frame) error { var csrc *C.AVFrame if src != nil { csrc = src.c } return newError(C.swr_convert_frame(src_.c, dst.c, csrc)) } // https://ffmpeg.org/doxygen/8.0/group__lswr.html#ga5121a5a7890a2d23b72dc871dd0ebb06 func (src_ *SoftwareResampleContext) Delay(base int64) int64 { return int64(C.swr_get_delay(src_.c, C.int64_t(base))) } ================================================ FILE: software_resample_context_test.go ================================================ package astiav import ( "testing" "github.com/stretchr/testify/require" ) func TestSoftwareResampleContext(t *testing.T) { src := AllocSoftwareResampleContext() defer src.Free() f1, err := globalHelper.inputLastFrame("video.mp4", MediaTypeAudio, nil) require.NoError(t, err) f2 := AllocFrame() defer f2.Free() f2.SetChannelLayout(ChannelLayoutMono) f2.SetNbSamples(300) f2.SetSampleFormat(SampleFormatS16) f2.SetSampleRate(24000) require.NoError(t, f2.AllocBuffer(0)) for _, v := range []struct { expectedDelay int64 expectedNbSamples int f *Frame }{ { expectedDelay: 212, expectedNbSamples: 300, f: f1, }, { expectedDelay: 17, expectedNbSamples: 212, }, {expectedDelay: 17}, } { require.NoError(t, src.ConvertFrame(v.f, f2)) require.Equal(t, v.expectedNbSamples, f2.NbSamples()) require.Equal(t, v.expectedDelay, src.Delay(int64(f2.SampleRate()))) } } ================================================ FILE: software_scale_context.go ================================================ package astiav //#include import "C" import ( "errors" "unsafe" ) // https://ffmpeg.org/doxygen/8.0/structSwsContext.html type SoftwareScaleContext struct { c *C.struct_SwsContext } type softwareScaleContextUpdate struct { dstFormat PixelFormat dstH int dstW int flags SoftwareScaleContextFlags srcFormat PixelFormat srcH int srcW int } func newSoftwareScaleContextFromC(c *C.struct_SwsContext) *SoftwareScaleContext { if c == nil { return nil } return &SoftwareScaleContext{c: c} } // https://ffmpeg.org/doxygen/8.0/group__libsws.html#ga59cc19eff0434e7ec11676dc5e222ff3 func CreateSoftwareScaleContext(srcW, srcH int, srcFormat PixelFormat, dstW, dstH int, dstFormat PixelFormat, flags SoftwareScaleContextFlags) (*SoftwareScaleContext, error) { ssc := newSoftwareScaleContextFromC(C.sws_getContext(C.int(srcW), C.int(srcH), C.enum_AVPixelFormat(srcFormat), C.int(dstW), C.int(dstH), C.enum_AVPixelFormat(dstFormat), C.int(flags), nil, nil, nil)) if ssc == nil { return nil, errors.New("astiav: empty new context") } classers.set(ssc) return ssc, nil } // https://ffmpeg.org/doxygen/8.0/group__libsws.html#gad90b463ceeafdfd526994742f9954dbb func (ssc *SoftwareScaleContext) Free() { if ssc.c != nil { // Make sure to clone the classer before freeing the object since // the C free method may reset the pointer c := newClonedClasser(ssc) C.sws_freeContext(ssc.c) ssc.c = nil // Make sure to remove from classers after freeing the object since // the C free method may use methods needing the classer if c != nil { classers.del(c) } } } var _ Classer = (*SoftwareScaleContext)(nil) // https://ffmpeg.org/doxygen/8.0/structSwsContext.html#a6866f52574bc730833d2580abc806261 func (ssc *SoftwareScaleContext) Class() *Class { if ssc.c == nil { return nil } return newClassFromC(unsafe.Pointer(ssc.c)) } // https://ffmpeg.org/doxygen/8.0/swscale-v2_8txt.html#a20ffff3ac1378332422b93ed70264f4c func (ssc *SoftwareScaleContext) ScaleFrame(src, dst *Frame) error { return newError(C.sws_scale_frame(ssc.c, dst.c, src.c)) } // https://ffmpeg.org/doxygen/8.0/group__libsws.html#ga9fd74ceaf0f126f762b81e3677f70c75 func (ssc *SoftwareScaleContext) update(fn func(update *softwareScaleContextUpdate)) error { u := &softwareScaleContextUpdate{ dstFormat: ssc.DestinationPixelFormat(), dstH: ssc.DestinationHeight(), dstW: ssc.DestinationWidth(), flags: ssc.Flags(), srcFormat: ssc.SourcePixelFormat(), srcH: ssc.SourceHeight(), srcW: ssc.SourceWidth(), } fn(u) c := C.sws_getCachedContext( ssc.c, C.int(u.srcW), C.int(u.srcH), C.enum_AVPixelFormat(u.srcFormat), C.int(u.dstW), C.int(u.dstH), C.enum_AVPixelFormat(u.dstFormat), C.int(u.flags), nil, nil, nil, ) if c == nil { return errors.New("astiav: empty new context") } ssc.c = c return nil } // https://ffmpeg.org/doxygen/8.0/structSwsContext.html#aef45de443b59978fd38ad1531c618574 func (ssc *SoftwareScaleContext) Flags() SoftwareScaleContextFlags { return SoftwareScaleContextFlags(ssc.c.flags) } // https://ffmpeg.org/doxygen/8.0/structSwsContext.html#aef45de443b59978fd38ad1531c618574 func (ssc *SoftwareScaleContext) SetFlags(swscf SoftwareScaleContextFlags) error { return ssc.update(func(u *softwareScaleContextUpdate) { u.flags = swscf }) } // https://ffmpeg.org/doxygen/8.0/structSwsContext.html#a883a891c8a2d4ea7a15a3a7055f64386 func (ssc *SoftwareScaleContext) DestinationWidth() int { return int(ssc.c.dst_w) } // https://ffmpeg.org/doxygen/8.0/structSwsContext.html#a883a891c8a2d4ea7a15a3a7055f64386 func (ssc *SoftwareScaleContext) SetDestinationWidth(i int) error { return ssc.update(func(u *softwareScaleContextUpdate) { u.dstW = i }) } // https://ffmpeg.org/doxygen/8.0/structSwsContext.html#a7facd34608c9258dae8c2942e3dce78f func (ssc *SoftwareScaleContext) DestinationHeight() int { return int(ssc.c.dst_h) } // https://ffmpeg.org/doxygen/8.0/structSwsContext.html#a7facd34608c9258dae8c2942e3dce78f func (ssc *SoftwareScaleContext) SetDestinationHeight(i int) error { return ssc.update(func(u *softwareScaleContextUpdate) { u.dstH = i }) } // https://ffmpeg.org/doxygen/8.0/structSwsContext.html#a0ff71c9ef5ab6dabf90378fa7bf836ec func (ssc *SoftwareScaleContext) DestinationPixelFormat() PixelFormat { return PixelFormat(ssc.c.dst_format) } // https://ffmpeg.org/doxygen/8.0/structSwsContext.html#a0ff71c9ef5ab6dabf90378fa7bf836ec func (ssc *SoftwareScaleContext) SetDestinationPixelFormat(p PixelFormat) error { return ssc.update(func(u *softwareScaleContextUpdate) { u.dstFormat = p }) } func (ssc *SoftwareScaleContext) DestinationResolution() (width int, height int) { return int(ssc.c.dst_w), int(ssc.c.dst_h) } func (ssc *SoftwareScaleContext) SetDestinationResolution(w int, h int) error { return ssc.update(func(u *softwareScaleContextUpdate) { u.dstW = w u.dstH = h }) } // https://ffmpeg.org/doxygen/8.0/structSwsContext.html#aa7dc7a4f9ec57a7c37957259a51cd920 func (ssc *SoftwareScaleContext) SourceWidth() int { return int(ssc.c.src_w) } // https://ffmpeg.org/doxygen/8.0/structSwsContext.html#a0ff71c9ef5ab6dabf90378fa7bf836ec func (ssc *SoftwareScaleContext) SetSourceWidth(i int) error { return ssc.update(func(u *softwareScaleContextUpdate) { u.srcW = i }) } // https://ffmpeg.org/doxygen/8.0/structSwsContext.html#a0dbc8c02bd3b4cd472e07008009751ff func (ssc *SoftwareScaleContext) SourceHeight() int { return int(ssc.c.src_h) } // https://ffmpeg.org/doxygen/8.0/structSwsContext.html#a0ff71c9ef5ab6dabf90378fa7bf836ec func (ssc *SoftwareScaleContext) SetSourceHeight(i int) error { return ssc.update(func(u *softwareScaleContextUpdate) { u.srcH = i }) } // https://ffmpeg.org/doxygen/8.0/structSwsContext.html#aab113373f157ee3b255ad97481af0cd9 func (ssc *SoftwareScaleContext) SourcePixelFormat() PixelFormat { return PixelFormat(ssc.c.src_format) } // https://ffmpeg.org/doxygen/8.0/structSwsContext.html#aab113373f157ee3b255ad97481af0cd9 func (ssc *SoftwareScaleContext) SetSourcePixelFormat(p PixelFormat) error { return ssc.update(func(u *softwareScaleContextUpdate) { u.srcFormat = p }) } func (ssc *SoftwareScaleContext) SourceResolution() (int, int) { return int(ssc.c.src_w), int(ssc.c.src_h) } func (ssc *SoftwareScaleContext) SetSourceResolution(w int, h int) error { return ssc.update(func(u *softwareScaleContextUpdate) { u.srcW = w u.srcH = h }) } ================================================ FILE: software_scale_context_flag.go ================================================ package astiav //#include import "C" // https://ffmpeg.org/doxygen/8.0/group__libsws.html#ggade664a46fb2652e6050985ebcd316798ae366a8f172c83a868c4a149ef844f2a7 type SoftwareScaleContextFlag int64 const ( SoftwareScaleContextFlagArea = SoftwareScaleContextFlag(C.SWS_AREA) SoftwareScaleContextFlagBicubic = SoftwareScaleContextFlag(C.SWS_BICUBIC) SoftwareScaleContextFlagBicublin = SoftwareScaleContextFlag(C.SWS_BICUBLIN) SoftwareScaleContextFlagBilinear = SoftwareScaleContextFlag(C.SWS_BILINEAR) SoftwareScaleContextFlagFastBilinear = SoftwareScaleContextFlag(C.SWS_FAST_BILINEAR) SoftwareScaleContextFlagGauss = SoftwareScaleContextFlag(C.SWS_GAUSS) SoftwareScaleContextFlagLanczos = SoftwareScaleContextFlag(C.SWS_LANCZOS) SoftwareScaleContextFlagPoint = SoftwareScaleContextFlag(C.SWS_POINT) SoftwareScaleContextFlagSinc = SoftwareScaleContextFlag(C.SWS_SINC) SoftwareScaleContextFlagSpline = SoftwareScaleContextFlag(C.SWS_SPLINE) SoftwareScaleContextFlagX = SoftwareScaleContextFlag(C.SWS_X) SoftwareScaleContextFlagStrict = SoftwareScaleContextFlag(C.SWS_STRICT) SoftwareScaleContextFlagPrintInfo = SoftwareScaleContextFlag(C.SWS_PRINT_INFO) SoftwareScaleContextFlagFullChrHInt = SoftwareScaleContextFlag(C.SWS_FULL_CHR_H_INT) SoftwareScaleContextFlagFullChrHInp = SoftwareScaleContextFlag(C.SWS_FULL_CHR_H_INP) SoftwareScaleContextFlagAccurateRnd = SoftwareScaleContextFlag(C.SWS_ACCURATE_RND) SoftwareScaleContextFlagBitexact = SoftwareScaleContextFlag(C.SWS_BITEXACT) SoftwareScaleContextFlagDirectBgr = SoftwareScaleContextFlag(C.SWS_DIRECT_BGR) SoftwareScaleContextFlagErrorDiffusion = SoftwareScaleContextFlag(C.SWS_ERROR_DIFFUSION) ) ================================================ FILE: software_scale_context_test.go ================================================ package astiav import ( "os" "testing" "github.com/stretchr/testify/require" ) func TestSoftwareScaleContext(t *testing.T) { f1 := AllocFrame() require.NotNil(t, f1) defer f1.Free() f2 := AllocFrame() require.NotNil(t, f2) defer f2.Free() f3 := AllocFrame() require.NotNil(t, f3) defer f3.Free() srcW := 4 srcH := 2 srcPixelFormat := PixelFormatYuv420P dstW := 8 dstH := 4 dstPixelFormat := PixelFormatRgba swscf1 := SoftwareScaleContextFlags(SoftwareScaleContextFlagBilinear) f1.SetHeight(srcH) f1.SetWidth(srcW) f1.SetPixelFormat(srcPixelFormat) require.NoError(t, f1.AllocBuffer(1)) swsc1, err := CreateSoftwareScaleContext(srcW, srcH, srcPixelFormat, dstW, dstH, dstPixelFormat, swscf1) require.NoError(t, err) defer swsc1.Free() require.Equal(t, dstH, swsc1.DestinationHeight()) require.Equal(t, dstPixelFormat, swsc1.DestinationPixelFormat()) w, h := swsc1.DestinationResolution() require.Equal(t, w, dstW) require.Equal(t, h, dstH) require.Equal(t, dstW, swsc1.DestinationWidth()) require.Equal(t, swscf1, swsc1.Flags()) require.Equal(t, srcH, swsc1.SourceHeight()) require.Equal(t, srcPixelFormat, swsc1.SourcePixelFormat()) w, h = swsc1.SourceResolution() require.Equal(t, w, srcW) require.Equal(t, h, srcH) require.Equal(t, srcW, swsc1.SourceWidth()) cl := swsc1.Class() require.NotNil(t, cl) require.Equal(t, "SWScaler", cl.Name()) require.NoError(t, swsc1.ScaleFrame(f1, f2)) require.Equal(t, dstH, f2.Height()) require.Equal(t, dstW, f2.Width()) require.Equal(t, dstPixelFormat, f2.PixelFormat()) dstW = 4 dstH = 3 dstPixelFormat = PixelFormatYuv420P swscf2 := SoftwareScaleContextFlags(SoftwareScaleContextFlagPoint) srcW = 2 srcH = 1 srcPixelFormat = PixelFormatRgba require.NoError(t, swsc1.SetDestinationHeight(dstH)) require.Equal(t, dstH, swsc1.DestinationHeight()) require.NoError(t, swsc1.SetDestinationPixelFormat(dstPixelFormat)) require.Equal(t, dstPixelFormat, swsc1.DestinationPixelFormat()) require.NoError(t, swsc1.SetDestinationWidth(dstW)) require.Equal(t, dstW, swsc1.DestinationWidth()) dstW = 5 dstH = 4 require.NoError(t, swsc1.SetDestinationResolution(dstW, dstH)) w, h = swsc1.DestinationResolution() require.Equal(t, w, dstW) require.Equal(t, h, dstH) require.NoError(t, swsc1.SetFlags(swscf2)) require.Equal(t, swsc1.Flags(), swscf2) require.NoError(t, swsc1.SetSourceHeight(srcH)) require.Equal(t, srcH, swsc1.SourceHeight()) require.NoError(t, swsc1.SetSourcePixelFormat(srcPixelFormat)) require.Equal(t, srcPixelFormat, swsc1.SourcePixelFormat()) require.NoError(t, swsc1.SetSourceWidth(srcW)) require.Equal(t, srcW, swsc1.SourceWidth()) srcW = 3 srcH = 2 require.NoError(t, swsc1.SetSourceResolution(srcW, srcH)) w, h = swsc1.SourceResolution() require.Equal(t, w, srcW) require.Equal(t, h, srcH) f4, err := globalHelper.inputLastFrame("image-rgba.png", MediaTypeVideo, nil) require.NoError(t, err) f5 := AllocFrame() require.NotNil(t, f5) defer f5.Free() swsc2, err := CreateSoftwareScaleContext(f4.Width(), f4.Height(), f4.PixelFormat(), 512, 512, f4.PixelFormat(), NewSoftwareScaleContextFlags(SoftwareScaleContextFlagBilinear)) require.NoError(t, err) require.NoError(t, swsc2.ScaleFrame(f4, f5)) b1, err := f5.Data().Bytes(1) require.NoError(t, err) b2, err := os.ReadFile("testdata/image-rgba-upscaled-bytes") require.NoError(t, err) require.Equal(t, b2, b1) } ================================================ FILE: stream.go ================================================ package astiav //#include import "C" import "unsafe" // https://ffmpeg.org/doxygen/8.0/structAVStream.html type Stream struct { c *C.AVStream } func newStreamFromC(c *C.AVStream) *Stream { if c == nil { return nil } return &Stream{c: c} } // https://ffmpeg.org/doxygen/8.0/structAVStream.html#a946e1e9b89eeeae4cab8a833b482c1ad func (s *Stream) AvgFrameRate() Rational { return newRationalFromC(s.c.avg_frame_rate) } // https://ffmpeg.org/doxygen/8.0/structAVStream.html#a946e1e9b89eeeae4cab8a833b482c1ad func (s *Stream) SetAvgFrameRate(r Rational) { s.c.avg_frame_rate = r.c } // https://ffmpeg.org/doxygen/8.0/structAVStream.html#a4737d8b012827558f55a6f559b253496 func (s *Stream) Class() *Class { if s.c == nil { return nil } return newClassFromC(unsafe.Pointer(s.c)) } // https://ffmpeg.org/doxygen/8.0/structAVStream.html#a12826d21779289356722971d362c583c func (s *Stream) CodecParameters() *CodecParameters { return newCodecParametersFromC(s.c.codecpar) } // https://ffmpeg.org/doxygen/8.0/structAVStream.html#a492fcecc45dbbd8da51edd0124e9dd30 func (s *Stream) Discard() Discard { return Discard(s.c.discard) } // https://ffmpeg.org/doxygen/8.0/structAVStream.html#a492fcecc45dbbd8da51edd0124e9dd30 func (s *Stream) SetDiscard(d Discard) { s.c.discard = C.enum_AVDiscard(d) } // https://ffmpeg.org/doxygen/8.0/structAVStream.html#aea05abdb8e45405048d7923a68c23ef5 func (s *Stream) DispositionFlags() DispositionFlags { return DispositionFlags(s.c.disposition) } // https://ffmpeg.org/doxygen/8.0/structAVStream.html#aea05abdb8e45405048d7923a68c23ef5 func (s *Stream) SetDispositionFlags(f DispositionFlags) { s.c.disposition = C.int(f) } // https://ffmpeg.org/doxygen/8.0/structAVStream.html#a4e04af7a5a4d8298649850df798dd0bc func (s *Stream) Duration() int64 { return int64(s.c.duration) } // https://ffmpeg.org/doxygen/8.0/structAVStream.html#ab76e176c2a1d1ff09ec9c0bb88dc25e9 func (s *Stream) EventFlags() StreamEventFlags { return StreamEventFlags(s.c.event_flags) } // https://ffmpeg.org/doxygen/8.0/structAVStream.html#ab76e176c2a1d1ff09ec9c0bb88dc25e9 func (s *Stream) SetEventFlags(eventFlags StreamEventFlags) { s.c.event_flags = C.int(eventFlags) } // https://ffmpeg.org/doxygen/8.0/structAVStream.html#a6873ed62f196c24e8bf282609231786f func (s *Stream) ID() int { return int(s.c.id) } // https://ffmpeg.org/doxygen/8.0/structAVStream.html#a6873ed62f196c24e8bf282609231786f func (s *Stream) SetID(i int) { s.c.id = C.int(i) } // https://ffmpeg.org/doxygen/8.0/structAVStream.html#a6ca823054632821e085377f7d371a2d1 func (s *Stream) Index() int { return int(s.c.index) } // https://ffmpeg.org/doxygen/8.0/structAVStream.html#a6ca823054632821e085377f7d371a2d1 func (s *Stream) SetIndex(i int) { s.c.index = C.int(i) } // https://ffmpeg.org/doxygen/8.0/structAVStream.html#a50d250a128a3da9ce3d135e84213fb82 func (s *Stream) Metadata() *Dictionary { return newDictionaryFromC(s.c.metadata) } // https://ffmpeg.org/doxygen/8.0/structAVStream.html#a50d250a128a3da9ce3d135e84213fb82 func (s *Stream) SetMetadata(d *Dictionary) { if d == nil { s.c.metadata = nil } else { s.c.metadata = d.c } } // https://ffmpeg.org/doxygen/8.0/structAVStream.html#a4382c3064df1c9eb232ac198dec067f9 func (s *Stream) NbFrames() int64 { return int64(s.c.nb_frames) } // https://ffmpeg.org/doxygen/8.0/structAVStream.html#a6cdb0c90a69899f4e1e54704bb654936 func (s *Stream) PTSWrapBits() int { return int(s.c.pts_wrap_bits) } // https://ffmpeg.org/doxygen/8.0/structAVStream.html#a6cdb0c90a69899f4e1e54704bb654936 func (s *Stream) SetPTSWrapBits(bits int) { s.c.pts_wrap_bits = C.int(bits) } // https://ffmpeg.org/doxygen/8.0/structAVStream.html#ad63fb11cc1415e278e09ddc676e8a1ad func (s *Stream) RFrameRate() Rational { return newRationalFromC(s.c.r_frame_rate) } // https://ffmpeg.org/doxygen/8.0/structAVStream.html#ad63fb11cc1415e278e09ddc676e8a1ad func (s *Stream) SetRFrameRate(r Rational) { s.c.r_frame_rate = r.c } // https://ffmpeg.org/doxygen/8.0/structAVStream.html#a3f19c60ac6da237cd10e4d97150c118e func (s *Stream) SampleAspectRatio() Rational { return newRationalFromC(s.c.sample_aspect_ratio) } // https://ffmpeg.org/doxygen/8.0/structAVStream.html#a3f19c60ac6da237cd10e4d97150c118e func (s *Stream) SetSampleAspectRatio(r Rational) { s.c.sample_aspect_ratio = r.c } // https://ffmpeg.org/doxygen/8.0/structAVStream.html#a7c67ae70632c91df8b0f721658ec5377 func (s *Stream) StartTime() int64 { return int64(s.c.start_time) } // https://ffmpeg.org/doxygen/8.0/structAVStream.html#a7c67ae70632c91df8b0f721658ec5377 func (s *Stream) SetStartTime(startTime int64) { s.c.start_time = C.int64_t(startTime) } // https://ffmpeg.org/doxygen/8.0/structAVStream.html#a9db755451f14e2bf590d4b85d82b32e6 func (s *Stream) TimeBase() Rational { return newRationalFromC(s.c.time_base) } // https://ffmpeg.org/doxygen/8.0/structAVStream.html#a9db755451f14e2bf590d4b85d82b32e6 func (s *Stream) SetTimeBase(r Rational) { s.c.time_base = r.c } ================================================ FILE: stream_event_flag.go ================================================ package astiav //#include import "C" // https://ffmpeg.org/doxygen/8.0/avformat_8h.html#ab3a5958310f614671f5030ed10753ba9 type StreamEventFlag int64 const ( StreamEventFlagMetadataUpdated = StreamEventFlag(C.AVSTREAM_EVENT_FLAG_METADATA_UPDATED) ) ================================================ FILE: stream_test.go ================================================ package astiav import ( "testing" "github.com/stretchr/testify/require" ) func TestStream(t *testing.T) { fc, err := globalHelper.inputFormatContext("video.mp4", nil) require.NoError(t, err) ss := fc.Streams() require.Len(t, ss, 2) s1 := ss[0] s2 := ss[1] require.Equal(t, 0, s1.Index()) require.Equal(t, NewRational(24, 1), s1.AvgFrameRate()) require.True(t, s1.DispositionFlags().Has(DispositionFlagDefault)) require.Equal(t, int64(61440), s1.Duration()) require.True(t, s1.EventFlags().Has(StreamEventFlag(2))) require.Equal(t, 1, s1.ID()) require.Equal(t, "und", s1.Metadata().Get("language", nil, NewDictionaryFlags()).Value()) require.Equal(t, int64(120), s1.NbFrames()) require.Equal(t, NewRational(24, 1), s1.RFrameRate()) require.Equal(t, NewRational(1, 1), s1.SampleAspectRatio()) require.Equal(t, int64(0), s1.StartTime()) require.Equal(t, NewRational(1, 12288), s1.TimeBase()) cl := s1.Class() require.NotNil(t, cl) require.Equal(t, "AVStream", cl.Name()) require.Equal(t, 1, s2.Index()) require.Equal(t, int64(240640), s2.Duration()) require.Equal(t, 2, s2.ID()) require.Equal(t, int64(235), s2.NbFrames()) require.Equal(t, int64(0), s2.StartTime()) require.Equal(t, NewRational(1, 48000), s2.TimeBase()) s1.SetAvgFrameRate(NewRational(2, 1)) require.Equal(t, NewRational(2, 1), s1.AvgFrameRate()) s1.SetDiscard(DiscardAll) require.Equal(t, DiscardAll, s1.Discard()) s1.SetDispositionFlags(2) require.Equal(t, DispositionFlags(2), s1.DispositionFlags()) s1.SetEventFlags(1) require.Equal(t, StreamEventFlags(1), s1.EventFlags()) s1.SetID(2) require.Equal(t, 2, s1.ID()) s1.SetIndex(1) require.Equal(t, 1, s1.Index()) s1.SetPTSWrapBits(2) require.Equal(t, 2, s1.PTSWrapBits()) s1.SetRFrameRate(NewRational(2, 1)) require.Equal(t, NewRational(2, 1), s1.RFrameRate()) s1.SetSampleAspectRatio(NewRational(2, 1)) require.Equal(t, NewRational(2, 1), s1.SampleAspectRatio()) s1.SetStartTime(1) require.Equal(t, int64(1), s1.StartTime()) s1.SetTimeBase(NewRational(1, 1)) require.Equal(t, NewRational(1, 1), s1.TimeBase()) d := NewDictionary() d.Set("k", "v", 0) s1.SetMetadata(d) e := s1.Metadata().Get("k", nil, 0) require.NotNil(t, e) require.Equal(t, "v", e.Value()) s1.SetMetadata(nil) require.Nil(t, s1.Metadata()) } ================================================ FILE: strict_std_compliance.go ================================================ package astiav //#include import "C" // https://ffmpeg.org/doxygen/8.0/defs_8h.html#a96808e3862c53c7edb4ace1b2f3e544f type StrictStdCompliance int const ( StrictStdComplianceVeryStrict = StrictStdCompliance(C.FF_COMPLIANCE_VERY_STRICT) StrictStdComplianceStrict = StrictStdCompliance(C.FF_COMPLIANCE_STRICT) StrictStdComplianceNormal = StrictStdCompliance(C.FF_COMPLIANCE_NORMAL) StrictStdComplianceUnofficial = StrictStdCompliance(C.FF_COMPLIANCE_UNOFFICIAL) StrictStdComplianceExperimental = StrictStdCompliance(C.FF_COMPLIANCE_EXPERIMENTAL) ) ================================================ FILE: testdata/audio-s16le-bytes ================================================ [61 254 101 0 68 254 135 255 100 254 242 254 174 254 186 254 45 255 168 254 215 255 143 254 154 0 148 254 79 1 199 254 201 1 255 254 242 1 58 255 199 1 130 255 104 1 192 255 8 1 7 0 184 0 101 0 113 0 181 0 60 0 240 0 32 0 44 1 22 0 51 1 13 0 218 0 235 255 63 0 159 255 119 255 96 255 174 254 111 255 54 254 199 255 19 254 63 0 8 254 187 0 13 254 35 1 52 254 92 1 123 254 90 1 225 254 21 1 72 255 145 0 133 255 237 255 165 255 99 255 208 255 27 255 11 0 255 254 75 0 220 254 132 0 174 254 145 0 154 254 96 0 180 254 1 0 248 254 137 255 94 255 22 255 227 255 219 254 125 0 221 254 19 1 244 254 147 1 27 255 249 1 111 255 55 2 237 255 50 2 104 0 217 1 197 0 61 1 15 1 140 0 95 1 238 255 188 1 124 255 14 2 74 255 62 2 94 255 78 2 138 255 55 2 154 255 216 1 143 255 42 1 130 255 85 0 138 255 149 255 178 255 25 255 242 255 222 254 66 0 209 254 170 0 244 254 16 1 59 255 68 1 130 255 79 1 212 255 72 1 67 0 18 1 163 0 166 0 220 0 67 0 26 1 12 0 110 1 239 255 182 1 210 255 226 1 154 255 228 1 64 255 160 1 244 254 6 1 232 254 42 0 14 255 84 255 69 255 214 254 127 255 165 254 202 255 133 254 56 0 120 254 169 0 154 254 226 0 226 254 204 0 64 255 120 0 159 255 232 255 216 255 31 255 240 255 78 254 32 0 187 253 125 0 133 253 232 0 154 253 60 1 211 253 84 1 12 254 24 1 60 254 139 0 99 254 189 255 144 254 218 254 228 254 52 254 111 255 250 253 19 0 7 254 183 0 48 254 85 1 119 254 213 1 217 254 26 2 79 255 26 2 214 255 192 1 83 0 11 1 163 0 82 0 217 0 237 255 16 1 207 255 68 1 195 255 127 1 187 255 175 1 183 255 142 1 173 255 254 0 165 255 42 0 175 255 68 255 223 255 145 254 64 0 67 254 189 0 39 254 45 1 8 254 122 1 19 254 169 1 103 254 198 1 218 254 207 1 84 255 186 1 204 255 126 1 46 0 38 1 132 0 197 0 221 0 107 0 46 1 25 0 121 1 208 255 173 1 150 255 150 1 110 255 49 1 68 255 156 0 14 255 218 255 243 254 9 255 39 255 134 254 152 255 107 254 9 0 121 254 121 0 148 254 4 1 222 254 122 1 98 255 145 1 240 255 80 1 88 0 214 0 164 0 40 0 247 0 114 255 77 1 245 254 135 1 182 254 166 1 136 254 178 1 74 254 156 1 10 254 79 1 240 253 199 0 9 254 10 0 72 254 70 255 171 254 192 254 40 255 141 254 151 255 136 254 249 255 161 254 113 0 233 254 222 0 93 255 5 1 230 255 236 0 111 0 168 0 230 0 66 0 71 1 214 255 157 1 138 255 232 1 102 255 28 2 69 255 50 2 11 255 18 2 201 254 168 1 163 254 12 1 149 254 85 0 149 254 142 255 173 254 240 254 220 254 160 254 36 255 123 254 157 255 104 254 60 0 138 254 204 0 220 254 56 1 54 255 126 1 136 255 148 1 219 255 137 1 46 0 119 1 124 0 90 1 184 0 42 1 237 0 250 0 46 1 216 0 90 1 176 0 57 1 104 0 189 0 7 0 250 255 171 255 25 255 117 255 106 254 107 255 20 254 142 255 235 253 228 255 212 253 115 0 239 253 31 1 69 254 163 1 181 254 200 1 36 255 141 1 133 255 22 1 216 255 151 0 43 0 65 0 127 0 16 0 200 0 221 255 247 0 142 255 2 1 52 255 225 0 254 254 149 0 0 255 20 0 47 255 114 255 138 255 247 254 6 0 195 254 119 0 170 254 209 0 158 254 44 1 189 254 113 1 15 255 137 1 140 255 130 1 32 0 75 1 161 0 199 0 6 1 56 0 113 1 230 255 228 1 198 255 68 2 196 255 140 2 210 255 175 2 195 255 138 2 133 255 17 2 58 255 73 1 251 254 81 0 220 254 125 255 234 254 11 255 16 255 219 254 76 255 193 254 178 255 207 254 41 0 16 255 121 0 103 255 149 0 203 255 145 0 53 0 120 0 141 0 75 0 201 0 17 0 247 0 221 255 51 1 179 255 142 1 113 255 229 1 12 255 232 1 175 254 129 1 125 254 222 0 118 254 24 0 152 254 66 255 217 254 160 254 25 255 81 254 75 255 33 254 143 255 2 254 238 255 30 254 48 0 115 254 38 0 224 254 228 255 98 255 128 255 222 255 245 254 53 0 111 254 119 0 49 254 199 0 64 254 34 1 107 254 116 1 135 254 135 1 140 254 46 1 151 254 125 0 182 254 166 255 233 254 209 254 77 255 59 254 237 255 250 253 137 0 212 253 3 1 195 253 132 1 2 254 3 2 137 254 70 2 20 255 63 2 146 255 242 1 255 255 97 1 81 0 191 0 163 0 77 0 9 1 21 0 109 1 4 0 178 1 14 0 192 1 33 0 130 1 42 0 5 1 30 0 91 0 3 0 144 255 249 255 210 254 27 0 78 254 108 0 247 253 221 0 188 253 86 1 185 253 179 1 1 254 222 1 129 254 226 1 22 255 209 1 170 255 163 1 60 0 100 1 197 0 57 1 47 1 41 1 133 1 14 1 231 1 203 0 46 2 95 0 17 2 225 255 135 1 116 255 193 0 43 255 241 255 9 255 81 255 33 255 251 254 108 255 200 254 184 255 157 254 10 0 147 254 140 0 198 254 22 1 46 255 83 1 178 255 45 1 44 0 186 0 145 0 12 0 249 0 86 255 103 1 211 254 199 1 140 254 16 2 94 254 54 2 42 254 23 2 235 253 177 1 183 253 24 1 171 253 90 0 227 253 154 255 94 254 17 255 245 254 203 254 121 255 175 254 215 255 196 254 24 0 13 255 79 0 116 255 134 0 234 255 174 0 96 0 178 0 204 0 146 0 53 1 86 0 156 1 28 0 236 1 8 0 34 2 5 0 66 2 222 255 37 2 142 255 167 1 46 255 217 0 197 254 224 255 112 254 241 254 90 254 80 254 133 254 3 254 214 254 220 253 63 255 214 253 195 255 11 254 95 0 109 254 245 0 227 254 93 1 96 255 138 1 199 255 138 1 18 0 129 1 97 0 146 1 190 0 183 1 32 1 187 1 125 1 127 1 168 1 29 1 115 1 179 0 221 0 69 0 0 0 216 255 8 255 144 255 70 254 127 255 234 253 146 255 213 253 193 255 216 253 31 0 240 253 169 0 49 254 49 1 155 254 129 1 23 255 121 1 144 255 36 1 5 0 181 0 110 0 93 0 203 0 46 0 56 1 22 0 172 1 235 255 223 1 159 255 174 1 84 255 51 1 18 255 123 0 220 254 165 255 233 254 13 255 74 255 220 254 187 255 206 254 20 0 185 254 105 0 200 254 163 0 11 255 159 0 101 255 128 0 209 255 99 0 92 0 64 0 253 0 31 0 156 1 15 0 39 2 251 255 143 2 215 255 210 2 181 255 219 2 139 255 134 2 65 255 210 1 240 254 228 0 190 254 220 255 171 254 242 254 168 254 107 254 186 254 54 254 240 254 13 254 79 255 234 253 191 255 254 253 18 0 88 254 69 0 227 254 126 0 123 255 178 0 17 0 185 0 173 0 166 0 57 1 163 0 156 1 154 0 236 1 98 0 46 2 248 255 35 2 130 255 174 1 42 255 235 0 251 254 7 0 233 254 69 255 253 254 205 254 54 255 116 254 104 255 30 254 136 255 233 253 194 255 227 253 27 0 11 254 83 0 114 254 59 0 255 254 234 255 138 255 141 255 24 0 62 255 166 0 6 255 30 1 245 254 136 1 250 254 221 1 233 254 237 1 182 254 163 1 139 254 3 1 135 254 24 0 176 254 29 255 15 255 97 254 156 255 243 253 46 0 181 253 170 0 174 253 4 1 241 253 48 1 93 254 51 1 203 254 23 1 72 255 214 0 226 255 122 0 126 0 36 0 3 1 228 255 129 1 182 255 243 1 171 255 59 2 210 255 72 2 21 0 9 2 69 0 106 1 72 0 117 0 45 0 109 255 41 0 155 254 93 0 22 254 183 0 196 253 17 1 147 253 96 1 153 253 167 1 222 253 234 1 83 254 35 2 239 254 69 2 166 255 85 2 93 0 86 2 10 1 54 2 165 1 246 1 41 2 169 1 149 2 70 1 205 2 185 0 160 2 15 0 253 1 98 255 255 0 220 254 232 255 179 254 31 255 226 254 195 254 42 255 135 254 106 255 60 254 184 255 25 254 29 0 68 254 121 0 155 254 153 0 239 254 108 0 71 255 22 0 196 255 193 255 108 0 131 255 22 1 99 255 171 1 75 255 47 2 36 255 115 2 239 254 64 2 175 254 167 1 102 254 225 0 56 254 11 0 75 254 85 255 144 254 238 254 229 254 181 254 50 255 124 254 105 255 93 254 152 255 119 254 212 255 190 254 23 0 45 255 71 0 195 255 71 0 100 0 23 0 7 1 236 255 172 1 232 255 59 2 245 255 169 2 3 0 250 2 1 0 6 3 203 255 153 2 88 255 182 1 210 254 136 0 101 254 94 255 66 254 149 254 135 254 58 254 7 255 20 254 135 255 7 254 5 0 26 254 143 0 85 254 21 1 200 254 118 1 99 255 170 1 243 255 213 1 104 0 8 2 222 0 41 2 88 1 51 2 196 1 46 2 6 2 242 1 252 1 111 1 154 1 206 0 221 0 41 0 203 255 150 255 180 254 71 255 251 253 60 255 156 253 67 255 86 253 83 255 37 253 151 255 44 253 28 0 113 253 179 0 230 253 14 1 112 254 12 1 243 254 209 0 115 255 142 0 0 0 76 0 152 0 28 0 57 1 4 0 202 1 223 255 0 2 148 255 180 1 62 255 18 1 252 254 80 0 218 254 134 255 224 254 234 254 19 255 158 254 98 255 116 254 186 255 70 254 15 0 70 254 70 0 151 254 83 0 7 255 77 0 111 255 65 0 236 255 39 0 147 0 1 0 72 1 226 255 227 1 206 255 88 2 201 255 178 2 216 255 229 2 215 255 200 2 152 255 61 2 37 255 81 1 185 254 58 0 138 254 82 255 174 254 211 254 5 255 150 254 79 255 101 254 123 255 86 254 185 255 144 254 27 0 246 254 117 0 99 255 160 0 226 255 173 0 144 0 191 0 98 1 221 0 35 2 246 0 170 2 253 0 254 2 222 0 24 3 141 0 208 2 35 0 43 2 200 255 87 1 130 255 98 0 69 255 104 255 33 255 176 254 37 255 67 254 65 255 234 253 102 255 163 253 156 255 141 253 213 255 165 253 247 255 234 253 244 255 101 254 184 255 2 255 78 255 183 255 6 255 132 0 17 255 68 1 71 255 212 1 124 255 42 2 155 255 47 2 136 255 207 1 75 255 28 1 25 255 52 0 13 255 68 255 49 255 149 254 140 255 62 254 255 255 16 254 89 0 233 253 147 0 225 253 175 0 16 254 167 0 97 254 139 0 194 254 116 0 71 255 98 0 251 255 71 0 191 0 45 0 125 1 45 0 49 2 77 0 169 2 115 0 169 2 120 0 59 2 74 0 120 1 254 255 100 0 196 255 58 255 191 255 105 254 239 255 2 254 62 0 176 253 138 0 91 253 190 0 75 253 235 0 146 253 39 1 250 253 100 1 118 254 137 1 40 255 153 1 0 0 162 1 212 0 170 1 153 1 175 1 81 2 167 1 234 2 122 1 55 3 11 1 3 3 99 0 79 2 184 255 75 1 54 255 46 0 223 254 65 255 180 254 177 254 175 254 75 254 191 254 217 253 254 254 140 253 124 255 143 253 251 255 199 253 61 0 27 254 84 0 142 254 85 0 36 255 66 0 225 255 50 0 190 0 54 0 160 1 52 0 89 2 16 0 168 2 202 255 121 2 103 255 253 1 245 254 83 1 148 254 137 0 107 254 217 255 125 254 111 255 173 254 30 255 238 254 195 254 66 255 130 254 151 255 141 254 226 255 241 254 46 0 134 255 115 0 32 0 135 0 191 0 90 0 94 1 24 0 237 1 248 255 123 2 252 255 5 3 249 255 68 3 227 255 12 3 193 255 115 2 119 255 142 1 255 254 107 0 160 254 79 255 139 254 135 254 182 254 20 254 24 255 198 253 172 255 146 253 66 0 152 253 169 0 209 253 233 0 31 254 36 1 147 254 101 1 51 255 153 1 218 255 192 1 126 0 236 1 35 1 25 2 178 1 33 2 30 2 227 1 94 2 96 1 64 2 182 0 157 1 25 0 147 0 183 255 128 255 144 255 193 254 126 255 86 254 116 255 249 253 143 255 171 253 213 255 157 253 43 0 184 253 127 0 219 253 184 0 36 254 193 0 158 254 185 0 66 255 196 0 23 0 217 0 0 1 239 0 199 1 4 1 87 2 252 0 157 2 195 0 128 2 98 0 242 1 237 255 249 0 122 255 208 255 36 255 223 254 248 254 80 254 0 255 245 253 58 255 184 253 134 255 182 253 186 255 254 253 188 255 108 254 140 255 224 254 78 255 113 255 25 255 49 0 241 254 254 0 0 255 193 1 79 255 124 2 139 255 7 3 139 255 44 3 119 255 242 2 69 255 96 2 220 254 100 1 112 254 37 0 61 254 18 255 84 254 111 254 173 254 27 254 27 255 224 253 124 255 206 253 220 255 0 254 51 0 95 254 111 0 215 254 155 0 111 255 169 0 32 0 136 0 213 0 103 0 122 1 116 0 6 2 165 0 132 2 213 0 221 2 208 0 196 2 125 0 37 2 6 0 48 1 146 255 13 0 45 255 0 255 244 254 90 254 236 254 6 254 3 255 192 253 67 255 143 253 146 255 134 253 186 255 150 253 198 255 207 253 212 255 62 254 196 255 208 254 148 255 126 255 126 255 72 0 169 255 27 1 11 0 228 1 113 0 136 2 161 0 218 2 146 0 195 2 89 0 54 2 10 0 53 1 200 255 10 0 164 255 31 255 137 255 153 254 128 255 82 254 175 255 43 254 16 0 53 254 108 0 109 254 150 0 176 254 149 0 1 255 133 0 137 255 108 0 73 0 86 0 33 1 108 0 1 2 171 0 199 2 219 0 72 3 234 0 100 3 225 0 1 3 176 0 42 2 89 0 21 1 2 0 241 255 208 255 242 254 214 255 76 254 2 0 238 253 60 0 171 253 154 0 155 253 41 1 204 253 174 1 35 254 239 1 164 254 232 1 81 255 188 1 254 255 161 1 177 0 184 1 134 1 224 1 91 2 231 1 245 2 186 1 44 3 92 1 233 2 207 0 56 2 39 0 54 1 133 255 253 255 0 255 219 254 157 254 18 254 109 254 134 253 128 254 15 253 184 254 200 252 232 254 207 252 8 255 30 253 20 255 151 253 251 254 18 254 206 254 145 254 181 254 68 255 207 254 57 0 32 255 65 1 124 255 27 2 176 255 152 2 183 255 177 2 142 255 114 2 39 255 210 1 165 254 228 0 77 254 255 255 55 254 100 255 64 254 244 254 84 254 141 254 148 254 84 254 17 255 92 254 143 255 133 254 210 255 190 254 230 255 23 255 213 255 156 255 169 255 83 0 166 255 50 1 225 255 10 2 34 0 176 2 67 0 8 3 64 0 238 2 20 0 84 2 216 255 92 1 141 255 44 0 38 255 6 255 216 254 58 254 217 254 190 253 17 255 94 253 107 255 52 253 246 255 90 253 161 0 169 253 70 1 5 254 188 1 118 254 225 1 1 255 202 1 178 255 170 1 141 0 161 1 111 1 196 1 66 2 244 1 232 2 232 1 24 3 148 1 184 2 26 1 248 1 133 0 249 0 236 255 213 255 129 255 223 254 74 255 85 254 63 255 23 254 106 255 243 253 186 255 232 253 11 0 249 253 53 0 18 254 38 0 61 254 253 255 158 254 232 255 59 255 244 255 13 0 41 0 2 1 115 0 229 1 168 0 137 2 201 0 236 2 218 0 247 2 173 0 130 2 76 0 171 1 249 255 180 0 194 255 204 255 172 255 38 255 198 255 205 254 239 255 150 254 9 0 134 254 42 0 194 254 72 0 41 255 68 0 139 255 22 0 240 255 185 255 96 0 95 255 222 0 88 255 116 1 146 255 17 2 193 255 142 2 218 255 214 2 228 255 209 2 197 255 89 2 111 255 99 1 244 254 41 0 144 254 17 255 140 254 85 254 223 254 223 253 76 255 148 253 181 255 130 253 23 0 173 253 108 0 255 253 172 0 102 254 196 0 229 254 186 0 132 255 184 0 62 0 211 0 255 0 13 1 194 1 97 1 130 2 164 1 20 3 152 1 50 3 44 1 185 2 107 0 189 1 131 255 119 0 190 254 48 255 71 254 41 254 28 254 119 253 43 254 3 253 105 254 207 252 226 254 233 252 127 255 46 253 228 255 112 253 236 255 192 253 216 255 59 254 206 255 234 254 212 255 221 255 0 0 241 0 67 0 214 1 117 0 105 2 153 0 174 2 168 0 147 2 120 0 13 2 13 0 42 1 145 255 17 0 53 255 34 255 26 255 160 254 46 255 96 254 80 255 49 254 151 255 37 254 254 255 72 254 72 0 155 254 94 0 32 255 79 0 196 255 33 0 117 0 252 255 59 1 16 0 16 2 79 0 220 2 146 0 126 3 185 0 183 3 177 0 108 3 140 0 192 2 96 0 201 1 38 0 165 0 224 255 166 255 177 255 232 254 168 255 56 254 198 255 156 253 24 0 94 253 150 0 132 253 15 1 205 253 96 1 22 254 132 1 118 254 129 1 13 255 119 1 231 255 154 1 254 0 221 1 17 2 245 1 212 2 214 1 54 3 167 1 63 3 81 1 198 2 178 0 191 1 235 255 108 0 54 255 42 255 182 254 59 254 102 254 161 253 47 254 41 253 31 254 215 252 82 254 212 252 161 254 1 253 211 254 65 253 223 254 180 253 202 254 91 254 178 254 33 255 230 254 33 0 106 255 83 1 230 255 99 2 40 0 28 3 55 0 112 3 32 0 67 3 239 255 155 2 157 255 175 1 39 255 189 0 179 254 235 255 104 254 55 255 95 254 150 254 177 254 35 254 62 255 251 253 181 255 18 254 240 255 80 254 236 255 167 254 191 255 40 255 161 255 234 255 170 255 205 0 207 255 160 1 26 0 94 2 104 0 237 2 113 0 10 3 62 0 181 2 250 255 11 2 151 255 252 0 33 255 189 255 220 254 207 254 225 254 77 254 36 255 238 253 152 255 165 253 38 0 148 253 180 0 179 253 37 1 238 253 97 1 65 254 120 1 177 254 134 1 81 255 127 1 43 0 107 1 31 1 110 1 248 1 125 1 142 2 123 1 195 2 101 1 147 2 48 1 11 2 205 0 40 1 55 0 1 0 133 255 252 254 254 254 87 254 208 254 220 253 212 254 104 253 251 254 40 253 92 255 40 253 206 255 79 253 17 0 159 253 43 0 33 254 61 0 206 254 84 0 177 255 135 0 191 0 207 0 188 1 21 1 134 2 88 1 24 3 129 1 65 3 83 1 213 2 192 0 242 1 14 0 224 0 146 255 237 255 111 255 80 255 122 255 3 255 129 255 211 254 150 255 167 254 223 255 147 254 65 0 176 254 120 0 237 254 80 0 53 255 213 255 144 255 93 255 25 0 45 255 216 0 49 255 175 1 64 255 104 2 89 255 200 2 116 255 187 2 105 255 71 2 41 255 119 1 213 254 115 0 169 254 142 255 188 254 255 254 249 254 171 254 78 255 103 254 199 255 67 254 80 0 86 254 172 0 135 254 197 0 195 254 190 0 44 255 176 0 217 255 154 0 170 0 150 0 119 1 196 0 57 2 24 1 233 2 96 1 97 3 114 1 122 3 70 1 41 3 228 0 99 2 88 0 30 1 190 255 167 255 54 255 126 254 209 254 180 253 164 254 7 253 193 254 126 252 19 255 76 252 93 255 92 252 114 255 127 252 90 255 195 252 66 255 73 253 64 255 18 254 87 255 22 255 155 255 60 0 27 0 86 1 168 0 45 2 4 1 166 2 28 1 176 2 245 0 64 2 151 0 107 1 10 0 119 0 112 255 172 255 10 255 20 255 250 254 145 254 38 255 43 254 113 255 7 254 213 255 51 254 50 0 158 254 106 0 48 255 125 0 214 255 95 0 132 0 25 0 58 1 231 255 255 1 236 255 203 2 26 0 119 3 87 0 191 3 115 0 116 3 73 0 182 2 3 0 193 1 206 255 174 0 169 255 169 255 159 255 237 254 198 255 113 254 34 0 24 254 180 0 242 253 76 1 254 253 155 1 31 254 152 1 91 254 105 1 185 254 40 1 51 255 9 1 238 255 49 1 247 0 108 1 255 1 137 1 196 2 142 1 65 3 102 1 91 3 240 0 246 2 69 0 32 2 144 255 254 0 226 254 208 255 71 254 219 254 213 253 30 254 166 253 118 253 200 253 251 252 35 254 193 252 139 254 169 252 221 254 177 252 251 254 242 252 235 254 104 253 238 254 34 254 63 255 58 255 202 255 132 0 65 0 170 1 115 0 128 2 110 0 241 2 76 0 220 2 8 0 66 2 159 255 89 1 53 255 113 0 247 254 198 255 253 254 67 255 62 255 187 254 161 255 67 254 252 255 2 254 40 0 237 253 61 0 13 254 102 0 119 254 129 0 12 255 96 0 174 255 65 0 109 0 98 0 64 1 150 0 1 2 195 0 152 2 233 0 224 2 211 0 170 2 107 0 244 1 244 255 243 0 162 255 247 255 118 255 60 255 96 255 180 254 79 255 55 254 98 255 211 253 197 255 160 253 77 0 160 253 163 0 206 253 188 0 31 254 174 0 137 254 143 0 31 255 143 0 239 255 184 0 234 0 215 0 232 1 229 0 177 2 13 1 20 3 62 1 18 3 47 1 181 2 191 0 246 1 22 0 242 0 97 255 245 255 194 254 56 255 103 254 192 254 100 254 105 254 139 254 25 254 191 254 220 253 14 255 199 253 102 255 230 253 159 255 74 254 206 255 240 254 20 0 198 255 110 0 189 0 223 0 176 1 104 1 126 2 217 1 24 3 242 1 79 3 171 1 233 2 53 1 255 1 196 0 231 0 111 0 236 255 65 0 70 255 55 0 236 254 66 0 161 254 99 0 100 254 152 0 80 254 187 0 77 254 168 0 88 254 102 0 150 254 2 0 15 255 158 255 200 255 107 255 197 0 107 255 202 1 115 255 145 2 112 255 247 2 107 255 219 2 105 255 72 2 87 255 125 1 26 255 155 0 199 254 185 255 174 254 18 255 228 254 176 254 48 255 103 254 109 255 47 254 162 255 29 254 213 255 59 254 251 255 141 254 3 0 7 255 236 255 157 255 214 255 92 0 229 255 62 1 37 0 21 2 121 0 191 2 178 0 36 3 192 0 38 3 189 0 197 2 163 0 17 2 79 0 17 1 205 255 238 255 90 255 239 254 35 255 44 254 29 255 135 253 23 255 242 252 10 255 139 252 39 255 108 252 108 255 131 252 151 255 192 252 141 255 50 253 104 255 224 253 99 255 194 254 178 255 210 255 49 0 241 0 150 0 221 1 228 0 104 2 34 1 129 2 25 1 35 2 192 0 108 1 70 0 155 0 185 255 223 255 69 255 68 255 41 255 191 254 98 255 84 254 190 255 15 254 26 0 242 253 99 0 254 253 147 0 74 254 144 0 224 254 47 0 176 255 163 255 166 0 100 255 167 1 131 255 145 2 185 255 63 3 224 255 139 3 238 255 87 3 241 255 183 2 1 0 222 1 6 0 250 0 235 255 54 0 224 255 162 255 253 255 30 255 57 0 155 254 160 0 64 254 19 1 44 254 60 1 66 254 15 1 97 254 194 0 153 254 128 0 15 255 117 0 209 255 177 0 194 0 10 1 195 1 86 1 183 2 135 1 91 3 137 1 99 3 66 1 212 2 163 0 240 1 206 255 220 0 16 255 186 255 133 254 198 254 16 254 10 254 197 253 104 253 208 253 244 252 21 254 201 252 89 254 195 252 132 254 215 252 157 254 41 253 185 254 196 253 246 254 149 254 90 255 157 255 220 255 195 0 104 0 218 1 200 0 181 2 211 0 41 3 157 0 30 3 61 0 169 2 199 255 244 1 109 255 51 1 88 255 147 0 119 255 17 0 162 255 153 255 214 255 52 255 21 0 223 254 81 0 149 254 122 0 119 254 147 0 170 254 164 0 20 255 176 0 142 255 196 0 18 0 215 0 177 0 213 0 111 1 199 0 23 2 206 0 95 2 215 0 48 2 182 0 149 1 100 0 175 0 0 0 187 255 178 255 235 254 152 255 65 254 172 255 189 253 219 255 105 253 40 0 61 253 142 0 65 253 228 0 134 253 2 1 252 253 223 0 134 254 152 0 38 255 106 0 226 255 118 0 189 0 179 0 184 1 3 1 178 2 63 1 85 3 65 1 108 3 10 1 23 3 173 0 120 2 40 0 146 1 125 255 138 0 197 254 156 255 46 254 206 254 232 253 14 254 248 253 106 253 47 254 251 252 106 254 201 252 174 254 228 252 255 254 82 253 83 255 254 253 180 255 223 254 60 0 243 255 228 0 31 1 110 1 46 2 162 1 233 2 150 1 44 3 109 1 242 2 17 1 71 2 139 0 92 1 27 0 139 0 197 255 251 255 109 255 128 255 55 255 3 255 64 255 158 254 102 255 90 254 143 255 62 254 175 255 98 254 168 255 193 254 122 255 75 255 73 255 4 0 45 255 223 0 50 255 187 1 86 255 123 2 114 255 246 2 115 255 10 3 106 255 182 2 70 255 5 2 249 254 17 1 195 254 29 0 226 254 93 255 51 255 197 254 118 255 68 254 178 255 224 253 7 0 170 253 93 0 183 253 124 0 14 254 91 0 147 254 50 0 52 255 48 0 251 255 89 0 221 0 140 0 179 1 171 0 96 2 185 0 221 2 203 0 19 3 225 0 211 2 220 0 21 2 170 0 21 1 101 0 20 0 44 0 43 255 3 0 104 254 226 255 201 253 207 255 58 253 209 255 196 252 234 255 141 252 10 0 147 252 29 0 197 252 24 0 45 253 247 255 205 253 195 255 154 254 173 255 135 255 234 255 110 0 91 0 42 1 179 0 180 1 211 0 239 1 209 0 176 1 195 0 27 1 172 0 121 0 121 0 233 255 41 0 116 255 240 255 21 255 3 0 184 254 78 0 119 254 148 0 113 254 168 0 150 254 125 0 225 254 40 0 106 255 197 255 25 0 109 255 209 0 66 255 163 1 73 255 134 2 91 255 57 3 105 255 143 3 128 255 133 3 138 255 39 3 121 255 132 2 110 255 174 1 138 255 220 0 205 255 73 0 44 0 221 255 134 0 101 255 214 0 246 254 45 1 182 254 109 1 163 254 97 1 183 254 28 1 247 254 205 0 104 255 125 0 8 0 67 0 195 0 56 0 118 1 66 0 26 2 74 0 156 2 93 0 203 2 99 0 146 2 51 0 4 2 210 255 48 1 99 255 60 0 249 254 99 255 160 254 181 254 112 254 36 254 127 254 179 253 198 254 90 253 17 255 14 253 47 255 230 252 32 255 5 253 19 255 105 253 52 255 9 254 139 255 236 254 239 255 2 0 48 0 19 1 83 0 243 1 126 0 134 2 163 0 179 2 142 0 109 2 55 0 209 1 224 255 29 1 199 255 136 0 212 255 22 0 192 255 146 255 144 255 232 254 155 255 80 254 243 255 252 253 64 0 223 253 76 0 231 253 59 0 36 254 44 0 159 254 38 0 78 255 53 0 31 0 77 0 245 0 81 0 179 1 66 0 63 2 42 0 115 2 12 0 45 2 228 255 123 1 174 255 153 0 125 255 189 255 112 255 1 255 122 255 106 254 142 255 252 253 223 255 196 253 114 0 193 253 219 0 209 253 232 0 237 253 216 0 52 254 198 0 174 254 165 0 78 255 150 0 28 0 189 0 11 1 9 1 228 1 76 1 130 2 82 1 210 2 252 0 182 2 105 0 43 2 197 255 103 1 33 255 161 0 156 254 232 255 91 254 51 255 89 254 129 254 129 254 239 253 201 254 141 253 29 255 75 253 99 255 44 253 153 255 82 253 206 255 210 253 26 0 171 254 147 0 194 255 42 1 228 0 157 1 221 1 191 1 139 2 176 1 215 2 157 1 204 2 123 1 119 2 56 1 224 1 230 0 50 1 137 0 155 0 21 0 2 0 176 255 95 255 142 255 227 254 152 255 152 254 157 255 103 254 161 255 100 254 150 255 165 254 73 255 29 255 213 254 196 255 169 254 142 0 230 254 99 1 49 255 40 2 70 255 181 2 44 255 234 2 238 254 193 2 159 254 61 2 112 254 123 1 122 254 184 0 170 254 12 0 238 254 108 255 48 255 222 254 100 255 95 254 176 255 249 253 37 0 220 253 130 0 20 254 159 0 139 254 159 0 54 255 158 0 243 255 160 0 155 0 172 0 71 1 169 0 6 2 135 0 168 2 113 0 13 3 113 0 24 3 75 0 146 2 247 255 144 1 165 255 114 0 112 255 117 255 105 255 175 254 127 255 22 254 124 255 128 253 111 255 238 252 166 255 141 252 24 0 107 252 103 0 132 252 108 0 225 252 84 0 122 253 94 0 68 254 158 0 44 255 235 0 9 0 40 1 196 0 88 1 89 1 102 1 165 1 76 1 134 1 37 1 26 1 227 0 143 0 127 0 255 255 71 0 137 255 95 0 59 255 120 0 4 255 105 0 210 254 89 0 169 254 91 0 160 254 85 0 206 254 45 0 53 255 219 255 197 255 141 255 117 0 118 255 52 1 146 255 232 1 185 255 118 2 188 255 209 2 135 255 228 2 69 255 149 2 42 255 242 1 37 255 56 1 29 255 140 0 35 255 241 255 65 255 110 255 99 255 3 255 147 255 171 254 245 255 121 254 125 0 125 254 225 0 166 254 226 0 239 254 145 0 94 255 47 0 237 255 235 255 144 0 202 255 62 1 190 255 230 1 202 255 121 2 228 255 198 2 212 255 149 2 123 255 254 1 10 255 64 1 168 254 110 0 85 254 175 255 42 254 49 255 55 254 195 254 104 254 43 254 184 254 159 253 21 255 81 253 74 255 51 253 93 255 71 253 139 255 161 253 217 255 63 254 43 0 22 255 127 0 8 0 193 0 229 0 223 0 146 1 248 0 0 2 31 1 25 2 48 1 227 1 15 1 128 1 222 0 7 1 227 0 142 0 16 1 38 0 3 1 189 255 176 0 70 255 125 0 232 254 148 0 173 254 192 0 123 254 202 0 105 254 151 0 157 254 82 0 9 255 77 0 155 255 141 0 89 0 199 0 38 1 214 0 212 1 203 0 73 2 180 0 103 2 149 0 32 2 89 0 136 1 248 255 182 0 156 255 207 255 106 255 21 255 93 255 150 254 123 255 50 254 213 255 238 253 73 0 199 253 157 0 157 253 185 0 134 253 163 0 182 253 94 0 46 254 254 255 225 254 203 255 202 255 237 255 202 0 50 0 176 1 91 0 81 2 86 0 139 2 14 0 106 2 126 255 255 1 230 254 81 1 143 254 152 0 126 254 7 0 141 254 118 255 157 254 218 254 189 254 110 254 20 255 62 254 142 255 36 254 239 255 37 254 23 0 76 254 22 0 154 254 27 0 42 255 83 0 248 255 185 0 227 0 29 1 212 1 88 1 146 2 99 1 222 2 87 1 195 2 61 1 89 2 231 0 156 1 89 0 201 0 237 255 55 0 188 255 207 255 148 255 91 255 117 255 242 254 111 255 165 254 96 255 88 254 57 255 34 254 9 255 67 254 217 254 186 254 187 254 86 255 188 254 14 0 213 254 246 0 11 255 229 1 79 255 144 2 107 255 217 2 76 255 203 2 30 255 105 2 1 255 189 1 249 254 238 0 3 255 44 0 33 255 141 255 91 255 6 255 173 255 140 254 251 255 49 254 52 0 12 254 82 0 31 254 101 0 96 254 148 0 209 254 212 0 113 255 235 0 51 0 213 0 249 0 187 0 177 1 170 0 89 2 167 0 216 2 169 0 239 2 135 0 131 2 72 0 193 1 26 0 236 0 6 0 36 0 255 255 113 255 17 0 210 254 60 0 69 254 124 0 210 253 194 0 121 253 248 0 65 253 25 1 71 253 35 1 140 253 255 0 242 253 204 0 129 254 216 0 83 255 31 1 68 0 104 1 13 1 171 1 154 1 225 1 226 1 218 1 195 1 138 1 73 1 20 1 179 0 149 0 36 0 46 0 164 255 6 0 64 255 21 0 247 254 39 0 181 254 23 0 115 254 243 255 68 254 194 255 67 254 111 255 136 254 248 254 16 255 144 254 181 255 113 254 105 0 168 254 56 1 9 255 253 1 89 255 124 2 138 255 175 2 163 255 155 2 152 255 32 2 103 255 83 1 54 255 139 0 37 255 243 255 62 255 124 255 125 255 37 255 213 255 227 254 56 0 176 254 148 0 153 254 195 0 156 254 176 0 173 254 109 0 228 254 23 0 93 255 208 255 13 0 168 255 208 0 132 255 128 1 84 255 3 2 45 255 74 2 1 255 58 2 177 254 202 1 87 254 39 1 21 254 127 0 231 253 229 255 215 253 96 255 234 253 221 254 3 254 75 254 48 254 208 253 143 254 136 253 241 254 92 253 24 255 87 253 27 255 163 253 52 255 51 254 118 255 232 254 207 255 172 255 18 0 100 0 35 0 15 1 45 0 169 1 80 0 248 1 104 0 214 1 92 0 110 1 82 0 223 0 114 0 71 0 177 0 223 255 230 0 157 255 253 0 81 255 14 1 19 255 49 1 1 255 75 1 248 254 58 1 234 254 255 0 253 254 173 0 64 255 108 0 179 255 101 0 86 0 141 0 8 1 187 0 163 1 223 0 7 2 234 0 7 2 211 0 169 1 166 0 33 1 105 0 122 0 31 0 183 255 246 255 24 255 14 0 182 254 70 0 95 254 143 0 23 254 244 0 252 253 66 1 245 253 63 1 255 253 253 0 67 254 172 0 191 254 108 0 91 255 88 0 16 0 106 0 206 0 115 0 139 1 82 0 53 2 20 0 135 2 209 255 87 2 134 255 211 1 37 255 35 1 199 254 94 0 160 254 184 255 182 254 59 255 228 254 189 254 30 255 79 254 116 255 18 254 222 255 238 253 53 0 227 253 88 0 24 254 74 0 124 254 42 0 253 254 56 0 177 255 156 0 147 0 31 1 133 1 105 1 96 2 125 1 225 2 127 1 226 2 90 1 135 2 253 0 243 1 150 0 64 1 78 0 166 0 37 0 68 0 20 0 247 255 35 0 180 255 80 0 131 255 116 0 84 255 99 0 40 255 49 0 52 255 245 255 137 255 152 255 3 0 47 255 148 0 247 254 62 1 225 254 239 1 197 254 142 2 176 254 237 2 160 254 211 2 123 254 69 2 88 254 134 1 79 254 198 0 98 254 24 0 143 254 124 255 189 254 232 254 230 254 113 254 72 255 58 254 233 255 37 254 109 0 9 254 172 0 10 254 197 0 72 254 188 0 185 254 171 0 88 255 175 0 27 0 155 0 219 0 74 0 135 1 247 255 15 2 210 255 58 2 184 255 241 1 122 255 90 1 49 255 166 0 35 255 251 255 110 255 104 255 225 255 237 254 61 0 147 254 129 0 86 254 220 0 17 254 78 1 194 253 135 1 145 253 81 1 148 253 242 0 213 253 200 0 87 254 217 0 252 254 248 0 176 255 10 1 102 0 252 0 242 0 205 0 53 1 141 0 56 1 52 0 237 0 200 255 87 0 134 255 191 255 145 255 87 255 196 255 27 255 249 255 5 255 50 0 4 255 116 0 245 254 177 0 228 254 190 0 225 254 124 0 219 254 253 255 235 254 123 255 60 255 22 255 190 255 215 254 92 0 196 254 30 1 220 254 217 1 5 255 76 2 50 255 108 2 97 255 70 2 113 255 204 1 73 255 17 1 35 255 93 0 64 255 227 255 146 255 156 255 5 0 109 255 150 0 75 255 32 1 50 255 105 1 25 255 85 1 12 255 227 0 43 255 62 0 132 255 189 255 3 0 136 255 160 0 132 255 88 1 131 255 8 2 101 255 118 2 41 255 125 2 241 254 34 2 198 254 149 1 146 254 248 0 91 254 87 0 68 254 202 255 93 254 107 255 161 254 37 255 246 254 212 254 75 255 130 254 155 255 73 254 202 255 57 254] ================================================ FILE: testdata/image-rgba-bytes ================================================ [255 255 0 255 254 255 0 255 254 255 0 255 254 255 0 255 253 255 0 255 252 255 0 255 251 255 0 255 250 255 0 255 249 255 0 255 248 255 0 255 247 255 0 255 246 255 0 255 245 255 0 255 244 255 0 255 243 255 0 255 242 255 0 255 241 255 0 255 240 255 0 255 239 255 0 252 238 255 0 252 237 255 0 252 236 255 0 252 235 255 0 250 234 255 0 249 233 255 0 248 232 255 0 245 231 255 0 243 230 255 0 242 229 255 0 240 228 255 0 240 227 255 0 240 226 255 0 240 224 255 0 240 223 255 0 240 222 255 0 240 221 255 0 240 220 255 0 240 219 255 0 240 218 255 0 240 217 255 0 240 216 255 0 240 215 255 0 240 214 255 0 240 213 255 0 240 212 255 0 240 211 255 0 240 210 255 0 240 209 255 0 239 208 255 0 239 207 255 0 239 206 255 0 239 205 255 0 239 204 255 0 239 203 255 0 239 202 255 0 238 201 255 0 238 200 255 0 235 199 255 0 234 198 255 0 234 197 255 0 231 196 255 0 231 195 255 0 231 194 255 0 231 193 255 0 231 191 255 0 231 190 255 0 231 189 255 0 231 188 255 0 231 187 255 0 231 186 255 0 231 185 255 0 231 184 255 0 231 183 255 0 230 182 255 0 230 181 255 0 230 180 255 0 230 179 255 0 230 178 255 0 230 177 255 0 230 176 255 0 230 175 255 0 230 174 255 0 230 173 255 0 230 172 255 0 230 171 255 0 230 170 255 0 230 169 255 0 230 168 255 0 230 167 255 0 228 166 255 0 228 165 255 0 227 164 255 0 226 163 255 0 224 162 255 0 223 161 255 0 221 160 255 0 220 158 255 0 220 157 255 0 220 156 255 0 220 155 255 0 220 154 255 0 220 153 255 0 220 152 255 0 220 151 255 0 220 150 255 0 219 149 255 0 219 148 255 0 219 147 255 0 219 146 255 0 219 145 255 0 219 144 255 0 219 143 255 0 219 142 255 0 219 141 255 0 219 140 255 0 219 139 255 0 219 138 255 0 219 137 255 0 219 136 255 0 219 135 255 0 219 134 255 0 219 133 255 0 219 132 255 0 219 131 255 0 219 130 255 0 219 129 255 0 219 128 255 0 219 127 255 0 219 125 255 0 219 124 255 0 219 123 255 0 219 122 255 0 219 121 255 0 219 120 255 0 219 119 255 0 219 118 255 0 219 117 255 0 219 116 255 0 219 115 255 0 219 114 255 0 219 113 255 0 219 112 255 0 219 111 255 0 219 110 255 0 219 109 255 0 219 108 255 0 219 107 255 0 219 106 255 0 219 105 255 0 219 104 255 0 219 103 255 0 219 102 255 0 219 101 255 0 219 100 255 0 219 99 255 0 219 98 255 0 220 97 255 0 220 96 255 0 220 95 255 0 220 94 255 0 220 92 255 0 220 91 255 0 220 90 255 0 220 89 255 0 220 88 255 0 221 87 255 0 221 86 255 0 224 85 255 0 226 84 255 0 227 83 255 0 228 82 255 0 228 81 255 0 230 80 255 0 230 79 255 0 230 78 255 0 230 77 255 0 230 76 255 0 230 75 255 0 230 74 255 0 230 73 255 0 230 72 255 0 230 71 255 0 230 70 255 0 230 69 255 0 230 68 255 0 230 67 255 0 230 66 255 0 230 65 255 0 231 64 255 0 231 63 255 0 231 62 255 0 231 61 255 0 231 59 255 0 231 58 255 0 231 57 255 0 231 56 255 0 231 55 255 0 231 54 255 0 231 53 255 0 231 52 255 0 231 51 255 0 234 50 255 0 234 49 255 0 235 48 255 0 238 47 255 0 238 46 255 0 239 45 255 0 239 44 255 0 239 43 255 0 239 42 255 0 239 41 255 0 239 40 255 0 239 39 255 0 240 38 255 0 240 37 255 0 240 36 255 0 240 35 255 0 240 34 255 0 240 33 255 0 240 32 255 0 240 31 255 0 240 30 255 0 240 29 255 0 240 28 255 0 240 26 255 0 240 25 255 0 240 24 255 0 240 23 255 0 240 22 255 0 240 21 255 0 240 20 255 0 240 19 255 0 242 18 255 0 243 17 255 0 245 16 255 0 248 15 255 0 249 14 255 0 250 13 255 0 252 12 255 0 252 11 255 0 252 10 255 0 252 9 255 0 255 8 255 0 255 7 255 0 255 6 255 0 255 5 255 0 255 4 255 0 255 3 255 0 255 2 255 0 255 1 255 0 255 0 255 0 255 0 255 0 255 0 255 0 255 0 255 0 255 0 255 0 255 0 255 0 255 255 254 0 255 254 254 0 255 254 254 0 255 254 254 0 255 253 254 0 255 252 254 0 255 251 254 0 255 250 254 0 255 249 254 0 255 248 254 0 255 247 254 0 255 246 254 0 255 245 254 0 255 244 254 0 255 243 254 0 255 242 254 0 255 241 254 0 255 240 254 0 255 239 254 0 252 238 254 0 252 237 254 0 252 236 254 0 250 235 254 0 250 234 254 0 249 233 254 0 246 232 254 0 245 231 254 0 242 230 254 0 240 229 254 0 240 228 254 0 240 227 254 0 240 226 254 0 240 224 254 0 240 223 254 0 240 222 254 0 240 221 254 0 240 220 254 0 240 219 254 0 240 218 254 0 240 217 254 0 240 216 254 0 240 215 254 0 240 214 254 0 240 213 254 0 240 212 254 0 240 211 254 0 240 210 254 0 240 209 254 0 239 208 254 0 239 207 254 0 239 206 254 0 239 205 254 0 239 204 254 0 238 203 254 0 238 202 254 0 238 201 254 0 235 200 254 0 235 199 254 0 234 198 254 0 231 197 254 0 231 196 254 0 231 195 254 0 231 194 254 0 231 193 254 0 231 191 254 0 231 190 254 0 231 189 254 0 231 188 254 0 231 187 254 0 231 186 254 0 231 185 254 0 231 184 254 0 231 183 254 0 230 182 254 0 230 181 254 0 230 180 254 0 230 179 254 0 228 178 254 0 228 177 254 0 228 176 254 0 228 175 254 0 228 174 254 0 228 173 254 0 228 172 254 0 228 171 254 0 228 170 254 0 228 169 254 0 228 168 254 0 228 167 254 0 227 166 254 0 227 165 254 0 226 164 254 0 226 163 254 0 223 162 254 0 221 161 254 0 221 160 254 0 220 158 254 0 220 157 254 0 220 156 254 0 220 155 254 0 220 154 254 0 220 153 254 0 220 152 254 0 220 151 254 0 220 150 254 0 219 149 254 0 219 148 254 0 219 147 254 0 219 146 254 0 219 145 254 0 219 144 254 0 217 143 254 0 217 142 254 0 217 141 254 0 217 140 254 0 217 139 254 0 217 138 254 0 217 137 254 0 217 136 254 0 217 135 254 0 217 134 254 0 217 133 254 0 217 132 254 0 217 131 254 0 217 130 254 0 217 129 254 0 217 128 254 0 217 127 254 0 217 125 254 0 217 124 254 0 217 123 254 0 217 122 254 0 217 121 254 0 217 120 254 0 217 119 254 0 217 118 254 0 217 117 254 0 217 116 254 0 217 115 254 0 217 114 254 0 217 113 254 0 217 112 254 0 217 111 254 0 217 110 254 0 217 109 254 0 217 108 254 0 217 107 254 0 217 106 254 0 217 105 254 0 217 104 254 0 219 103 254 0 219 102 254 0 219 101 254 0 219 100 254 0 219 99 254 0 219 98 254 0 220 97 254 0 220 96 254 0 220 95 254 0 220 94 254 0 220 92 254 0 220 91 254 0 220 90 254 0 220 89 254 0 220 88 254 0 220 87 254 0 221 86 254 0 223 85 254 0 224 84 254 0 226 83 254 0 227 82 254 0 227 81 254 0 228 80 254 0 228 79 254 0 228 78 254 0 228 77 254 0 228 76 254 0 228 75 254 0 228 74 254 0 228 73 254 0 228 72 254 0 228 71 254 0 228 70 254 0 228 69 254 0 230 68 254 0 230 67 254 0 230 66 254 0 230 65 254 0 231 64 254 0 231 63 254 0 231 62 254 0 231 61 254 0 231 59 254 0 231 58 254 0 231 57 254 0 231 56 254 0 231 55 254 0 231 54 254 0 231 53 254 0 231 52 254 0 231 51 254 0 231 50 254 0 234 49 254 0 235 48 254 0 235 47 254 0 238 46 254 0 238 45 254 0 238 44 254 0 239 43 254 0 239 42 254 0 239 41 254 0 239 40 254 0 239 39 254 0 240 38 254 0 240 37 254 0 240 36 254 0 240 35 254 0 240 34 254 0 240 33 254 0 240 32 254 0 240 31 254 0 240 30 254 0 240 29 254 0 240 28 254 0 240 26 254 0 240 25 254 0 240 24 254 0 240 23 254 0 240 22 254 0 240 21 254 0 240 20 254 0 240 19 254 0 240 18 254 0 242 17 254 0 243 16 254 0 246 15 254 0 248 14 254 0 249 13 254 0 250 12 254 0 252 11 254 0 252 10 254 0 252 9 254 0 255 8 254 0 255 7 254 0 255 6 254 0 255 5 254 0 255 4 254 0 255 3 254 0 255 2 254 0 255 1 254 0 255 0 254 0 255 0 254 0 255 0 254 0 255 0 254 0 255 0 254 0 255 0 254 0 255 255 254 0 255 254 254 0 255 254 254 0 255 254 254 0 255 253 254 0 255 252 254 0 255 251 254 0 255 250 254 0 255 249 254 0 255 248 254 0 255 247 254 0 255 246 254 0 255 245 254 0 255 244 254 0 255 243 254 0 255 242 254 0 252 241 254 0 252 240 254 0 252 239 254 0 252 238 254 0 252 237 254 0 250 236 254 0 250 235 254 0 249 234 254 0 248 233 254 0 245 232 254 0 243 231 254 0 242 230 254 0 240 229 254 0 240 228 254 0 240 227 254 0 240 226 254 0 240 224 254 0 240 223 254 0 240 222 254 0 240 221 254 0 240 220 254 0 240 219 254 0 239 218 254 0 239 217 254 0 239 216 254 0 239 215 254 0 239 214 254 0 239 213 254 0 239 212 254 0 239 211 254 0 239 210 254 0 239 209 254 0 239 208 254 0 239 207 254 0 239 206 254 0 238 205 254 0 238 204 254 0 238 203 254 0 235 202 254 0 235 201 254 0 235 200 254 0 234 199 254 0 234 198 254 0 231 197 254 0 231 196 254 0 231 195 254 0 230 194 254 0 230 193 254 0 230 191 254 0 230 190 254 0 230 189 254 0 230 188 254 0 230 187 254 0 230 186 254 0 230 185 254 0 230 184 254 0 230 183 254 0 230 182 254 0 230 181 254 0 230 180 254 0 228 179 254 0 228 178 254 0 227 177 254 0 227 176 254 0 226 175 254 0 226 174 254 0 226 173 254 0 226 172 254 0 226 171 254 0 226 170 254 0 226 169 254 0 226 168 254 0 226 167 254 0 226 166 254 0 226 165 254 0 224 164 254 0 224 163 254 0 223 162 254 0 221 161 254 0 220 160 254 0 220 158 254 0 219 157 254 0 219 156 254 0 219 155 254 0 219 154 254 0 219 153 254 0 219 152 254 0 219 151 254 0 219 150 254 0 219 149 254 0 219 148 254 0 219 147 254 0 219 146 254 0 217 145 254 0 217 144 254 0 217 143 254 0 217 142 254 0 217 141 254 0 216 140 254 0 216 139 254 0 216 138 254 0 216 137 254 0 216 136 254 0 216 135 254 0 216 134 254 0 216 133 254 0 216 132 254 0 216 131 254 0 216 130 254 0 216 129 254 0 216 128 254 0 216 127 254 0 216 125 254 0 216 124 254 0 216 123 254 0 216 122 254 0 216 121 254 0 216 120 254 0 216 119 254 0 216 118 254 0 216 117 254 0 216 116 254 0 216 115 254 0 216 114 254 0 216 113 254 0 216 112 254 0 216 111 254 0 216 110 254 0 216 109 254 0 216 108 254 0 216 107 254 0 216 106 254 0 217 105 254 0 217 104 254 0 217 103 254 0 217 102 254 0 219 101 254 0 219 100 254 0 219 99 254 0 219 98 254 0 219 97 254 0 219 96 254 0 219 95 254 0 219 94 254 0 219 92 254 0 219 91 254 0 219 90 254 0 219 89 254 0 220 88 254 0 220 87 254 0 221 86 254 0 221 85 254 0 223 84 254 0 224 83 254 0 226 82 254 0 226 81 254 0 226 80 254 0 226 79 254 0 226 78 254 0 226 77 254 0 226 76 254 0 226 75 254 0 226 74 254 0 226 73 254 0 226 72 254 0 227 71 254 0 227 70 254 0 227 69 254 0 228 68 254 0 230 67 254 0 230 66 254 0 230 65 254 0 230 64 254 0 230 63 254 0 230 62 254 0 230 61 254 0 230 59 254 0 230 58 254 0 230 57 254 0 230 56 254 0 230 55 254 0 230 54 254 0 230 53 254 0 231 52 254 0 231 51 254 0 231 50 254 0 234 49 254 0 234 48 254 0 235 47 254 0 235 46 254 0 235 45 254 0 238 44 254 0 238 43 254 0 238 42 254 0 239 41 254 0 239 40 254 0 239 39 254 0 239 38 254 0 239 37 254 0 239 36 254 0 239 35 254 0 239 34 254 0 239 33 254 0 239 32 254 0 239 31 254 0 239 30 254 0 239 29 254 0 240 28 254 0 240 26 254 0 240 25 254 0 240 24 254 0 240 23 254 0 240 22 254 0 240 21 254 0 240 20 254 0 240 19 254 0 240 18 254 0 242 17 254 0 243 16 254 0 245 15 254 0 246 14 254 0 249 13 254 0 250 12 254 0 250 11 254 0 252 10 254 0 252 9 254 0 252 8 254 0 252 7 254 0 252 6 254 0 255 5 254 0 255 4 254 0 255 3 254 0 255 2 254 0 255 1 254 0 255 0 254 0 255 0 254 0 255 0 254 0 255 0 254 0 255 0 254 0 255 0 254 0 255 255 254 0 255 254 254 0 255 254 254 0 255 254 254 0 255 253 254 0 255 252 254 0 255 251 254 0 255 250 254 0 255 249 254 0 255 248 254 0 255 247 254 0 255 246 254 0 255 245 254 0 255 244 254 0 255 243 254 0 255 242 254 0 252 241 254 0 252 240 254 0 252 239 254 0 252 238 254 0 250 237 254 0 250 236 254 0 249 235 254 0 248 234 254 0 245 233 254 0 243 232 254 0 242 231 254 0 240 230 254 0 240 229 254 0 240 228 254 0 240 227 254 0 240 226 254 0 240 224 254 0 240 223 254 0 240 222 254 0 240 221 254 0 240 220 254 0 240 219 254 0 239 218 254 0 239 217 254 0 239 216 254 0 239 215 254 0 239 214 254 0 239 213 254 0 239 212 254 0 239 211 254 0 239 210 254 0 239 209 254 0 239 208 254 0 238 207 254 0 238 206 254 0 238 205 254 0 235 204 254 0 235 203 254 0 235 202 254 0 234 201 254 0 234 200 254 0 234 199 254 0 231 198 254 0 231 197 254 0 231 196 254 0 231 195 254 0 230 194 254 0 230 193 254 0 230 191 254 0 230 190 254 0 230 189 254 0 230 188 254 0 230 187 254 0 230 186 254 0 230 185 254 0 230 184 254 0 230 183 254 0 230 182 254 0 228 181 254 0 228 180 254 0 227 179 254 0 227 178 254 0 226 177 254 0 224 176 254 0 224 175 254 0 224 174 254 0 224 173 254 0 224 172 254 0 223 171 254 0 223 170 254 0 223 169 254 0 223 168 254 0 223 167 254 0 223 166 254 0 223 165 254 0 221 164 254 0 221 163 254 0 220 162 254 0 220 161 254 0 219 160 254 0 219 158 254 0 219 157 254 0 219 156 254 0 219 155 254 0 219 154 254 0 219 153 254 0 219 152 254 0 219 151 254 0 219 150 254 0 219 149 254 0 219 148 254 0 217 147 254 0 217 146 254 0 216 145 254 0 216 144 254 0 216 143 254 0 216 142 254 0 213 141 254 0 213 140 254 0 213 139 254 0 213 138 254 0 213 137 254 0 213 136 254 0 213 135 254 0 213 134 254 0 213 133 254 0 213 132 254 0 213 131 254 0 213 130 254 0 213 129 254 0 213 128 254 0 213 127 254 0 213 125 254 0 213 124 254 0 213 123 254 0 213 122 254 0 213 121 254 0 213 120 254 0 213 119 254 0 213 118 254 0 213 117 254 0 213 116 254 0 213 115 254 0 213 114 254 0 213 113 254 0 213 112 254 0 213 111 254 0 213 110 254 0 213 109 254 0 213 108 254 0 213 107 254 0 213 106 254 0 216 105 254 0 216 104 254 0 216 103 254 0 216 102 254 0 217 101 254 0 217 100 254 0 219 99 254 0 219 98 254 0 219 97 254 0 219 96 254 0 219 95 254 0 219 94 254 0 219 92 254 0 219 91 254 0 219 90 254 0 219 89 254 0 219 88 254 0 219 87 254 0 220 86 254 0 220 85 254 0 221 84 254 0 221 83 254 0 223 82 254 0 223 81 254 0 223 80 254 0 223 79 254 0 223 78 254 0 223 77 254 0 223 76 254 0 223 75 254 0 224 74 254 0 224 73 254 0 224 72 254 0 224 71 254 0 226 70 254 0 226 69 254 0 227 68 254 0 228 67 254 0 228 66 254 0 230 65 254 0 230 64 254 0 230 63 254 0 230 62 254 0 230 61 254 0 230 59 254 0 230 58 254 0 230 57 254 0 230 56 254 0 230 55 254 0 230 54 254 0 230 53 254 0 230 52 254 0 231 51 254 0 231 50 254 0 231 49 254 0 234 48 254 0 234 47 254 0 234 46 254 0 235 45 254 0 235 44 254 0 235 43 254 0 238 42 254 0 238 41 254 0 238 40 254 0 239 39 254 0 239 38 254 0 239 37 254 0 239 36 254 0 239 35 254 0 239 34 254 0 239 33 254 0 239 32 254 0 239 31 254 0 239 30 254 0 239 29 254 0 240 28 254 0 240 26 254 0 240 25 254 0 240 24 254 0 240 23 254 0 240 22 254 0 240 21 254 0 240 20 254 0 240 19 254 0 240 18 254 0 240 17 254 0 242 16 254 0 243 15 254 0 245 14 254 0 246 13 254 0 249 12 254 0 250 11 254 0 250 10 254 0 252 9 254 0 252 8 254 0 252 7 254 0 252 6 254 0 255 5 254 0 255 4 254 0 255 3 254 0 255 2 254 0 255 1 254 0 255 0 254 0 255 0 254 0 255 0 254 0 255 0 254 0 255 0 254 0 255 0 254 0 255 255 253 0 255 254 253 0 255 254 253 0 255 254 253 0 255 253 253 0 255 252 253 0 255 251 253 0 255 250 253 0 255 249 253 0 255 248 253 0 255 247 253 0 255 246 253 0 255 245 253 0 255 244 253 0 255 243 253 0 255 242 253 0 252 241 253 0 252 240 253 0 252 239 253 0 250 238 253 0 250 237 253 0 249 236 253 0 248 235 253 0 246 234 253 0 243 233 253 0 242 232 253 0 242 231 253 0 240 230 253 0 240 229 253 0 240 228 253 0 240 227 253 0 240 226 253 0 240 224 253 0 240 223 253 0 240 222 253 0 240 221 253 0 240 220 253 0 240 219 253 0 239 218 253 0 239 217 253 0 239 216 253 0 239 215 253 0 239 214 253 0 239 213 253 0 238 212 253 0 238 211 253 0 238 210 253 0 238 209 253 0 238 208 253 0 238 207 253 0 238 206 253 0 235 205 253 0 235 204 253 0 234 203 253 0 234 202 253 0 234 201 253 0 231 200 253 0 231 199 253 0 231 198 253 0 231 197 253 0 231 196 253 0 230 195 253 0 230 194 253 0 230 193 253 0 230 191 253 0 228 190 253 0 228 189 253 0 228 188 253 0 228 187 253 0 228 186 253 0 228 185 253 0 228 184 253 0 228 183 253 0 228 182 253 0 227 181 253 0 227 180 253 0 226 179 253 0 226 178 253 0 224 177 253 0 223 176 253 0 223 175 253 0 221 174 253 0 221 173 253 0 221 172 253 0 221 171 253 0 221 170 253 0 221 169 253 0 221 168 253 0 221 167 253 0 220 166 253 0 220 165 253 0 220 164 253 0 220 163 253 0 219 162 253 0 219 161 253 0 219 160 253 0 217 158 253 0 217 157 253 0 217 156 253 0 217 155 253 0 217 154 253 0 217 153 253 0 217 152 253 0 217 151 253 0 217 150 253 0 217 149 253 0 217 148 253 0 217 147 253 0 216 146 253 0 216 145 253 0 213 144 253 0 213 143 253 0 213 142 253 0 213 141 253 0 211 140 253 0 211 139 253 0 211 138 253 0 211 137 253 0 211 136 253 0 211 135 253 0 211 134 253 0 211 133 253 0 211 132 253 0 211 131 253 0 211 130 253 0 211 129 253 0 211 128 253 0 211 127 253 0 211 125 253 0 211 124 253 0 211 123 253 0 211 122 253 0 211 121 253 0 211 120 253 0 211 119 253 0 211 118 253 0 211 117 253 0 211 116 253 0 211 115 253 0 211 114 253 0 211 113 253 0 211 112 253 0 211 111 253 0 211 110 253 0 211 109 253 0 211 108 253 0 211 107 253 0 213 106 253 0 213 105 253 0 213 104 253 0 213 103 253 0 216 102 253 0 216 101 253 0 217 100 253 0 217 99 253 0 217 98 253 0 217 97 253 0 217 96 253 0 217 95 253 0 217 94 253 0 217 92 253 0 217 91 253 0 217 90 253 0 217 89 253 0 217 88 253 0 219 87 253 0 219 86 253 0 219 85 253 0 220 84 253 0 220 83 253 0 220 82 253 0 220 81 253 0 221 80 253 0 221 79 253 0 221 78 253 0 221 77 253 0 221 76 253 0 221 75 253 0 221 74 253 0 221 73 253 0 223 72 253 0 223 71 253 0 223 70 253 0 224 69 253 0 226 68 253 0 227 67 253 0 227 66 253 0 228 65 253 0 228 64 253 0 228 63 253 0 228 62 253 0 228 61 253 0 228 59 253 0 228 58 253 0 228 57 253 0 228 56 253 0 228 55 253 0 230 54 253 0 230 53 253 0 230 52 253 0 230 51 253 0 231 50 253 0 231 49 253 0 231 48 253 0 231 47 253 0 234 46 253 0 234 45 253 0 234 44 253 0 234 43 253 0 235 42 253 0 235 41 253 0 238 40 253 0 238 39 253 0 238 38 253 0 238 37 253 0 238 36 253 0 238 35 253 0 239 34 253 0 239 33 253 0 239 32 253 0 239 31 253 0 239 30 253 0 239 29 253 0 240 28 253 0 240 26 253 0 240 25 253 0 240 24 253 0 240 23 253 0 240 22 253 0 240 21 253 0 240 20 253 0 240 19 253 0 240 18 253 0 240 17 253 0 240 16 253 0 242 15 253 0 243 14 253 0 245 13 253 0 248 12 253 0 249 11 253 0 250 10 253 0 250 9 253 0 252 8 253 0 252 7 253 0 252 6 253 0 255 5 253 0 255 4 253 0 255 3 253 0 255 2 253 0 255 1 253 0 255 0 253 0 255 0 253 0 255 0 253 0 255 0 253 0 255 0 253 0 255 0 253 0 255 255 252 0 255 254 252 0 255 254 252 0 255 254 252 0 255 253 252 0 255 252 252 0 255 251 252 0 255 250 252 0 255 249 252 0 255 248 252 0 255 247 252 0 255 246 252 0 255 245 252 0 252 244 252 0 252 243 252 0 252 242 252 0 252 241 252 0 252 240 252 0 250 239 252 0 250 238 252 0 249 237 252 0 248 236 252 0 246 235 252 0 243 234 252 0 242 233 252 0 242 232 252 0 240 231 252 0 240 230 252 0 240 229 252 0 240 228 252 0 240 227 252 0 240 226 252 0 240 224 252 0 240 223 252 0 240 222 252 0 239 221 252 0 239 220 252 0 239 219 252 0 239 218 252 0 239 217 252 0 239 216 252 0 239 215 252 0 238 214 252 0 238 213 252 0 238 212 252 0 238 211 252 0 238 210 252 0 238 209 252 0 235 208 252 0 235 207 252 0 235 206 252 0 234 205 252 0 234 204 252 0 234 203 252 0 231 202 252 0 231 201 252 0 231 200 252 0 231 199 252 0 231 198 252 0 230 197 252 0 230 196 252 0 230 195 252 0 230 194 252 0 230 193 252 0 228 191 252 0 227 190 252 0 227 189 252 0 227 188 252 0 227 187 252 0 227 186 252 0 227 185 252 0 227 184 252 0 227 183 252 0 226 182 252 0 226 181 252 0 226 180 252 0 224 179 252 0 223 178 252 0 223 177 252 0 221 176 252 0 221 175 252 0 220 174 252 0 220 173 252 0 220 172 252 0 220 171 252 0 220 170 252 0 220 169 252 0 219 168 252 0 219 167 252 0 219 166 252 0 219 165 252 0 217 164 252 0 217 163 252 0 217 162 252 0 217 161 252 0 217 160 252 0 217 158 252 0 217 157 252 0 217 156 252 0 217 155 252 0 217 154 252 0 217 153 252 0 217 152 252 0 217 151 252 0 217 150 252 0 216 149 252 0 216 148 252 0 216 147 252 0 216 146 252 0 213 145 252 0 213 144 252 0 211 143 252 0 211 142 252 0 211 141 252 0 211 140 252 0 209 139 252 0 209 138 252 0 209 137 252 0 209 136 252 0 208 135 252 0 208 134 252 0 208 133 252 0 208 132 252 0 208 131 252 0 208 130 252 0 208 129 252 0 208 128 252 0 208 127 252 0 208 125 252 0 208 124 252 0 208 123 252 0 208 122 252 0 208 121 252 0 208 120 252 0 208 119 252 0 208 118 252 0 208 117 252 0 208 116 252 0 208 115 252 0 208 114 252 0 208 113 252 0 208 112 252 0 209 111 252 0 209 110 252 0 209 109 252 0 209 108 252 0 209 107 252 0 211 106 252 0 211 105 252 0 211 104 252 0 213 103 252 0 213 102 252 0 216 101 252 0 216 100 252 0 216 99 252 0 216 98 252 0 217 97 252 0 217 96 252 0 217 95 252 0 217 94 252 0 217 92 252 0 217 91 252 0 217 90 252 0 217 89 252 0 217 88 252 0 217 87 252 0 217 86 252 0 217 85 252 0 217 84 252 0 217 83 252 0 219 82 252 0 219 81 252 0 219 80 252 0 219 79 252 0 219 78 252 0 220 77 252 0 220 76 252 0 220 75 252 0 220 74 252 0 220 73 252 0 221 72 252 0 221 71 252 0 221 70 252 0 223 69 252 0 224 68 252 0 226 67 252 0 226 66 252 0 226 65 252 0 227 64 252 0 227 63 252 0 227 62 252 0 227 61 252 0 227 59 252 0 227 58 252 0 227 57 252 0 227 56 252 0 228 55 252 0 228 54 252 0 230 53 252 0 230 52 252 0 230 51 252 0 230 50 252 0 231 49 252 0 231 48 252 0 231 47 252 0 231 46 252 0 231 45 252 0 231 44 252 0 234 43 252 0 234 42 252 0 235 41 252 0 235 40 252 0 235 39 252 0 238 38 252 0 238 37 252 0 238 36 252 0 238 35 252 0 238 34 252 0 238 33 252 0 239 32 252 0 239 31 252 0 239 30 252 0 239 29 252 0 239 28 252 0 239 26 252 0 239 25 252 0 240 24 252 0 240 23 252 0 240 22 252 0 240 21 252 0 240 20 252 0 240 19 252 0 240 18 252 0 240 17 252 0 240 16 252 0 242 15 252 0 242 14 252 0 243 13 252 0 246 12 252 0 248 11 252 0 249 10 252 0 250 9 252 0 250 8 252 0 252 7 252 0 252 6 252 0 252 5 252 0 252 4 252 0 252 3 252 0 252 2 252 0 255 1 252 0 255 0 252 0 255 0 252 0 255 0 252 0 255 0 252 0 255 0 252 0 255 0 252 0 255 255 251 0 255 254 251 0 255 254 251 0 255 254 251 0 255 253 251 0 255 252 251 0 255 251 251 0 255 250 251 0 255 249 251 0 255 248 251 0 255 247 251 0 255 246 251 0 255 245 251 0 252 244 251 0 252 243 251 0 252 242 251 0 252 241 251 0 250 240 251 0 250 239 251 0 249 238 251 0 248 237 251 0 246 236 251 0 243 235 251 0 242 234 251 0 242 233 251 0 240 232 251 0 240 231 251 0 240 230 251 0 240 229 251 0 240 228 251 0 240 227 251 0 240 226 251 0 240 224 251 0 240 223 251 0 240 222 251 0 239 221 251 0 239 220 251 0 239 219 251 0 239 218 251 0 239 217 251 0 238 216 251 0 238 215 251 0 238 214 251 0 235 213 251 0 235 212 251 0 235 211 251 0 235 210 251 0 235 209 251 0 234 208 251 0 234 207 251 0 234 206 251 0 234 205 251 0 231 204 251 0 231 203 251 0 231 202 251 0 231 201 251 0 231 200 251 0 231 199 251 0 230 198 251 0 230 197 251 0 230 196 251 0 230 195 251 0 228 194 251 0 228 193 251 0 227 191 251 0 226 190 251 0 226 189 251 0 224 188 251 0 224 187 251 0 224 186 251 0 224 185 251 0 224 184 251 0 224 183 251 0 224 182 251 0 224 181 251 0 223 180 251 0 223 179 251 0 221 178 251 0 221 177 251 0 220 176 251 0 220 175 251 0 220 174 251 0 219 173 251 0 219 172 251 0 219 171 251 0 219 170 251 0 217 169 251 0 217 168 251 0 217 167 251 0 216 166 251 0 216 165 251 0 216 164 251 0 216 163 251 0 216 162 251 0 216 161 251 0 216 160 251 0 216 158 251 0 216 157 251 0 216 156 251 0 216 155 251 0 216 154 251 0 216 153 251 0 216 152 251 0 216 151 251 0 213 150 251 0 213 149 251 0 213 148 251 0 213 147 251 0 213 146 251 0 211 145 251 0 211 144 251 0 209 143 251 0 209 142 251 0 209 141 251 0 209 140 251 0 208 139 251 0 208 138 251 0 208 137 251 0 207 136 251 0 207 135 251 0 207 134 251 0 207 133 251 0 207 132 251 0 207 131 251 0 207 130 251 0 207 129 251 0 207 128 251 0 207 127 251 0 207 125 251 0 207 124 251 0 207 123 251 0 207 122 251 0 207 121 251 0 207 120 251 0 207 119 251 0 207 118 251 0 207 117 251 0 207 116 251 0 207 115 251 0 207 114 251 0 207 113 251 0 207 112 251 0 207 111 251 0 208 110 251 0 208 109 251 0 208 108 251 0 209 107 251 0 209 106 251 0 209 105 251 0 209 104 251 0 211 103 251 0 211 102 251 0 213 101 251 0 213 100 251 0 213 99 251 0 213 98 251 0 213 97 251 0 216 96 251 0 216 95 251 0 216 94 251 0 216 92 251 0 216 91 251 0 216 90 251 0 216 89 251 0 216 88 251 0 216 87 251 0 216 86 251 0 216 85 251 0 216 84 251 0 216 83 251 0 216 82 251 0 216 81 251 0 216 80 251 0 217 79 251 0 217 78 251 0 219 77 251 0 219 76 251 0 219 75 251 0 219 74 251 0 220 73 251 0 220 72 251 0 220 71 251 0 221 70 251 0 221 69 251 0 223 68 251 0 223 67 251 0 224 66 251 0 224 65 251 0 224 64 251 0 224 63 251 0 224 62 251 0 224 61 251 0 224 59 251 0 224 58 251 0 226 57 251 0 226 56 251 0 227 55 251 0 228 54 251 0 228 53 251 0 230 52 251 0 230 51 251 0 230 50 251 0 230 49 251 0 231 48 251 0 231 47 251 0 231 46 251 0 231 45 251 0 231 44 251 0 231 43 251 0 234 42 251 0 234 41 251 0 234 40 251 0 234 39 251 0 235 38 251 0 235 37 251 0 235 36 251 0 235 35 251 0 235 34 251 0 235 33 251 0 238 32 251 0 238 31 251 0 239 30 251 0 239 29 251 0 239 28 251 0 239 26 251 0 239 25 251 0 240 24 251 0 240 23 251 0 240 22 251 0 240 21 251 0 240 20 251 0 240 19 251 0 240 18 251 0 240 17 251 0 240 16 251 0 240 15 251 0 240 14 251 0 242 13 251 0 243 12 251 0 245 11 251 0 248 10 251 0 249 9 251 0 250 8 251 0 250 7 251 0 252 6 251 0 252 5 251 0 252 4 251 0 252 3 251 0 252 2 251 0 255 1 251 0 255 0 251 0 255 0 251 1 255 0 251 1 255 0 251 1 255 0 251 1 255 0 251 1 255 255 250 0 255 254 250 0 255 254 250 0 255 254 250 0 255 253 250 0 255 252 250 0 255 251 250 0 255 250 250 0 255 249 250 0 255 248 250 0 255 247 250 0 255 246 250 0 255 245 250 0 252 244 250 0 252 243 250 0 252 242 250 0 250 241 250 0 250 240 250 0 249 239 250 0 248 238 250 0 246 237 250 0 243 236 250 0 242 235 250 0 242 234 250 0 240 233 250 0 240 232 250 0 240 231 250 0 240 230 250 0 240 229 250 0 240 228 250 0 240 227 250 0 240 226 250 0 240 224 250 0 240 223 250 0 240 222 250 0 239 221 250 0 239 220 250 0 239 219 250 0 239 218 250 0 238 217 250 0 238 216 250 0 238 215 250 0 235 214 250 0 234 213 250 0 234 212 250 0 234 211 250 0 234 210 250 0 234 209 250 0 234 208 250 0 234 207 250 0 231 206 250 0 231 205 250 0 231 204 250 0 231 203 250 0 231 202 250 0 231 201 250 0 231 200 250 0 230 199 250 0 230 198 250 0 230 197 250 0 230 196 250 0 228 195 250 0 228 194 250 0 227 193 250 0 226 191 250 0 224 190 250 0 223 189 250 0 223 188 250 0 223 187 250 0 223 186 250 0 223 185 250 0 223 184 250 0 223 183 250 0 223 182 250 0 221 181 250 0 221 180 250 0 221 179 250 0 221 178 250 0 220 177 250 0 220 176 250 0 220 175 250 0 219 174 250 0 219 173 250 0 219 172 250 0 217 171 250 0 217 170 250 0 216 169 250 0 216 168 250 0 213 167 250 0 213 166 250 0 213 165 250 0 213 164 250 0 213 163 250 0 213 162 250 0 213 161 250 0 213 160 250 0 213 158 250 0 213 157 250 0 213 156 250 0 213 155 250 0 213 154 250 0 213 153 250 0 213 152 250 0 213 151 250 0 213 150 250 0 211 149 250 0 211 148 250 0 211 147 250 0 211 146 250 0 209 145 250 0 209 144 250 0 209 143 250 0 208 142 250 0 208 141 250 0 208 140 250 0 208 139 250 0 207 138 250 0 207 137 250 0 207 136 250 0 205 135 250 0 205 134 250 0 205 133 250 0 205 132 250 0 205 131 250 0 205 130 250 0 205 129 250 0 205 128 250 0 205 127 250 0 205 125 250 0 205 124 250 0 205 123 250 0 205 122 250 0 205 121 250 0 205 120 250 0 205 119 250 0 205 118 250 0 205 117 250 0 205 116 250 0 205 115 250 0 205 114 250 0 205 113 250 0 205 112 250 0 207 111 250 0 207 110 250 0 207 109 250 0 208 108 250 0 208 107 250 0 208 106 250 0 208 105 250 0 209 104 250 0 209 103 250 0 209 102 250 0 211 101 250 0 211 100 250 0 211 99 250 0 211 98 250 0 213 97 250 0 213 96 250 0 213 95 250 0 213 94 250 0 213 92 250 0 213 91 250 0 213 90 250 0 213 89 250 0 213 88 250 0 213 87 250 0 213 86 250 0 213 85 250 0 213 84 250 0 213 83 250 0 213 82 250 0 213 81 250 0 213 80 250 0 216 79 250 0 216 78 250 0 217 77 250 0 217 76 250 0 219 75 250 0 219 74 250 0 219 73 250 0 219 72 250 0 220 71 250 0 220 70 250 0 220 69 250 0 221 68 250 0 221 67 250 0 221 66 250 0 221 65 250 0 223 64 250 0 223 63 250 0 223 62 250 0 223 61 250 0 223 59 250 0 223 58 250 0 223 57 250 0 224 56 250 0 226 55 250 0 227 54 250 0 228 53 250 0 228 52 250 0 230 51 250 0 230 50 250 0 230 49 250 0 230 48 250 0 231 47 250 0 231 46 250 0 231 45 250 0 231 44 250 0 231 43 250 0 231 42 250 0 231 41 250 0 234 40 250 0 234 39 250 0 234 38 250 0 234 37 250 0 234 36 250 0 234 35 250 0 234 34 250 0 235 33 250 0 235 32 250 0 238 31 250 0 238 30 250 0 239 29 250 0 239 28 250 0 239 26 250 0 239 25 250 0 240 24 250 0 240 23 250 0 240 22 250 0 240 21 250 0 240 20 250 0 240 19 250 0 240 18 250 0 240 17 250 0 240 16 250 0 240 15 250 0 240 14 250 0 240 13 250 0 242 12 250 0 243 11 250 0 245 10 250 0 248 9 250 0 249 8 250 0 250 7 250 0 250 6 250 0 252 5 250 0 252 4 250 0 252 3 250 0 252 2 250 0 255 1 250 1 255 0 250 1 255 0 250 1 255 0 250 2 255 0 250 2 255 0 250 2 255 0 250 2 255 255 249 0 255 254 249 0 255 254 249 0 255 254 249 0 255 253 249 0 255 252 249 0 255 251 249 0 255 250 249 0 255 249 249 0 252 248 249 0 252 247 249 0 252 246 249 0 252 245 249 0 252 244 249 0 252 243 249 0 252 242 249 0 250 241 249 0 249 240 249 0 248 239 249 0 246 238 249 0 243 237 249 0 242 236 249 0 242 235 249 0 240 234 249 0 240 233 249 0 240 232 249 0 240 231 249 0 240 230 249 0 240 229 249 0 239 228 249 0 239 227 249 0 239 226 249 0 239 224 249 0 239 223 249 0 239 222 249 0 239 221 249 0 239 220 249 0 239 219 249 0 239 218 249 0 238 217 249 0 238 216 249 0 235 215 249 0 234 214 249 0 234 213 249 0 231 212 249 0 231 211 249 0 231 210 249 0 231 209 249 0 231 208 249 0 231 207 249 0 231 206 249 0 231 205 249 0 231 204 249 0 230 203 249 0 230 202 249 0 230 201 249 0 230 200 249 0 230 199 249 0 230 198 249 0 230 197 249 0 228 196 249 0 228 195 249 0 227 194 249 0 226 193 249 0 224 191 249 0 223 190 249 0 221 189 249 0 221 188 249 0 221 187 249 0 220 186 249 0 220 185 249 0 220 184 249 0 220 183 249 0 220 182 249 0 220 181 249 0 220 180 249 0 220 179 249 0 220 178 249 0 220 177 249 0 219 176 249 0 219 175 249 0 219 174 249 0 219 173 249 0 217 172 249 0 217 171 249 0 216 170 249 0 216 169 249 0 213 168 249 0 213 167 249 0 211 166 249 0 211 165 249 0 211 164 249 0 211 163 249 0 211 162 249 0 211 161 249 0 211 160 249 0 211 158 249 0 211 157 249 0 211 156 249 0 211 155 249 0 211 154 249 0 211 153 249 0 211 152 249 0 211 151 249 0 211 150 249 0 211 149 249 0 209 148 249 0 209 147 249 0 209 146 249 0 208 145 249 0 208 144 249 0 208 143 249 0 208 142 249 0 208 141 249 0 207 140 249 0 207 139 249 0 205 138 249 0 205 137 249 0 205 136 249 0 205 135 249 0 205 134 249 0 205 133 249 0 205 132 249 0 205 131 249 0 205 130 249 0 205 129 249 0 205 128 249 0 205 127 249 0 205 125 249 0 205 124 249 0 205 123 249 0 205 122 249 0 205 121 249 0 205 120 249 0 205 119 249 0 205 118 249 0 205 117 249 0 205 116 249 0 205 115 249 0 205 114 249 0 205 113 249 0 205 112 249 0 205 111 249 0 205 110 249 0 205 109 249 0 207 108 249 0 207 107 249 0 208 106 249 0 208 105 249 0 208 104 249 0 208 103 249 0 208 102 249 0 209 101 249 0 209 100 249 0 209 99 249 0 209 98 249 0 211 97 249 0 211 96 249 0 211 95 249 0 211 94 249 0 211 92 249 0 211 91 249 0 211 90 249 0 211 89 249 0 211 88 249 0 211 87 249 0 211 86 249 0 211 85 249 0 211 84 249 0 211 83 249 0 211 82 249 0 211 81 249 0 213 80 249 0 213 79 249 0 216 78 249 0 216 77 249 0 217 76 249 0 217 75 249 0 219 74 249 0 219 73 249 0 219 72 249 0 219 71 249 0 220 70 249 0 220 69 249 0 220 68 249 0 220 67 249 0 220 66 249 0 220 65 249 0 220 64 249 0 220 63 249 0 220 62 249 0 220 61 249 0 221 59 249 0 221 58 249 0 221 57 249 0 223 56 249 0 224 55 249 0 226 54 249 0 227 53 249 0 228 52 249 0 228 51 249 0 230 50 249 0 230 49 249 0 230 48 249 0 230 47 249 0 230 46 249 0 230 45 249 0 230 44 249 0 230 43 249 0 231 42 249 0 231 41 249 0 231 40 249 0 231 39 249 0 231 38 249 0 231 37 249 0 231 36 249 0 231 35 249 0 234 34 249 0 234 33 249 0 235 32 249 0 235 31 249 0 238 30 249 0 238 29 249 0 239 28 249 0 239 26 249 0 239 25 249 0 239 24 249 0 239 23 249 0 239 22 249 0 239 21 249 0 239 20 249 0 239 19 249 0 239 18 249 0 240 17 249 0 240 16 249 0 240 15 249 0 240 14 249 0 240 13 249 0 242 12 249 0 242 11 249 0 243 10 249 0 246 9 249 0 248 8 249 0 249 7 249 0 250 6 249 0 250 5 249 0 252 4 249 0 252 3 249 0 252 2 249 1 252 1 249 2 252 0 249 2 252 0 249 2 255 0 249 3 255 0 249 3 255 0 249 3 255 0 249 3 255 255 248 0 255 254 248 0 255 254 248 0 255 254 248 0 255 253 248 0 255 252 248 0 255 251 248 0 255 250 248 0 255 249 248 0 252 248 248 0 252 247 248 0 252 246 248 0 252 245 248 0 252 244 248 0 250 243 248 0 250 242 248 0 249 241 248 0 248 240 248 0 246 239 248 0 245 238 248 0 242 237 248 0 242 236 248 0 240 235 248 0 240 234 248 0 240 233 248 0 240 232 248 0 240 231 248 0 240 230 248 0 240 229 248 0 239 228 248 0 239 227 248 0 239 226 248 0 239 224 248 0 239 223 248 0 239 222 248 0 239 221 248 0 239 220 248 0 238 219 248 0 238 218 248 0 235 217 248 0 235 216 248 0 234 215 248 0 234 214 248 0 231 213 248 0 231 212 248 0 231 211 248 0 231 210 248 0 231 209 248 0 231 208 248 0 231 207 248 0 230 206 248 0 230 205 248 0 230 204 248 0 230 203 248 0 230 202 248 0 230 201 248 0 230 200 248 0 230 199 248 0 230 198 248 0 228 197 248 0 228 196 248 0 227 195 248 0 226 194 248 0 224 193 248 0 223 191 248 0 221 190 248 0 221 189 248 0 220 188 248 0 220 187 248 0 220 186 248 0 220 185 248 0 219 184 248 0 219 183 248 0 219 182 248 0 219 181 248 0 219 180 248 0 219 179 248 0 219 178 248 0 219 177 248 0 219 176 248 0 219 175 248 0 219 174 248 0 217 173 248 0 217 172 248 0 216 171 248 0 216 170 248 0 213 169 248 0 213 168 248 0 211 167 248 0 211 166 248 0 211 165 248 0 209 164 248 0 209 163 248 0 209 162 248 0 209 161 248 0 209 160 248 0 209 158 248 0 209 157 248 0 209 156 248 0 209 155 248 0 209 154 248 0 209 153 248 0 209 152 248 0 209 151 248 0 209 150 248 0 209 149 248 0 208 148 248 0 208 147 248 0 208 146 248 0 207 145 248 0 207 144 248 0 207 143 248 0 207 142 248 0 207 141 248 0 205 140 248 0 205 139 248 0 205 138 248 0 204 137 248 0 204 136 248 0 204 135 248 0 204 134 248 0 204 133 248 0 204 132 248 0 204 131 248 0 204 130 248 0 204 129 248 0 204 128 248 0 204 127 248 0 204 125 248 0 204 124 248 0 204 123 248 0 204 122 248 0 204 121 248 0 204 120 248 0 204 119 248 0 204 118 248 0 204 117 248 0 204 116 248 0 204 115 248 0 204 114 248 0 204 113 248 0 204 112 248 0 204 111 248 0 204 110 248 0 205 109 248 0 205 108 248 0 205 107 248 0 207 106 248 0 207 105 248 0 207 104 248 0 207 103 248 0 207 102 248 0 208 101 248 0 208 100 248 0 208 99 248 0 209 98 248 0 209 97 248 0 209 96 248 0 209 95 248 0 209 94 248 0 209 92 248 0 209 91 248 0 209 90 248 0 209 89 248 0 209 88 248 0 209 87 248 0 209 86 248 0 209 85 248 0 209 84 248 0 209 83 248 0 209 82 248 0 211 81 248 0 211 80 248 0 211 79 248 0 213 78 248 0 216 77 248 0 216 76 248 0 217 75 248 0 217 74 248 0 219 73 248 0 219 72 248 0 219 71 248 0 219 70 248 0 219 69 248 0 219 68 248 0 219 67 248 0 219 66 248 0 219 65 248 0 219 64 248 0 219 63 248 0 220 62 248 0 220 61 248 0 220 59 248 0 220 58 248 0 220 57 248 0 221 56 248 0 223 55 248 0 224 54 248 0 226 53 248 0 227 52 248 0 228 51 248 0 228 50 248 0 228 49 248 0 230 48 248 0 230 47 248 0 230 46 248 0 230 45 248 0 230 44 248 0 230 43 248 0 230 42 248 0 230 41 248 0 231 40 248 0 231 39 248 0 231 38 248 0 231 37 248 0 231 36 248 0 231 35 248 0 231 34 248 0 234 33 248 0 234 32 248 0 235 31 248 0 235 30 248 0 238 29 248 0 238 28 248 0 239 26 248 0 239 25 248 0 239 24 248 0 239 23 248 0 239 22 248 0 239 21 248 0 239 20 248 0 239 19 248 0 239 18 248 0 240 17 248 0 240 16 248 0 240 15 248 0 240 14 248 0 240 13 248 0 240 12 248 0 242 11 248 0 242 10 248 0 243 9 248 0 246 8 248 0 248 7 248 0 249 6 248 0 250 5 248 0 250 4 248 0 252 3 248 1 252 2 248 2 252 1 248 2 252 0 248 3 252 0 248 3 255 0 248 4 255 0 248 4 255 0 248 4 255 0 248 4 255 255 247 0 255 254 247 0 255 254 247 0 255 254 247 0 255 253 247 0 255 252 247 0 255 251 247 0 255 250 247 0 255 249 247 0 252 248 247 0 252 247 247 0 252 246 247 0 252 245 247 0 250 244 247 0 250 243 247 0 249 242 247 0 248 241 247 0 246 240 247 0 245 239 247 0 243 238 247 0 242 237 247 0 240 236 247 0 240 235 247 0 240 234 247 0 240 233 247 0 240 232 247 0 240 231 247 0 240 230 247 0 240 229 247 0 239 228 247 0 239 227 247 0 239 226 247 0 239 224 247 0 239 223 247 0 239 222 247 0 238 221 247 0 238 220 247 0 238 219 247 0 235 218 247 0 235 217 247 0 234 216 247 0 234 215 247 0 231 214 247 0 231 213 247 0 231 212 247 0 231 211 247 0 231 210 247 0 231 209 247 0 230 208 247 0 230 207 247 0 230 206 247 0 230 205 247 0 228 204 247 0 228 203 247 0 228 202 247 0 228 201 247 0 228 200 247 0 228 199 247 0 228 198 247 0 227 197 247 0 227 196 247 0 226 195 247 0 224 194 247 0 223 193 247 0 221 191 247 0 220 190 247 0 220 189 247 0 220 188 247 0 219 187 247 0 219 186 247 0 219 185 247 0 219 184 247 0 219 183 247 0 217 182 247 0 217 181 247 0 217 180 247 0 217 179 247 0 217 178 247 0 217 177 247 0 217 176 247 0 217 175 247 0 217 174 247 0 217 173 247 0 216 172 247 0 216 171 247 0 213 170 247 0 213 169 247 0 211 168 247 0 211 167 247 0 209 166 247 0 209 165 247 0 209 164 247 0 209 163 247 0 209 162 247 0 209 161 247 0 209 160 247 0 209 158 247 0 209 157 247 0 209 156 247 0 209 155 247 0 209 154 247 0 209 153 247 0 209 152 247 0 208 151 247 0 208 150 247 0 208 149 247 0 207 148 247 0 207 147 247 0 207 146 247 0 207 145 247 0 205 144 247 0 205 143 247 0 205 142 247 0 204 141 247 0 204 140 247 0 204 139 247 0 202 138 247 0 202 137 247 0 202 136 247 0 202 135 247 0 202 134 247 0 202 133 247 0 202 132 247 0 202 131 247 0 202 130 247 0 202 129 247 0 202 128 247 0 202 127 247 0 202 125 247 0 202 124 247 0 202 123 247 0 202 122 247 0 202 121 247 0 202 120 247 0 202 119 247 0 202 118 247 0 202 117 247 0 202 116 247 0 202 115 247 0 202 114 247 0 202 113 247 0 202 112 247 0 202 111 247 0 202 110 247 0 202 109 247 0 204 108 247 0 204 107 247 0 204 106 247 0 205 105 247 0 205 104 247 0 205 103 247 0 207 102 247 0 207 101 247 0 207 100 247 0 207 99 247 0 208 98 247 0 208 97 247 0 208 96 247 0 209 95 247 0 209 94 247 0 209 92 247 0 209 91 247 0 209 90 247 0 209 89 247 0 209 88 247 0 209 87 247 0 209 86 247 0 209 85 247 0 209 84 247 0 209 83 247 0 209 82 247 0 209 81 247 0 209 80 247 0 211 79 247 0 211 78 247 0 213 77 247 0 216 76 247 0 216 75 247 0 217 74 247 0 217 73 247 0 217 72 247 0 217 71 247 0 217 70 247 0 217 69 247 0 217 68 247 0 217 67 247 0 217 66 247 0 217 65 247 0 219 64 247 0 219 63 247 0 219 62 247 0 219 61 247 0 219 59 247 0 220 58 247 0 220 57 247 0 220 56 247 0 221 55 247 0 223 54 247 0 224 53 247 0 226 52 247 0 227 51 247 0 227 50 247 0 228 49 247 0 228 48 247 0 228 47 247 0 228 46 247 0 228 45 247 0 228 44 247 0 228 43 247 0 230 42 247 0 230 41 247 0 230 40 247 0 230 39 247 0 231 38 247 0 231 37 247 0 231 36 247 0 231 35 247 0 231 34 247 0 231 33 247 0 234 32 247 0 234 31 247 0 235 30 247 0 235 29 247 0 238 28 247 0 238 26 247 0 238 25 247 0 239 24 247 0 239 23 247 0 239 22 247 0 239 21 247 0 239 20 247 0 239 19 247 0 239 18 247 0 240 17 247 0 240 16 247 0 240 15 247 0 240 14 247 0 240 13 247 0 240 12 247 0 240 11 247 0 242 10 247 0 242 9 247 0 243 8 247 0 245 7 247 0 248 6 247 0 249 5 247 0 250 4 247 0 250 3 247 1 252 2 247 2 252 1 247 3 252 0 247 4 252 0 247 4 255 0 247 5 255 0 247 5 255 0 247 5 255 0 247 5 255 255 246 0 255 254 246 0 255 254 246 0 255 254 246 0 255 253 246 0 255 252 246 0 255 251 246 0 255 250 246 0 255 249 246 0 252 248 246 0 252 247 246 0 252 246 246 0 250 245 246 0 250 244 246 0 249 243 246 0 248 242 246 0 246 241 246 0 245 240 246 0 243 239 246 0 242 238 246 0 240 237 246 0 240 236 246 0 240 235 246 0 240 234 246 0 240 233 246 0 240 232 246 0 240 231 246 0 240 230 246 0 240 229 246 0 239 228 246 0 239 227 246 0 239 226 246 0 239 224 246 0 238 223 246 0 238 222 246 0 238 221 246 0 235 220 246 0 235 219 246 0 235 218 246 0 234 217 246 0 234 216 246 0 231 215 246 0 231 214 246 0 231 213 246 0 231 212 246 0 231 211 246 0 231 210 246 0 231 209 246 0 230 208 246 0 230 207 246 0 230 206 246 0 228 205 246 0 228 204 246 0 227 203 246 0 227 202 246 0 227 201 246 0 227 200 246 0 227 199 246 0 227 198 246 0 226 197 246 0 226 196 246 0 224 195 246 0 223 194 246 0 221 193 246 0 220 191 246 0 220 190 246 0 220 189 246 0 219 188 246 0 219 187 246 0 219 186 246 0 219 185 246 0 217 184 246 0 217 183 246 0 217 182 246 0 217 181 246 0 217 180 246 0 217 179 246 0 217 178 246 0 217 177 246 0 217 176 246 0 216 175 246 0 216 174 246 0 216 173 246 0 216 172 246 0 213 171 246 0 213 170 246 0 211 169 246 0 211 168 246 0 209 167 246 0 209 166 246 0 209 165 246 0 208 164 246 0 208 163 246 0 208 162 246 0 208 161 246 0 208 160 246 0 208 158 246 0 208 157 246 0 208 156 246 0 208 155 246 0 208 154 246 0 208 153 246 0 208 152 246 0 208 151 246 0 208 150 246 0 207 149 246 0 207 148 246 0 207 147 246 0 205 146 246 0 205 145 246 0 205 144 246 0 204 143 246 0 204 142 246 0 202 141 246 0 202 140 246 0 201 139 246 0 201 138 246 0 201 137 246 0 201 136 246 0 201 135 246 0 201 134 246 0 201 133 246 0 201 132 246 0 201 131 246 0 201 130 246 0 201 129 246 0 201 128 246 0 201 127 246 0 201 125 246 0 201 124 246 0 201 123 246 0 201 122 246 0 201 121 246 0 201 120 246 0 201 119 246 0 201 118 246 0 201 117 246 0 201 116 246 0 201 115 246 0 201 114 246 0 201 113 246 0 201 112 246 0 201 111 246 0 201 110 246 0 201 109 246 0 201 108 246 0 202 107 246 0 202 106 246 0 204 105 246 0 204 104 246 0 205 103 246 0 205 102 246 0 205 101 246 0 205 100 246 0 207 99 246 0 207 98 246 0 208 97 246 0 208 96 246 0 208 95 246 0 208 94 246 0 208 92 246 0 208 91 246 0 208 90 246 0 208 89 246 0 208 88 246 0 208 87 246 0 208 86 246 0 208 85 246 0 208 84 246 0 208 83 246 0 209 82 246 0 209 81 246 0 209 80 246 0 211 79 246 0 211 78 246 0 213 77 246 0 213 76 246 0 216 75 246 0 216 74 246 0 216 73 246 0 216 72 246 0 217 71 246 0 217 70 246 0 217 69 246 0 217 68 246 0 217 67 246 0 217 66 246 0 217 65 246 0 217 64 246 0 217 63 246 0 219 62 246 0 219 61 246 0 219 59 246 0 219 58 246 0 220 57 246 0 220 56 246 0 220 55 246 0 221 54 246 0 223 53 246 0 224 52 246 0 224 51 246 0 226 50 246 0 227 49 246 0 227 48 246 0 227 47 246 0 227 46 246 0 227 45 246 0 227 44 246 0 228 43 246 0 228 42 246 0 230 41 246 0 230 40 246 0 230 39 246 0 231 38 246 0 231 37 246 0 231 36 246 0 231 35 246 0 231 34 246 0 231 33 246 0 231 32 246 0 234 31 246 0 234 30 246 0 235 29 246 0 235 28 246 0 235 26 246 0 238 25 246 0 238 24 246 0 238 23 246 0 238 22 246 0 239 21 246 0 239 20 246 0 239 19 246 0 239 18 246 0 240 17 246 0 240 16 246 0 240 15 246 0 240 14 246 0 240 13 246 0 240 12 246 0 240 11 246 0 240 10 246 0 242 9 246 0 242 8 246 0 243 7 246 0 246 6 246 0 248 5 246 0 249 4 246 1 250 3 246 2 250 2 246 3 252 1 246 4 252 0 246 5 252 0 246 5 255 0 246 6 255 0 246 6 255 0 246 6 255 0 246 6 255 255 245 0 255 254 245 0 255 254 245 0 255 254 245 0 255 253 245 0 255 252 245 0 252 251 245 0 252 250 245 0 252 249 245 0 252 248 245 0 252 247 245 0 250 246 245 0 250 245 245 0 249 244 245 0 248 243 245 0 246 242 245 0 245 241 245 0 243 240 245 0 242 239 245 0 240 238 245 0 240 237 245 0 240 236 245 0 240 235 245 0 240 234 245 0 240 233 245 0 239 232 245 0 239 231 245 0 239 230 245 0 239 229 245 0 239 228 245 0 239 227 245 0 239 226 245 0 238 224 245 0 238 223 245 0 235 222 245 0 235 221 245 0 235 220 245 0 234 219 245 0 234 218 245 0 234 217 245 0 231 216 245 0 231 215 245 0 231 214 245 0 231 213 245 0 231 212 245 0 230 211 245 0 230 210 245 0 230 209 245 0 230 208 245 0 230 207 245 0 228 206 245 0 228 205 245 0 227 204 245 0 226 203 245 0 226 202 245 0 226 201 245 0 226 200 245 0 224 199 245 0 224 198 245 0 224 197 245 0 223 196 245 0 223 195 245 0 221 194 245 0 220 193 245 0 220 191 245 0 220 190 245 0 219 189 245 0 219 188 245 0 219 187 245 0 219 186 245 0 217 185 245 0 217 184 245 0 216 183 245 0 216 182 245 0 216 181 245 0 216 180 245 0 216 179 245 0 216 178 245 0 216 177 245 0 216 176 245 0 216 175 245 0 213 174 245 0 213 173 245 0 213 172 245 0 211 171 245 0 211 170 245 0 211 169 245 0 209 168 245 0 209 167 245 0 208 166 245 0 208 165 245 0 208 164 245 0 208 163 245 0 207 162 245 0 207 161 245 0 207 160 245 0 207 158 245 0 207 157 245 0 207 156 245 0 207 155 245 0 207 154 245 0 207 153 245 0 207 152 245 0 207 151 245 0 207 150 245 0 205 149 245 0 205 148 245 0 205 147 245 0 204 146 245 0 204 145 245 0 204 144 245 0 202 143 245 0 202 142 245 0 201 141 245 0 199 140 245 0 199 139 245 0 198 138 245 0 198 137 245 0 198 136 245 0 198 135 245 0 198 134 245 0 198 133 245 0 198 132 245 0 198 131 245 0 198 130 245 0 198 129 245 0 198 128 245 0 198 127 245 0 198 125 245 0 198 124 245 0 198 123 245 0 198 122 245 0 198 121 245 0 198 120 245 0 198 119 245 0 198 118 245 0 198 117 245 0 198 116 245 0 198 115 245 0 198 114 245 0 198 113 245 0 198 112 245 0 198 111 245 0 198 110 245 0 198 109 245 0 199 108 245 0 199 107 245 0 201 106 245 0 201 105 245 0 202 104 245 0 204 103 245 0 204 102 245 0 204 101 245 0 205 100 245 0 205 99 245 0 205 98 245 0 205 97 245 0 207 96 245 0 207 95 245 0 207 94 245 0 207 92 245 0 207 91 245 0 207 90 245 0 207 89 245 0 207 88 245 0 207 87 245 0 207 86 245 0 207 85 245 0 208 84 245 0 208 83 245 0 208 82 245 0 208 81 245 0 209 80 245 0 209 79 245 0 209 78 245 0 211 77 245 0 211 76 245 0 213 75 245 0 213 74 245 0 213 73 245 0 213 72 245 0 216 71 245 0 216 70 245 0 216 69 245 0 216 68 245 0 216 67 245 0 216 66 245 0 216 65 245 0 216 64 245 0 217 63 245 0 217 62 245 0 219 61 245 0 219 59 245 0 219 58 245 0 219 57 245 0 219 56 245 0 220 55 245 0 220 54 245 0 221 53 245 0 223 52 245 0 223 51 245 0 224 50 245 0 224 49 245 0 224 48 245 0 226 47 245 0 226 46 245 0 226 45 245 0 226 44 245 0 227 43 245 0 227 42 245 0 228 41 245 0 230 40 245 0 230 39 245 0 230 38 245 0 230 37 245 0 230 36 245 0 230 35 245 0 231 34 245 0 231 33 245 0 231 32 245 0 231 31 245 0 234 30 245 0 234 29 245 0 234 28 245 0 235 26 245 0 235 25 245 0 235 24 245 0 235 23 245 0 238 22 245 0 238 21 245 0 239 20 245 0 239 19 245 0 239 18 245 0 239 17 245 0 239 16 245 0 239 15 245 0 240 14 245 0 240 13 245 0 240 12 245 0 240 11 245 0 240 10 245 0 240 9 245 0 242 8 245 0 242 7 245 0 243 6 245 0 246 5 245 1 248 4 245 1 249 3 245 2 250 2 245 3 250 1 245 4 252 0 245 5 252 0 245 6 252 0 245 6 252 0 245 7 252 0 245 7 255 0 245 7 255 255 244 0 255 254 244 0 255 254 244 0 255 254 244 0 255 253 244 0 255 252 244 0 252 251 244 0 252 250 244 0 252 249 244 0 252 248 244 0 250 247 244 0 250 246 244 0 249 245 244 0 248 244 244 0 246 243 244 0 245 242 244 0 243 241 244 0 242 240 244 0 240 239 244 0 240 238 244 0 240 237 244 0 240 236 244 0 240 235 244 0 240 234 244 0 240 233 244 0 239 232 244 0 239 231 244 0 239 230 244 0 239 229 244 0 239 228 244 0 238 227 244 0 238 226 244 0 238 224 244 0 235 223 244 0 234 222 244 0 234 221 244 0 234 220 244 0 234 219 244 0 231 218 244 0 231 217 244 0 231 216 244 0 231 215 244 0 231 214 244 0 231 213 244 0 231 212 244 0 230 211 244 0 230 210 244 0 230 209 244 0 230 208 244 0 228 207 244 0 228 206 244 0 227 205 244 0 226 204 244 0 224 203 244 0 224 202 244 0 223 201 244 0 223 200 244 0 223 199 244 0 223 198 244 0 223 197 244 0 221 196 244 0 221 195 244 0 220 194 244 0 220 193 244 0 219 191 244 0 219 190 244 0 219 189 244 0 219 188 244 0 217 187 244 0 217 186 244 0 217 185 244 0 216 184 244 0 216 183 244 0 213 182 244 0 213 181 244 0 213 180 244 0 213 179 244 0 213 178 244 0 213 177 244 0 213 176 244 0 213 175 244 0 211 174 244 0 211 173 244 0 211 172 244 0 209 171 244 0 209 170 244 0 209 169 244 0 209 168 244 0 208 167 244 0 208 166 244 0 208 165 244 0 207 164 244 0 207 163 244 0 207 162 244 0 207 161 244 0 205 160 244 0 205 158 244 0 205 157 244 0 205 156 244 0 205 155 244 0 205 154 244 0 205 153 244 0 204 152 244 0 204 151 244 0 204 150 244 0 204 149 244 0 204 148 244 0 204 147 244 0 202 146 244 0 202 145 244 0 202 144 244 0 201 143 244 0 199 142 244 0 198 141 244 0 198 140 244 0 197 139 244 0 197 138 244 0 197 137 244 0 197 136 244 0 197 135 244 0 197 134 244 0 197 133 244 0 197 132 244 0 197 131 244 0 197 130 244 0 197 129 244 0 197 128 244 0 197 127 244 0 197 125 244 0 197 124 244 0 197 123 244 0 197 122 244 0 197 121 244 0 197 120 244 0 197 119 244 0 197 118 244 0 197 117 244 0 197 116 244 0 197 115 244 0 197 114 244 0 197 113 244 0 197 112 244 0 197 111 244 0 197 110 244 0 197 109 244 0 197 108 244 0 197 107 244 0 198 106 244 0 199 105 244 0 201 104 244 0 201 103 244 0 202 102 244 0 202 101 244 0 204 100 244 0 204 99 244 0 204 98 244 0 204 97 244 0 204 96 244 0 204 95 244 0 205 94 244 0 205 92 244 0 205 91 244 0 205 90 244 0 205 89 244 0 205 88 244 0 205 87 244 0 207 86 244 0 207 85 244 0 207 84 244 0 207 83 244 0 207 82 244 0 208 81 244 0 208 80 244 0 209 79 244 0 209 78 244 0 209 77 244 0 209 76 244 0 211 75 244 0 211 74 244 0 211 73 244 0 211 72 244 0 213 71 244 0 213 70 244 0 213 69 244 0 213 68 244 0 213 67 244 0 213 66 244 0 213 65 244 0 213 64 244 0 216 63 244 0 217 62 244 0 217 61 244 0 217 59 244 0 219 58 244 0 219 57 244 0 219 56 244 0 219 55 244 0 220 54 244 0 220 53 244 0 221 52 244 0 221 51 244 0 223 50 244 0 223 49 244 0 223 48 244 0 223 47 244 0 223 46 244 0 223 45 244 0 224 44 244 0 226 43 244 0 226 42 244 0 227 41 244 0 228 40 244 0 230 39 244 0 230 38 244 0 230 37 244 0 230 36 244 0 230 35 244 0 231 34 244 0 231 33 244 0 231 32 244 0 231 31 244 0 231 30 244 0 231 29 244 0 231 28 244 0 234 26 244 0 234 25 244 0 234 24 244 0 235 23 244 0 235 22 244 0 238 21 244 0 238 20 244 0 239 19 244 0 239 18 244 0 239 17 244 0 239 16 244 0 239 15 244 0 240 14 244 0 240 13 244 0 240 12 244 0 240 11 244 0 240 10 244 0 240 9 244 0 240 8 244 0 242 7 244 0 242 6 244 1 243 5 244 1 245 4 244 2 248 3 244 3 249 2 244 4 250 1 244 5 250 0 244 6 252 0 244 7 252 0 244 7 252 0 244 8 252 0 244 8 255 0 244 8 255 255 243 0 255 254 243 0 255 254 243 0 255 254 243 0 255 253 243 0 255 252 243 0 252 251 243 0 252 250 243 0 252 249 243 0 252 248 243 0 250 247 243 0 249 246 243 0 248 245 243 0 246 244 243 0 245 243 243 0 243 242 243 0 242 241 243 0 240 240 243 0 240 239 243 0 240 238 243 0 240 237 243 0 240 236 243 0 240 235 243 0 240 234 243 0 240 233 243 0 239 232 243 0 239 231 243 0 239 230 243 0 239 229 243 0 239 228 243 0 238 227 243 0 238 226 243 0 235 224 243 0 234 223 243 0 234 222 243 0 231 221 243 0 231 220 243 0 231 219 243 0 231 218 243 0 231 217 243 0 231 216 243 0 231 215 243 0 231 214 243 0 231 213 243 0 231 212 243 0 230 211 243 0 230 210 243 0 230 209 243 0 228 208 243 0 228 207 243 0 227 206 243 0 226 205 243 0 224 204 243 0 223 203 243 0 221 202 243 0 221 201 243 0 221 200 243 0 221 199 243 0 221 198 243 0 221 197 243 0 220 196 243 0 220 195 243 0 220 194 243 0 219 193 243 0 219 191 243 0 219 190 243 0 217 189 243 0 217 188 243 0 217 187 243 0 216 186 243 0 216 185 243 0 213 184 243 0 213 183 243 0 213 182 243 0 211 181 243 0 211 180 243 0 211 179 243 0 211 178 243 0 211 177 243 0 211 176 243 0 211 175 243 0 209 174 243 0 209 173 243 0 209 172 243 0 209 171 243 0 208 170 243 0 208 169 243 0 208 168 243 0 208 167 243 0 207 166 243 0 207 165 243 0 207 164 243 0 205 163 243 0 205 162 243 0 205 161 243 0 204 160 243 0 204 158 243 0 204 157 243 0 202 156 243 0 202 155 243 0 202 154 243 0 202 153 243 0 202 152 243 0 202 151 243 0 202 150 243 0 201 149 243 0 201 148 243 0 201 147 243 0 201 146 243 0 201 145 243 0 199 144 243 0 199 143 243 0 198 142 243 0 197 141 243 0 195 140 243 0 195 139 243 0 194 138 243 0 194 137 243 0 194 136 243 0 194 135 243 0 194 134 243 0 194 133 243 0 194 132 243 0 194 131 243 0 194 130 243 0 194 129 243 0 194 128 243 0 194 127 243 0 194 125 243 0 194 124 243 0 194 123 243 0 194 122 243 0 194 121 243 0 194 120 243 0 194 119 243 0 194 118 243 0 194 117 243 0 194 116 243 0 194 115 243 0 194 114 243 0 194 113 243 0 194 112 243 0 194 111 243 0 194 110 243 0 194 109 243 0 195 108 243 0 195 107 243 0 197 106 243 0 198 105 243 0 199 104 243 0 199 103 243 0 201 102 243 0 201 101 243 0 201 100 243 0 201 99 243 0 201 98 243 0 202 97 243 0 202 96 243 0 202 95 243 0 202 94 243 0 202 92 243 0 202 91 243 0 202 90 243 0 204 89 243 0 204 88 243 0 204 87 243 0 205 86 243 0 205 85 243 0 205 84 243 0 207 83 243 0 207 82 243 0 207 81 243 0 208 80 243 0 208 79 243 0 208 78 243 0 208 77 243 0 209 76 243 0 209 75 243 0 209 74 243 0 209 73 243 0 209 72 243 0 211 71 243 0 211 70 243 0 211 69 243 0 211 68 243 0 211 67 243 0 211 66 243 0 211 65 243 0 213 64 243 0 213 63 243 0 216 62 243 0 216 61 243 0 217 59 243 0 217 58 243 0 217 57 243 0 219 56 243 0 219 55 243 0 219 54 243 0 219 53 243 0 220 52 243 0 220 51 243 0 221 50 243 0 221 49 243 0 221 48 243 0 221 47 243 0 221 46 243 0 221 45 243 0 223 44 243 0 223 43 243 0 224 42 243 0 226 41 243 0 227 40 243 0 228 39 243 0 230 38 243 0 230 37 243 0 230 36 243 0 230 35 243 0 231 34 243 0 231 33 243 0 231 32 243 0 231 31 243 0 231 30 243 0 231 29 243 0 231 28 243 0 231 26 243 0 231 25 243 0 234 24 243 0 234 23 243 0 235 22 243 0 235 21 243 0 238 20 243 0 238 19 243 0 239 18 243 0 239 17 243 0 239 16 243 0 239 15 243 0 240 14 243 0 240 13 243 0 240 12 243 0 240 11 243 0 240 10 243 0 240 9 243 0 240 8 243 0 240 7 243 1 242 6 243 1 242 5 243 2 243 4 243 3 246 3 243 4 248 2 243 5 249 1 243 6 250 0 243 7 250 0 243 8 252 0 243 8 252 0 243 8 252 0 243 9 255 0 243 9 255 255 242 0 255 254 242 0 255 254 242 0 252 254 242 0 252 253 242 0 252 252 242 0 252 251 242 0 252 250 242 0 250 249 242 0 250 248 242 0 249 247 242 0 248 246 242 0 246 245 242 0 245 244 242 0 243 243 242 0 242 242 242 0 240 241 242 0 240 240 242 0 240 239 242 0 240 238 242 0 240 237 242 0 240 236 242 0 239 235 242 0 239 234 242 0 239 233 242 0 239 232 242 0 239 231 242 0 239 230 242 0 239 229 242 0 238 228 242 0 235 227 242 0 235 226 242 0 234 224 242 0 234 223 242 0 231 222 242 0 231 221 242 0 231 220 242 0 231 219 242 0 231 218 242 0 231 217 242 0 230 216 242 0 230 215 242 0 230 214 242 0 230 213 242 0 230 212 242 0 230 211 242 0 230 210 242 0 228 209 242 0 228 208 242 0 227 207 242 0 226 206 242 0 224 205 242 0 223 204 242 0 221 203 242 0 221 202 242 0 220 201 242 0 220 200 242 0 220 199 242 0 220 198 242 0 220 197 242 0 220 196 242 0 219 195 242 0 219 194 242 0 219 193 242 0 217 191 242 0 217 190 242 0 217 189 242 0 216 188 242 0 216 187 242 0 216 186 242 0 213 185 242 0 213 184 242 0 211 183 242 0 211 182 242 0 211 181 242 0 211 180 242 0 211 179 242 0 209 178 242 0 209 177 242 0 209 176 242 0 209 175 242 0 208 174 242 0 208 173 242 0 208 172 242 0 208 171 242 0 208 170 242 0 207 169 242 0 207 168 242 0 207 167 242 0 207 166 242 0 205 165 242 0 205 164 242 0 205 163 242 0 204 162 242 0 204 161 242 0 202 160 242 0 202 158 242 0 201 157 242 0 201 156 242 0 199 155 242 0 199 154 242 0 199 153 242 0 199 152 242 0 199 151 242 0 199 150 242 0 199 149 242 0 199 148 242 0 199 147 242 0 199 146 242 0 198 145 242 0 198 144 242 0 197 143 242 0 197 142 242 0 195 141 242 0 194 140 242 0 194 139 242 0 189 138 242 0 189 137 242 0 189 136 242 0 189 135 242 0 189 134 242 0 189 133 242 0 189 132 242 0 189 131 242 0 189 130 242 0 189 129 242 0 189 128 242 0 189 127 242 0 189 125 242 0 189 124 242 0 189 123 242 0 189 122 242 0 189 121 242 0 189 120 242 0 189 119 242 0 189 118 242 0 189 117 242 0 189 116 242 0 189 115 242 0 189 114 242 0 189 113 242 0 189 112 242 0 189 111 242 0 189 110 242 0 189 109 242 0 189 108 242 0 194 107 242 0 195 106 242 0 195 105 242 0 197 104 242 0 198 103 242 0 198 102 242 0 198 101 242 0 199 100 242 0 199 99 242 0 199 98 242 0 199 97 242 0 199 96 242 0 199 95 242 0 199 94 242 0 199 92 242 0 199 91 242 0 199 90 242 0 201 89 242 0 202 88 242 0 202 87 242 0 204 86 242 0 204 85 242 0 204 84 242 0 205 83 242 0 205 82 242 0 207 81 242 0 207 80 242 0 207 79 242 0 207 78 242 0 208 77 242 0 208 76 242 0 208 75 242 0 208 74 242 0 208 73 242 0 209 72 242 0 209 71 242 0 209 70 242 0 209 69 242 0 209 68 242 0 211 67 242 0 211 66 242 0 211 65 242 0 211 64 242 0 213 63 242 0 213 62 242 0 216 61 242 0 216 59 242 0 216 58 242 0 217 57 242 0 217 56 242 0 217 55 242 0 219 54 242 0 219 53 242 0 219 52 242 0 220 51 242 0 220 50 242 0 220 49 242 0 220 48 242 0 220 47 242 0 220 46 242 0 220 45 242 0 221 44 242 0 221 43 242 0 223 42 242 0 224 41 242 0 226 40 242 0 227 39 242 0 228 38 242 0 228 37 242 0 230 36 242 0 230 35 242 0 230 34 242 0 230 33 242 0 230 32 242 0 230 31 242 0 231 30 242 0 231 29 242 0 231 28 242 0 231 26 242 0 231 25 242 0 231 24 242 0 234 23 242 0 234 22 242 0 235 21 242 0 235 20 242 0 238 19 242 0 238 18 242 0 239 17 242 0 239 16 242 0 239 15 242 0 239 14 242 0 239 13 242 0 239 12 242 0 240 11 242 0 240 10 242 0 240 9 242 1 240 8 242 1 240 7 242 2 240 6 242 2 242 5 242 3 242 4 242 4 243 3 242 5 246 2 242 6 248 1 242 7 249 0 242 8 250 0 242 9 250 0 242 9 252 0 242 10 252 0 242 10 252 0 242 10 252 255 241 0 255 254 241 0 255 254 241 0 252 254 241 0 252 253 241 0 252 252 241 0 252 251 241 0 250 250 241 0 250 249 241 0 249 248 241 0 248 247 241 0 246 246 241 0 245 245 241 0 243 244 241 0 242 243 241 0 240 242 241 0 240 241 241 0 240 240 241 0 240 239 241 0 240 238 241 0 240 237 241 0 240 236 241 0 239 235 241 0 239 234 241 0 239 233 241 0 239 232 241 0 239 231 241 0 238 230 241 0 238 229 241 0 235 228 241 0 235 227 241 0 234 226 241 0 234 224 241 0 231 223 241 0 231 222 241 0 231 221 241 0 231 220 241 0 231 219 241 0 230 218 241 0 230 217 241 0 230 216 241 0 230 215 241 0 230 214 241 0 230 213 241 0 230 212 241 0 228 211 241 0 228 210 241 0 227 209 241 0 227 208 241 0 226 207 241 0 224 206 241 0 223 205 241 0 221 204 241 0 220 203 241 0 220 202 241 0 220 201 241 0 219 200 241 0 219 199 241 0 219 198 241 0 219 197 241 0 219 196 241 0 219 195 241 0 217 194 241 0 217 193 241 0 217 191 241 0 216 190 241 0 216 189 241 0 213 188 241 0 213 187 241 0 213 186 241 0 211 185 241 0 211 184 241 0 209 183 241 0 209 182 241 0 209 181 241 0 209 180 241 0 209 179 241 0 209 178 241 0 209 177 241 0 208 176 241 0 208 175 241 0 208 174 241 0 207 173 241 0 207 172 241 0 207 171 241 0 205 170 241 0 205 169 241 0 205 168 241 0 205 167 241 0 204 166 241 0 204 165 241 0 204 164 241 0 202 163 241 0 202 162 241 0 202 161 241 0 201 160 241 0 199 158 241 0 198 157 241 0 198 156 241 0 197 155 241 0 197 154 241 0 195 153 241 0 195 152 241 0 195 151 241 0 195 150 241 0 195 149 241 0 195 148 241 0 195 147 241 0 195 146 241 0 195 145 241 0 195 144 241 0 194 143 241 0 194 142 241 0 189 141 241 0 189 140 241 0 188 139 241 0 188 138 241 0 188 137 241 0 188 136 241 0 188 135 241 0 188 134 241 0 188 133 241 0 188 132 241 0 188 131 241 0 188 130 241 0 188 129 241 0 188 128 241 0 188 127 241 0 188 125 241 0 188 124 241 0 188 123 241 0 188 122 241 0 188 121 241 0 188 120 241 0 188 119 241 0 188 118 241 0 188 117 241 0 188 116 241 0 188 115 241 0 188 114 241 0 188 113 241 0 188 112 241 0 188 111 241 0 188 110 241 0 188 109 241 0 188 108 241 0 189 107 241 0 189 106 241 0 194 105 241 0 194 104 241 0 195 103 241 0 195 102 241 0 195 101 241 0 195 100 241 0 195 99 241 0 195 98 241 0 195 97 241 0 195 96 241 0 195 95 241 0 195 94 241 0 197 92 241 0 197 91 241 0 198 90 241 0 198 89 241 0 199 88 241 0 201 87 241 0 202 86 241 0 202 85 241 0 202 84 241 0 204 83 241 0 204 82 241 0 204 81 241 0 205 80 241 0 205 79 241 0 205 78 241 0 205 77 241 0 207 76 241 0 207 75 241 0 207 74 241 0 207 73 241 0 208 72 241 0 208 71 241 0 208 70 241 0 209 69 241 0 209 68 241 0 209 67 241 0 209 66 241 0 209 65 241 0 209 64 241 0 211 63 241 0 211 62 241 0 213 61 241 0 213 59 241 0 213 58 241 0 216 57 241 0 216 56 241 0 216 55 241 0 217 54 241 0 217 53 241 0 219 52 241 0 219 51 241 0 219 50 241 0 219 49 241 0 219 48 241 0 219 47 241 0 220 46 241 0 220 45 241 0 220 44 241 0 221 43 241 0 221 42 241 0 223 41 241 0 224 40 241 0 226 39 241 0 227 38 241 0 228 37 241 0 228 36 241 0 228 35 241 0 230 34 241 0 230 33 241 0 230 32 241 0 230 31 241 0 230 30 241 0 230 29 241 0 231 28 241 0 231 26 241 0 231 25 241 0 231 24 241 0 231 23 241 0 234 22 241 0 234 21 241 0 235 20 241 0 235 19 241 0 238 18 241 0 238 17 241 0 239 16 241 0 239 15 241 0 239 14 241 0 239 13 241 0 239 12 241 0 240 11 241 0 240 10 241 1 240 9 241 2 240 8 241 2 240 7 241 3 240 6 241 3 240 5 241 4 242 4 241 5 242 3 241 6 243 2 241 7 245 1 241 9 248 0 241 9 249 0 241 10 250 0 241 11 250 0 241 11 252 0 241 11 252 0 241 11 252 255 240 0 255 254 240 0 255 254 240 0 252 254 240 0 252 253 240 0 252 252 240 0 250 251 240 0 250 250 240 0 249 249 240 0 248 248 240 0 246 247 240 0 245 246 240 0 243 245 240 0 242 244 240 0 240 243 240 0 240 242 240 0 240 241 240 0 240 240 240 0 240 239 240 0 240 238 240 0 240 237 240 0 240 236 240 0 239 235 240 0 239 234 240 0 239 233 240 0 239 232 240 0 238 231 240 0 238 230 240 0 235 229 240 0 235 228 240 0 234 227 240 0 234 226 240 0 231 224 240 0 231 223 240 0 231 222 240 0 231 221 240 0 231 220 240 0 231 219 240 0 230 218 240 0 230 217 240 0 230 216 240 0 230 215 240 0 228 214 240 0 228 213 240 0 228 212 240 0 227 211 240 0 227 210 240 0 226 209 240 0 226 208 240 0 224 207 240 0 223 206 240 0 221 205 240 0 220 204 240 0 220 203 240 0 220 202 240 0 219 201 240 0 219 200 240 0 219 199 240 0 219 198 240 0 219 197 240 0 217 196 240 0 217 195 240 0 217 194 240 0 216 193 240 0 216 191 240 0 213 190 240 0 213 189 240 0 213 188 240 0 211 187 240 0 211 186 240 0 211 185 240 0 209 184 240 0 209 183 240 0 209 182 240 0 208 181 240 0 208 180 240 0 208 179 240 0 208 178 240 0 208 177 240 0 208 176 240 0 207 175 240 0 207 174 240 0 207 173 240 0 205 172 240 0 205 171 240 0 205 170 240 0 204 169 240 0 204 168 240 0 202 167 240 0 202 166 240 0 202 165 240 0 201 164 240 0 201 163 240 0 201 162 240 0 201 161 240 0 199 160 240 0 198 158 240 0 197 157 240 0 195 156 240 0 194 155 240 0 194 154 240 0 189 153 240 0 189 152 240 0 189 151 240 0 189 150 240 0 189 149 240 0 189 148 240 0 189 147 240 0 189 146 240 0 189 145 240 0 189 144 240 0 189 143 240 0 188 142 240 0 188 141 240 0 188 140 240 0 186 139 240 0 186 138 240 0 186 137 240 0 186 136 240 0 186 135 240 0 186 134 240 0 186 133 240 0 186 132 240 0 186 131 240 0 186 130 240 0 186 129 240 0 186 128 240 0 186 127 240 0 186 125 240 0 186 124 240 0 186 123 240 0 186 122 240 0 186 121 240 0 186 120 240 0 186 119 240 0 186 118 240 0 186 117 240 0 186 116 240 0 186 115 240 0 186 114 240 0 186 113 240 0 186 112 240 0 186 111 240 0 186 110 240 0 186 109 240 0 186 108 240 0 188 107 240 0 188 106 240 0 188 105 240 0 189 104 240 0 189 103 240 0 189 102 240 0 189 101 240 0 189 100 240 0 189 99 240 0 189 98 240 0 189 97 240 0 189 96 240 0 189 95 240 0 189 94 240 0 194 92 240 0 194 91 240 0 195 90 240 0 197 89 240 0 198 88 240 0 199 87 240 0 199 86 240 0 201 85 240 0 201 84 240 0 201 83 240 0 202 82 240 0 202 81 240 0 202 80 240 0 204 79 240 0 204 78 240 0 205 77 240 0 205 76 240 0 205 75 240 0 205 74 240 0 207 73 240 0 207 72 240 0 207 71 240 0 208 70 240 0 208 69 240 0 208 68 240 0 208 67 240 0 208 66 240 0 209 65 240 0 209 64 240 0 209 63 240 0 211 62 240 0 211 61 240 0 211 59 240 0 213 58 240 0 213 57 240 0 213 56 240 0 216 55 240 0 216 54 240 0 217 53 240 0 217 52 240 0 217 51 240 0 219 50 240 0 219 49 240 0 219 48 240 0 219 47 240 0 219 46 240 0 219 45 240 0 220 44 240 0 220 43 240 0 221 42 240 0 221 41 240 0 223 40 240 0 224 39 240 0 226 38 240 0 227 37 240 0 227 36 240 0 228 35 240 0 228 34 240 0 228 33 240 0 230 32 240 0 230 31 240 0 230 30 240 0 230 29 240 0 231 28 240 0 231 26 240 0 231 25 240 0 231 24 240 0 231 23 240 0 231 22 240 0 234 21 240 0 234 20 240 0 235 19 240 0 235 18 240 0 238 17 240 0 238 16 240 0 239 15 240 0 239 14 240 0 239 13 240 0 239 12 240 0 240 11 240 1 240 10 240 2 240 9 240 2 240 8 240 3 240 7 240 4 240 6 240 4 240 5 240 5 240 4 240 6 242 3 240 7 242 2 240 9 243 1 240 10 245 0 240 11 248 0 240 11 249 0 240 12 250 0 240 12 250 0 240 12 252 0 240 12 252 255 239 0 255 254 239 0 255 254 239 0 252 254 239 0 252 253 239 0 252 252 239 0 250 251 239 0 249 250 239 0 248 249 239 0 246 248 239 0 245 247 239 0 243 246 239 0 242 245 239 0 240 244 239 0 240 243 239 0 240 242 239 0 240 241 239 0 240 240 239 0 240 239 239 0 239 238 239 0 239 237 239 0 239 236 239 0 239 235 239 0 239 234 239 0 239 233 239 0 238 232 239 0 238 231 239 0 235 230 239 0 235 229 239 0 234 228 239 0 234 227 239 0 231 226 239 0 231 224 239 0 231 223 239 0 231 222 239 0 230 221 239 0 230 220 239 0 230 219 239 0 230 218 239 0 230 217 239 0 230 216 239 0 228 215 239 0 227 214 239 0 227 213 239 0 227 212 239 0 226 211 239 0 226 210 239 0 224 209 239 0 224 208 239 0 223 207 239 0 221 206 239 0 220 205 239 0 220 204 239 0 219 203 239 0 219 202 239 0 219 201 239 0 219 200 239 0 219 199 239 0 217 198 239 0 217 197 239 0 217 196 239 0 216 195 239 0 216 194 239 0 216 193 239 0 213 191 239 0 213 190 239 0 211 189 239 0 211 188 239 0 211 187 239 0 209 186 239 0 209 185 239 0 208 184 239 0 208 183 239 0 208 182 239 0 208 181 239 0 208 180 239 0 208 179 239 0 207 178 239 0 207 177 239 0 207 176 239 0 205 175 239 0 205 174 239 0 205 173 239 0 204 172 239 0 204 171 239 0 204 170 239 0 202 169 239 0 202 168 239 0 201 167 239 0 199 166 239 0 199 165 239 0 199 164 239 0 199 163 239 0 198 162 239 0 198 161 239 0 197 160 239 0 197 158 239 0 195 157 239 0 194 156 239 0 189 155 239 0 188 154 239 0 188 153 239 0 188 152 239 0 188 151 239 0 186 150 239 0 186 149 239 0 186 148 239 0 186 147 239 0 186 146 239 0 186 145 239 0 186 144 239 0 186 143 239 0 186 142 239 0 186 141 239 0 185 140 239 0 185 139 239 0 185 138 239 0 185 137 239 0 185 136 239 0 185 135 239 0 185 134 239 0 185 133 239 0 185 132 239 0 185 131 239 0 185 130 239 0 185 129 239 0 185 128 239 0 185 127 239 0 185 125 239 0 185 124 239 0 185 123 239 0 185 122 239 0 185 121 239 0 185 120 239 0 185 119 239 0 185 118 239 0 185 117 239 0 185 116 239 0 185 115 239 0 185 114 239 0 185 113 239 0 185 112 239 0 185 111 239 0 185 110 239 0 185 109 239 0 185 108 239 0 185 107 239 0 186 106 239 0 186 105 239 0 186 104 239 0 186 103 239 0 186 102 239 0 186 101 239 0 186 100 239 0 186 99 239 0 186 98 239 0 186 97 239 0 188 96 239 0 188 95 239 0 188 94 239 0 188 92 239 0 189 91 239 0 194 90 239 0 194 89 239 0 195 88 239 0 197 87 239 0 198 86 239 0 198 85 239 0 198 84 239 0 199 83 239 0 199 82 239 0 199 81 239 0 201 80 239 0 201 79 239 0 202 78 239 0 204 77 239 0 204 76 239 0 204 75 239 0 205 74 239 0 205 73 239 0 205 72 239 0 207 71 239 0 207 70 239 0 207 69 239 0 207 68 239 0 208 67 239 0 208 66 239 0 208 65 239 0 208 64 239 0 208 63 239 0 209 62 239 0 209 61 239 0 211 59 239 0 211 58 239 0 211 57 239 0 213 56 239 0 213 55 239 0 216 54 239 0 216 53 239 0 216 52 239 0 217 51 239 0 217 50 239 0 217 49 239 0 217 48 239 0 219 47 239 0 219 46 239 0 219 45 239 0 219 44 239 0 220 43 239 0 220 42 239 0 221 41 239 0 221 40 239 0 223 39 239 0 224 38 239 0 224 37 239 0 226 36 239 0 227 35 239 0 227 34 239 0 227 33 239 0 228 32 239 0 230 31 239 0 230 30 239 0 230 29 239 0 230 28 239 0 230 26 239 0 230 25 239 0 231 24 239 0 231 23 239 0 231 22 239 0 231 21 239 0 234 20 239 0 234 19 239 0 235 18 239 0 235 17 239 0 238 16 239 0 238 15 239 0 239 14 239 0 239 13 239 0 239 12 239 0 239 11 239 1 239 10 239 2 239 9 239 3 240 8 239 4 240 7 239 5 240 6 239 5 240 5 239 6 240 4 239 7 240 3 239 8 242 2 239 10 242 1 239 11 243 0 239 12 246 0 239 12 248 0 239 13 249 0 239 13 250 0 239 13 252 0 239 13 252 255 238 0 255 254 238 0 255 254 238 0 252 254 238 0 252 253 238 0 250 252 238 0 249 251 238 0 248 250 238 0 246 249 238 0 245 248 238 0 243 247 238 0 242 246 238 0 240 245 238 0 240 244 238 0 240 243 238 0 240 242 238 0 240 241 238 0 240 240 238 0 240 239 238 0 239 238 238 0 239 237 238 0 239 236 238 0 239 235 238 0 239 234 238 0 238 233 238 0 238 232 238 0 235 231 238 0 235 230 238 0 234 229 238 0 234 228 238 0 231 227 238 0 231 226 238 0 231 224 238 0 231 223 238 0 231 222 238 0 230 221 238 0 230 220 238 0 230 219 238 0 230 218 238 0 228 217 238 0 228 216 238 0 227 215 238 0 226 214 238 0 226 213 238 0 224 212 238 0 224 211 238 0 223 210 238 0 223 209 238 0 221 208 238 0 221 207 238 0 220 206 238 0 220 205 238 0 219 204 238 0 219 203 238 0 219 202 238 0 219 201 238 0 217 200 238 0 217 199 238 0 216 198 238 0 216 197 238 0 216 196 238 0 213 195 238 0 213 194 238 0 213 193 238 0 211 191 238 0 211 190 238 0 209 189 238 0 209 188 238 0 209 187 238 0 209 186 238 0 208 185 238 0 208 184 238 0 207 183 238 0 207 182 238 0 207 181 238 0 207 180 238 0 205 179 238 0 205 178 238 0 205 177 238 0 205 176 238 0 204 175 238 0 204 174 238 0 204 173 238 0 204 172 238 0 202 171 238 0 202 170 238 0 201 169 238 0 199 168 238 0 198 167 238 0 197 166 238 0 197 165 238 0 197 164 238 0 195 163 238 0 195 162 238 0 195 161 238 0 195 160 238 0 194 158 238 0 189 157 238 0 188 156 238 0 186 155 238 0 186 154 238 0 185 153 238 0 185 152 238 0 185 151 238 0 185 150 238 0 185 149 238 0 185 148 238 0 184 147 238 0 184 146 238 0 184 145 238 0 184 144 238 0 184 143 238 0 184 142 238 0 184 141 238 0 184 140 238 0 184 139 238 0 184 138 238 0 184 137 238 0 184 136 238 0 184 135 238 0 184 134 238 0 184 133 238 0 184 132 238 0 184 131 238 0 184 130 238 0 184 129 238 0 184 128 238 0 184 127 238 0 184 125 238 0 184 124 238 0 184 123 238 0 184 122 238 0 184 121 238 0 184 120 238 0 184 119 238 0 184 118 238 0 184 117 238 0 184 116 238 0 184 115 238 0 184 114 238 0 184 113 238 0 184 112 238 0 184 111 238 0 184 110 238 0 184 109 238 0 184 108 238 0 184 107 238 0 184 106 238 0 184 105 238 0 184 104 238 0 184 103 238 0 184 102 238 0 184 101 238 0 184 100 238 0 185 99 238 0 185 98 238 0 185 97 238 0 185 96 238 0 185 95 238 0 185 94 238 0 186 92 238 0 186 91 238 0 188 90 238 0 189 89 238 0 194 88 238 0 194 87 238 0 195 86 238 0 195 85 238 0 195 84 238 0 195 83 238 0 197 82 238 0 197 81 238 0 198 80 238 0 199 79 238 0 201 78 238 0 201 77 238 0 202 76 238 0 202 75 238 0 204 74 238 0 204 73 238 0 204 72 238 0 205 71 238 0 205 70 238 0 205 69 238 0 205 68 238 0 207 67 238 0 207 66 238 0 207 65 238 0 207 64 238 0 208 63 238 0 208 62 238 0 208 61 238 0 209 59 238 0 209 58 238 0 209 57 238 0 211 56 238 0 211 55 238 0 213 54 238 0 213 53 238 0 213 52 238 0 216 51 238 0 216 50 238 0 216 49 238 0 217 48 238 0 217 47 238 0 219 46 238 0 219 45 238 0 219 44 238 0 219 43 238 0 219 42 238 0 220 41 238 0 220 40 238 0 221 39 238 0 223 38 238 0 223 37 238 0 224 36 238 0 224 35 238 0 226 34 238 0 226 33 238 0 227 32 238 0 228 31 238 0 228 30 238 0 230 29 238 0 230 28 238 0 230 26 238 0 230 25 238 0 231 24 238 0 231 23 238 0 231 22 238 0 231 21 238 0 231 20 238 0 234 19 238 0 234 18 238 0 235 17 238 0 235 16 238 0 238 15 238 0 238 14 238 0 239 13 238 0 239 12 238 1 239 11 238 2 239 10 238 3 239 9 238 4 240 8 238 5 240 7 238 6 240 6 238 6 240 5 238 7 240 4 238 8 240 3 238 9 240 2 238 10 240 1 238 12 242 0 238 12 243 0 238 13 246 0 238 14 248 0 238 14 249 0 238 14 250 0 238 14 252 255 237 0 255 254 237 0 255 254 237 0 252 254 237 0 252 253 237 0 250 252 237 0 249 251 237 0 246 250 237 0 245 249 237 0 243 248 237 0 242 247 237 0 240 246 237 0 240 245 237 0 240 244 237 0 240 243 237 0 240 242 237 0 240 241 237 0 240 240 237 0 240 239 237 0 239 238 237 0 239 237 237 0 239 236 237 0 239 235 237 0 238 234 237 0 238 233 237 0 235 232 237 0 235 231 237 0 234 230 237 0 234 229 237 0 231 228 237 0 231 227 237 0 231 226 237 0 231 224 237 0 231 223 237 0 231 222 237 0 230 221 237 0 230 220 237 0 230 219 237 0 230 218 237 0 228 217 237 0 227 216 237 0 226 215 237 0 224 214 237 0 224 213 237 0 223 212 237 0 221 211 237 0 221 210 237 0 221 209 237 0 220 208 237 0 220 207 237 0 220 206 237 0 219 205 237 0 219 204 237 0 219 203 237 0 217 202 237 0 217 201 237 0 217 200 237 0 216 199 237 0 216 198 237 0 213 197 237 0 213 196 237 0 213 195 237 0 211 194 237 0 211 193 237 0 211 191 237 0 209 190 237 0 209 189 237 0 208 188 237 0 208 187 237 0 208 186 237 0 207 185 237 0 207 184 237 0 207 183 237 0 205 182 237 0 205 181 237 0 205 180 237 0 204 179 237 0 204 178 237 0 204 177 237 0 202 176 237 0 202 175 237 0 202 174 237 0 202 173 237 0 201 172 237 0 201 171 237 0 199 170 237 0 199 169 237 0 198 168 237 0 197 167 237 0 195 166 237 0 194 165 237 0 194 164 237 0 189 163 237 0 189 162 237 0 189 161 237 0 189 160 237 0 188 158 237 0 188 157 237 0 186 156 237 0 185 155 237 0 185 154 237 0 184 153 237 0 184 152 237 0 184 151 237 0 182 150 237 0 182 149 237 0 182 148 237 0 182 147 237 0 182 146 237 0 182 145 237 0 182 144 237 0 182 143 237 0 182 142 237 0 182 141 237 0 182 140 237 0 182 139 237 0 182 138 237 0 182 137 237 0 182 136 237 0 182 135 237 0 182 134 237 0 182 133 237 0 182 132 237 0 182 131 237 0 182 130 237 0 182 129 237 0 182 128 237 0 182 127 237 0 182 125 237 0 182 124 237 0 182 123 237 0 182 122 237 0 182 121 237 0 182 120 237 0 182 119 237 0 182 118 237 0 182 117 237 0 182 116 237 0 182 115 237 0 182 114 237 0 182 113 237 0 182 112 237 0 182 111 237 0 182 110 237 0 182 109 237 0 182 108 237 0 182 107 237 0 182 106 237 0 182 105 237 0 182 104 237 0 182 103 237 0 182 102 237 0 182 101 237 0 182 100 237 0 182 99 237 0 182 98 237 0 182 97 237 0 184 96 237 0 184 95 237 0 184 94 237 0 185 92 237 0 185 91 237 0 186 90 237 0 188 89 237 0 188 88 237 0 189 87 237 0 189 86 237 0 189 85 237 0 189 84 237 0 194 83 237 0 194 82 237 0 195 81 237 0 195 80 237 0 197 79 237 0 198 78 237 0 199 77 237 0 201 76 237 0 201 75 237 0 202 74 237 0 202 73 237 0 202 72 237 0 202 71 237 0 204 70 237 0 204 69 237 0 204 68 237 0 205 67 237 0 205 66 237 0 205 65 237 0 207 64 237 0 207 63 237 0 207 62 237 0 208 61 237 0 208 59 237 0 208 58 237 0 209 57 237 0 209 56 237 0 209 55 237 0 211 54 237 0 211 53 237 0 213 52 237 0 213 51 237 0 213 50 237 0 216 49 237 0 216 48 237 0 217 47 237 0 217 46 237 0 217 45 237 0 217 44 237 0 219 43 237 0 219 42 237 0 219 41 237 0 220 40 237 0 220 39 237 0 221 38 237 0 221 37 237 0 221 36 237 0 223 35 237 0 223 34 237 0 224 33 237 0 226 32 237 0 227 31 237 0 228 30 237 0 230 29 237 0 230 28 237 0 230 26 237 0 230 25 237 0 231 24 237 0 231 23 237 0 231 22 237 0 231 21 237 0 231 20 237 0 231 19 237 0 234 18 237 0 234 17 237 0 235 16 237 0 235 15 237 0 238 14 237 0 238 13 237 1 239 12 237 1 239 11 237 2 239 10 237 3 239 9 237 4 240 8 237 5 240 7 237 6 240 6 237 7 240 5 237 8 240 4 237 9 240 3 237 10 240 2 237 11 240 1 237 12 242 0 237 13 243 0 237 14 245 0 237 14 246 0 237 15 249 0 237 15 250 0 237 15 252 255 236 0 252 254 236 0 252 254 236 0 252 254 236 0 250 253 236 0 250 252 236 0 248 251 236 0 246 250 236 0 243 249 236 0 242 248 236 0 240 247 236 0 240 246 236 0 240 245 236 0 240 244 236 0 240 243 236 0 240 242 236 0 240 241 236 0 240 240 236 0 240 239 236 0 239 238 236 0 239 237 236 0 239 236 236 0 239 235 236 0 238 234 236 0 235 233 236 0 235 232 236 0 234 231 236 0 234 230 236 0 231 229 236 0 231 228 236 0 231 227 236 0 231 226 236 0 230 224 236 0 230 223 236 0 230 222 236 0 230 221 236 0 230 220 236 0 230 219 236 0 228 218 236 0 227 217 236 0 226 216 236 0 224 215 236 0 223 214 236 0 221 213 236 0 221 212 236 0 220 211 236 0 220 210 236 0 220 209 236 0 220 208 236 0 219 207 236 0 219 206 236 0 219 205 236 0 217 204 236 0 217 203 236 0 217 202 236 0 216 201 236 0 216 200 236 0 216 199 236 0 213 198 236 0 213 197 236 0 211 196 236 0 211 195 236 0 211 194 236 0 209 193 236 0 209 191 236 0 208 190 236 0 208 189 236 0 208 188 236 0 208 187 236 0 207 186 236 0 207 185 236 0 205 184 236 0 205 183 236 0 205 182 236 0 204 181 236 0 204 180 236 0 202 179 236 0 202 178 236 0 201 177 236 0 201 176 236 0 201 175 236 0 199 174 236 0 199 173 236 0 199 172 236 0 199 171 236 0 198 170 236 0 197 169 236 0 195 168 236 0 194 167 236 0 189 166 236 0 189 165 236 0 188 164 236 0 188 163 236 0 188 162 236 0 186 161 236 0 186 160 236 0 186 158 236 0 186 157 236 0 185 156 236 0 184 155 236 0 184 154 236 0 182 153 236 0 182 152 236 0 182 151 236 0 182 150 236 0 181 149 236 0 181 148 236 0 181 147 236 0 179 146 236 0 179 145 236 0 179 144 236 0 179 143 236 0 179 142 236 0 179 141 236 0 179 140 236 0 179 139 236 0 179 138 236 0 179 137 236 0 179 136 236 0 179 135 236 0 179 134 236 0 179 133 236 0 179 132 236 0 179 131 236 0 179 130 236 0 179 129 236 0 179 128 236 0 179 127 236 0 179 125 236 0 179 124 236 0 179 123 236 0 179 122 236 0 179 121 236 0 179 120 236 0 179 119 236 0 179 118 236 0 179 117 236 0 179 116 236 0 179 115 236 0 179 114 236 0 179 113 236 0 179 112 236 0 179 111 236 0 179 110 236 0 179 109 236 0 179 108 236 0 179 107 236 0 179 106 236 0 179 105 236 0 179 104 236 0 179 103 236 0 179 102 236 0 179 101 236 0 181 100 236 0 181 99 236 0 181 98 236 0 182 97 236 0 182 96 236 0 182 95 236 0 182 94 236 0 184 92 236 0 184 91 236 0 185 90 236 0 185 89 236 0 186 88 236 0 186 87 236 0 186 86 236 0 188 85 236 0 188 84 236 0 188 83 236 0 188 82 236 0 189 81 236 0 194 80 236 0 195 79 236 0 197 78 236 0 198 77 236 0 199 76 236 0 199 75 236 0 199 74 236 0 199 73 236 0 201 72 236 0 201 71 236 0 201 70 236 0 202 69 236 0 202 68 236 0 204 67 236 0 204 66 236 0 205 65 236 0 205 64 236 0 205 63 236 0 207 62 236 0 207 61 236 0 207 59 236 0 208 58 236 0 208 57 236 0 208 56 236 0 209 55 236 0 209 54 236 0 209 53 236 0 211 52 236 0 211 51 236 0 213 50 236 0 213 49 236 0 213 48 236 0 216 47 236 0 216 46 236 0 217 45 236 0 217 44 236 0 217 43 236 0 217 42 236 0 219 41 236 0 219 40 236 0 220 39 236 0 220 38 236 0 220 37 236 0 220 36 236 0 221 35 236 0 221 34 236 0 223 33 236 0 224 32 236 0 226 31 236 0 227 30 236 0 228 29 236 0 230 28 236 0 230 26 236 0 230 25 236 0 230 24 236 0 230 23 236 0 230 22 236 0 231 21 236 0 231 20 236 0 231 19 236 0 231 18 236 0 234 17 236 0 234 16 236 0 235 15 236 0 235 14 236 1 238 13 236 1 238 12 236 2 239 11 236 3 239 10 236 4 239 9 236 5 240 8 236 6 240 7 236 7 240 6 236 8 240 5 236 9 240 4 236 10 240 3 236 11 240 2 236 12 240 1 236 13 240 0 236 14 242 0 236 15 243 0 236 15 245 0 236 16 248 0 236 16 249 0 236 16 250 255 235 0 252 254 235 0 252 254 235 0 252 254 235 0 250 253 235 0 249 252 235 0 248 251 235 0 245 250 235 0 243 249 235 0 242 248 235 0 240 247 235 0 240 246 235 0 240 245 235 0 240 244 235 0 240 243 235 0 240 242 235 0 240 241 235 0 240 240 235 0 240 239 235 0 239 238 235 0 239 237 235 0 239 236 235 0 238 235 235 0 235 234 235 0 235 233 235 0 234 232 235 0 234 231 235 0 231 230 235 0 231 229 235 0 231 228 235 0 231 227 235 0 231 226 235 0 230 224 235 0 230 223 235 0 230 222 235 0 230 221 235 0 228 220 235 0 228 219 235 0 227 218 235 0 226 217 235 0 224 216 235 0 223 215 235 0 221 214 235 0 221 213 235 0 220 212 235 0 220 211 235 0 219 210 235 0 219 209 235 0 219 208 235 0 219 207 235 0 217 206 235 0 217 205 235 0 216 204 235 0 216 203 235 0 216 202 235 0 213 201 235 0 213 200 235 0 213 199 235 0 211 198 235 0 211 197 235 0 209 196 235 0 209 195 235 0 209 194 235 0 209 193 235 0 208 191 235 0 208 190 235 0 207 189 235 0 207 188 235 0 207 187 235 0 205 186 235 0 205 185 235 0 205 184 235 0 204 183 235 0 204 182 235 0 202 181 235 0 202 180 235 0 201 179 235 0 201 178 235 0 199 177 235 0 198 176 235 0 198 175 235 0 198 174 235 0 197 173 235 0 197 172 235 0 197 171 235 0 195 170 235 0 195 169 235 0 194 168 235 0 189 167 235 0 188 166 235 0 186 165 235 0 186 164 235 0 185 163 235 0 185 162 235 0 185 161 235 0 185 160 235 0 184 158 235 0 184 157 235 0 184 156 235 0 182 155 235 0 182 154 235 0 182 153 235 0 181 152 235 0 181 151 235 0 181 150 235 0 179 149 235 0 179 148 235 0 178 147 235 0 178 146 235 0 178 145 235 0 176 144 235 0 176 143 235 0 176 142 235 0 176 141 235 0 176 140 235 0 176 139 235 0 176 138 235 0 176 137 235 0 176 136 235 0 176 135 235 0 176 134 235 0 176 133 235 0 176 132 235 0 176 131 235 0 176 130 235 0 176 129 235 0 176 128 235 0 176 127 235 0 176 125 235 0 176 124 235 0 176 123 235 0 176 122 235 0 176 121 235 0 176 120 235 0 176 119 235 0 176 118 235 0 176 117 235 0 176 116 235 0 176 115 235 0 176 114 235 0 176 113 235 0 176 112 235 0 176 111 235 0 176 110 235 0 176 109 235 0 176 108 235 0 176 107 235 0 176 106 235 0 176 105 235 0 176 104 235 0 176 103 235 0 178 102 235 0 178 101 235 0 178 100 235 0 179 99 235 0 179 98 235 0 181 97 235 0 181 96 235 0 181 95 235 0 181 94 235 0 182 92 235 0 182 91 235 0 184 90 235 0 184 89 235 0 184 88 235 0 185 87 235 0 185 86 235 0 185 85 235 0 185 84 235 0 185 83 235 0 186 82 235 0 188 81 235 0 189 80 235 0 189 79 235 0 194 78 235 0 195 77 235 0 197 76 235 0 197 75 235 0 197 74 235 0 198 73 235 0 198 72 235 0 198 71 235 0 199 70 235 0 199 69 235 0 201 68 235 0 202 67 235 0 202 66 235 0 204 65 235 0 204 64 235 0 205 63 235 0 205 62 235 0 205 61 235 0 207 59 235 0 207 58 235 0 207 57 235 0 208 56 235 0 208 55 235 0 208 54 235 0 209 53 235 0 209 52 235 0 209 51 235 0 211 50 235 0 211 49 235 0 213 48 235 0 213 47 235 0 213 46 235 0 216 45 235 0 216 44 235 0 216 43 235 0 217 42 235 0 217 41 235 0 219 40 235 0 219 39 235 0 219 38 235 0 219 37 235 0 220 36 235 0 220 35 235 0 220 34 235 0 221 33 235 0 223 32 235 0 224 31 235 0 226 30 235 0 227 29 235 0 228 28 235 0 228 26 235 0 230 25 235 0 230 24 235 0 230 23 235 0 230 22 235 0 231 21 235 0 231 20 235 0 231 19 235 0 231 18 235 0 231 17 235 0 234 16 235 0 234 15 235 1 235 14 235 1 235 13 235 2 238 12 235 3 239 11 235 4 239 10 235 5 239 9 235 6 240 8 235 7 240 7 235 8 240 6 235 9 240 5 235 10 240 4 235 11 240 3 235 12 240 2 235 13 240 1 235 14 240 0 235 15 242 0 235 16 243 0 235 16 245 0 235 16 246 0 235 17 249 0 235 17 250 255 234 0 252 254 234 0 252 254 234 0 250 254 234 0 250 253 234 0 249 252 234 0 246 251 234 0 245 250 234 0 242 249 234 0 240 248 234 0 240 247 234 0 240 246 234 0 240 245 234 0 240 244 234 0 240 243 234 0 240 242 234 0 240 241 234 0 240 240 234 0 240 239 234 0 239 238 234 0 239 237 234 0 239 236 234 0 238 235 234 0 235 234 234 0 234 233 234 0 234 232 234 0 231 231 234 0 231 230 234 0 231 229 234 0 231 228 234 0 231 227 234 0 231 226 234 0 230 224 234 0 230 223 234 0 230 222 234 0 230 221 234 0 228 220 234 0 227 219 234 0 226 218 234 0 224 217 234 0 223 216 234 0 221 215 234 0 220 214 234 0 220 213 234 0 219 212 234 0 219 211 234 0 219 210 234 0 217 209 234 0 217 208 234 0 217 207 234 0 217 206 234 0 216 205 234 0 216 204 234 0 213 203 234 0 213 202 234 0 213 201 234 0 211 200 234 0 211 199 234 0 209 198 234 0 209 197 234 0 209 196 234 0 209 195 234 0 208 194 234 0 208 193 234 0 208 191 234 0 207 190 234 0 207 189 234 0 205 188 234 0 205 187 234 0 205 186 234 0 204 185 234 0 204 184 234 0 202 183 234 0 202 182 234 0 201 181 234 0 201 180 234 0 199 179 234 0 198 178 234 0 197 177 234 0 197 176 234 0 195 175 234 0 195 174 234 0 195 173 234 0 194 172 234 0 194 171 234 0 194 170 234 0 189 169 234 0 188 168 234 0 186 167 234 0 186 166 234 0 185 165 234 0 184 164 234 0 184 163 234 0 182 162 234 0 182 161 234 0 182 160 234 0 182 158 234 0 182 157 234 0 181 156 234 0 181 155 234 0 181 154 234 0 181 153 234 0 179 152 234 0 179 151 234 0 179 150 234 0 178 149 234 0 178 148 234 0 176 147 234 0 176 146 234 0 175 145 234 0 175 144 234 0 174 143 234 0 174 142 234 0 174 141 234 0 174 140 234 0 174 139 234 0 174 138 234 0 174 137 234 0 174 136 234 0 174 135 234 0 174 134 234 0 174 133 234 0 174 132 234 0 174 131 234 0 174 130 234 0 174 129 234 0 174 128 234 0 174 127 234 0 174 125 234 0 174 124 234 0 174 123 234 0 174 122 234 0 174 121 234 0 174 120 234 0 174 119 234 0 174 118 234 0 174 117 234 0 174 116 234 0 174 115 234 0 174 114 234 0 174 113 234 0 174 112 234 0 174 111 234 0 174 110 234 0 174 109 234 0 174 108 234 0 174 107 234 0 174 106 234 0 174 105 234 0 174 104 234 0 175 103 234 0 175 102 234 0 176 101 234 0 176 100 234 0 178 99 234 0 178 98 234 0 179 97 234 0 179 96 234 0 179 95 234 0 181 94 234 0 181 92 234 0 181 91 234 0 181 90 234 0 182 89 234 0 182 88 234 0 182 87 234 0 182 86 234 0 182 85 234 0 184 84 234 0 184 83 234 0 185 82 234 0 186 81 234 0 186 80 234 0 188 79 234 0 189 78 234 0 194 77 234 0 194 76 234 0 194 75 234 0 195 74 234 0 195 73 234 0 195 72 234 0 197 71 234 0 197 70 234 0 198 69 234 0 199 68 234 0 201 67 234 0 201 66 234 0 202 65 234 0 202 64 234 0 204 63 234 0 204 62 234 0 205 61 234 0 205 59 234 0 205 58 234 0 207 57 234 0 207 56 234 0 207 55 234 0 208 54 234 0 208 53 234 0 208 52 234 0 209 51 234 0 209 50 234 0 209 49 234 0 211 48 234 0 211 47 234 0 213 46 234 0 213 45 234 0 213 44 234 0 216 43 234 0 216 42 234 0 217 41 234 0 217 40 234 0 217 39 234 0 217 38 234 0 219 37 234 0 219 36 234 0 219 35 234 0 220 34 234 0 220 33 234 0 221 32 234 0 223 31 234 0 224 30 234 0 226 29 234 0 227 28 234 0 228 26 234 0 230 25 234 0 230 24 234 0 230 23 234 0 230 22 234 0 231 21 234 0 231 20 234 0 231 19 234 0 231 18 234 0 231 17 234 1 231 16 234 1 234 15 234 2 234 14 234 2 235 13 234 3 238 12 234 4 239 11 234 5 239 10 234 6 239 9 234 7 240 8 234 8 240 7 234 9 240 6 234 10 240 5 234 11 240 4 234 12 240 3 234 13 240 2 234 14 240 1 234 15 240 0 234 16 240 0 234 17 242 0 234 17 243 0 234 18 246 0 234 18 248 0 234 18 249 255 233 0 252 254 233 0 252 254 233 0 250 254 233 0 249 253 233 0 248 252 233 0 246 251 233 0 243 250 233 0 242 249 233 0 240 248 233 0 240 247 233 0 240 246 233 0 240 245 233 0 240 244 233 0 240 243 233 0 240 242 233 0 239 241 233 0 239 240 233 0 239 239 233 0 239 238 233 0 239 237 233 0 238 236 233 0 238 235 233 0 235 234 233 0 234 233 233 0 231 232 233 0 231 231 233 0 231 230 233 0 231 229 233 0 230 228 233 0 230 227 233 0 230 226 233 0 230 224 233 0 230 223 233 0 230 222 233 0 228 221 233 0 227 220 233 0 226 219 233 0 224 218 233 0 223 217 233 0 221 216 233 0 221 215 233 0 220 214 233 0 219 213 233 0 219 212 233 0 217 211 233 0 217 210 233 0 217 209 233 0 217 208 233 0 216 207 233 0 216 206 233 0 216 205 233 0 213 204 233 0 213 203 233 0 211 202 233 0 211 201 233 0 211 200 233 0 209 199 233 0 209 198 233 0 208 197 233 0 208 196 233 0 208 195 233 0 208 194 233 0 207 193 233 0 207 191 233 0 205 190 233 0 205 189 233 0 205 188 233 0 204 187 233 0 204 186 233 0 202 185 233 0 202 184 233 0 201 183 233 0 201 182 233 0 199 181 233 0 198 180 233 0 198 179 233 0 197 178 233 0 195 177 233 0 194 176 233 0 194 175 233 0 194 174 233 0 189 173 233 0 189 172 233 0 189 171 233 0 188 170 233 0 188 169 233 0 186 168 233 0 185 167 233 0 185 166 233 0 184 165 233 0 182 164 233 0 182 163 233 0 181 162 233 0 181 161 233 0 181 160 233 0 181 158 233 0 179 157 233 0 179 156 233 0 179 155 233 0 179 154 233 0 179 153 233 0 179 152 233 0 178 151 233 0 178 150 233 0 178 149 233 0 176 148 233 0 175 147 233 0 175 146 233 0 174 145 233 0 172 144 233 0 172 143 233 0 171 142 233 0 171 141 233 0 171 140 233 0 171 139 233 0 171 138 233 0 171 137 233 0 171 136 233 0 171 135 233 0 171 134 233 0 171 133 233 0 171 132 233 0 171 131 233 0 171 130 233 0 171 129 233 0 171 128 233 0 171 127 233 0 171 125 233 0 171 124 233 0 171 123 233 0 171 122 233 0 171 121 233 0 171 120 233 0 171 119 233 0 171 118 233 0 171 117 233 0 171 116 233 0 171 115 233 0 171 114 233 0 171 113 233 0 171 112 233 0 171 111 233 0 171 110 233 0 171 109 233 0 171 108 233 0 171 107 233 0 171 106 233 0 171 105 233 0 172 104 233 0 172 103 233 0 174 102 233 0 174 101 233 0 175 100 233 0 176 99 233 0 178 98 233 0 178 97 233 0 178 96 233 0 179 95 233 0 179 94 233 0 179 92 233 0 179 91 233 0 179 90 233 0 179 89 233 0 179 88 233 0 181 87 233 0 181 86 233 0 181 85 233 0 182 84 233 0 182 83 233 0 184 82 233 0 185 81 233 0 185 80 233 0 186 79 233 0 186 78 233 0 188 77 233 0 188 76 233 0 189 75 233 0 189 74 233 0 194 73 233 0 194 72 233 0 194 71 233 0 195 70 233 0 197 69 233 0 198 68 233 0 198 67 233 0 199 66 233 0 201 65 233 0 201 64 233 0 202 63 233 0 202 62 233 0 204 61 233 0 204 59 233 0 205 58 233 0 205 57 233 0 205 56 233 0 207 55 233 0 207 54 233 0 207 53 233 0 208 52 233 0 208 51 233 0 208 50 233 0 209 49 233 0 209 48 233 0 209 47 233 0 211 46 233 0 211 45 233 0 213 44 233 0 213 43 233 0 213 42 233 0 216 41 233 0 216 40 233 0 217 39 233 0 217 38 233 0 217 37 233 0 217 36 233 0 219 35 233 0 219 34 233 0 220 33 233 0 220 32 233 0 221 31 233 0 223 30 233 0 224 29 233 0 226 28 233 0 227 26 233 0 228 25 233 0 230 24 233 0 230 23 233 0 230 22 233 0 230 21 233 0 230 20 233 0 230 19 233 0 231 18 233 1 231 17 233 2 231 16 233 2 231 15 233 3 234 14 233 3 235 13 233 4 238 12 233 5 238 11 233 6 239 10 233 7 239 9 233 9 239 8 233 10 239 7 233 10 239 6 233 11 240 5 233 12 240 4 233 13 240 3 233 14 240 2 233 15 240 1 233 17 240 0 233 17 240 0 233 18 242 0 233 19 243 0 233 19 245 0 233 19 246 0 233 19 248 255 232 0 252 254 232 0 250 254 232 0 249 254 232 0 248 253 232 0 246 252 232 0 245 251 232 0 243 250 232 0 242 249 232 0 240 248 232 0 240 247 232 0 240 246 232 0 240 245 232 0 240 244 232 0 240 243 232 0 240 242 232 0 239 241 232 0 239 240 232 0 239 239 232 0 239 238 232 0 239 237 232 0 238 236 232 0 235 235 232 0 235 234 232 0 234 233 232 0 231 232 232 0 231 231 232 0 231 230 232 0 231 229 232 0 230 228 232 0 230 227 232 0 230 226 232 0 230 224 232 0 228 223 232 0 228 222 232 0 227 221 232 0 226 220 232 0 224 219 232 0 223 218 232 0 221 217 232 0 220 216 232 0 220 215 232 0 219 214 232 0 219 213 232 0 217 212 232 0 217 211 232 0 216 210 232 0 216 209 232 0 216 208 232 0 213 207 232 0 213 206 232 0 213 205 232 0 211 204 232 0 211 203 232 0 211 202 232 0 209 201 232 0 209 200 232 0 209 199 232 0 208 198 232 0 208 197 232 0 207 196 232 0 207 195 232 0 207 194 232 0 207 193 232 0 205 191 232 0 205 190 232 0 204 189 232 0 204 188 232 0 202 187 232 0 202 186 232 0 201 185 232 0 201 184 232 0 199 183 232 0 198 182 232 0 198 181 232 0 197 180 232 0 195 179 232 0 195 178 232 0 194 177 232 0 189 176 232 0 189 175 232 0 188 174 232 0 188 173 232 0 188 172 232 0 186 171 232 0 186 170 232 0 185 169 232 0 185 168 232 0 184 167 232 0 184 166 232 0 182 165 232 0 182 164 232 0 181 163 232 0 179 162 232 0 179 161 232 0 178 160 232 0 178 158 232 0 178 157 232 0 178 156 232 0 176 155 232 0 176 154 232 0 176 153 232 0 176 152 232 0 176 151 232 0 176 150 232 0 175 149 232 0 175 148 232 0 174 147 232 0 172 146 232 0 171 145 232 0 167 144 232 0 167 143 232 0 166 142 232 0 166 141 232 0 166 140 232 0 166 139 232 0 166 138 232 0 166 137 232 0 166 136 232 0 166 135 232 0 166 134 232 0 166 133 232 0 166 132 232 0 166 131 232 0 166 130 232 0 166 129 232 0 166 128 232 0 166 127 232 0 166 125 232 0 166 124 232 0 166 123 232 0 166 122 232 0 166 121 232 0 166 120 232 0 166 119 232 0 166 118 232 0 166 117 232 0 166 116 232 0 166 115 232 0 166 114 232 0 166 113 232 0 166 112 232 0 166 111 232 0 166 110 232 0 166 109 232 0 166 108 232 0 166 107 232 0 166 106 232 0 166 105 232 0 167 104 232 0 167 103 232 0 171 102 232 0 172 101 232 0 174 100 232 0 175 99 232 0 175 98 232 0 176 97 232 0 176 96 232 0 176 95 232 0 176 94 232 0 176 92 232 0 176 91 232 0 178 90 232 0 178 89 232 0 178 88 232 0 178 87 232 0 179 86 232 0 179 85 232 0 181 84 232 0 181 83 232 0 182 82 232 0 184 81 232 0 184 80 232 0 185 79 232 0 185 78 232 0 186 77 232 0 186 76 232 0 188 75 232 0 188 74 232 0 188 73 232 0 189 72 232 0 189 71 232 0 194 70 232 0 194 69 232 0 195 68 232 0 197 67 232 0 197 66 232 0 198 65 232 0 199 64 232 0 199 63 232 0 201 62 232 0 202 61 232 0 202 59 232 0 204 58 232 0 204 57 232 0 205 56 232 0 205 55 232 0 205 54 232 0 207 53 232 0 207 52 232 0 207 51 232 0 208 50 232 0 208 49 232 0 208 48 232 0 209 47 232 0 209 46 232 0 211 45 232 0 211 44 232 0 211 43 232 0 213 42 232 0 213 41 232 0 213 40 232 0 216 39 232 0 216 38 232 0 216 37 232 0 217 36 232 0 217 35 232 0 219 34 232 0 219 33 232 0 220 32 232 0 220 31 232 0 221 30 232 0 223 29 232 0 224 28 232 0 226 26 232 0 227 25 232 0 228 24 232 0 228 23 232 0 230 22 232 0 230 21 232 0 230 20 232 0 230 19 232 1 230 18 232 2 231 17 232 2 231 16 232 3 231 15 232 4 234 14 232 4 234 13 232 5 235 12 232 6 238 11 232 7 239 10 232 9 239 9 232 10 239 8 232 11 239 7 232 12 239 6 232 12 240 5 232 13 240 4 232 14 240 3 232 15 240 2 232 17 240 1 232 18 240 0 232 19 240 0 232 19 240 0 232 20 242 0 232 20 243 0 232 20 245 0 232 20 245 255 231 0 252 254 231 0 250 254 231 0 249 254 231 0 246 253 231 0 245 252 231 0 243 251 231 0 242 250 231 0 240 249 231 0 240 248 231 0 240 247 231 0 240 246 231 0 240 245 231 0 240 244 231 0 240 243 231 0 240 242 231 0 239 241 231 0 239 240 231 0 239 239 231 0 239 238 231 0 238 237 231 0 238 236 231 0 235 235 231 0 234 234 231 0 231 233 231 0 231 232 231 0 231 231 231 0 231 230 231 0 231 229 231 0 230 228 231 0 230 227 231 0 230 226 231 0 230 224 231 0 228 223 231 0 227 222 231 0 226 221 231 0 224 220 231 0 223 219 231 0 221 218 231 0 220 217 231 0 220 216 231 0 219 215 231 0 219 214 231 0 217 213 231 0 217 212 231 0 216 211 231 0 216 210 231 0 213 209 231 0 213 208 231 0 213 207 231 0 211 206 231 0 211 205 231 0 209 204 231 0 209 203 231 0 209 202 231 0 209 201 231 0 208 200 231 0 208 199 231 0 207 198 231 0 207 197 231 0 207 196 231 0 205 195 231 0 205 194 231 0 205 193 231 0 204 191 231 0 204 190 231 0 202 189 231 0 202 188 231 0 201 187 231 0 201 186 231 0 199 185 231 0 198 184 231 0 197 183 231 0 197 182 231 0 195 181 231 0 194 180 231 0 194 179 231 0 189 178 231 0 188 177 231 0 188 176 231 0 188 175 231 0 186 174 231 0 186 173 231 0 185 172 231 0 185 171 231 0 184 170 231 0 184 169 231 0 182 168 231 0 182 167 231 0 182 166 231 0 181 165 231 0 181 164 231 0 179 163 231 0 178 162 231 0 178 161 231 0 176 160 231 0 176 158 231 0 175 157 231 0 175 156 231 0 175 155 231 0 175 154 231 0 175 153 231 0 175 152 231 0 174 151 231 0 174 150 231 0 174 149 231 0 172 148 231 0 172 147 231 0 171 146 231 0 167 145 231 0 166 144 231 0 165 143 231 0 163 142 231 0 163 141 231 0 163 140 231 0 163 139 231 0 163 138 231 0 163 137 231 0 163 136 231 0 163 135 231 0 163 134 231 0 163 133 231 0 163 132 231 0 163 131 231 0 163 130 231 0 163 129 231 0 163 128 231 0 163 127 231 0 163 125 231 0 163 124 231 0 163 123 231 0 163 122 231 0 163 121 231 0 163 120 231 0 163 119 231 0 163 118 231 0 163 117 231 0 163 116 231 0 163 115 231 0 163 114 231 0 163 113 231 0 163 112 231 0 163 111 231 0 163 110 231 0 163 109 231 0 163 108 231 0 163 107 231 0 163 106 231 0 163 105 231 0 165 104 231 0 166 103 231 0 167 102 231 0 171 101 231 0 171 100 231 0 172 99 231 0 174 98 231 0 174 97 231 0 174 96 231 0 175 95 231 0 175 94 231 0 175 92 231 0 175 91 231 0 175 90 231 0 175 89 231 0 175 88 231 0 176 87 231 0 178 86 231 0 178 85 231 0 179 84 231 0 179 83 231 0 181 82 231 0 181 81 231 0 182 80 231 0 182 79 231 0 184 78 231 0 184 77 231 0 185 76 231 0 185 75 231 0 186 74 231 0 186 73 231 0 188 72 231 0 188 71 231 0 188 70 231 0 189 69 231 0 189 68 231 0 194 67 231 0 195 66 231 0 195 65 231 0 197 64 231 0 198 63 231 0 199 62 231 0 201 61 231 0 201 59 231 0 202 58 231 0 202 57 231 0 204 56 231 0 204 55 231 0 205 54 231 0 205 53 231 0 205 52 231 0 207 51 231 0 207 50 231 0 207 49 231 0 208 48 231 0 208 47 231 0 208 46 231 0 209 45 231 0 209 44 231 0 209 43 231 0 211 42 231 0 211 41 231 0 211 40 231 0 213 39 231 0 213 38 231 0 216 37 231 0 216 36 231 0 217 35 231 0 217 34 231 0 219 33 231 0 219 32 231 0 220 31 231 0 220 30 231 0 221 29 231 0 223 28 231 0 224 26 231 0 226 25 231 0 227 24 231 0 228 23 231 0 228 22 231 0 230 21 231 0 230 20 231 0 230 19 231 1 230 18 231 2 231 17 231 3 231 16 231 4 231 15 231 5 231 14 231 5 234 13 231 6 235 12 231 7 238 11 231 8 238 10 231 10 239 9 231 11 239 8 231 12 239 7 231 13 239 6 231 13 240 5 231 14 240 4 231 15 240 3 231 16 240 2 231 18 240 1 231 19 240 0 231 20 240 0 231 20 240 0 231 21 240 0 231 21 242 0 231 21 242 0 231 21 243 255 230 0 252 254 230 0 250 254 230 0 248 254 230 0 246 253 230 0 243 252 230 0 242 251 230 0 240 250 230 0 240 249 230 0 240 248 230 0 240 247 230 0 240 246 230 0 240 245 230 0 240 244 230 0 240 243 230 0 240 242 230 0 239 241 230 0 239 240 230 0 239 239 230 0 239 238 230 0 238 237 230 0 235 236 230 0 235 235 230 0 234 234 230 0 231 233 230 0 231 232 230 0 231 231 230 0 231 230 230 0 231 229 230 0 230 228 230 0 230 227 230 0 230 226 230 0 228 224 230 0 227 223 230 0 226 222 230 0 224 221 230 0 223 220 230 0 221 219 230 0 221 218 230 0 220 217 230 0 219 216 230 0 219 215 230 0 217 214 230 0 217 213 230 0 216 212 230 0 216 211 230 0 213 210 230 0 213 209 230 0 211 208 230 0 211 207 230 0 211 206 230 0 209 205 230 0 209 204 230 0 208 203 230 0 208 202 230 0 208 201 230 0 208 200 230 0 207 199 230 0 207 198 230 0 207 197 230 0 205 196 230 0 205 195 230 0 205 194 230 0 204 193 230 0 202 191 230 0 202 190 230 0 201 189 230 0 201 188 230 0 199 187 230 0 199 186 230 0 198 185 230 0 197 184 230 0 195 183 230 0 194 182 230 0 189 181 230 0 189 180 230 0 188 179 230 0 188 178 230 0 186 177 230 0 186 176 230 0 186 175 230 0 185 174 230 0 185 173 230 0 185 172 230 0 184 171 230 0 182 170 230 0 182 169 230 0 181 168 230 0 181 167 230 0 179 166 230 0 179 165 230 0 179 164 230 0 178 163 230 0 176 162 230 0 176 161 230 0 175 160 230 0 174 158 230 0 174 157 230 0 172 156 230 0 172 155 230 0 172 154 230 0 172 153 230 0 172 152 230 0 172 151 230 0 172 150 230 0 171 149 230 0 171 148 230 0 167 147 230 0 166 146 230 0 165 145 230 0 163 144 230 0 163 143 230 0 162 142 230 0 160 141 230 0 160 140 230 0 160 139 230 0 160 138 230 0 160 137 230 0 160 136 230 0 160 135 230 0 160 134 230 0 160 133 230 0 160 132 230 0 160 131 230 0 160 130 230 0 160 129 230 0 160 128 230 0 160 127 230 0 160 125 230 0 160 124 230 0 160 123 230 0 160 122 230 0 160 121 230 0 160 120 230 0 160 119 230 0 160 118 230 0 160 117 230 0 160 116 230 0 160 115 230 0 160 114 230 0 160 113 230 0 160 112 230 0 160 111 230 0 160 110 230 0 160 109 230 0 160 108 230 0 160 107 230 0 160 106 230 0 162 105 230 0 162 104 230 0 163 103 230 0 165 102 230 0 166 101 230 0 167 100 230 0 171 99 230 0 171 98 230 0 172 97 230 0 172 96 230 0 172 95 230 0 172 94 230 0 172 92 230 0 172 91 230 0 172 90 230 0 174 89 230 0 174 88 230 0 175 87 230 0 176 86 230 0 176 85 230 0 178 84 230 0 178 83 230 0 179 82 230 0 179 81 230 0 181 80 230 0 181 79 230 0 182 78 230 0 182 77 230 0 184 76 230 0 185 75 230 0 185 74 230 0 185 73 230 0 186 72 230 0 186 71 230 0 186 70 230 0 188 69 230 0 188 68 230 0 188 67 230 0 189 66 230 0 194 65 230 0 195 64 230 0 197 63 230 0 198 62 230 0 199 61 230 0 199 59 230 0 201 58 230 0 201 57 230 0 202 56 230 0 202 55 230 0 204 54 230 0 204 53 230 0 205 52 230 0 205 51 230 0 205 50 230 0 207 49 230 0 207 48 230 0 208 47 230 0 208 46 230 0 208 45 230 0 208 44 230 0 209 43 230 0 209 42 230 0 211 41 230 0 211 40 230 0 211 39 230 0 211 38 230 0 213 37 230 0 213 36 230 0 216 35 230 0 217 34 230 0 217 33 230 0 219 32 230 0 219 31 230 0 220 30 230 0 220 29 230 0 221 28 230 0 223 26 230 0 224 25 230 0 226 24 230 0 227 23 230 0 228 22 230 0 228 21 230 0 230 20 230 1 230 19 230 2 230 18 230 3 231 17 230 4 231 16 230 5 231 15 230 6 231 14 230 6 234 13 230 7 235 12 230 8 235 11 230 9 238 10 230 10 239 9 230 12 239 8 230 13 239 7 230 14 239 6 230 14 240 5 230 15 240 4 230 16 240 3 230 17 240 2 230 18 240 1 230 20 240 0 230 20 240 0 230 21 240 0 230 22 240 0 230 22 240 0 230 22 240 0 230 22 242 255 229 0 250 254 229 0 249 254 229 0 248 254 229 0 245 253 229 0 243 252 229 0 242 251 229 0 240 250 229 0 240 249 229 0 240 248 229 0 240 247 229 0 240 246 229 0 240 245 229 0 239 244 229 0 239 243 229 0 239 242 229 0 239 241 229 0 239 240 229 0 239 239 229 0 238 238 229 0 235 237 229 0 235 236 229 0 234 235 229 0 231 234 229 0 231 233 229 0 231 232 229 0 230 231 229 0 230 230 229 0 230 229 229 0 230 228 229 0 230 227 229 0 228 226 229 0 227 224 229 0 226 223 229 0 224 222 229 0 223 221 229 0 221 220 229 0 221 219 229 0 220 218 229 0 219 217 229 0 219 216 229 0 217 215 229 0 217 214 229 0 216 213 229 0 216 212 229 0 213 211 229 0 211 210 229 0 211 209 229 0 211 208 229 0 209 207 229 0 209 206 229 0 208 205 229 0 208 204 229 0 208 203 229 0 207 202 229 0 207 201 229 0 207 200 229 0 205 199 229 0 205 198 229 0 205 197 229 0 205 196 229 0 204 195 229 0 204 194 229 0 202 193 229 0 201 191 229 0 201 190 229 0 199 189 229 0 198 188 229 0 198 187 229 0 197 186 229 0 195 185 229 0 194 184 229 0 194 183 229 0 189 182 229 0 188 181 229 0 186 180 229 0 186 179 229 0 185 178 229 0 185 177 229 0 185 176 229 0 184 175 229 0 184 174 229 0 184 173 229 0 184 172 229 0 182 171 229 0 181 170 229 0 181 169 229 0 179 168 229 0 179 167 229 0 178 166 229 0 178 165 229 0 176 164 229 0 176 163 229 0 175 162 229 0 175 161 229 0 174 160 229 0 172 158 229 0 171 157 229 0 167 156 229 0 167 155 229 0 167 154 229 0 167 153 229 0 167 152 229 0 166 151 229 0 166 150 229 0 166 149 229 0 166 148 229 0 165 147 229 0 165 146 229 0 163 145 229 0 162 144 229 0 160 143 229 0 160 142 229 0 159 141 229 0 159 140 229 0 157 139 229 0 157 138 229 0 157 137 229 0 157 136 229 0 157 135 229 0 157 134 229 0 157 133 229 0 157 132 229 0 157 131 229 0 157 130 229 0 157 129 229 0 157 128 229 0 157 127 229 0 157 125 229 0 157 124 229 0 157 123 229 0 157 122 229 0 157 121 229 0 157 120 229 0 157 119 229 0 157 118 229 0 157 117 229 0 157 116 229 0 157 115 229 0 157 114 229 0 157 113 229 0 157 112 229 0 157 111 229 0 157 110 229 0 157 109 229 0 157 108 229 0 159 107 229 0 159 106 229 0 159 105 229 0 160 104 229 0 162 103 229 0 163 102 229 0 165 101 229 0 165 100 229 0 166 99 229 0 166 98 229 0 166 97 229 0 166 96 229 0 167 95 229 0 167 94 229 0 167 92 229 0 167 91 229 0 167 90 229 0 171 89 229 0 172 88 229 0 174 87 229 0 174 86 229 0 175 85 229 0 176 84 229 0 176 83 229 0 178 82 229 0 178 81 229 0 178 80 229 0 179 79 229 0 181 78 229 0 181 77 229 0 182 76 229 0 184 75 229 0 184 74 229 0 184 73 229 0 184 72 229 0 185 71 229 0 185 70 229 0 185 69 229 0 186 68 229 0 186 67 229 0 188 66 229 0 189 65 229 0 189 64 229 0 194 63 229 0 195 62 229 0 197 61 229 0 198 59 229 0 198 58 229 0 199 57 229 0 201 56 229 0 201 55 229 0 202 54 229 0 204 53 229 0 204 52 229 0 204 51 229 0 205 50 229 0 205 49 229 0 205 48 229 0 207 47 229 0 207 46 229 0 207 45 229 0 208 44 229 0 208 43 229 0 208 42 229 0 209 41 229 0 209 40 229 0 211 39 229 0 211 38 229 0 211 37 229 0 213 36 229 0 213 35 229 0 216 34 229 0 217 33 229 0 217 32 229 0 219 31 229 0 219 30 229 0 220 29 229 0 220 28 229 0 221 26 229 0 223 25 229 0 224 24 229 0 226 23 229 0 227 22 229 0 228 21 229 1 228 20 229 1 230 19 229 2 230 18 229 3 230 17 229 4 230 16 229 5 231 15 229 6 231 14 229 7 231 13 229 8 234 12 229 9 235 11 229 10 235 10 229 11 238 9 229 12 239 8 229 13 239 7 229 14 239 6 229 15 239 5 229 16 239 4 229 17 239 3 229 18 239 2 229 19 240 1 229 20 240 0 229 21 240 0 229 22 240 0 229 22 240 0 229 23 240 0 229 23 240 0 229 23 240 255 228 0 249 254 228 0 248 254 228 0 246 254 228 0 245 253 228 0 242 252 228 0 240 251 228 0 240 250 228 0 240 249 228 0 240 248 228 0 240 247 228 0 240 246 228 0 240 245 228 0 239 244 228 0 239 243 228 0 239 242 228 0 239 241 228 0 238 240 228 0 238 239 228 0 235 238 228 0 235 237 228 0 234 236 228 0 234 235 228 0 231 234 228 0 231 233 228 0 230 232 228 0 230 231 228 0 230 230 228 0 230 229 228 0 228 228 228 0 228 227 228 0 227 226 228 0 226 224 228 0 224 223 228 0 223 222 228 0 221 221 228 0 221 220 228 0 220 219 228 0 219 218 228 0 219 217 228 0 217 216 228 0 217 215 228 0 216 214 228 0 216 213 228 0 213 212 228 0 211 211 228 0 211 210 228 0 211 209 228 0 209 208 228 0 209 207 228 0 208 206 228 0 208 205 228 0 207 204 228 0 207 203 228 0 207 202 228 0 205 201 228 0 205 200 228 0 205 199 228 0 204 198 228 0 204 197 228 0 204 196 228 0 202 195 228 0 202 194 228 0 201 193 228 0 199 191 228 0 198 190 228 0 197 189 228 0 197 188 228 0 195 187 228 0 194 186 228 0 194 185 228 0 189 184 228 0 188 183 228 0 186 182 228 0 186 181 228 0 185 180 228 0 184 179 228 0 184 178 228 0 184 177 228 0 182 176 228 0 182 175 228 0 182 174 228 0 182 173 228 0 182 172 228 0 181 171 228 0 179 170 228 0 179 169 228 0 178 168 228 0 176 167 228 0 175 166 228 0 175 165 228 0 175 164 228 0 174 163 228 0 174 162 228 0 172 161 228 0 171 160 228 0 167 158 228 0 166 157 228 0 165 156 228 0 165 155 228 0 163 154 228 0 163 153 228 0 163 152 228 0 163 151 228 0 163 150 228 0 163 149 228 0 163 148 228 0 163 147 228 0 162 146 228 0 160 145 228 0 160 144 228 0 159 143 228 0 157 142 228 0 157 141 228 0 156 140 228 0 156 139 228 0 156 138 228 0 156 137 228 0 156 136 228 0 156 135 228 0 156 134 228 0 156 133 228 0 156 132 228 0 156 131 228 0 156 130 228 0 156 129 228 0 156 128 228 0 156 127 228 0 156 125 228 0 156 124 228 0 156 123 228 0 156 122 228 0 156 121 228 0 156 120 228 0 156 119 228 0 156 118 228 0 156 117 228 0 156 116 228 0 156 115 228 0 156 114 228 0 156 113 228 0 156 112 228 0 156 111 228 0 156 110 228 0 156 109 228 0 156 108 228 0 156 107 228 0 157 106 228 0 157 105 228 0 159 104 228 0 160 103 228 0 160 102 228 0 162 101 228 0 162 100 228 0 163 99 228 0 163 98 228 0 163 97 228 0 163 96 228 0 163 95 228 0 163 94 228 0 163 92 228 0 165 91 228 0 165 90 228 0 166 89 228 0 167 88 228 0 171 87 228 0 172 86 228 0 174 85 228 0 174 84 228 0 175 83 228 0 175 82 228 0 175 81 228 0 176 80 228 0 178 79 228 0 178 78 228 0 179 77 228 0 181 76 228 0 182 75 228 0 182 74 228 0 182 73 228 0 182 72 228 0 182 71 228 0 182 70 228 0 184 69 228 0 184 68 228 0 185 67 228 0 185 66 228 0 186 65 228 0 188 64 228 0 189 63 228 0 194 62 228 0 194 61 228 0 195 59 228 0 197 58 228 0 197 57 228 0 198 56 228 0 199 55 228 0 201 54 228 0 201 53 228 0 202 52 228 0 202 51 228 0 204 50 228 0 204 49 228 0 205 48 228 0 205 47 228 0 205 46 228 0 207 45 228 0 207 44 228 0 207 43 228 0 208 42 228 0 208 41 228 0 209 40 228 0 209 39 228 0 209 38 228 0 211 37 228 0 211 36 228 0 213 35 228 0 213 34 228 0 216 33 228 0 217 32 228 0 217 31 228 0 219 30 228 0 219 29 228 0 220 28 228 0 220 26 228 0 221 25 228 0 223 24 228 0 224 23 228 0 226 22 228 1 227 21 228 1 228 20 228 2 228 19 228 3 228 18 228 4 230 17 228 5 230 16 228 6 230 15 228 7 230 14 228 8 231 13 228 9 234 12 228 10 234 11 228 11 235 10 228 12 235 9 228 13 238 8 228 14 238 7 228 15 239 6 228 16 239 5 228 17 239 4 228 18 239 3 228 19 239 2 228 20 240 1 228 21 240 0 228 22 240 0 228 23 240 0 228 23 240 0 228 24 240 0 228 24 240 0 228 24 240 255 227 0 248 254 227 0 246 254 227 0 245 254 227 0 243 253 227 0 242 252 227 0 240 251 227 0 240 250 227 0 240 249 227 0 240 248 227 0 240 247 227 0 240 246 227 0 240 245 227 0 239 244 227 0 239 243 227 0 239 242 227 0 239 241 227 0 238 240 227 0 238 239 227 0 235 238 227 0 234 237 227 0 234 236 227 0 231 235 227 0 231 234 227 0 230 233 227 0 230 232 227 0 228 231 227 0 228 230 227 0 228 229 227 0 227 228 227 0 227 227 227 0 226 226 227 0 224 224 227 0 223 223 227 0 221 222 227 0 221 221 227 0 220 220 227 0 219 219 227 0 219 218 227 0 217 217 227 0 217 216 227 0 216 215 227 0 216 214 227 0 213 213 227 0 211 212 227 0 211 211 227 0 211 210 227 0 209 209 227 0 209 208 227 0 208 207 227 0 208 206 227 0 207 205 227 0 207 204 227 0 205 203 227 0 205 202 227 0 205 201 227 0 204 200 227 0 204 199 227 0 202 198 227 0 202 197 227 0 202 196 227 0 201 195 227 0 199 194 227 0 199 193 227 0 198 191 227 0 197 190 227 0 195 189 227 0 194 188 227 0 189 187 227 0 189 186 227 0 188 185 227 0 188 184 227 0 186 183 227 0 185 182 227 0 185 181 227 0 184 180 227 0 182 179 227 0 182 178 227 0 181 177 227 0 181 176 227 0 181 175 227 0 181 174 227 0 181 173 227 0 181 172 227 0 179 171 227 0 178 170 227 0 176 169 227 0 175 168 227 0 174 167 227 0 174 166 227 0 172 165 227 0 172 164 227 0 172 163 227 0 171 162 227 0 171 161 227 0 167 160 227 0 166 158 227 0 165 157 227 0 163 156 227 0 162 155 227 0 162 154 227 0 160 153 227 0 160 152 227 0 160 151 227 0 160 150 227 0 160 149 227 0 160 148 227 0 160 147 227 0 160 146 227 0 159 145 227 0 159 144 227 0 157 143 227 0 156 142 227 0 156 141 227 0 155 140 227 0 155 139 227 0 155 138 227 0 155 137 227 0 155 136 227 0 155 135 227 0 155 134 227 0 155 133 227 0 155 132 227 0 155 131 227 0 155 130 227 0 155 129 227 0 155 128 227 0 155 127 227 0 155 125 227 0 155 124 227 0 155 123 227 0 155 122 227 0 155 121 227 0 155 120 227 0 155 119 227 0 155 118 227 0 155 117 227 0 155 116 227 0 155 115 227 0 155 114 227 0 155 113 227 0 155 112 227 0 155 111 227 0 155 110 227 0 155 109 227 0 155 108 227 0 155 107 227 0 156 106 227 0 156 105 227 0 157 104 227 0 159 103 227 0 159 102 227 0 160 101 227 0 160 100 227 0 160 99 227 0 160 98 227 0 160 97 227 0 160 96 227 0 160 95 227 0 160 94 227 0 160 92 227 0 162 91 227 0 163 90 227 0 163 89 227 0 166 88 227 0 167 87 227 0 167 86 227 0 171 85 227 0 172 84 227 0 172 83 227 0 172 82 227 0 174 81 227 0 174 80 227 0 175 79 227 0 176 78 227 0 178 77 227 0 179 76 227 0 179 75 227 0 181 74 227 0 181 73 227 0 181 72 227 0 181 71 227 0 181 70 227 0 182 69 227 0 182 68 227 0 184 67 227 0 184 66 227 0 185 65 227 0 186 64 227 0 188 63 227 0 188 62 227 0 189 61 227 0 189 59 227 0 194 58 227 0 195 57 227 0 197 56 227 0 198 55 227 0 199 54 227 0 199 53 227 0 201 52 227 0 201 51 227 0 202 50 227 0 202 49 227 0 204 48 227 0 204 47 227 0 205 46 227 0 205 45 227 0 205 44 227 0 207 43 227 0 207 42 227 0 208 41 227 0 208 40 227 0 209 39 227 0 209 38 227 0 209 37 227 0 211 36 227 0 211 35 227 0 213 34 227 0 213 33 227 0 216 32 227 0 217 31 227 0 217 30 227 0 219 29 227 0 219 28 227 0 220 26 227 0 221 25 227 0 221 24 227 0 223 23 227 1 224 22 227 1 226 21 227 2 227 20 227 3 227 19 227 4 228 18 227 5 228 17 227 6 228 16 227 7 230 15 227 8 230 14 227 9 231 13 227 10 231 12 227 11 234 11 227 12 234 10 227 13 235 9 227 14 238 8 227 15 238 7 227 16 239 6 227 17 239 5 227 18 239 4 227 19 239 3 227 20 239 2 227 21 240 1 227 22 240 0 227 23 240 0 227 24 240 0 227 25 240 0 227 25 240 0 227 25 240 0 227 25 240 255 226 0 246 254 226 0 245 254 226 0 243 254 226 0 242 253 226 0 242 252 226 0 240 251 226 0 240 250 226 0 240 249 226 0 239 248 226 0 239 247 226 0 239 246 226 0 239 245 226 0 239 244 226 0 239 243 226 0 239 242 226 0 238 241 226 0 235 240 226 0 235 239 226 0 234 238 226 0 234 237 226 0 231 236 226 0 231 235 226 0 230 234 226 0 230 233 226 0 228 232 226 0 228 231 226 0 227 230 226 0 226 229 226 0 226 228 226 0 224 227 226 0 224 226 226 0 223 224 226 0 221 223 226 0 221 222 226 0 220 221 226 0 219 220 226 0 219 219 226 0 217 218 226 0 217 217 226 0 216 216 226 0 216 215 226 0 213 214 226 0 211 213 226 0 211 212 226 0 209 211 226 0 209 210 226 0 209 209 226 0 208 208 226 0 208 207 226 0 207 206 226 0 207 205 226 0 205 204 226 0 205 203 226 0 205 202 226 0 204 201 226 0 204 200 226 0 202 199 226 0 201 198 226 0 201 197 226 0 199 196 226 0 199 195 226 0 198 194 226 0 197 193 226 0 197 191 226 0 195 190 226 0 194 189 226 0 189 188 226 0 188 187 226 0 186 186 226 0 186 185 226 0 185 184 226 0 185 183 226 0 184 182 226 0 184 181 226 0 182 180 226 0 181 179 226 0 181 178 226 0 179 177 226 0 179 176 226 0 179 175 226 0 178 174 226 0 178 173 226 0 178 172 226 0 178 171 226 0 176 170 226 0 175 169 226 0 174 168 226 0 172 167 226 0 171 166 226 0 167 165 226 0 167 164 226 0 167 163 226 0 166 162 226 0 166 161 226 0 165 160 226 0 163 158 226 0 162 157 226 0 160 156 226 0 159 155 226 0 159 154 226 0 159 153 226 0 159 152 226 0 159 151 226 0 159 150 226 0 159 149 226 0 157 148 226 0 157 147 226 0 157 146 226 0 157 145 226 0 157 144 226 0 156 143 226 0 155 142 226 0 155 141 226 0 153 140 226 0 153 139 226 0 153 138 226 0 152 137 226 0 152 136 226 0 152 135 226 0 152 134 226 0 152 133 226 0 152 132 226 0 152 131 226 0 152 130 226 0 152 129 226 0 152 128 226 0 152 127 226 0 152 125 226 0 152 124 226 0 152 123 226 0 152 122 226 0 152 121 226 0 152 120 226 0 152 119 226 0 152 118 226 0 152 117 226 0 152 116 226 0 152 115 226 0 152 114 226 0 152 113 226 0 152 112 226 0 152 111 226 0 152 110 226 0 152 109 226 0 153 108 226 0 153 107 226 0 155 106 226 0 155 105 226 0 156 104 226 0 156 103 226 0 157 102 226 0 157 101 226 0 157 100 226 0 157 99 226 0 157 98 226 0 159 97 226 0 159 96 226 0 159 95 226 0 159 94 226 0 159 92 226 0 159 91 226 0 160 90 226 0 162 89 226 0 163 88 226 0 165 87 226 0 166 86 226 0 166 85 226 0 167 84 226 0 167 83 226 0 167 82 226 0 171 81 226 0 171 80 226 0 172 79 226 0 175 78 226 0 176 77 226 0 176 76 226 0 178 75 226 0 178 74 226 0 178 73 226 0 179 72 226 0 179 71 226 0 179 70 226 0 181 69 226 0 181 68 226 0 182 67 226 0 184 66 226 0 184 65 226 0 185 64 226 0 185 63 226 0 186 62 226 0 186 61 226 0 188 59 226 0 189 58 226 0 189 57 226 0 194 56 226 0 195 55 226 0 197 54 226 0 198 53 226 0 198 52 226 0 199 51 226 0 201 50 226 0 201 49 226 0 202 48 226 0 204 47 226 0 204 46 226 0 205 45 226 0 205 44 226 0 205 43 226 0 207 42 226 0 207 41 226 0 208 40 226 0 208 39 226 0 209 38 226 0 209 37 226 0 209 36 226 0 211 35 226 0 211 34 226 0 213 33 226 0 213 32 226 0 216 31 226 0 217 30 226 0 217 29 226 0 219 28 226 0 219 26 226 0 220 25 226 1 221 24 226 1 221 23 226 2 223 22 226 2 224 21 226 3 224 20 226 4 226 19 226 5 226 18 226 6 227 17 226 7 227 16 226 8 228 15 226 9 230 14 226 10 230 13 226 11 231 12 226 12 231 11 226 13 234 10 226 14 234 9 226 15 235 8 226 16 235 7 226 17 238 6 226 18 239 5 226 19 239 4 226 20 239 3 226 21 239 2 226 22 239 1 226 24 239 0 226 25 239 0 226 25 240 0 226 26 240 0 226 26 240 0 226 26 240 0 226 26 240 255 224 0 243 254 224 0 243 254 224 0 242 254 224 0 242 253 224 0 240 252 224 0 240 251 224 0 240 250 224 0 240 249 224 0 239 248 224 0 239 247 224 0 239 246 224 0 239 245 224 0 239 244 224 0 238 243 224 0 238 242 224 0 235 241 224 0 235 240 224 0 234 239 224 0 234 238 224 0 231 237 224 0 231 236 224 0 231 235 224 0 230 234 224 0 228 233 224 0 228 232 224 0 227 231 224 0 226 230 224 0 224 229 224 0 224 228 224 0 223 227 224 0 223 226 224 0 221 224 224 0 220 223 224 0 220 222 224 0 219 221 224 0 219 220 224 0 217 219 224 0 217 218 224 0 216 217 224 0 216 216 224 0 213 215 224 0 211 214 224 0 211 213 224 0 209 212 224 0 209 211 224 0 209 210 224 0 208 209 224 0 208 208 224 0 207 207 224 0 207 206 224 0 205 205 224 0 205 204 224 0 204 203 224 0 204 202 224 0 202 201 224 0 202 200 224 0 201 199 224 0 199 198 224 0 198 197 224 0 197 196 224 0 197 195 224 0 195 194 224 0 195 193 224 0 194 191 224 0 189 190 224 0 188 189 224 0 186 188 224 0 186 187 224 0 185 186 224 0 184 185 224 0 184 184 224 0 184 183 224 0 182 182 224 0 182 181 224 0 181 180 224 0 179 179 224 0 179 178 224 0 178 177 224 0 178 176 224 0 176 175 224 0 176 174 224 0 176 173 224 0 175 172 224 0 175 171 224 0 174 170 224 0 172 169 224 0 171 168 224 0 167 167 224 0 166 166 224 0 165 165 224 0 165 164 224 0 163 163 224 0 163 162 224 0 163 161 224 0 162 160 224 0 160 158 224 0 159 157 224 0 159 156 224 0 157 155 224 0 156 154 224 0 156 153 224 0 156 152 224 0 156 151 224 0 156 150 224 0 156 149 224 0 156 148 224 0 156 147 224 0 156 146 224 0 156 145 224 0 155 144 224 0 155 143 224 0 153 142 224 0 153 141 224 0 152 140 224 0 150 139 224 0 150 138 224 0 150 137 224 0 149 136 224 0 149 135 224 0 149 134 224 0 149 133 224 0 149 132 224 0 149 131 224 0 149 130 224 0 149 129 224 0 149 128 224 0 149 127 224 0 149 125 224 0 149 124 224 0 149 123 224 0 149 122 224 0 149 121 224 0 149 120 224 0 149 119 224 0 149 118 224 0 149 117 224 0 149 116 224 0 149 115 224 0 149 114 224 0 149 113 224 0 149 112 224 0 149 111 224 0 150 110 224 0 150 109 224 0 150 108 224 0 152 107 224 0 152 106 224 0 153 105 224 0 155 104 224 0 155 103 224 0 156 102 224 0 156 101 224 0 156 100 224 0 156 99 224 0 156 98 224 0 156 97 224 0 156 96 224 0 156 95 224 0 156 94 224 0 156 92 224 0 157 91 224 0 157 90 224 0 159 89 224 0 160 88 224 0 162 87 224 0 163 86 224 0 163 85 224 0 163 84 224 0 165 83 224 0 165 82 224 0 166 81 224 0 166 80 224 0 167 79 224 0 172 78 224 0 174 77 224 0 175 76 224 0 175 75 224 0 176 74 224 0 176 73 224 0 176 72 224 0 176 71 224 0 178 70 224 0 178 69 224 0 179 68 224 0 181 67 224 0 181 66 224 0 182 65 224 0 182 64 224 0 184 63 224 0 184 62 224 0 185 61 224 0 185 59 224 0 186 58 224 0 188 57 224 0 189 56 224 0 194 55 224 0 195 54 224 0 195 53 224 0 197 52 224 0 197 51 224 0 198 50 224 0 199 49 224 0 201 48 224 0 202 47 224 0 202 46 224 0 204 45 224 0 204 44 224 0 205 43 224 0 205 42 224 0 207 41 224 0 207 40 224 0 208 39 224 0 208 38 224 0 208 37 224 0 209 36 224 0 209 35 224 0 211 34 224 0 211 33 224 0 213 32 224 0 213 31 224 0 216 30 224 0 217 29 224 0 217 28 224 0 219 26 224 1 219 25 224 2 220 24 224 2 220 23 224 3 221 22 224 3 223 21 224 4 223 20 224 5 224 19 224 6 224 18 224 7 226 17 224 9 227 16 224 10 227 15 224 10 228 14 224 11 230 13 224 12 230 12 224 13 231 11 224 14 231 10 224 15 234 9 224 17 234 8 224 18 235 7 224 18 235 6 224 19 238 5 224 20 238 4 224 21 239 3 224 22 239 2 224 24 239 1 224 25 239 0 224 26 239 0 224 27 240 0 224 27 240 0 224 27 240 0 224 28 240 0 224 28 240 255 223 0 242 254 223 0 242 254 223 0 242 254 223 0 240 253 223 0 240 252 223 0 240 251 223 0 240 250 223 0 240 249 223 0 239 248 223 0 239 247 223 0 239 246 223 0 239 245 223 0 239 244 223 0 238 243 223 0 238 242 223 0 235 241 223 0 234 240 223 0 234 239 223 0 231 238 223 0 231 237 223 0 231 236 223 0 230 235 223 0 230 234 223 0 228 233 223 0 227 232 223 0 226 231 223 0 224 230 223 0 223 229 223 0 221 228 223 0 221 227 223 0 221 226 223 0 220 224 223 0 220 223 223 0 219 222 223 0 219 221 223 0 217 220 223 0 217 219 223 0 216 218 223 0 213 217 223 0 213 216 223 0 211 215 223 0 211 214 223 0 209 213 223 0 209 212 223 0 209 211 223 0 208 210 223 0 208 209 223 0 207 208 223 0 207 207 223 0 205 206 223 0 205 205 223 0 204 204 223 0 204 203 223 0 202 202 223 0 202 201 223 0 201 200 223 0 199 199 223 0 198 198 223 0 197 197 223 0 195 196 223 0 195 195 223 0 194 194 223 0 189 193 223 0 189 191 223 0 188 190 223 0 186 189 223 0 185 188 223 0 185 187 223 0 184 186 223 0 182 185 223 0 182 184 223 0 181 183 223 0 181 182 223 0 179 181 223 0 179 180 223 0 178 179 223 0 178 178 223 0 176 177 223 0 175 176 223 0 175 175 223 0 174 174 223 0 174 173 223 0 172 172 223 0 172 171 223 0 171 170 223 0 167 169 223 0 166 168 223 0 165 167 223 0 163 166 223 0 162 165 223 0 162 164 223 0 162 163 223 0 160 162 223 0 160 161 223 0 160 160 223 0 159 158 223 0 157 157 223 0 156 156 223 0 156 155 223 0 155 154 223 0 155 153 223 0 155 152 223 0 155 151 223 0 155 150 223 0 155 149 223 0 155 148 223 0 155 147 223 0 155 146 223 0 155 145 223 0 153 144 223 0 153 143 223 0 152 142 223 0 150 141 223 0 150 140 223 0 149 139 223 0 145 138 223 0 145 137 223 0 145 136 223 0 144 135 223 0 144 134 223 0 144 133 223 0 144 132 223 0 144 131 223 0 144 130 223 0 144 129 223 0 144 128 223 0 144 127 223 0 144 125 223 0 144 124 223 0 144 123 223 0 144 122 223 0 144 121 223 0 144 120 223 0 144 119 223 0 144 118 223 0 144 117 223 0 144 116 223 0 144 115 223 0 144 114 223 0 144 113 223 0 144 112 223 0 145 111 223 0 145 110 223 0 145 109 223 0 149 108 223 0 150 107 223 0 150 106 223 0 152 105 223 0 153 104 223 0 153 103 223 0 155 102 223 0 155 101 223 0 155 100 223 0 155 99 223 0 155 98 223 0 155 97 223 0 155 96 223 0 155 95 223 0 155 94 223 0 155 92 223 0 156 91 223 0 156 90 223 0 157 89 223 0 159 88 223 0 159 87 223 0 160 86 223 0 160 85 223 0 162 84 223 0 162 83 223 0 162 82 223 0 163 81 223 0 165 80 223 0 166 79 223 0 167 78 223 0 171 77 223 0 172 76 223 0 172 75 223 0 174 74 223 0 174 73 223 0 175 72 223 0 175 71 223 0 176 70 223 0 178 69 223 0 178 68 223 0 179 67 223 0 179 66 223 0 181 65 223 0 181 64 223 0 182 63 223 0 182 62 223 0 184 61 223 0 184 59 223 0 185 58 223 0 186 57 223 0 188 56 223 0 189 55 223 0 189 54 223 0 194 53 223 0 194 52 223 0 195 51 223 0 197 50 223 0 198 49 223 0 199 48 223 0 201 47 223 0 202 46 223 0 202 45 223 0 204 44 223 0 204 43 223 0 205 42 223 0 205 41 223 0 207 40 223 0 207 39 223 0 208 38 223 0 208 37 223 0 208 36 223 0 209 35 223 0 209 34 223 0 211 33 223 0 211 32 223 0 213 31 223 0 213 30 223 0 216 29 223 0 217 28 223 1 217 26 223 2 219 25 223 2 219 24 223 3 220 23 223 4 220 22 223 4 221 21 223 5 221 20 223 6 221 19 223 7 223 18 223 9 224 17 223 10 226 16 223 11 227 15 223 12 228 14 223 12 230 13 223 13 230 12 223 14 231 11 223 15 231 10 223 17 231 9 223 18 234 8 223 19 234 7 223 20 235 6 223 20 235 5 223 21 238 4 223 22 238 3 223 24 239 2 223 25 239 1 223 26 239 0 223 27 239 0 223 28 240 0 223 29 240 0 223 29 240 0 223 29 240 0 223 29 240 255 222 0 240 254 222 0 240 254 222 0 240 254 222 0 240 253 222 0 240 252 222 0 240 251 222 0 239 250 222 0 239 249 222 0 239 248 222 0 239 247 222 0 239 246 222 0 239 245 222 0 238 244 222 0 235 243 222 0 235 242 222 0 234 241 222 0 234 240 222 0 231 239 222 0 231 238 222 0 231 237 222 0 230 236 222 0 230 235 222 0 230 234 222 0 228 233 222 0 227 232 222 0 224 231 222 0 223 230 222 0 221 229 222 0 221 228 222 0 220 227 222 0 220 226 222 0 220 224 222 0 219 223 222 0 219 222 222 0 217 221 222 0 217 220 222 0 216 219 222 0 213 218 222 0 213 217 222 0 211 216 222 0 211 215 222 0 209 214 222 0 209 213 222 0 209 212 222 0 208 211 222 0 208 210 222 0 207 209 222 0 207 208 222 0 205 207 222 0 205 206 222 0 204 205 222 0 204 204 222 0 202 203 222 0 202 202 222 0 201 201 222 0 199 200 222 0 198 199 222 0 197 198 222 0 195 197 222 0 194 196 222 0 189 195 222 0 189 194 222 0 188 193 222 0 188 191 222 0 186 190 222 0 185 189 222 0 185 188 222 0 184 187 222 0 182 186 222 0 181 185 222 0 181 184 222 0 179 183 222 0 179 182 222 0 178 181 222 0 178 180 222 0 176 179 222 0 176 178 222 0 175 177 222 0 174 176 222 0 172 175 222 0 172 174 222 0 171 173 222 0 167 172 222 0 167 171 222 0 166 170 222 0 165 169 222 0 163 168 222 0 162 167 222 0 160 166 222 0 160 165 222 0 159 164 222 0 159 163 222 0 159 162 222 0 159 161 222 0 157 160 222 0 157 158 222 0 156 157 222 0 155 156 222 0 155 155 222 0 153 154 222 0 153 153 222 0 153 152 222 0 152 151 222 0 152 150 222 0 152 149 222 0 152 148 222 0 152 147 222 0 152 146 222 0 152 145 222 0 152 144 222 0 152 143 222 0 150 142 222 0 149 141 222 0 145 140 222 0 145 139 222 0 144 138 222 0 143 137 222 0 143 136 222 0 141 135 222 0 141 134 222 0 141 133 222 0 141 132 222 0 141 131 222 0 141 130 222 0 141 129 222 0 141 128 222 0 141 127 222 0 141 125 222 0 141 124 222 0 141 123 222 0 141 122 222 0 141 121 222 0 141 120 222 0 141 119 222 0 141 118 222 0 141 117 222 0 141 116 222 0 141 115 222 0 141 114 222 0 141 113 222 0 141 112 222 0 141 111 222 0 143 110 222 0 143 109 222 0 144 108 222 0 145 107 222 0 149 106 222 0 150 105 222 0 150 104 222 0 152 103 222 0 152 102 222 0 152 101 222 0 152 100 222 0 152 99 222 0 152 98 222 0 152 97 222 0 152 96 222 0 153 95 222 0 153 94 222 0 153 92 222 0 155 91 222 0 155 90 222 0 156 89 222 0 156 88 222 0 157 87 222 0 157 86 222 0 159 85 222 0 159 84 222 0 159 83 222 0 160 82 222 0 160 81 222 0 162 80 222 0 163 79 222 0 165 78 222 0 166 77 222 0 167 76 222 0 167 75 222 0 171 74 222 0 171 73 222 0 172 72 222 0 174 71 222 0 175 70 222 0 175 69 222 0 176 68 222 0 178 67 222 0 178 66 222 0 179 65 222 0 179 64 222 0 179 63 222 0 181 62 222 0 182 61 222 0 182 59 222 0 184 58 222 0 185 57 222 0 186 56 222 0 188 55 222 0 188 54 222 0 189 53 222 0 189 52 222 0 194 51 222 0 194 50 222 0 195 49 222 0 197 48 222 0 199 47 222 0 201 46 222 0 202 45 222 0 202 44 222 0 204 43 222 0 204 42 222 0 205 41 222 0 205 40 222 0 207 39 222 0 207 38 222 0 208 37 222 0 208 36 222 0 209 35 222 0 209 34 222 0 209 33 222 0 211 32 222 0 211 31 222 0 213 30 222 0 213 29 222 0 216 28 222 1 217 26 222 2 217 25 222 3 219 24 222 4 219 23 222 5 220 22 222 5 220 21 222 6 220 20 222 7 221 19 222 8 221 18 222 10 223 17 222 11 224 16 222 12 227 15 222 13 228 14 222 13 230 13 222 14 230 12 222 15 230 11 222 16 231 10 222 18 231 9 222 19 231 8 222 20 234 7 222 21 234 6 222 21 235 5 222 22 235 4 222 23 238 3 222 25 238 2 222 26 239 1 222 27 239 0 222 28 239 0 222 29 239 0 222 30 239 0 222 30 239 0 222 30 240 0 222 30 240 255 221 0 240 254 221 0 240 254 221 0 240 254 221 0 240 253 221 0 240 252 221 0 239 251 221 0 239 250 221 0 239 249 221 0 239 248 221 0 239 247 221 0 238 246 221 0 238 245 221 0 235 244 221 0 235 243 221 0 234 242 221 0 234 241 221 0 231 240 221 0 231 239 221 0 231 238 221 0 230 237 221 0 230 236 221 0 230 235 221 0 228 234 221 0 227 233 221 0 226 232 221 0 224 231 221 0 223 230 221 0 221 229 221 0 220 228 221 0 220 227 221 0 219 226 221 0 219 224 221 0 219 223 221 0 217 222 221 0 217 221 221 0 216 220 221 0 213 219 221 0 213 218 221 0 211 217 221 0 211 216 221 0 209 215 221 0 209 214 221 0 208 213 221 0 208 212 221 0 208 211 221 0 207 210 221 0 205 209 221 0 205 208 221 0 204 207 221 0 204 206 221 0 204 205 221 0 202 204 221 0 201 203 221 0 201 202 221 0 198 201 221 0 197 200 221 0 195 199 221 0 194 198 221 0 189 197 221 0 189 196 221 0 188 195 221 0 188 194 221 0 186 193 221 0 186 191 221 0 185 190 221 0 184 189 221 0 182 188 221 0 182 187 221 0 181 186 221 0 179 185 221 0 178 184 221 0 178 183 221 0 176 182 221 0 176 181 221 0 175 180 221 0 175 179 221 0 174 178 221 0 174 177 221 0 172 176 221 0 171 175 221 0 167 174 221 0 166 173 221 0 165 172 221 0 165 171 221 0 163 170 221 0 162 169 221 0 162 168 221 0 160 167 221 0 159 166 221 0 157 165 221 0 157 164 221 0 157 163 221 0 156 162 221 0 156 161 221 0 156 160 221 0 155 158 221 0 155 157 221 0 153 156 221 0 152 155 221 0 152 154 221 0 150 153 221 0 150 152 221 0 150 151 221 0 150 150 221 0 149 149 221 0 149 148 221 0 149 147 221 0 149 146 221 0 149 145 221 0 149 144 221 0 149 143 221 0 145 142 221 0 144 141 221 0 144 140 221 0 143 139 221 0 141 138 221 0 140 137 221 0 138 136 221 0 138 135 221 0 138 134 221 0 138 133 221 0 138 132 221 0 138 131 221 0 138 130 221 0 138 129 221 0 138 128 221 0 138 127 221 0 138 125 221 0 138 124 221 0 138 123 221 0 138 122 221 0 138 121 221 0 138 120 221 0 138 119 221 0 138 118 221 0 138 117 221 0 138 116 221 0 138 115 221 0 138 114 221 0 138 113 221 0 138 112 221 0 138 111 221 0 140 110 221 0 140 109 221 0 141 108 221 0 143 107 221 0 144 106 221 0 145 105 221 0 149 104 221 0 149 103 221 0 149 102 221 0 149 101 221 0 149 100 221 0 149 99 221 0 149 98 221 0 150 97 221 0 150 96 221 0 150 95 221 0 150 94 221 0 150 92 221 0 152 91 221 0 153 90 221 0 153 89 221 0 155 88 221 0 156 87 221 0 156 86 221 0 156 85 221 0 157 84 221 0 157 83 221 0 157 82 221 0 159 81 221 0 160 80 221 0 160 79 221 0 162 78 221 0 163 77 221 0 165 76 221 0 165 75 221 0 166 74 221 0 166 73 221 0 167 72 221 0 171 71 221 0 172 70 221 0 174 69 221 0 175 68 221 0 175 67 221 0 176 66 221 0 176 65 221 0 176 64 221 0 178 63 221 0 179 62 221 0 179 61 221 0 181 59 221 0 182 58 221 0 184 57 221 0 185 56 221 0 185 55 221 0 186 54 221 0 188 53 221 0 188 52 221 0 189 51 221 0 189 50 221 0 194 49 221 0 195 48 221 0 197 47 221 0 198 46 221 0 199 45 221 0 201 44 221 0 202 43 221 0 202 42 221 0 204 41 221 0 204 40 221 0 205 39 221 0 205 38 221 0 207 37 221 0 207 36 221 0 208 35 221 0 208 34 221 0 209 33 221 0 209 32 221 0 209 31 221 0 211 30 221 0 213 29 221 1 213 28 221 2 216 26 221 3 217 25 221 4 217 24 221 5 219 23 221 6 219 22 221 6 219 21 221 7 219 20 221 8 220 19 221 9 221 18 221 10 221 17 221 12 224 16 221 13 226 15 221 14 227 14 221 14 228 13 221 15 230 12 221 16 230 11 221 17 230 10 221 18 231 9 221 20 231 8 221 21 231 7 221 22 234 6 221 22 234 5 221 23 235 4 221 24 235 3 221 26 238 2 221 27 238 1 221 28 239 0 221 29 239 0 221 30 239 0 221 31 239 0 221 31 239 0 221 31 240 0 221 31 240 255 220 0 240 254 220 0 240 254 220 0 240 254 220 0 240 253 220 0 240 252 220 0 239 251 220 0 239 250 220 0 239 249 220 0 239 248 220 0 238 247 220 0 238 246 220 0 235 245 220 0 235 244 220 0 234 243 220 0 234 242 220 0 231 241 220 0 231 240 220 0 231 239 220 0 230 238 220 0 230 237 220 0 230 236 220 0 230 235 220 0 228 234 220 0 227 233 220 0 226 232 220 0 223 231 220 0 221 230 220 0 220 229 220 0 220 228 220 0 219 227 220 0 219 226 220 0 219 224 220 0 217 223 220 0 217 222 220 0 216 221 220 0 213 220 220 0 213 219 220 0 211 218 220 0 209 217 220 0 209 216 220 0 209 215 220 0 208 214 220 0 208 213 220 0 208 212 220 0 207 211 220 0 205 210 220 0 205 209 220 0 204 208 220 0 202 207 220 0 202 206 220 0 202 205 220 0 201 204 220 0 199 203 220 0 198 202 220 0 197 201 220 0 195 200 220 0 194 199 220 0 189 198 220 0 188 197 220 0 188 196 220 0 186 195 220 0 186 194 220 0 185 193 220 0 185 191 220 0 184 190 220 0 182 189 220 0 181 188 220 0 181 187 220 0 179 186 220 0 178 185 220 0 176 184 220 0 175 183 220 0 174 182 220 0 174 181 220 0 174 180 220 0 172 179 220 0 172 178 220 0 171 177 220 0 167 176 220 0 166 175 220 0 165 174 220 0 163 173 220 0 162 172 220 0 162 171 220 0 160 170 220 0 160 169 220 0 159 168 220 0 159 167 220 0 157 166 220 0 156 165 220 0 156 164 220 0 155 163 220 0 155 162 220 0 155 161 220 0 153 160 220 0 153 158 220 0 152 157 220 0 150 156 220 0 150 155 220 0 149 154 220 0 145 153 220 0 145 152 220 0 145 151 220 0 145 150 220 0 144 149 220 0 144 148 220 0 144 147 220 0 144 146 220 0 144 145 220 0 143 144 220 0 143 143 220 0 143 142 220 0 141 141 220 0 141 140 220 0 140 139 220 0 138 138 220 0 137 137 220 0 135 136 220 0 135 135 220 0 134 134 220 0 134 133 220 0 134 132 220 0 134 131 220 0 134 130 220 0 134 129 220 0 134 128 220 0 134 127 220 0 134 125 220 0 134 124 220 0 134 123 220 0 134 122 220 0 134 121 220 0 134 120 220 0 134 119 220 0 134 118 220 0 134 117 220 0 134 116 220 0 134 115 220 0 134 114 220 0 134 113 220 0 135 112 220 0 135 111 220 0 135 110 220 0 137 109 220 0 138 108 220 0 140 107 220 0 141 106 220 0 143 105 220 0 143 104 220 0 143 103 220 0 144 102 220 0 144 101 220 0 144 100 220 0 144 99 220 0 144 98 220 0 145 97 220 0 145 96 220 0 145 95 220 0 145 94 220 0 149 92 220 0 149 91 220 0 150 90 220 0 152 89 220 0 153 88 220 0 153 87 220 0 153 86 220 0 155 85 220 0 155 84 220 0 156 83 220 0 156 82 220 0 157 81 220 0 159 80 220 0 159 79 220 0 160 78 220 0 160 77 220 0 162 76 220 0 162 75 220 0 163 74 220 0 165 73 220 0 166 72 220 0 167 71 220 0 171 70 220 0 172 69 220 0 172 68 220 0 174 67 220 0 174 66 220 0 174 65 220 0 175 64 220 0 176 63 220 0 176 62 220 0 178 61 220 0 179 59 220 0 181 58 220 0 182 57 220 0 184 56 220 0 184 55 220 0 185 54 220 0 186 53 220 0 186 52 220 0 186 51 220 0 188 50 220 0 188 49 220 0 189 48 220 0 194 47 220 0 197 46 220 0 198 45 220 0 199 44 220 0 201 43 220 0 201 42 220 0 202 41 220 0 202 40 220 0 204 39 220 0 205 38 220 0 205 37 220 0 207 36 220 0 207 35 220 0 208 34 220 0 208 33 220 0 208 32 220 0 209 31 220 0 209 30 220 1 211 29 220 1 213 28 220 2 213 26 220 3 216 25 220 4 217 24 220 5 217 23 220 6 219 22 220 7 219 21 220 8 219 20 220 9 220 19 220 10 220 18 220 11 221 17 220 12 223 16 220 13 226 15 220 14 227 14 220 15 228 13 220 16 230 12 220 17 230 11 220 18 230 10 220 19 230 9 220 20 231 8 220 21 231 7 220 22 231 6 220 23 234 5 220 24 234 4 220 25 235 3 220 27 235 2 220 28 238 1 220 29 238 0 220 30 239 0 220 31 239 0 220 31 239 0 220 32 239 0 220 32 240 0 220 32 240 255 219 0 240 254 219 0 240 254 219 0 240 254 219 0 240 253 219 0 240 252 219 0 239 251 219 0 239 250 219 0 239 249 219 0 239 248 219 0 238 247 219 0 235 246 219 0 235 245 219 0 234 244 219 0 234 243 219 0 231 242 219 0 231 241 219 0 231 240 219 0 230 239 219 0 230 238 219 0 230 237 219 0 230 236 219 0 228 235 219 0 227 234 219 0 226 233 219 0 224 232 219 0 223 231 219 0 221 230 219 0 220 229 219 0 220 228 219 0 219 227 219 0 219 226 219 0 217 224 219 0 217 223 219 0 216 222 219 0 213 221 219 0 213 220 219 0 211 219 219 0 209 218 219 0 209 217 219 0 208 216 219 0 208 215 219 0 208 214 219 0 207 213 219 0 207 212 219 0 205 211 219 0 205 210 219 0 204 209 219 0 202 208 219 0 201 207 219 0 201 206 219 0 199 205 219 0 199 204 219 0 198 203 219 0 197 202 219 0 194 201 219 0 189 200 219 0 188 199 219 0 186 198 219 0 186 197 219 0 186 196 219 0 185 195 219 0 185 194 219 0 184 193 219 0 184 191 219 0 182 190 219 0 181 189 219 0 179 188 219 0 178 187 219 0 176 186 219 0 175 185 219 0 174 184 219 0 172 183 219 0 172 182 219 0 171 181 219 0 171 180 219 0 171 179 219 0 167 178 219 0 167 177 219 0 166 176 219 0 165 175 219 0 162 174 219 0 160 173 219 0 160 172 219 0 159 171 219 0 159 170 219 0 159 169 219 0 157 168 219 0 157 167 219 0 156 166 219 0 155 165 219 0 155 164 219 0 153 163 219 0 153 162 219 0 152 161 219 0 152 160 219 0 150 158 219 0 149 157 219 0 145 156 219 0 145 155 219 0 144 154 219 0 143 153 219 0 143 152 219 0 143 151 219 0 141 150 219 0 141 149 219 0 141 148 219 0 140 147 219 0 140 146 219 0 140 145 219 0 140 144 219 0 140 143 219 0 138 142 219 0 138 141 219 0 137 140 219 0 137 139 219 0 135 138 219 0 134 137 219 0 133 136 219 0 133 135 219 0 133 134 219 0 133 133 219 0 133 132 219 0 133 131 219 0 133 130 219 0 133 129 219 0 133 128 219 0 133 127 219 0 133 125 219 0 133 124 219 0 133 123 219 0 133 122 219 0 133 121 219 0 133 120 219 0 133 119 219 0 133 118 219 0 133 117 219 0 133 116 219 0 133 115 219 0 133 114 219 0 133 113 219 0 133 112 219 0 133 111 219 0 134 110 219 0 134 109 219 0 135 108 219 0 137 107 219 0 138 106 219 0 138 105 219 0 140 104 219 0 140 103 219 0 140 102 219 0 140 101 219 0 140 100 219 0 141 99 219 0 141 98 219 0 141 97 219 0 143 96 219 0 143 95 219 0 143 94 219 0 144 92 219 0 144 91 219 0 145 90 219 0 149 89 219 0 150 88 219 0 152 87 219 0 152 86 219 0 153 85 219 0 153 84 219 0 155 83 219 0 155 82 219 0 156 81 219 0 157 80 219 0 157 79 219 0 159 78 219 0 159 77 219 0 159 76 219 0 160 75 219 0 160 74 219 0 162 73 219 0 163 72 219 0 165 71 219 0 166 70 219 0 167 69 219 0 167 68 219 0 171 67 219 0 171 66 219 0 171 65 219 0 172 64 219 0 174 63 219 0 175 62 219 0 176 61 219 0 178 59 219 0 179 58 219 0 181 57 219 0 182 56 219 0 182 55 219 0 184 54 219 0 185 53 219 0 185 52 219 0 186 51 219 0 186 50 219 0 186 49 219 0 188 48 219 0 189 47 219 0 194 46 219 0 197 45 219 0 198 44 219 0 198 43 219 0 199 42 219 0 201 41 219 0 201 40 219 0 202 39 219 0 204 38 219 0 204 37 219 0 205 36 219 0 207 35 219 0 207 34 219 0 208 33 219 0 208 32 219 0 208 31 219 1 209 30 219 1 209 29 219 2 211 28 219 3 213 26 219 4 213 25 219 5 216 24 219 6 217 23 219 7 217 22 219 8 219 21 219 9 219 20 219 10 219 19 219 11 220 18 219 12 221 17 219 13 223 16 219 14 224 15 219 15 226 14 219 16 227 13 219 17 228 12 219 18 230 11 219 19 230 10 219 20 230 9 219 21 230 8 219 22 231 7 219 23 231 6 219 24 231 5 219 25 234 4 219 26 234 3 219 28 235 2 219 29 235 1 219 30 238 0 219 31 239 0 219 32 239 0 219 32 239 0 219 33 239 0 219 33 240 0 219 33 240 255 218 0 240 254 218 0 240 254 218 0 240 254 218 0 240 253 218 0 240 252 218 0 239 251 218 0 239 250 218 0 239 249 218 0 238 248 218 0 238 247 218 0 235 246 218 0 234 245 218 0 234 244 218 0 231 243 218 0 231 242 218 0 231 241 218 0 230 240 218 0 230 239 218 0 230 238 218 0 228 237 218 0 228 236 218 0 227 235 218 0 226 234 218 0 224 233 218 0 223 232 218 0 221 231 218 0 220 230 218 0 220 229 218 0 219 228 218 0 219 227 218 0 217 226 218 0 217 224 218 0 216 223 218 0 213 222 218 0 213 221 218 0 211 220 218 0 209 219 218 0 209 218 218 0 208 217 218 0 207 216 218 0 207 215 218 0 207 214 218 0 207 213 218 0 205 212 218 0 205 211 218 0 204 210 218 0 202 209 218 0 201 208 218 0 199 207 218 0 198 206 218 0 198 205 218 0 197 204 218 0 195 203 218 0 194 202 218 0 189 201 218 0 188 200 218 0 186 199 218 0 185 198 218 0 185 197 218 0 185 196 218 0 184 195 218 0 184 194 218 0 182 193 218 0 181 191 218 0 179 190 218 0 179 189 218 0 178 188 218 0 176 187 218 0 175 186 218 0 174 185 218 0 172 184 218 0 167 183 218 0 167 182 218 0 166 181 218 0 165 180 218 0 165 179 218 0 165 178 218 0 165 177 218 0 163 176 218 0 162 175 218 0 160 174 218 0 159 173 218 0 157 172 218 0 157 171 218 0 157 170 218 0 156 169 218 0 156 168 218 0 155 167 218 0 155 166 218 0 153 165 218 0 152 164 218 0 152 163 218 0 150 162 218 0 149 161 218 0 149 160 218 0 145 158 218 0 144 157 218 0 143 156 218 0 141 155 218 0 140 154 218 0 140 153 218 0 140 152 218 0 138 151 218 0 138 150 218 0 137 149 218 0 137 148 218 0 137 147 218 0 135 146 218 0 135 145 218 0 135 144 218 0 135 143 218 0 134 142 218 0 134 141 218 0 134 140 218 0 133 139 218 0 131 138 218 0 131 137 218 0 130 136 218 0 130 135 218 0 130 134 218 0 130 133 218 0 130 132 218 0 130 131 218 0 130 130 218 0 130 129 218 0 130 128 218 0 130 127 218 0 130 125 218 0 130 124 218 0 130 123 218 0 130 122 218 0 130 121 218 0 130 120 218 0 130 119 218 0 130 118 218 0 130 117 218 0 130 116 218 0 130 115 218 0 130 114 218 0 130 113 218 0 130 112 218 0 130 111 218 0 130 110 218 0 131 109 218 0 133 108 218 0 133 107 218 0 134 106 218 0 134 105 218 0 135 104 218 0 135 103 218 0 135 102 218 0 135 101 218 0 135 100 218 0 137 99 218 0 137 98 218 0 138 97 218 0 138 96 218 0 138 95 218 0 140 94 218 0 140 92 218 0 141 91 218 0 143 90 218 0 144 89 218 0 145 88 218 0 149 87 218 0 149 86 218 0 150 85 218 0 152 84 218 0 152 83 218 0 153 82 218 0 155 81 218 0 155 80 218 0 156 79 218 0 156 78 218 0 157 77 218 0 157 76 218 0 157 75 218 0 159 74 218 0 160 73 218 0 162 72 218 0 163 71 218 0 163 70 218 0 165 69 218 0 165 68 218 0 165 67 218 0 166 66 218 0 166 65 218 0 167 64 218 0 171 63 218 0 172 62 218 0 175 61 218 0 176 59 218 0 178 58 218 0 178 57 218 0 179 56 218 0 181 55 218 0 182 54 218 0 184 53 218 0 184 52 218 0 184 51 218 0 185 50 218 0 185 49 218 0 186 48 218 0 186 47 218 0 188 46 218 0 194 45 218 0 195 44 218 0 197 43 218 0 197 42 218 0 198 41 218 0 199 40 218 0 201 39 218 0 202 38 218 0 204 37 218 0 204 36 218 0 205 35 218 0 205 34 218 0 207 33 218 0 207 32 218 1 207 31 218 1 208 30 218 2 208 29 218 3 209 28 218 4 211 26 218 5 213 25 218 6 213 24 218 7 216 23 218 8 216 22 218 9 217 21 218 10 217 20 218 11 219 19 218 12 220 18 218 13 220 17 218 14 221 16 218 15 223 15 218 16 224 14 218 17 226 13 218 18 227 12 218 19 228 11 218 20 228 10 218 21 230 9 218 22 230 8 218 23 230 7 218 24 231 6 218 25 231 5 218 26 231 4 218 27 234 3 218 29 234 2 218 30 235 1 218 31 235 0 218 32 238 0 218 33 239 0 218 33 239 0 218 33 239 0 218 34 240 0 218 34 240 255 217 0 240 254 217 0 240 254 217 0 240 254 217 0 240 253 217 0 240 252 217 0 239 251 217 0 239 250 217 0 239 249 217 0 238 248 217 0 235 247 217 0 234 246 217 0 234 245 217 0 231 244 217 0 231 243 217 0 231 242 217 0 230 241 217 0 230 240 217 0 230 239 217 0 230 238 217 0 228 237 217 0 227 236 217 0 226 235 217 0 224 234 217 0 223 233 217 0 221 232 217 0 220 231 217 0 220 230 217 0 219 229 217 0 219 228 217 0 217 227 217 0 217 226 217 0 216 224 217 0 213 223 217 0 213 222 217 0 211 221 217 0 209 220 217 0 208 219 217 0 208 218 217 0 207 217 217 0 207 216 217 0 205 215 217 0 205 214 217 0 205 213 217 0 204 212 217 0 204 211 217 0 202 210 217 0 201 209 217 0 199 208 217 0 198 207 217 0 197 206 217 0 195 205 217 0 194 204 217 0 189 203 217 0 188 202 217 0 186 201 217 0 185 200 217 0 184 199 217 0 184 198 217 0 184 197 217 0 182 196 217 0 182 195 217 0 182 194 217 0 181 193 217 0 179 191 217 0 178 190 217 0 176 189 217 0 175 188 217 0 174 187 217 0 172 186 217 0 171 185 217 0 167 184 217 0 166 183 217 0 165 182 217 0 163 181 217 0 162 180 217 0 162 179 217 0 162 178 217 0 162 177 217 0 160 176 217 0 159 175 217 0 159 174 217 0 157 173 217 0 156 172 217 0 156 171 217 0 155 170 217 0 155 169 217 0 155 168 217 0 153 167 217 0 153 166 217 0 152 165 217 0 150 164 217 0 149 163 217 0 145 162 217 0 144 161 217 0 144 160 217 0 143 158 217 0 141 157 217 0 140 156 217 0 138 155 217 0 137 154 217 0 137 153 217 0 135 152 217 0 135 151 217 0 135 150 217 0 134 149 217 0 134 148 217 0 133 147 217 0 131 146 217 0 131 145 217 0 131 144 217 0 131 143 217 0 130 142 217 0 130 141 217 0 130 140 217 0 130 139 217 0 128 138 217 0 128 137 217 0 126 136 217 0 126 135 217 0 126 134 217 0 126 133 217 0 126 132 217 0 126 131 217 0 126 130 217 0 126 129 217 0 126 128 217 0 126 127 217 0 126 125 217 0 126 124 217 0 126 123 217 0 126 122 217 0 126 121 217 0 126 120 217 0 126 119 217 0 126 118 217 0 126 117 217 0 126 116 217 0 126 115 217 0 126 114 217 0 126 113 217 0 126 112 217 0 126 111 217 0 128 110 217 0 128 109 217 0 128 108 217 0 130 107 217 0 130 106 217 0 130 105 217 0 131 104 217 0 131 103 217 0 131 102 217 0 131 101 217 0 133 100 217 0 133 99 217 0 134 98 217 0 134 97 217 0 135 96 217 0 135 95 217 0 137 94 217 0 137 92 217 0 138 91 217 0 140 90 217 0 141 89 217 0 143 88 217 0 144 87 217 0 144 86 217 0 145 85 217 0 149 84 217 0 149 83 217 0 150 82 217 0 152 81 217 0 153 80 217 0 155 79 217 0 155 78 217 0 155 77 217 0 156 76 217 0 156 75 217 0 157 74 217 0 157 73 217 0 159 72 217 0 160 71 217 0 162 70 217 0 162 69 217 0 162 68 217 0 162 67 217 0 163 66 217 0 163 65 217 0 165 64 217 0 166 63 217 0 171 62 217 0 172 61 217 0 174 59 217 0 175 58 217 0 176 57 217 0 178 56 217 0 179 55 217 0 181 54 217 0 181 53 217 0 182 52 217 0 182 51 217 0 184 50 217 0 184 49 217 0 184 48 217 0 185 47 217 0 186 46 217 0 188 45 217 0 189 44 217 0 194 43 217 0 195 42 217 0 197 41 217 0 197 40 217 0 198 39 217 0 199 38 217 0 201 37 217 0 202 36 217 0 204 35 217 0 205 34 217 1 205 33 217 1 205 32 217 2 207 31 217 2 207 30 217 3 208 29 217 4 208 28 217 5 209 26 217 6 211 25 217 7 213 24 217 8 213 23 217 9 216 22 217 10 217 21 217 11 217 20 217 12 219 19 217 13 219 18 217 14 220 17 217 15 220 16 217 16 221 15 217 17 223 14 217 18 224 13 217 19 226 12 217 20 227 11 217 21 228 10 217 22 230 9 217 24 230 8 217 25 230 7 217 26 230 6 217 27 231 5 217 28 231 4 217 29 231 3 217 30 234 2 217 31 234 1 217 32 235 0 217 33 238 0 217 34 239 0 217 34 239 0 217 35 239 0 217 35 240 0 217 35 240 255 216 0 240 254 216 0 240 254 216 0 240 254 216 0 240 253 216 0 240 252 216 0 239 251 216 0 239 250 216 0 238 249 216 0 238 248 216 0 235 247 216 0 234 246 216 0 231 245 216 0 231 244 216 0 231 243 216 0 231 242 216 0 230 241 216 0 230 240 216 0 230 239 216 0 228 238 216 0 227 237 216 0 226 236 216 0 224 235 216 0 223 234 216 0 221 233 216 0 221 232 216 0 220 231 216 0 219 230 216 0 219 229 216 0 217 228 216 0 217 227 216 0 216 226 216 0 216 224 216 0 213 223 216 0 211 222 216 0 209 221 216 0 208 220 216 0 208 219 216 0 207 218 216 0 207 217 216 0 205 216 216 0 205 215 216 0 205 214 216 0 204 213 216 0 204 212 216 0 202 211 216 0 201 210 216 0 199 209 216 0 198 208 216 0 195 207 216 0 194 206 216 0 189 205 216 0 188 204 216 0 188 203 216 0 186 202 216 0 185 201 216 0 184 200 216 0 184 199 216 0 182 198 216 0 182 197 216 0 181 196 216 0 181 195 216 0 181 194 216 0 179 193 216 0 178 191 216 0 176 190 216 0 175 189 216 0 174 188 216 0 172 187 216 0 171 186 216 0 167 185 216 0 165 184 216 0 163 183 216 0 162 182 216 0 160 181 216 0 160 180 216 0 160 179 216 0 159 178 216 0 159 177 216 0 159 176 216 0 157 175 216 0 157 174 216 0 156 173 216 0 155 172 216 0 155 171 216 0 153 170 216 0 153 169 216 0 153 168 216 0 152 167 216 0 150 166 216 0 149 165 216 0 145 164 216 0 144 163 216 0 143 162 216 0 143 161 216 0 141 160 216 0 140 158 216 0 138 157 216 0 137 156 216 0 135 155 216 0 134 154 216 0 134 153 216 0 133 152 216 0 133 151 216 0 133 150 216 0 131 149 216 0 131 148 216 0 130 147 216 0 128 146 216 0 128 145 216 0 128 144 216 0 126 143 216 0 126 142 216 0 126 141 216 0 126 140 216 0 122 139 216 0 122 138 216 0 122 137 216 0 122 136 216 0 122 135 216 0 122 134 216 0 122 133 216 0 122 132 216 0 122 131 216 0 122 130 216 0 122 129 216 0 122 128 216 0 122 127 216 0 122 125 216 0 122 124 216 0 122 123 216 0 122 122 216 0 122 121 216 0 122 120 216 0 122 119 216 0 122 118 216 0 122 117 216 0 122 116 216 0 122 115 216 0 122 114 216 0 122 113 216 0 122 112 216 0 122 111 216 0 122 110 216 0 122 109 216 0 122 108 216 0 126 107 216 0 126 106 216 0 126 105 216 0 126 104 216 0 126 103 216 0 128 102 216 0 128 101 216 0 130 100 216 0 130 99 216 0 131 98 216 0 131 97 216 0 133 96 216 0 133 95 216 0 134 94 216 0 134 92 216 0 135 91 216 0 137 90 216 0 138 89 216 0 140 88 216 0 141 87 216 0 141 86 216 0 143 85 216 0 144 84 216 0 145 83 216 0 149 82 216 0 150 81 216 0 152 80 216 0 152 79 216 0 153 78 216 0 153 77 216 0 155 76 216 0 155 75 216 0 156 74 216 0 156 73 216 0 157 72 216 0 159 71 216 0 159 70 216 0 159 69 216 0 160 68 216 0 160 67 216 0 160 66 216 0 162 65 216 0 163 64 216 0 165 63 216 0 166 62 216 0 167 61 216 0 172 59 216 0 174 58 216 0 175 57 216 0 176 56 216 0 178 55 216 0 179 54 216 0 179 53 216 0 181 52 216 0 181 51 216 0 182 50 216 0 182 49 216 0 182 48 216 0 184 47 216 0 185 46 216 0 186 45 216 0 186 44 216 0 188 43 216 0 189 42 216 0 194 41 216 0 195 40 216 0 197 39 216 0 198 38 216 0 199 37 216 0 201 36 216 0 202 35 216 1 204 34 216 2 204 33 216 2 205 32 216 3 205 31 216 3 207 30 216 4 207 29 216 5 208 28 216 6 208 26 216 7 209 25 216 9 211 24 216 10 213 23 216 10 213 22 216 11 216 21 216 12 217 20 216 13 217 19 216 14 219 18 216 15 219 17 216 17 220 16 216 18 220 15 216 18 221 14 216 19 223 13 216 20 224 12 216 21 226 11 216 22 227 10 216 24 228 9 216 25 230 8 216 26 230 7 216 27 230 6 216 28 231 5 216 29 231 4 216 30 231 3 216 31 231 2 216 32 234 1 216 34 235 0 216 34 238 0 216 35 238 0 216 36 239 0 216 36 239 0 216 36 240 0 216 36 240 255 215 0 240 254 215 0 240 254 215 0 240 254 215 0 240 253 215 0 240 252 215 0 239 251 215 0 239 250 215 0 238 249 215 0 238 248 215 0 235 247 215 0 234 246 215 0 231 245 215 0 231 244 215 0 231 243 215 0 231 242 215 0 230 241 215 0 230 240 215 0 228 239 215 0 227 238 215 0 226 237 215 0 224 236 215 0 223 235 215 0 221 234 215 0 220 233 215 0 220 232 215 0 219 231 215 0 219 230 215 0 217 229 215 0 217 228 215 0 216 227 215 0 216 226 215 0 213 224 215 0 211 223 215 0 209 222 215 0 209 221 215 0 208 220 215 0 207 219 215 0 207 218 215 0 205 217 215 0 205 216 215 0 204 215 215 0 204 214 215 0 202 213 215 0 202 212 215 0 201 211 215 0 199 210 215 0 198 209 215 0 195 208 215 0 194 207 215 0 189 206 215 0 188 205 215 0 186 204 215 0 185 203 215 0 185 202 215 0 184 201 215 0 182 200 215 0 182 199 215 0 181 198 215 0 181 197 215 0 181 196 215 0 179 195 215 0 178 194 215 0 178 193 215 0 176 191 215 0 175 190 215 0 174 189 215 0 172 188 215 0 167 187 215 0 166 186 215 0 165 185 215 0 163 184 215 0 162 183 215 0 160 182 215 0 159 181 215 0 157 180 215 0 157 179 215 0 157 178 215 0 157 177 215 0 156 176 215 0 156 175 215 0 155 174 215 0 155 173 215 0 153 172 215 0 153 171 215 0 152 170 215 0 152 169 215 0 150 168 215 0 149 167 215 0 145 166 215 0 144 165 215 0 143 164 215 0 141 163 215 0 140 162 215 0 138 161 215 0 138 160 215 0 137 158 215 0 135 157 215 0 134 156 215 0 133 155 215 0 131 154 215 0 131 153 215 0 130 152 215 0 130 151 215 0 130 150 215 0 128 149 215 0 128 148 215 0 126 147 215 0 126 146 215 0 122 145 215 0 122 144 215 0 121 143 215 0 121 142 215 0 121 141 215 0 121 140 215 0 120 139 215 0 120 138 215 0 120 137 215 0 120 136 215 0 120 135 215 0 120 134 215 0 120 133 215 0 120 132 215 0 120 131 215 0 120 130 215 0 120 129 215 0 120 128 215 0 120 127 215 0 120 125 215 0 120 124 215 0 120 123 215 0 120 122 215 0 120 121 215 0 120 120 215 0 120 119 215 0 120 118 215 0 120 117 215 0 120 116 215 0 120 115 215 0 120 114 215 0 120 113 215 0 120 112 215 0 120 111 215 0 120 110 215 0 120 109 215 0 120 108 215 0 120 107 215 0 121 106 215 0 121 105 215 0 121 104 215 0 122 103 215 0 122 102 215 0 126 101 215 0 126 100 215 0 128 99 215 0 128 98 215 0 130 97 215 0 130 96 215 0 130 95 215 0 131 94 215 0 131 92 215 0 133 91 215 0 134 90 215 0 135 89 215 0 137 88 215 0 138 87 215 0 138 86 215 0 140 85 215 0 141 84 215 0 143 83 215 0 144 82 215 0 145 81 215 0 149 80 215 0 150 79 215 0 152 78 215 0 152 77 215 0 153 76 215 0 153 75 215 0 155 74 215 0 155 73 215 0 156 72 215 0 156 71 215 0 157 70 215 0 157 69 215 0 157 68 215 0 157 67 215 0 159 66 215 0 160 65 215 0 160 64 215 0 162 63 215 0 165 62 215 0 166 61 215 0 167 59 215 0 171 58 215 0 174 57 215 0 175 56 215 0 176 55 215 0 178 54 215 0 178 53 215 0 179 52 215 0 179 51 215 0 181 50 215 0 181 49 215 0 182 48 215 0 182 47 215 0 184 46 215 0 184 45 215 0 185 44 215 0 186 43 215 0 188 42 215 0 189 41 215 0 194 40 215 0 195 39 215 0 197 38 215 0 198 37 215 0 199 36 215 1 201 35 215 2 202 34 215 2 204 33 215 3 204 32 215 4 205 31 215 4 205 30 215 5 207 29 215 6 207 28 215 7 208 26 215 9 209 25 215 10 209 24 215 11 211 23 215 12 213 22 215 12 213 21 215 13 216 20 215 14 217 19 215 15 217 18 215 17 219 17 215 18 219 16 215 19 220 15 215 20 220 14 215 20 221 13 215 21 223 12 215 22 224 11 215 24 226 10 215 25 227 9 215 26 228 8 215 27 230 7 215 28 230 6 215 29 231 5 215 30 231 4 215 31 231 3 215 32 231 2 215 34 234 1 215 35 235 0 215 36 238 0 215 36 238 0 215 37 239 0 215 37 239 0 215 37 240 0 215 37 240 255 214 0 240 254 214 0 240 254 214 0 240 254 214 0 240 253 214 0 240 252 214 0 239 251 214 0 239 250 214 0 238 249 214 0 238 248 214 0 235 247 214 0 234 246 214 0 231 245 214 0 231 244 214 0 231 243 214 0 231 242 214 0 230 241 214 0 230 240 214 0 228 239 214 0 227 238 214 0 226 237 214 0 224 236 214 0 221 235 214 0 221 234 214 0 220 233 214 0 219 232 214 0 219 231 214 0 217 230 214 0 217 229 214 0 216 228 214 0 216 227 214 0 213 226 214 0 211 224 214 0 211 223 214 0 209 222 214 0 208 221 214 0 207 220 214 0 207 219 214 0 205 218 214 0 205 217 214 0 204 216 214 0 204 215 214 0 202 214 214 0 202 213 214 0 201 212 214 0 199 211 214 0 197 210 214 0 195 209 214 0 194 208 214 0 189 207 214 0 188 206 214 0 186 205 214 0 185 204 214 0 184 203 214 0 184 202 214 0 182 201 214 0 182 200 214 0 181 199 214 0 181 198 214 0 179 197 214 0 179 196 214 0 178 195 214 0 176 194 214 0 176 193 214 0 175 191 214 0 174 190 214 0 171 189 214 0 167 188 214 0 166 187 214 0 165 186 214 0 163 185 214 0 160 184 214 0 159 183 214 0 159 182 214 0 157 181 214 0 156 180 214 0 156 179 214 0 156 178 214 0 155 177 214 0 155 176 214 0 155 175 214 0 153 174 214 0 153 173 214 0 152 172 214 0 152 171 214 0 150 170 214 0 150 169 214 0 149 168 214 0 145 167 214 0 144 166 214 0 141 165 214 0 140 164 214 0 138 163 214 0 137 162 214 0 135 161 214 0 135 160 214 0 134 158 214 0 133 157 214 0 131 156 214 0 131 155 214 0 130 154 214 0 128 153 214 0 128 152 214 0 126 151 214 0 126 150 214 0 126 149 214 0 122 148 214 0 122 147 214 0 121 146 214 0 121 145 214 0 120 144 214 0 120 143 214 0 118 142 214 0 118 141 214 0 118 140 214 0 117 139 214 0 117 138 214 0 117 137 214 0 117 136 214 0 117 135 214 0 117 134 214 0 117 133 214 0 117 132 214 0 117 131 214 0 117 130 214 0 117 129 214 0 117 128 214 0 117 127 214 0 117 125 214 0 117 124 214 0 117 123 214 0 117 122 214 0 117 121 214 0 117 120 214 0 117 119 214 0 117 118 214 0 117 117 214 0 117 116 214 0 117 115 214 0 117 114 214 0 117 113 214 0 117 112 214 0 117 111 214 0 117 110 214 0 117 109 214 0 117 108 214 0 118 107 214 0 118 106 214 0 118 105 214 0 120 104 214 0 120 103 214 0 121 102 214 0 121 101 214 0 122 100 214 0 122 99 214 0 126 98 214 0 126 97 214 0 126 96 214 0 128 95 214 0 128 94 214 0 130 92 214 0 131 91 214 0 131 90 214 0 133 89 214 0 134 88 214 0 135 87 214 0 135 86 214 0 137 85 214 0 138 84 214 0 140 83 214 0 141 82 214 0 143 81 214 0 145 80 214 0 149 79 214 0 149 78 214 0 150 77 214 0 152 76 214 0 152 75 214 0 153 74 214 0 153 73 214 0 155 72 214 0 155 71 214 0 155 70 214 0 156 69 214 0 156 68 214 0 156 67 214 0 157 66 214 0 159 65 214 0 159 64 214 0 160 63 214 0 162 62 214 0 163 61 214 0 166 59 214 0 167 58 214 0 171 57 214 0 172 56 214 0 175 55 214 0 175 54 214 0 176 53 214 0 178 52 214 0 179 51 214 0 179 50 214 0 181 49 214 0 181 48 214 0 181 47 214 0 182 46 214 0 182 45 214 0 184 44 214 0 185 43 214 0 186 42 214 0 188 41 214 0 189 40 214 0 194 39 214 0 195 38 214 0 197 37 214 0 198 36 214 1 199 35 214 2 201 34 214 3 202 33 214 4 204 32 214 5 204 31 214 5 205 30 214 6 205 29 214 7 207 28 214 8 207 26 214 10 208 25 214 11 209 24 214 12 209 23 214 13 211 22 214 13 213 21 214 14 213 20 214 15 216 19 214 16 217 18 214 18 217 17 214 19 219 16 214 20 219 15 214 21 220 14 214 21 220 13 214 22 221 12 214 23 223 11 214 25 226 10 214 26 227 9 214 27 228 8 214 28 230 7 214 29 230 6 214 30 231 5 214 31 231 4 214 32 231 3 214 33 231 2 214 35 234 1 214 36 235 0 214 37 238 0 214 37 238 0 214 38 239 0 214 38 239 0 214 38 240 0 214 38 240 255 213 0 240 254 213 0 240 254 213 0 240 254 213 0 240 253 213 0 240 252 213 0 239 251 213 0 239 250 213 0 238 249 213 0 238 248 213 0 235 247 213 0 234 246 213 0 231 245 213 0 231 244 213 0 231 243 213 0 231 242 213 0 230 241 213 0 230 240 213 0 228 239 213 0 227 238 213 0 224 237 213 0 223 236 213 0 221 235 213 0 220 234 213 0 219 233 213 0 219 232 213 0 217 231 213 0 217 230 213 0 216 229 213 0 216 228 213 0 213 227 213 0 211 226 213 0 211 224 213 0 209 223 213 0 209 222 213 0 208 221 213 0 207 220 213 0 205 219 213 0 205 218 213 0 204 217 213 0 204 216 213 0 202 215 213 0 202 214 213 0 201 213 213 0 199 212 213 0 198 211 213 0 195 210 213 0 194 209 213 0 189 208 213 0 188 207 213 0 186 206 213 0 185 205 213 0 184 204 213 0 184 203 213 0 182 202 213 0 182 201 213 0 181 200 213 0 181 199 213 0 179 198 213 0 179 197 213 0 178 196 213 0 176 195 213 0 176 194 213 0 175 193 213 0 174 191 213 0 171 190 213 0 167 189 213 0 166 188 213 0 165 187 213 0 163 186 213 0 162 185 213 0 159 184 213 0 159 183 213 0 157 182 213 0 156 181 213 0 156 180 213 0 155 179 213 0 155 178 213 0 155 177 213 0 153 176 213 0 153 175 213 0 153 174 213 0 152 173 213 0 152 172 213 0 150 171 213 0 149 170 213 0 145 169 213 0 144 168 213 0 143 167 213 0 141 166 213 0 140 165 213 0 137 164 213 0 135 163 213 0 135 162 213 0 134 161 213 0 133 160 213 0 133 158 213 0 131 157 213 0 130 156 213 0 130 155 213 0 128 154 213 0 126 153 213 0 122 152 213 0 122 151 213 0 122 150 213 0 122 149 213 0 121 148 213 0 121 147 213 0 121 146 213 0 120 145 213 0 118 144 213 0 118 143 213 0 117 142 213 0 115 141 213 0 115 140 213 0 115 139 213 0 115 138 213 0 115 137 213 0 115 136 213 0 115 135 213 0 115 134 213 0 115 133 213 0 115 132 213 0 115 131 213 0 115 130 213 0 115 129 213 0 115 128 213 0 115 127 213 0 115 125 213 0 115 124 213 0 115 123 213 0 115 122 213 0 115 121 213 0 115 120 213 0 115 119 213 0 115 118 213 0 115 117 213 0 115 116 213 0 115 115 213 0 115 114 213 0 115 113 213 0 115 112 213 0 115 111 213 0 115 110 213 0 115 109 213 0 115 108 213 0 115 107 213 0 115 106 213 0 117 105 213 0 118 104 213 0 118 103 213 0 120 102 213 0 120 101 213 0 121 100 213 0 121 99 213 0 122 98 213 0 122 97 213 0 122 96 213 0 122 95 213 0 126 94 213 0 128 92 213 0 128 91 213 0 130 90 213 0 131 89 213 0 133 88 213 0 133 87 213 0 134 86 213 0 134 85 213 0 135 84 213 0 137 83 213 0 140 82 213 0 141 81 213 0 143 80 213 0 144 79 213 0 145 78 213 0 149 77 213 0 150 76 213 0 152 75 213 0 152 74 213 0 153 73 213 0 153 72 213 0 153 71 213 0 155 70 213 0 155 69 213 0 155 68 213 0 156 67 213 0 156 66 213 0 157 65 213 0 157 64 213 0 159 63 213 0 160 62 213 0 162 61 213 0 165 59 213 0 166 58 213 0 167 57 213 0 171 56 213 0 174 55 213 0 175 54 213 0 175 53 213 0 176 52 213 0 178 51 213 0 179 50 213 0 179 49 213 0 181 48 213 0 181 47 213 0 181 46 213 0 182 45 213 0 184 44 213 0 184 43 213 0 185 42 213 0 186 41 213 0 188 40 213 0 189 39 213 0 194 38 213 0 195 37 213 1 197 36 213 2 198 35 213 3 199 34 213 4 201 33 213 5 202 32 213 6 204 31 213 6 204 30 213 7 205 29 213 8 205 28 213 9 207 26 213 10 208 25 213 12 209 24 213 13 209 23 213 14 211 22 213 14 211 21 213 15 213 20 213 16 213 19 213 17 216 18 213 18 217 17 213 20 217 16 213 21 219 15 213 22 219 14 213 22 220 13 213 23 221 12 213 24 223 11 213 26 224 10 213 27 226 9 213 28 228 8 213 29 230 7 213 30 230 6 213 31 231 5 213 32 231 4 213 33 231 3 213 34 231 2 213 35 234 1 213 37 235 0 213 37 238 0 213 38 238 0 213 39 239 0 213 39 239 0 213 39 240 0 213 39 240 255 212 0 240 254 212 0 240 254 212 0 239 254 212 0 239 253 212 0 239 252 212 0 239 251 212 0 239 250 212 0 238 249 212 0 235 248 212 0 234 247 212 0 234 246 212 0 231 245 212 0 231 244 212 0 230 243 212 0 230 242 212 0 230 241 212 0 228 240 212 0 227 239 212 0 226 238 212 0 224 237 212 0 221 236 212 0 220 235 212 0 220 234 212 0 219 233 212 0 217 232 212 0 217 231 212 0 216 230 212 0 216 229 212 0 213 228 212 0 211 227 212 0 211 226 212 0 209 224 212 0 209 223 212 0 208 222 212 0 208 221 212 0 207 220 212 0 205 219 212 0 205 218 212 0 204 217 212 0 202 216 212 0 202 215 212 0 201 214 212 0 199 213 212 0 198 212 212 0 195 211 212 0 194 210 212 0 189 209 212 0 188 208 212 0 186 207 212 0 185 206 212 0 184 205 212 0 182 204 212 0 182 203 212 0 182 202 212 0 181 201 212 0 181 200 212 0 179 199 212 0 179 198 212 0 178 197 212 0 176 196 212 0 176 195 212 0 175 194 212 0 174 193 212 0 172 191 212 0 167 190 212 0 166 189 212 0 165 188 212 0 163 187 212 0 160 186 212 0 160 185 212 0 159 184 212 0 157 183 212 0 156 182 212 0 156 181 212 0 155 180 212 0 155 179 212 0 153 178 212 0 153 177 212 0 152 176 212 0 152 175 212 0 150 174 212 0 150 173 212 0 150 172 212 0 149 171 212 0 145 170 212 0 144 169 212 0 143 168 212 0 141 167 212 0 138 166 212 0 137 165 212 0 135 164 212 0 134 163 212 0 133 162 212 0 131 161 212 0 131 160 212 0 130 158 212 0 130 157 212 0 128 156 212 0 126 155 212 0 122 154 212 0 122 153 212 0 121 152 212 0 121 151 212 0 120 150 212 0 120 149 212 0 120 148 212 0 120 147 212 0 118 146 212 0 118 145 212 0 117 144 212 0 115 143 212 0 115 142 212 0 114 141 212 0 112 140 212 0 112 139 212 0 112 138 212 0 112 137 212 0 112 136 212 0 112 135 212 0 112 134 212 0 112 133 212 0 112 132 212 0 112 131 212 0 112 130 212 0 112 129 212 0 112 128 212 0 112 127 212 0 112 125 212 0 112 124 212 0 112 123 212 0 112 122 212 0 112 121 212 0 112 120 212 0 112 119 212 0 112 118 212 0 112 117 212 0 112 116 212 0 112 115 212 0 112 114 212 0 112 113 212 0 112 112 212 0 112 111 212 0 112 110 212 0 112 109 212 0 112 108 212 0 112 107 212 0 114 106 212 0 115 105 212 0 115 104 212 0 117 103 212 0 118 102 212 0 118 101 212 0 120 100 212 0 120 99 212 0 120 98 212 0 120 97 212 0 121 96 212 0 121 95 212 0 122 94 212 0 122 92 212 0 126 91 212 0 128 90 212 0 130 89 212 0 130 88 212 0 131 87 212 0 131 86 212 0 133 85 212 0 134 84 212 0 135 83 212 0 137 82 212 0 138 81 212 0 140 80 212 0 143 79 212 0 144 78 212 0 145 77 212 0 149 76 212 0 149 75 212 0 150 74 212 0 150 73 212 0 152 72 212 0 152 71 212 0 153 70 212 0 153 69 212 0 155 68 212 0 155 67 212 0 156 66 212 0 156 65 212 0 157 64 212 0 159 63 212 0 159 62 212 0 160 61 212 0 162 59 212 0 165 58 212 0 166 57 212 0 167 56 212 0 171 55 212 0 172 54 212 0 174 53 212 0 175 52 212 0 176 51 212 0 178 50 212 0 178 49 212 0 179 48 212 0 181 47 212 0 181 46 212 0 181 45 212 0 182 44 212 0 182 43 212 0 184 42 212 0 185 41 212 0 186 40 212 0 188 39 212 0 189 38 212 1 194 37 212 1 195 36 212 2 197 35 212 3 198 34 212 4 199 33 212 5 201 32 212 6 202 31 212 7 204 30 212 8 204 29 212 9 205 28 212 10 207 26 212 11 208 25 212 12 208 24 212 13 209 23 212 14 209 22 212 15 211 21 212 16 211 20 212 17 213 19 212 18 213 18 212 19 216 17 212 20 217 16 212 21 217 15 212 22 219 14 212 23 220 13 212 24 220 12 212 25 221 11 212 27 223 10 212 28 226 9 212 29 227 8 212 30 228 7 212 31 230 6 212 32 230 5 212 33 230 4 212 34 231 3 212 35 231 2 212 36 234 1 212 37 234 0 212 38 235 0 212 39 238 0 212 39 239 0 212 40 239 0 212 40 239 0 212 40 239 255 211 0 240 254 211 0 240 254 211 0 239 254 211 0 239 253 211 0 239 252 211 0 239 251 211 0 238 250 211 0 238 249 211 0 235 248 211 0 234 247 211 0 234 246 211 0 231 245 211 0 231 244 211 0 230 243 211 0 230 242 211 0 230 241 211 0 228 240 211 0 227 239 211 0 226 238 211 0 223 237 211 0 221 236 211 0 220 235 211 0 219 234 211 0 219 233 211 0 217 232 211 0 216 231 211 0 216 230 211 0 213 229 211 0 211 228 211 0 211 227 211 0 211 226 211 0 209 224 211 0 209 223 211 0 208 222 211 0 207 221 211 0 205 220 211 0 205 219 211 0 204 218 211 0 202 217 211 0 202 216 211 0 201 215 211 0 199 214 211 0 197 213 211 0 195 212 211 0 194 211 211 0 189 210 211 0 188 209 211 0 186 208 211 0 185 207 211 0 184 206 211 0 182 205 211 0 182 204 211 0 181 203 211 0 181 202 211 0 181 201 211 0 179 200 211 0 178 199 211 0 178 198 211 0 176 197 211 0 175 196 211 0 174 195 211 0 172 194 211 0 171 193 211 0 167 191 211 0 166 190 211 0 165 189 211 0 163 188 211 0 160 187 211 0 159 186 211 0 159 185 211 0 157 184 211 0 156 183 211 0 156 182 211 0 155 181 211 0 155 180 211 0 153 179 211 0 152 178 211 0 152 177 211 0 150 176 211 0 150 175 211 0 149 174 211 0 149 173 211 0 145 172 211 0 144 171 211 0 143 170 211 0 141 169 211 0 140 168 211 0 138 167 211 0 137 166 211 0 134 165 211 0 133 164 211 0 131 163 211 0 131 162 211 0 130 161 211 0 128 160 211 0 128 158 211 0 126 157 211 0 126 156 211 0 122 155 211 0 121 154 211 0 120 153 211 0 118 152 211 0 118 151 211 0 118 150 211 0 118 149 211 0 118 148 211 0 117 147 211 0 117 146 211 0 115 145 211 0 115 144 211 0 114 143 211 0 112 142 211 0 111 141 211 0 110 140 211 0 110 139 211 0 110 138 211 0 110 137 211 0 110 136 211 0 110 135 211 0 110 134 211 0 110 133 211 0 110 132 211 0 110 131 211 0 110 130 211 0 110 129 211 0 110 128 211 0 110 127 211 0 110 125 211 0 110 124 211 0 110 123 211 0 110 122 211 0 110 121 211 0 110 120 211 0 110 119 211 0 110 118 211 0 110 117 211 0 110 116 211 0 110 115 211 0 110 114 211 0 110 113 211 0 110 112 211 0 110 111 211 0 110 110 211 0 110 109 211 0 110 108 211 0 110 107 211 0 111 106 211 0 112 105 211 0 114 104 211 0 115 103 211 0 115 102 211 0 117 101 211 0 117 100 211 0 117 99 211 0 118 98 211 0 118 97 211 0 118 96 211 0 118 95 211 0 120 94 211 0 121 92 211 0 122 91 211 0 122 90 211 0 126 89 211 0 128 88 211 0 128 87 211 0 130 86 211 0 130 85 211 0 131 84 211 0 133 83 211 0 134 82 211 0 137 81 211 0 138 80 211 0 140 79 211 0 141 78 211 0 143 77 211 0 144 76 211 0 145 75 211 0 149 74 211 0 149 73 211 0 150 72 211 0 150 71 211 0 152 70 211 0 152 69 211 0 153 68 211 0 153 67 211 0 155 66 211 0 156 65 211 0 156 64 211 0 157 63 211 0 159 62 211 0 159 61 211 0 160 59 211 0 162 58 211 0 165 57 211 0 166 56 211 0 167 55 211 0 171 54 211 0 172 53 211 0 174 52 211 0 175 51 211 0 176 50 211 0 176 49 211 0 178 48 211 0 179 47 211 0 179 46 211 0 181 45 211 0 181 44 211 0 182 43 211 0 182 42 211 0 184 41 211 0 185 40 211 0 186 39 211 1 188 38 211 1 189 37 211 2 194 36 211 3 195 35 211 4 197 34 211 5 198 33 211 6 199 32 211 7 201 31 211 8 202 30 211 9 204 29 211 10 205 28 211 11 205 26 211 12 207 25 211 13 208 24 211 14 208 23 211 15 209 22 211 16 209 21 211 17 211 20 211 18 211 19 211 19 213 18 211 20 213 17 211 21 216 16 211 22 217 15 211 23 219 14 211 24 219 13 211 25 220 12 211 26 221 11 211 28 223 10 211 29 224 9 211 30 227 8 211 31 228 7 211 32 230 6 211 33 230 5 211 34 230 4 211 35 231 3 211 36 231 2 211 37 234 1 211 38 234 0 211 39 235 0 211 40 238 0 211 40 238 0 211 41 239 0 211 41 239 0 211 41 239 255 210 0 240 254 210 0 240 254 210 0 239 254 210 0 239 253 210 0 239 252 210 0 239 251 210 0 238 250 210 0 238 249 210 0 235 248 210 0 234 247 210 0 231 246 210 0 231 245 210 0 231 244 210 0 230 243 210 0 230 242 210 0 228 241 210 0 227 240 210 0 226 239 210 0 224 238 210 0 223 237 210 0 221 236 210 0 220 235 210 0 219 234 210 0 217 233 210 0 217 232 210 0 216 231 210 0 213 230 210 0 213 229 210 0 211 228 210 0 211 227 210 0 209 226 210 0 209 224 210 0 208 223 210 0 208 222 210 0 207 221 210 0 205 220 210 0 204 219 210 0 204 218 210 0 202 217 210 0 201 216 210 0 199 215 210 0 197 214 210 0 195 213 210 0 194 212 210 0 189 211 210 0 188 210 210 0 186 209 210 0 185 208 210 0 184 207 210 0 182 206 210 0 182 205 210 0 181 204 210 0 181 203 210 0 179 202 210 0 179 201 210 0 178 200 210 0 176 199 210 0 175 198 210 0 174 197 210 0 174 196 210 0 172 195 210 0 171 194 210 0 167 193 210 0 166 191 210 0 165 190 210 0 163 189 210 0 160 188 210 0 159 187 210 0 159 186 210 0 157 185 210 0 156 184 210 0 156 183 210 0 155 182 210 0 155 181 210 0 153 180 210 0 152 179 210 0 152 178 210 0 150 177 210 0 149 176 210 0 145 175 210 0 145 174 210 0 144 173 210 0 144 172 210 0 143 171 210 0 141 170 210 0 140 169 210 0 137 168 210 0 135 167 210 0 134 166 210 0 133 165 210 0 131 164 210 0 130 163 210 0 128 162 210 0 128 161 210 0 126 160 210 0 122 158 210 0 122 157 210 0 121 156 210 0 120 155 210 0 118 154 210 0 117 153 210 0 117 152 210 0 115 151 210 0 115 150 210 0 115 149 210 0 115 148 210 0 115 147 210 0 114 146 210 0 114 145 210 0 112 144 210 0 111 143 210 0 110 142 210 0 108 141 210 0 108 140 210 0 107 139 210 0 107 138 210 0 107 137 210 0 107 136 210 0 107 135 210 0 107 134 210 0 107 133 210 0 107 132 210 0 107 131 210 0 107 130 210 0 107 129 210 0 107 128 210 0 107 127 210 0 107 125 210 0 107 124 210 0 107 123 210 0 107 122 210 0 107 121 210 0 107 120 210 0 107 119 210 0 107 118 210 0 107 117 210 0 107 116 210 0 107 115 210 0 107 114 210 0 107 113 210 0 107 112 210 0 107 111 210 0 107 110 210 0 107 109 210 0 107 108 210 0 107 107 210 0 108 106 210 0 110 105 210 0 111 104 210 0 112 103 210 0 114 102 210 0 114 101 210 0 115 100 210 0 115 99 210 0 115 98 210 0 115 97 210 0 115 96 210 0 117 95 210 0 117 94 210 0 118 92 210 0 120 91 210 0 121 90 210 0 122 89 210 0 122 88 210 0 126 87 210 0 126 86 210 0 128 85 210 0 130 84 210 0 131 83 210 0 133 82 210 0 134 81 210 0 135 80 210 0 137 79 210 0 140 78 210 0 141 77 210 0 143 76 210 0 144 75 210 0 144 74 210 0 145 73 210 0 145 72 210 0 149 71 210 0 150 70 210 0 152 69 210 0 152 68 210 0 153 67 210 0 155 66 210 0 155 65 210 0 156 64 210 0 156 63 210 0 157 62 210 0 159 61 210 0 159 59 210 0 160 58 210 0 162 57 210 0 163 56 210 0 166 55 210 0 167 54 210 0 171 53 210 0 172 52 210 0 172 51 210 0 174 50 210 0 175 49 210 0 176 48 210 0 178 47 210 0 179 46 210 0 179 45 210 0 181 44 210 0 181 43 210 0 181 42 210 0 182 41 210 0 184 40 210 1 185 39 210 1 186 38 210 2 188 37 210 3 189 36 210 4 194 35 210 5 195 34 210 6 197 33 210 7 198 32 210 8 199 31 210 9 201 30 210 10 202 29 210 11 204 28 210 12 205 26 210 13 207 25 210 14 208 24 210 15 208 23 210 16 209 22 210 17 209 21 210 18 209 20 210 19 211 19 210 20 211 18 210 21 213 17 210 22 216 16 210 23 217 15 210 24 217 14 210 25 219 13 210 26 220 12 210 27 221 11 210 29 223 10 210 30 224 9 210 31 226 8 210 32 227 7 210 33 228 6 210 34 230 5 210 35 230 4 210 36 230 3 210 37 231 2 210 38 231 1 210 39 234 0 210 40 235 0 210 41 235 0 210 41 238 0 210 41 239 0 210 42 239 0 210 42 239 255 209 0 240 254 209 0 240 254 209 0 239 254 209 0 239 253 209 0 239 252 209 0 238 251 209 0 238 250 209 0 235 249 209 0 234 248 209 0 234 247 209 0 231 246 209 0 231 245 209 0 230 244 209 0 230 243 209 0 230 242 209 0 228 241 209 0 227 240 209 0 226 239 209 0 224 238 209 0 221 237 209 0 220 236 209 0 220 235 209 0 219 234 209 0 217 233 209 0 217 232 209 0 216 231 209 0 213 230 209 0 211 229 209 0 211 228 209 0 209 227 209 0 209 226 209 0 208 224 209 0 208 223 209 0 207 222 209 0 205 221 209 0 205 220 209 0 204 219 209 0 202 218 209 0 201 217 209 0 199 216 209 0 198 215 209 0 195 214 209 0 194 213 209 0 189 212 209 0 188 211 209 0 186 210 209 0 185 209 209 0 184 208 209 0 182 207 209 0 182 206 209 0 181 205 209 0 179 204 209 0 179 203 209 0 178 202 209 0 178 201 209 0 176 200 209 0 175 199 209 0 174 198 209 0 172 197 209 0 171 196 209 0 167 195 209 0 166 194 209 0 165 193 209 0 165 191 209 0 162 190 209 0 160 189 209 0 160 188 209 0 159 187 209 0 157 186 209 0 156 185 209 0 156 184 209 0 155 183 209 0 155 182 209 0 153 181 209 0 152 180 209 0 152 179 209 0 150 178 209 0 149 177 209 0 145 176 209 0 144 175 209 0 143 174 209 0 143 173 209 0 141 172 209 0 140 171 209 0 138 170 209 0 137 169 209 0 135 168 209 0 134 167 209 0 133 166 209 0 131 165 209 0 130 164 209 0 128 163 209 0 126 162 209 0 122 161 209 0 122 160 209 0 121 158 209 0 120 157 209 0 120 156 209 0 118 155 209 0 117 154 209 0 115 153 209 0 114 152 209 0 114 151 209 0 112 150 209 0 112 149 209 0 112 148 209 0 112 147 209 0 111 146 209 0 111 145 209 0 110 144 209 0 108 143 209 0 107 142 209 0 104 141 209 0 104 140 209 0 103 139 209 0 103 138 209 0 103 137 209 0 103 136 209 0 103 135 209 0 103 134 209 0 103 133 209 0 103 132 209 0 103 131 209 0 103 130 209 0 103 129 209 0 103 128 209 0 103 127 209 0 103 125 209 0 103 124 209 0 103 123 209 0 103 122 209 0 103 121 209 0 103 120 209 0 103 119 209 0 103 118 209 0 103 117 209 0 103 116 209 0 103 115 209 0 103 114 209 0 103 113 209 0 103 112 209 0 103 111 209 0 103 110 209 0 103 109 209 0 103 108 209 0 104 107 209 0 104 106 209 0 107 105 209 0 108 104 209 0 110 103 209 0 111 102 209 0 111 101 209 0 112 100 209 0 112 99 209 0 112 98 209 0 112 97 209 0 112 96 209 0 114 95 209 0 115 94 209 0 117 92 209 0 118 91 209 0 120 90 209 0 120 89 209 0 121 88 209 0 122 87 209 0 122 86 209 0 126 85 209 0 128 84 209 0 130 83 209 0 130 82 209 0 131 81 209 0 133 80 209 0 135 79 209 0 137 78 209 0 138 77 209 0 140 76 209 0 141 75 209 0 141 74 209 0 143 73 209 0 144 72 209 0 145 71 209 0 149 70 209 0 150 69 209 0 150 68 209 0 152 67 209 0 153 66 209 0 155 65 209 0 155 64 209 0 156 63 209 0 156 62 209 0 157 61 209 0 159 59 209 0 159 58 209 0 160 57 209 0 162 56 209 0 163 55 209 0 165 54 209 0 166 53 209 0 167 52 209 0 171 51 209 0 172 50 209 0 174 49 209 0 175 48 209 0 176 47 209 0 178 46 209 0 178 45 209 0 179 44 209 0 179 43 209 0 181 42 209 1 181 41 209 1 182 40 209 2 184 39 209 2 185 38 209 3 186 37 209 4 188 36 209 5 189 35 209 6 194 34 209 7 195 33 209 8 197 32 209 9 198 31 209 10 199 30 209 11 202 29 209 12 204 28 209 13 204 26 209 14 205 25 209 15 207 24 209 16 208 23 209 17 208 22 209 18 209 21 209 19 209 20 209 20 209 19 209 21 211 18 209 22 213 17 209 24 216 16 209 25 216 15 209 26 217 14 209 27 219 13 209 28 220 12 209 29 220 11 209 30 221 10 209 31 223 9 209 32 224 8 209 33 226 7 209 34 227 6 209 35 228 5 209 36 230 4 209 37 230 3 209 38 231 2 209 39 231 1 209 40 234 0 209 41 234 0 209 42 235 0 209 42 238 0 209 43 238 0 209 43 239 0 209 43 239 255 208 0 240 254 208 0 240 254 208 0 239 254 208 0 239 253 208 0 239 252 208 0 238 251 208 0 235 250 208 0 235 249 208 0 234 248 208 0 231 247 208 0 231 246 208 0 231 245 208 0 230 244 208 0 230 243 208 0 228 242 208 0 227 241 208 0 226 240 208 0 224 239 208 0 223 238 208 0 221 237 208 0 220 236 208 0 219 235 208 0 219 234 208 0 217 233 208 0 216 232 208 0 213 231 208 0 213 230 208 0 211 229 208 0 209 228 208 0 209 227 208 0 208 226 208 0 208 224 208 0 207 223 208 0 205 222 208 0 205 221 208 0 204 220 208 0 202 219 208 0 201 218 208 0 199 217 208 0 197 216 208 0 195 215 208 0 194 214 208 0 189 213 208 0 188 212 208 0 186 211 208 0 185 210 208 0 184 209 208 0 182 208 208 0 182 207 208 0 181 206 208 0 179 205 208 0 178 204 208 0 178 203 208 0 176 202 208 0 175 201 208 0 174 200 208 0 172 199 208 0 171 198 208 0 167 197 208 0 166 196 208 0 165 195 208 0 163 194 208 0 163 193 208 0 162 191 208 0 160 190 208 0 159 189 208 0 159 188 208 0 157 187 208 0 156 186 208 0 156 185 208 0 155 184 208 0 155 183 208 0 153 182 208 0 152 181 208 0 150 180 208 0 150 179 208 0 149 178 208 0 145 177 208 0 144 176 208 0 143 175 208 0 141 174 208 0 140 173 208 0 138 172 208 0 137 171 208 0 135 170 208 0 134 169 208 0 133 168 208 0 131 167 208 0 130 166 208 0 128 165 208 0 126 164 208 0 126 163 208 0 122 162 208 0 121 161 208 0 120 160 208 0 120 158 208 0 118 157 208 0 117 156 208 0 115 155 208 0 114 154 208 0 112 153 208 0 111 152 208 0 110 151 208 0 110 150 208 0 110 149 208 0 110 148 208 0 108 147 208 0 108 146 208 0 108 145 208 0 107 144 208 0 104 143 208 0 103 142 208 0 102 141 208 0 102 140 208 0 99 139 208 0 99 138 208 0 99 137 208 0 99 136 208 0 99 135 208 0 99 134 208 0 99 133 208 0 99 132 208 0 99 131 208 0 99 130 208 0 99 129 208 0 99 128 208 0 99 127 208 0 99 125 208 0 99 124 208 0 99 123 208 0 99 122 208 0 99 121 208 0 99 120 208 0 99 119 208 0 99 118 208 0 99 117 208 0 99 116 208 0 99 115 208 0 99 114 208 0 99 113 208 0 99 112 208 0 99 111 208 0 99 110 208 0 99 109 208 0 99 108 208 0 102 107 208 0 102 106 208 0 103 105 208 0 104 104 208 0 107 103 208 0 107 102 208 0 108 101 208 0 108 100 208 0 110 99 208 0 110 98 208 0 110 97 208 0 110 96 208 0 111 95 208 0 112 94 208 0 114 92 208 0 115 91 208 0 117 90 208 0 118 89 208 0 120 88 208 0 120 87 208 0 121 86 208 0 122 85 208 0 122 84 208 0 126 83 208 0 128 82 208 0 130 81 208 0 131 80 208 0 133 79 208 0 134 78 208 0 135 77 208 0 137 76 208 0 138 75 208 0 140 74 208 0 140 73 208 0 141 72 208 0 144 71 208 0 145 70 208 0 149 69 208 0 150 68 208 0 150 67 208 0 152 66 208 0 153 65 208 0 155 64 208 0 155 63 208 0 156 62 208 0 156 61 208 0 157 59 208 0 159 58 208 0 159 57 208 0 160 56 208 0 162 55 208 0 163 54 208 0 163 53 208 0 165 52 208 0 166 51 208 0 167 50 208 0 171 49 208 0 172 48 208 0 174 47 208 0 175 46 208 0 176 45 208 0 178 44 208 0 178 43 208 1 179 42 208 2 179 41 208 2 181 40 208 3 182 39 208 3 184 38 208 4 185 37 208 5 185 36 208 6 188 35 208 7 189 34 208 9 194 33 208 10 195 32 208 10 197 31 208 11 198 30 208 12 199 29 208 13 202 28 208 14 204 26 208 15 204 25 208 17 205 24 208 18 207 23 208 18 208 22 208 19 208 21 208 20 209 20 208 21 209 19 208 22 211 18 208 24 211 17 208 25 213 16 208 26 216 15 208 27 217 14 208 28 219 13 208 29 219 12 208 30 220 11 208 31 220 10 208 32 221 9 208 34 223 8 208 35 226 7 208 35 227 6 208 36 228 5 208 37 228 4 208 38 230 3 208 39 230 2 208 40 231 1 208 42 231 0 208 42 234 0 208 43 234 0 208 44 235 0 208 44 238 0 208 44 239 0 208 44 239 255 207 0 240 254 207 0 240 254 207 0 239 254 207 0 239 253 207 0 238 252 207 0 238 251 207 0 235 250 207 0 234 249 207 0 234 248 207 0 231 247 207 0 231 246 207 0 231 245 207 0 230 244 207 0 230 243 207 0 228 242 207 0 227 241 207 0 224 240 207 0 223 239 207 0 221 238 207 0 220 237 207 0 220 236 207 0 219 235 207 0 217 234 207 0 217 233 207 0 216 232 207 0 213 231 207 0 211 230 207 0 211 229 207 0 209 228 207 0 208 227 207 0 208 226 207 0 207 224 207 0 205 223 207 0 205 222 207 0 204 221 207 0 202 220 207 0 201 219 207 0 199 218 207 0 197 217 207 0 195 216 207 0 194 215 207 0 189 214 207 0 188 213 207 0 186 212 207 0 185 211 207 0 184 210 207 0 182 209 207 0 182 208 207 0 181 207 207 0 179 206 207 0 178 205 207 0 176 204 207 0 176 203 207 0 175 202 207 0 174 201 207 0 172 200 207 0 171 199 207 0 166 198 207 0 165 197 207 0 163 196 207 0 163 195 207 0 162 194 207 0 162 193 207 0 160 191 207 0 159 190 207 0 159 189 207 0 157 188 207 0 156 187 207 0 156 186 207 0 155 185 207 0 155 184 207 0 153 183 207 0 152 182 207 0 152 181 207 0 150 180 207 0 149 179 207 0 145 178 207 0 144 177 207 0 143 176 207 0 140 175 207 0 138 174 207 0 137 173 207 0 135 172 207 0 134 171 207 0 133 170 207 0 133 169 207 0 131 168 207 0 130 167 207 0 128 166 207 0 126 165 207 0 122 164 207 0 122 163 207 0 121 162 207 0 120 161 207 0 118 160 207 0 117 158 207 0 117 157 207 0 115 156 207 0 112 155 207 0 111 154 207 0 110 153 207 0 108 152 207 0 108 151 207 0 107 150 207 0 107 149 207 0 107 148 207 0 107 147 207 0 104 146 207 0 104 145 207 0 103 144 207 0 102 143 207 0 99 142 207 0 98 141 207 0 98 140 207 0 98 139 207 0 98 138 207 0 98 137 207 0 98 136 207 0 98 135 207 0 98 134 207 0 98 133 207 0 98 132 207 0 98 131 207 0 98 130 207 0 98 129 207 0 98 128 207 0 98 127 207 0 98 125 207 0 98 124 207 0 98 123 207 0 98 122 207 0 98 121 207 0 98 120 207 0 98 119 207 0 98 118 207 0 98 117 207 0 98 116 207 0 98 115 207 0 98 114 207 0 98 113 207 0 98 112 207 0 98 111 207 0 98 110 207 0 98 109 207 0 98 108 207 0 98 107 207 0 98 106 207 0 99 105 207 0 102 104 207 0 103 103 207 0 103 102 207 0 104 101 207 0 104 100 207 0 107 99 207 0 107 98 207 0 107 97 207 0 107 96 207 0 108 95 207 0 110 94 207 0 111 92 207 0 112 91 207 0 114 90 207 0 115 89 207 0 117 88 207 0 118 87 207 0 120 86 207 0 121 85 207 0 121 84 207 0 122 83 207 0 126 82 207 0 128 81 207 0 128 80 207 0 130 79 207 0 131 78 207 0 133 77 207 0 134 76 207 0 135 75 207 0 137 74 207 0 138 73 207 0 140 72 207 0 141 71 207 0 143 70 207 0 145 69 207 0 149 68 207 0 150 67 207 0 150 66 207 0 152 65 207 0 153 64 207 0 155 63 207 0 155 62 207 0 156 61 207 0 156 59 207 0 157 58 207 0 159 57 207 0 159 56 207 0 160 55 207 0 160 54 207 0 162 53 207 0 162 52 207 0 163 51 207 0 165 50 207 0 166 49 207 0 167 48 207 0 172 47 207 0 174 46 207 0 175 45 207 0 176 44 207 1 176 43 207 2 178 42 207 2 179 41 207 3 179 40 207 4 181 39 207 4 182 38 207 5 184 37 207 6 185 36 207 7 186 35 207 9 186 34 207 10 189 33 207 11 194 32 207 12 195 31 207 12 197 30 207 13 198 29 207 14 199 28 207 15 202 26 207 17 204 25 207 18 205 24 207 19 205 23 207 20 207 22 207 20 208 21 207 21 208 20 207 22 209 19 207 24 209 18 207 25 211 17 207 26 213 16 207 27 216 15 207 28 217 14 207 29 217 13 207 30 219 12 207 31 219 11 207 32 220 10 207 34 221 9 207 35 223 8 207 36 224 7 207 37 226 6 207 37 227 5 207 38 228 4 207 39 230 3 207 40 230 2 207 42 231 1 207 43 231 0 207 44 231 0 207 44 234 0 207 45 235 0 207 45 238 0 207 45 238 0 207 45 239 255 206 0 239 254 206 0 239 254 206 0 239 254 206 0 239 253 206 0 238 252 206 0 238 251 206 0 235 250 206 0 234 249 206 0 231 248 206 0 231 247 206 0 231 246 206 0 230 245 206 0 230 244 206 0 228 243 206 0 227 242 206 0 226 241 206 0 224 240 206 0 223 239 206 0 220 238 206 0 220 237 206 0 219 236 206 0 217 235 206 0 217 234 206 0 216 233 206 0 213 232 206 0 213 231 206 0 211 230 206 0 209 229 206 0 208 228 206 0 208 227 206 0 207 226 206 0 207 224 206 0 205 223 206 0 204 222 206 0 202 221 206 0 201 220 206 0 199 219 206 0 197 218 206 0 195 217 206 0 194 216 206 0 189 215 206 0 188 214 206 0 186 213 206 0 185 212 206 0 184 211 206 0 182 210 206 0 182 209 206 0 181 208 206 0 179 207 206 0 178 206 206 0 176 205 206 0 175 204 206 0 175 203 206 0 174 202 206 0 172 201 206 0 167 200 206 0 166 199 206 0 165 198 206 0 163 197 206 0 162 196 206 0 160 195 206 0 160 194 206 0 160 193 206 0 159 191 206 0 157 190 206 0 157 189 206 0 156 188 206 0 156 187 206 0 155 186 206 0 153 185 206 0 153 184 206 0 152 183 206 0 150 182 206 0 149 181 206 0 149 180 206 0 145 179 206 0 143 178 206 0 141 177 206 0 140 176 206 0 138 175 206 0 137 174 206 0 135 173 206 0 134 172 206 0 133 171 206 0 131 170 206 0 130 169 206 0 128 168 206 0 126 167 206 0 122 166 206 0 122 165 206 0 121 164 206 0 120 163 206 0 120 162 206 0 118 161 206 0 117 160 206 0 115 158 206 0 114 157 206 0 112 156 206 0 111 155 206 0 110 154 206 0 108 153 206 0 107 152 206 0 104 151 206 0 104 150 206 0 103 149 206 0 103 148 206 0 103 147 206 0 102 146 206 0 102 145 206 0 99 144 206 0 98 143 206 0 98 142 206 0 96 141 206 0 95 140 206 0 95 139 206 0 95 138 206 0 95 137 206 0 95 136 206 0 95 135 206 0 95 134 206 0 95 133 206 0 95 132 206 0 95 131 206 0 95 130 206 0 95 129 206 0 95 128 206 0 95 127 206 0 95 125 206 0 95 124 206 0 95 123 206 0 95 122 206 0 95 121 206 0 95 120 206 0 95 119 206 0 95 118 206 0 95 117 206 0 95 116 206 0 95 115 206 0 95 114 206 0 95 113 206 0 95 112 206 0 95 111 206 0 95 110 206 0 95 109 206 0 95 108 206 0 95 107 206 0 96 106 206 0 96 105 206 0 98 104 206 0 99 103 206 0 102 102 206 0 102 101 206 0 103 100 206 0 103 99 206 0 103 98 206 0 103 97 206 0 104 96 206 0 107 95 206 0 108 94 206 0 110 92 206 0 111 91 206 0 112 90 206 0 114 89 206 0 115 88 206 0 117 87 206 0 118 86 206 0 118 85 206 0 120 84 206 0 121 83 206 0 122 82 206 0 122 81 206 0 126 80 206 0 128 79 206 0 130 78 206 0 131 77 206 0 133 76 206 0 134 75 206 0 134 74 206 0 135 73 206 0 138 72 206 0 140 71 206 0 141 70 206 0 143 69 206 0 145 68 206 0 149 67 206 0 149 66 206 0 150 65 206 0 152 64 206 0 153 63 206 0 153 62 206 0 155 61 206 0 156 59 206 0 156 58 206 0 157 57 206 0 157 56 206 0 159 55 206 0 159 54 206 0 160 53 206 0 160 52 206 0 162 51 206 0 163 50 206 0 165 49 206 0 166 48 206 0 167 47 206 0 171 46 206 0 172 45 206 0 174 44 206 1 175 43 206 2 176 42 206 3 178 41 206 4 179 40 206 5 179 39 206 5 181 38 206 6 182 37 206 7 184 36 206 8 185 35 206 10 186 34 206 11 188 33 206 12 189 32 206 13 194 31 206 13 195 30 206 14 197 29 206 15 198 28 206 16 201 26 206 18 202 25 206 19 204 24 206 20 204 23 206 21 205 22 206 21 207 21 206 22 208 20 206 23 208 19 206 25 209 18 206 26 211 17 206 27 211 16 206 28 213 15 206 29 216 14 206 30 217 13 206 31 217 12 206 32 219 11 206 33 219 10 206 35 220 9 206 36 221 8 206 37 223 7 206 38 226 6 206 38 227 5 206 39 228 4 206 40 230 3 206 41 230 2 206 43 230 1 206 44 231 0 206 45 231 0 206 45 234 0 206 46 235 0 206 46 235 0 206 46 238 0 206 46 239 255 205 0 239 254 205 0 239 254 205 0 239 254 205 0 239 253 205 0 238 252 205 0 235 251 205 0 234 250 205 0 234 249 205 0 231 248 205 0 231 247 205 0 230 246 205 0 230 245 205 0 230 244 205 0 228 243 205 0 227 242 205 0 226 241 205 0 223 240 205 0 221 239 205 0 220 238 205 0 219 237 205 0 217 236 205 0 217 235 205 0 216 234 205 0 213 233 205 0 213 232 205 0 211 231 205 0 209 230 205 0 208 229 205 0 208 228 205 0 207 227 205 0 205 226 205 0 205 224 205 0 204 223 205 0 202 222 205 0 201 221 205 0 198 220 205 0 197 219 205 0 195 218 205 0 194 217 205 0 189 216 205 0 188 215 205 0 186 214 205 0 185 213 205 0 184 212 205 0 182 211 205 0 182 210 205 0 181 209 205 0 179 208 205 0 178 207 205 0 176 206 205 0 175 205 205 0 174 204 205 0 172 203 205 0 171 202 205 0 167 201 205 0 166 200 205 0 165 199 205 0 162 198 205 0 160 197 205 0 160 196 205 0 159 195 205 0 159 194 205 0 159 193 205 0 157 191 205 0 157 190 205 0 156 189 205 0 155 188 205 0 155 187 205 0 153 186 205 0 152 185 205 0 150 184 205 0 150 183 205 0 149 182 205 0 145 181 205 0 144 180 205 0 143 179 205 0 141 178 205 0 140 177 205 0 137 176 205 0 135 175 205 0 134 174 205 0 133 173 205 0 131 172 205 0 130 171 205 0 128 170 205 0 128 169 205 0 126 168 205 0 122 167 205 0 121 166 205 0 120 165 205 0 118 164 205 0 118 163 205 0 117 162 205 0 115 161 205 0 115 160 205 0 114 158 205 0 111 157 205 0 110 156 205 0 108 155 205 0 107 154 205 0 104 153 205 0 103 152 205 0 102 151 205 0 102 150 205 0 99 149 205 0 99 148 205 0 99 147 205 0 98 146 205 0 98 145 205 0 96 144 205 0 96 143 205 0 95 142 205 0 93 141 205 0 93 140 205 0 92 139 205 0 92 138 205 0 92 137 205 0 92 136 205 0 92 135 205 0 92 134 205 0 92 133 205 0 92 132 205 0 92 131 205 0 92 130 205 0 92 129 205 0 92 128 205 0 92 127 205 0 92 125 205 0 92 124 205 0 92 123 205 0 92 122 205 0 92 121 205 0 92 120 205 0 92 119 205 0 92 118 205 0 92 117 205 0 92 116 205 0 92 115 205 0 92 114 205 0 92 113 205 0 92 112 205 0 92 111 205 0 92 110 205 0 92 109 205 0 92 108 205 0 93 107 205 0 93 106 205 0 95 105 205 0 95 104 205 0 96 103 205 0 98 102 205 0 98 101 205 0 99 100 205 0 99 99 205 0 99 98 205 0 102 97 205 0 102 96 205 0 103 95 205 0 104 94 205 0 107 92 205 0 108 91 205 0 110 90 205 0 111 89 205 0 112 88 205 0 114 87 205 0 115 86 205 0 117 85 205 0 118 84 205 0 118 83 205 0 120 82 205 0 121 81 205 0 122 80 205 0 122 79 205 0 126 78 205 0 128 77 205 0 130 76 205 0 131 75 205 0 133 74 205 0 134 73 205 0 135 72 205 0 137 71 205 0 138 70 205 0 141 69 205 0 143 68 205 0 144 67 205 0 145 66 205 0 149 65 205 0 150 64 205 0 150 63 205 0 152 62 205 0 153 61 205 0 155 59 205 0 155 58 205 0 156 57 205 0 156 56 205 0 157 55 205 0 157 54 205 0 159 53 205 0 159 52 205 0 160 51 205 0 160 50 205 0 162 49 205 0 163 48 205 0 165 47 205 0 167 46 205 0 171 45 205 1 172 44 205 2 174 43 205 3 175 42 205 4 176 41 205 5 178 40 205 6 179 39 205 6 179 38 205 7 181 37 205 8 182 36 205 9 184 35 205 10 185 34 205 12 185 33 205 13 188 32 205 14 189 31 205 14 194 30 205 15 195 29 205 16 197 28 205 17 198 26 205 18 201 25 205 20 202 24 205 21 204 23 205 22 205 22 205 22 205 21 205 23 207 20 205 24 208 19 205 26 208 18 205 27 209 17 205 28 211 16 205 29 213 15 205 30 213 14 205 31 216 13 205 32 217 12 205 33 217 11 205 34 219 10 205 35 220 9 205 37 221 8 205 38 223 7 205 39 224 6 205 39 226 5 205 40 228 4 205 41 228 3 205 42 230 2 205 43 230 1 205 45 231 0 205 45 231 0 205 46 234 0 205 47 234 0 205 47 235 0 205 47 238 0 205 47 238 255 204 0 239 254 204 0 239 254 204 0 239 254 204 0 238 253 204 0 238 252 204 0 235 251 204 0 234 250 204 0 231 249 204 0 231 248 204 0 230 247 204 0 230 246 204 0 230 245 204 0 228 244 204 0 227 243 204 0 226 242 204 0 224 241 204 0 223 240 204 0 220 239 204 0 219 238 204 0 219 237 204 0 217 236 204 0 216 235 204 0 213 234 204 0 213 233 204 0 211 232 204 0 209 231 204 0 209 230 204 0 208 229 204 0 207 228 204 0 205 227 204 0 205 226 204 0 204 224 204 0 202 223 204 0 201 222 204 0 199 221 204 0 197 220 204 0 195 219 204 0 194 218 204 0 189 217 204 0 186 216 204 0 186 215 204 0 185 214 204 0 184 213 204 0 182 212 204 0 182 211 204 0 181 210 204 0 179 209 204 0 178 208 204 0 176 207 204 0 175 206 204 0 174 205 204 0 172 204 204 0 171 203 204 0 167 202 204 0 166 201 204 0 163 200 204 0 162 199 204 0 160 198 204 0 159 197 204 0 159 196 204 0 159 195 204 0 157 194 204 0 157 193 204 0 156 191 204 0 156 190 204 0 155 189 204 0 153 188 204 0 152 187 204 0 150 186 204 0 150 185 204 0 149 184 204 0 145 183 204 0 144 182 204 0 143 181 204 0 141 180 204 0 140 179 204 0 138 178 204 0 137 177 204 0 135 176 204 0 133 175 204 0 131 174 204 0 130 173 204 0 130 172 204 0 128 171 204 0 126 170 204 0 122 169 204 0 121 168 204 0 120 167 204 0 118 166 204 0 118 165 204 0 117 164 204 0 115 163 204 0 115 162 204 0 114 161 204 0 112 160 204 0 111 158 204 0 110 157 204 0 107 156 204 0 104 155 204 0 103 154 204 0 102 153 204 0 102 152 204 0 99 151 204 0 98 150 204 0 98 149 204 0 96 148 204 0 96 147 204 0 95 146 204 0 95 145 204 0 93 144 204 0 93 143 204 0 92 142 204 0 92 141 204 0 91 140 204 0 91 139 204 0 91 138 204 0 89 137 204 0 89 136 204 0 89 135 204 0 89 134 204 0 88 133 204 0 88 132 204 0 88 131 204 0 88 130 204 0 88 129 204 0 88 128 204 0 88 127 204 0 88 125 204 0 88 124 204 0 88 123 204 0 88 122 204 0 88 121 204 0 88 120 204 0 88 119 204 0 88 118 204 0 88 117 204 0 88 116 204 0 88 115 204 0 88 114 204 0 89 113 204 0 89 112 204 0 89 111 204 0 89 110 204 0 91 109 204 0 91 108 204 0 91 107 204 0 92 106 204 0 92 105 204 0 93 104 204 0 93 103 204 0 95 102 204 0 95 101 204 0 96 100 204 0 96 99 204 0 96 98 204 0 98 97 204 0 99 96 204 0 99 95 204 0 102 94 204 0 103 92 204 0 104 91 204 0 107 90 204 0 110 89 204 0 111 88 204 0 112 87 204 0 114 86 204 0 114 85 204 0 115 84 204 0 117 83 204 0 118 82 204 0 118 81 204 0 120 80 204 0 121 79 204 0 122 78 204 0 126 77 204 0 126 76 204 0 128 75 204 0 130 74 204 0 131 73 204 0 133 72 204 0 134 71 204 0 137 70 204 0 138 69 204 0 140 68 204 0 141 67 204 0 143 66 204 0 144 65 204 0 145 64 204 0 149 63 204 0 150 62 204 0 150 61 204 0 152 59 204 0 153 58 204 0 155 57 204 0 155 56 204 0 156 55 204 0 157 54 204 0 157 53 204 0 159 52 204 0 159 51 204 0 159 50 204 0 160 49 204 0 162 48 204 0 163 47 204 0 165 46 204 1 167 45 204 1 171 44 204 2 172 43 204 3 174 42 204 4 175 41 204 5 176 40 204 6 178 39 204 7 179 38 204 8 179 37 204 9 181 36 204 10 182 35 204 11 184 34 204 12 185 33 204 13 186 32 204 14 186 31 204 15 189 30 204 16 194 29 204 17 195 28 204 18 197 26 204 19 198 25 204 20 201 24 204 21 202 23 204 22 204 22 204 23 205 21 204 24 205 20 204 25 207 19 204 27 208 18 204 28 208 17 204 29 209 16 204 30 211 15 204 31 213 14 204 32 213 13 204 33 216 12 204 34 217 11 204 35 217 10 204 36 219 9 204 37 220 8 204 38 221 7 204 39 224 6 204 40 226 5 204 41 227 4 204 42 228 3 204 43 230 2 204 44 230 1 204 45 230 0 204 46 231 0 204 47 231 0 204 47 234 0 204 48 235 0 204 48 235 0 204 48 238 255 203 0 239 254 203 0 239 254 203 0 238 254 203 0 238 253 203 0 235 252 203 0 234 251 203 0 234 250 203 0 231 249 203 0 231 248 203 0 230 247 203 0 230 246 203 0 228 245 203 0 228 244 203 0 227 243 203 0 226 242 203 0 223 241 203 0 221 240 203 0 220 239 203 0 219 238 203 0 217 237 203 0 216 236 203 0 216 235 203 0 213 234 203 0 211 233 203 0 209 232 203 0 209 231 203 0 208 230 203 0 207 229 203 0 207 228 203 0 205 227 203 0 204 226 203 0 202 224 203 0 201 223 203 0 199 222 203 0 198 221 203 0 195 220 203 0 194 219 203 0 189 218 203 0 188 217 203 0 186 216 203 0 185 215 203 0 184 214 203 0 182 213 203 0 182 212 203 0 181 211 203 0 179 210 203 0 178 209 203 0 176 208 203 0 175 207 203 0 174 206 203 0 172 205 203 0 171 204 203 0 167 203 203 0 166 202 203 0 163 201 203 0 162 200 203 0 160 199 203 0 159 198 203 0 159 197 203 0 157 196 203 0 157 195 203 0 157 194 203 0 156 193 203 0 156 191 203 0 155 190 203 0 153 189 203 0 152 188 203 0 150 187 203 0 149 186 203 0 145 185 203 0 144 184 203 0 143 183 203 0 141 182 203 0 140 181 203 0 138 180 203 0 137 179 203 0 135 178 203 0 134 177 203 0 133 176 203 0 131 175 203 0 130 174 203 0 128 173 203 0 126 172 203 0 122 171 203 0 121 170 203 0 120 169 203 0 118 168 203 0 118 167 203 0 117 166 203 0 115 165 203 0 114 164 203 0 114 163 203 0 112 162 203 0 111 161 203 0 110 160 203 0 108 158 203 0 107 157 203 0 104 156 203 0 103 155 203 0 102 154 203 0 99 153 203 0 98 152 203 0 96 151 203 0 96 150 203 0 95 149 203 0 93 148 203 0 93 147 203 0 93 146 203 0 92 145 203 0 92 144 203 0 91 143 203 0 91 142 203 0 89 141 203 0 89 140 203 0 88 139 203 0 88 138 203 0 88 137 203 0 86 136 203 0 86 135 203 0 84 134 203 0 84 133 203 0 84 132 203 0 84 131 203 0 84 130 203 0 84 129 203 0 84 128 203 0 84 127 203 0 84 125 203 0 84 124 203 0 84 123 203 0 84 122 203 0 84 121 203 0 84 120 203 0 84 119 203 0 84 118 203 0 84 117 203 0 84 116 203 0 84 115 203 0 84 114 203 0 84 113 203 0 86 112 203 0 86 111 203 0 88 110 203 0 88 109 203 0 88 108 203 0 89 107 203 0 89 106 203 0 91 105 203 0 91 104 203 0 92 103 203 0 92 102 203 0 93 101 203 0 93 100 203 0 93 99 203 0 95 98 203 0 95 97 203 0 96 96 203 0 98 95 203 0 99 94 203 0 99 92 203 0 103 91 203 0 104 90 203 0 107 89 203 0 108 88 203 0 110 87 203 0 111 86 203 0 112 85 203 0 112 84 203 0 114 83 203 0 115 82 203 0 117 81 203 0 117 80 203 0 118 79 203 0 120 78 203 0 121 77 203 0 122 76 203 0 126 75 203 0 128 74 203 0 130 73 203 0 131 72 203 0 133 71 203 0 134 70 203 0 135 69 203 0 137 68 203 0 138 67 203 0 140 66 203 0 141 65 203 0 143 64 203 0 144 63 203 0 145 62 203 0 145 61 203 0 149 59 203 0 152 58 203 0 153 57 203 0 153 56 203 0 155 55 203 0 156 54 203 0 157 53 203 0 157 52 203 0 157 51 203 0 159 50 203 0 159 49 203 0 160 48 203 0 162 47 203 1 163 46 203 1 165 45 203 2 167 44 203 3 171 43 203 4 172 42 203 5 174 41 203 6 175 40 203 7 176 39 203 8 178 38 203 9 179 37 203 10 179 36 203 11 181 35 203 12 182 34 203 13 184 33 203 14 185 32 203 15 186 31 203 16 188 30 203 17 189 29 203 18 194 28 203 19 195 26 203 20 197 25 203 21 198 24 203 22 201 23 203 23 202 22 203 24 204 21 203 25 205 20 203 26 205 19 203 28 207 18 203 29 208 17 203 30 209 16 203 31 209 15 203 32 211 14 203 33 213 13 203 34 213 12 203 35 216 11 203 36 217 10 203 37 219 9 203 38 220 8 203 39 221 7 203 40 223 6 203 41 224 5 203 42 226 4 203 43 227 3 203 44 228 2 203 45 230 1 203 46 230 0 203 47 231 0 203 48 231 0 203 48 234 0 203 49 234 0 203 49 235 0 203 49 235 255 202 0 239 254 202 0 239 254 202 0 238 254 202 0 235 253 202 0 235 252 202 0 234 251 202 0 231 250 202 0 231 249 202 0 231 248 202 0 230 247 202 0 230 246 202 0 228 245 202 0 227 244 202 0 226 243 202 0 224 242 202 0 223 241 202 0 220 240 202 0 219 239 202 0 217 238 202 0 217 237 202 0 216 236 202 0 213 235 202 0 211 234 202 0 209 233 202 0 209 232 202 0 208 231 202 0 207 230 202 0 207 229 202 0 205 228 202 0 204 227 202 0 202 226 202 0 201 224 202 0 199 223 202 0 198 222 202 0 195 221 202 0 194 220 202 0 189 219 202 0 188 218 202 0 186 217 202 0 185 216 202 0 184 215 202 0 182 214 202 0 182 213 202 0 181 212 202 0 179 211 202 0 178 210 202 0 176 209 202 0 176 208 202 0 175 207 202 0 172 206 202 0 171 205 202 0 167 204 202 0 166 203 202 0 163 202 202 0 162 201 202 0 160 200 202 0 159 199 202 0 159 198 202 0 157 197 202 0 157 196 202 0 156 195 202 0 156 194 202 0 155 193 202 0 155 191 202 0 152 190 202 0 150 189 202 0 149 188 202 0 145 187 202 0 143 186 202 0 141 185 202 0 140 184 202 0 138 183 202 0 138 182 202 0 137 181 202 0 135 180 202 0 134 179 202 0 133 178 202 0 131 177 202 0 130 176 202 0 128 175 202 0 126 174 202 0 122 173 202 0 121 172 202 0 120 171 202 0 120 170 202 0 118 169 202 0 117 168 202 0 115 167 202 0 114 166 202 0 112 165 202 0 111 164 202 0 110 163 202 0 110 162 202 0 108 161 202 0 107 160 202 0 104 158 202 0 103 157 202 0 102 156 202 0 99 155 202 0 98 154 202 0 96 153 202 0 95 152 202 0 93 151 202 0 93 150 202 0 92 149 202 0 92 148 202 0 91 147 202 0 91 146 202 0 89 145 202 0 89 144 202 0 88 143 202 0 88 142 202 0 86 141 202 0 86 140 202 0 86 139 202 0 84 138 202 0 84 137 202 0 82 136 202 0 81 135 202 0 81 134 202 0 80 133 202 0 80 132 202 0 77 131 202 0 77 130 202 0 77 129 202 0 77 128 202 0 77 127 202 0 77 125 202 0 77 124 202 0 77 123 202 0 77 122 202 0 77 121 202 0 77 120 202 0 77 119 202 0 77 118 202 0 77 117 202 0 77 116 202 0 80 115 202 0 80 114 202 0 81 113 202 0 81 112 202 0 82 111 202 0 84 110 202 0 84 109 202 0 84 108 202 0 86 107 202 0 86 106 202 0 88 105 202 0 88 104 202 0 89 103 202 0 89 102 202 0 91 101 202 0 91 100 202 0 91 99 202 0 92 98 202 0 92 97 202 0 93 96 202 0 95 95 202 0 96 94 202 0 96 92 202 0 99 91 202 0 102 90 202 0 103 89 202 0 104 88 202 0 107 87 202 0 108 86 202 0 108 85 202 0 110 84 202 0 111 83 202 0 112 82 202 0 112 81 202 0 114 80 202 0 115 79 202 0 117 78 202 0 118 77 202 0 120 76 202 0 121 75 202 0 122 74 202 0 126 73 202 0 128 72 202 0 130 71 202 0 131 70 202 0 133 69 202 0 134 68 202 0 135 67 202 0 137 66 202 0 138 65 202 0 138 64 202 0 140 63 202 0 141 62 202 0 143 61 202 0 145 59 202 0 149 58 202 0 150 57 202 0 152 56 202 0 153 55 202 0 155 54 202 0 156 53 202 0 156 52 202 0 157 51 202 0 157 50 202 0 157 49 202 0 159 48 202 1 160 47 202 1 162 46 202 2 163 45 202 3 165 44 202 4 167 43 202 5 171 42 202 6 172 41 202 7 174 40 202 8 175 39 202 9 176 38 202 10 178 37 202 11 179 36 202 12 179 35 202 13 181 34 202 14 182 33 202 15 184 32 202 16 185 31 202 17 186 30 202 18 188 29 202 19 189 28 202 20 194 26 202 21 195 25 202 22 197 24 202 23 199 23 202 24 201 22 202 25 202 21 202 26 204 20 202 27 205 19 202 29 207 18 202 30 207 17 202 31 208 16 202 32 209 15 202 33 209 14 202 34 211 13 202 35 213 12 202 36 216 11 202 37 216 10 202 38 217 9 202 39 219 8 202 40 220 7 202 41 221 6 202 42 223 5 202 43 226 4 202 44 227 3 202 45 228 2 202 46 228 1 202 47 230 0 202 48 230 0 202 49 231 0 202 49 231 0 202 49 234 0 202 50 234 0 202 50 234 255 201 0 239 254 201 0 239 254 201 0 238 254 201 0 235 253 201 0 234 252 201 0 234 251 201 0 231 250 201 0 231 249 201 0 230 248 201 0 230 247 201 0 228 246 201 0 228 245 201 0 226 244 201 0 224 243 201 0 223 242 201 0 221 241 201 0 220 240 201 0 219 239 201 0 217 238 201 0 216 237 201 0 213 236 201 0 213 235 201 0 211 234 201 0 209 233 201 0 208 232 201 0 208 231 201 0 207 230 201 0 205 229 201 0 205 228 201 0 204 227 201 0 202 226 201 0 201 224 201 0 198 223 201 0 197 222 201 0 194 221 201 0 189 220 201 0 188 219 201 0 186 218 201 0 185 217 201 0 184 216 201 0 182 215 201 0 182 214 201 0 181 213 201 0 179 212 201 0 178 211 201 0 176 210 201 0 175 209 201 0 175 208 201 0 172 207 201 0 171 206 201 0 167 205 201 0 166 204 201 0 163 203 201 0 162 202 201 0 160 201 201 0 159 200 201 0 157 199 201 0 157 198 201 0 156 197 201 0 156 196 201 0 156 195 201 0 155 194 201 0 153 193 201 0 153 191 201 0 150 190 201 0 149 189 201 0 144 188 201 0 143 187 201 0 140 186 201 0 138 185 201 0 137 184 201 0 135 183 201 0 134 182 201 0 133 181 201 0 133 180 201 0 131 179 201 0 130 178 201 0 128 177 201 0 126 176 201 0 122 175 201 0 121 174 201 0 121 173 201 0 120 172 201 0 118 171 201 0 117 170 201 0 115 169 201 0 114 168 201 0 111 167 201 0 111 166 201 0 110 165 201 0 108 164 201 0 107 163 201 0 107 162 201 0 104 161 201 0 103 160 201 0 102 158 201 0 99 157 201 0 98 156 201 0 96 155 201 0 95 154 201 0 93 153 201 0 92 152 201 0 92 151 201 0 91 150 201 0 89 149 201 0 89 148 201 0 88 147 201 0 88 146 201 0 86 145 201 0 86 144 201 0 84 143 201 0 84 142 201 0 82 141 201 0 82 140 201 0 82 139 201 0 81 138 201 0 81 137 201 0 80 136 201 0 77 135 201 0 76 134 201 0 76 133 201 0 74 132 201 0 74 131 201 0 73 130 201 0 73 129 201 0 73 128 201 0 73 127 201 0 73 125 201 0 73 124 201 0 73 123 201 0 73 122 201 0 73 121 201 0 73 120 201 0 73 119 201 0 73 118 201 0 73 117 201 0 74 116 201 0 74 115 201 0 74 114 201 0 76 113 201 0 77 112 201 0 80 111 201 0 81 110 201 0 81 109 201 0 82 108 201 0 82 107 201 0 82 106 201 0 84 105 201 0 84 104 201 0 84 103 201 0 86 102 201 0 86 101 201 0 88 100 201 0 89 99 201 0 89 98 201 0 91 97 201 0 91 96 201 0 92 95 201 0 93 94 201 0 95 92 201 0 96 91 201 0 98 90 201 0 99 89 201 0 102 88 201 0 102 87 201 0 103 86 201 0 104 85 201 0 107 84 201 0 108 83 201 0 110 82 201 0 110 81 201 0 111 80 201 0 112 79 201 0 114 78 201 0 115 77 201 0 118 76 201 0 120 75 201 0 120 74 201 0 121 73 201 0 122 72 201 0 126 71 201 0 128 70 201 0 130 69 201 0 131 68 201 0 131 67 201 0 133 66 201 0 134 65 201 0 135 64 201 0 137 63 201 0 138 62 201 0 140 61 201 0 143 59 201 0 144 58 201 0 149 57 201 0 150 56 201 0 152 55 201 0 153 54 201 0 155 53 201 0 155 52 201 0 156 51 201 0 156 50 201 1 157 49 201 1 157 48 201 2 159 47 201 2 160 46 201 3 162 45 201 4 163 44 201 5 165 43 201 6 167 42 201 7 171 41 201 8 172 40 201 9 174 39 201 10 175 38 201 11 176 37 201 12 178 36 201 13 179 35 201 14 179 34 201 15 181 33 201 16 182 32 201 17 184 31 201 18 185 30 201 19 186 29 201 20 188 28 201 21 189 26 201 22 194 25 201 24 195 24 201 25 198 23 201 26 199 22 201 27 201 21 201 28 202 20 201 29 204 19 201 30 205 18 201 31 207 17 201 32 207 16 201 33 208 15 201 34 209 14 201 35 211 13 201 36 211 12 201 37 213 11 201 38 216 10 201 39 217 9 201 40 219 8 201 41 220 7 201 42 221 6 201 43 223 5 201 44 224 4 201 45 226 3 201 46 227 2 201 47 228 1 201 48 230 0 201 49 230 0 201 50 231 0 201 50 231 0 201 51 231 0 201 51 231 0 201 51 234 255 200 0 239 254 200 0 238 254 200 0 238 254 200 0 235 253 200 0 234 252 200 0 231 251 200 0 231 250 200 0 231 249 200 0 230 248 200 0 230 247 200 0 228 246 200 0 227 245 200 0 226 244 200 0 224 243 200 0 223 242 200 0 220 241 200 0 219 240 200 0 219 239 200 0 217 238 200 0 216 237 200 0 213 236 200 0 211 235 200 0 209 234 200 0 209 233 200 0 208 232 200 0 207 231 200 0 207 230 200 0 205 229 200 0 205 228 200 0 204 227 200 0 202 226 200 0 199 224 200 0 197 223 200 0 195 222 200 0 194 221 200 0 189 220 200 0 188 219 200 0 186 218 200 0 185 217 200 0 184 216 200 0 182 215 200 0 181 214 200 0 179 213 200 0 178 212 200 0 176 211 200 0 176 210 200 0 175 209 200 0 174 208 200 0 171 207 200 0 167 206 200 0 166 205 200 0 163 204 200 0 162 203 200 0 160 202 200 0 159 201 200 0 157 200 200 0 157 199 200 0 156 198 200 0 156 197 200 0 155 196 200 0 155 195 200 0 153 194 200 0 153 193 200 0 152 191 200 0 149 190 200 0 145 189 200 0 143 188 200 0 140 187 200 0 138 186 200 0 135 185 200 0 134 184 200 0 133 183 200 0 133 182 200 0 131 181 200 0 130 180 200 0 128 179 200 0 126 178 200 0 122 177 200 0 122 176 200 0 121 175 200 0 120 174 200 0 118 173 200 0 117 172 200 0 115 171 200 0 114 170 200 0 112 169 200 0 111 168 200 0 110 167 200 0 108 166 200 0 107 165 200 0 104 164 200 0 104 163 200 0 103 162 200 0 102 161 200 0 99 160 200 0 98 158 200 0 96 157 200 0 95 156 200 0 93 155 200 0 92 154 200 0 91 153 200 0 91 152 200 0 89 151 200 0 88 150 200 0 88 149 200 0 86 148 200 0 86 147 200 0 84 146 200 0 82 145 200 0 82 144 200 0 81 143 200 0 81 142 200 0 80 141 200 0 80 140 200 0 80 139 200 0 77 138 200 0 77 137 200 0 76 136 200 0 74 135 200 0 73 134 200 0 73 133 200 0 71 132 200 0 70 131 200 0 70 130 200 0 70 129 200 0 70 128 200 0 70 127 200 0 70 125 200 0 70 124 200 0 70 123 200 0 70 122 200 0 70 121 200 0 70 120 200 0 70 119 200 0 70 118 200 0 70 117 200 0 70 116 200 0 71 115 200 0 71 114 200 0 73 113 200 0 74 112 200 0 76 111 200 0 77 110 200 0 77 109 200 0 80 108 200 0 80 107 200 0 80 106 200 0 80 105 200 0 81 104 200 0 81 103 200 0 82 102 200 0 84 101 200 0 86 100 200 0 86 99 200 0 88 98 200 0 88 97 200 0 89 96 200 0 89 95 200 0 91 94 200 0 92 92 200 0 93 91 200 0 95 90 200 0 96 89 200 0 98 88 200 0 99 87 200 0 102 86 200 0 103 85 200 0 103 84 200 0 104 83 200 0 107 82 200 0 108 81 200 0 110 80 200 0 111 79 200 0 112 78 200 0 114 77 200 0 115 76 200 0 117 75 200 0 118 74 200 0 120 73 200 0 121 72 200 0 121 71 200 0 122 70 200 0 126 69 200 0 128 68 200 0 130 67 200 0 131 66 200 0 131 65 200 0 133 64 200 0 134 63 200 0 135 62 200 0 138 61 200 0 140 59 200 0 143 58 200 0 145 57 200 0 149 56 200 0 150 55 200 0 152 54 200 0 153 53 200 0 155 52 200 0 155 51 200 1 156 50 200 2 156 49 200 2 157 48 200 3 157 47 200 3 159 46 200 4 160 45 200 5 162 44 200 6 163 43 200 7 166 42 200 9 167 41 200 10 171 40 200 10 172 39 200 11 174 38 200 12 175 37 200 13 176 36 200 14 178 35 200 15 179 34 200 17 181 33 200 18 182 32 200 18 184 31 200 19 185 30 200 20 186 29 200 21 188 28 200 22 188 26 200 24 194 25 200 25 195 24 200 26 197 23 200 27 199 22 200 28 201 21 200 29 202 20 200 30 204 19 200 31 205 18 200 32 207 17 200 34 207 16 200 35 208 15 200 35 209 14 200 36 209 13 200 37 211 12 200 38 213 11 200 39 216 10 200 40 217 9 200 42 219 8 200 43 219 7 200 43 220 6 200 44 221 5 200 45 223 4 200 46 226 3 200 47 227 2 200 48 228 1 200 50 230 0 200 50 230 0 200 51 230 0 200 52 231 0 200 52 231 0 200 52 231 0 200 52 231 255 199 0 239 254 199 0 238 254 199 0 238 254 199 0 235 253 199 0 234 252 199 0 231 251 199 0 231 250 199 0 230 249 199 0 230 248 199 0 230 247 199 0 228 246 199 0 227 245 199 0 224 244 199 0 223 243 199 0 221 242 199 0 220 241 199 0 219 240 199 0 217 239 199 0 217 238 199 0 216 237 199 0 213 236 199 0 211 235 199 0 209 234 199 0 209 233 199 0 208 232 199 0 207 231 199 0 207 230 199 0 205 229 199 0 204 228 199 0 202 227 199 0 201 226 199 0 199 224 199 0 197 223 199 0 194 222 199 0 189 221 199 0 188 220 199 0 186 219 199 0 185 218 199 0 184 217 199 0 182 216 199 0 181 215 199 0 179 214 199 0 178 213 199 0 178 212 199 0 176 211 199 0 175 210 199 0 174 209 199 0 172 208 199 0 167 207 199 0 166 206 199 0 165 205 199 0 162 204 199 0 160 203 199 0 159 202 199 0 157 201 199 0 157 200 199 0 156 199 199 0 156 198 199 0 155 197 199 0 155 196 199 0 153 195 199 0 152 194 199 0 152 193 199 0 150 191 199 0 145 190 199 0 144 189 199 0 141 188 199 0 138 187 199 0 135 186 199 0 134 185 199 0 133 184 199 0 131 183 199 0 130 182 199 0 128 181 199 0 126 180 199 0 122 179 199 0 122 178 199 0 121 177 199 0 120 176 199 0 120 175 199 0 118 174 199 0 117 173 199 0 115 172 199 0 114 171 199 0 112 170 199 0 111 169 199 0 108 168 199 0 107 167 199 0 104 166 199 0 103 165 199 0 103 164 199 0 102 163 199 0 99 162 199 0 98 161 199 0 98 160 199 0 96 158 199 0 95 157 199 0 92 156 199 0 91 155 199 0 89 154 199 0 89 153 199 0 88 152 199 0 86 151 199 0 86 150 199 0 84 149 199 0 84 148 199 0 82 147 199 0 81 146 199 0 80 145 199 0 77 144 199 0 77 143 199 0 76 142 199 0 76 141 199 0 76 140 199 0 74 139 199 0 74 138 199 0 74 137 199 0 73 136 199 0 71 135 199 0 71 134 199 0 70 133 199 0 69 132 199 0 67 131 199 0 67 130 199 0 67 129 199 0 67 128 199 0 66 127 199 0 66 125 199 0 66 124 199 0 66 123 199 0 66 122 199 0 66 121 199 0 66 120 199 0 67 119 199 0 67 118 199 0 67 117 199 0 67 116 199 0 69 115 199 0 70 114 199 0 70 113 199 0 71 112 199 0 73 111 199 0 74 110 199 0 74 109 199 0 74 108 199 0 76 107 199 0 76 106 199 0 76 105 199 0 77 104 199 0 77 103 199 0 80 102 199 0 81 101 199 0 82 100 199 0 84 99 199 0 84 98 199 0 86 97 199 0 86 96 199 0 88 95 199 0 88 94 199 0 89 92 199 0 91 91 199 0 92 90 199 0 93 89 199 0 95 88 199 0 96 87 199 0 98 86 199 0 99 85 199 0 102 84 199 0 102 83 199 0 103 82 199 0 104 81 199 0 107 80 199 0 108 79 199 0 110 78 199 0 111 77 199 0 112 76 199 0 115 75 199 0 117 74 199 0 118 73 199 0 118 72 199 0 120 71 199 0 121 70 199 0 122 69 199 0 122 68 199 0 126 67 199 0 128 66 199 0 130 65 199 0 130 64 199 0 131 63 199 0 134 62 199 0 135 61 199 0 138 59 199 0 141 58 199 0 144 57 199 0 145 56 199 0 149 55 199 0 150 54 199 0 152 53 199 0 153 52 199 1 153 51 199 2 155 50 199 2 156 49 199 3 156 48 199 4 157 47 199 4 157 46 199 5 159 45 199 6 160 44 199 7 162 43 199 9 163 42 199 10 166 41 199 11 167 40 199 12 171 39 199 12 174 38 199 13 175 37 199 14 175 36 199 15 176 35 199 17 178 34 199 18 179 33 199 19 181 32 199 20 182 31 199 20 184 30 199 21 185 29 199 22 186 28 199 24 188 26 199 25 189 25 199 26 194 24 199 27 197 23 199 28 198 22 199 29 201 21 199 30 202 20 199 31 204 19 199 32 205 18 199 34 205 17 199 35 207 16 199 36 208 15 199 37 208 14 199 37 209 13 199 38 211 12 199 39 213 11 199 40 216 10 199 42 217 9 199 43 217 8 199 44 219 7 199 45 220 6 199 45 221 5 199 46 223 4 199 47 224 3 199 48 226 2 199 50 228 1 199 51 228 0 199 52 230 0 199 52 230 0 199 53 230 0 199 53 231 0 199 53 231 0 199 53 231 255 198 0 239 254 198 0 238 254 198 0 238 254 198 0 235 253 198 0 234 252 198 0 231 251 198 0 230 250 198 0 230 249 198 0 230 248 198 0 228 247 198 0 227 246 198 0 226 245 198 0 224 244 198 0 223 243 198 0 221 242 198 0 220 241 198 0 219 240 198 0 217 239 198 0 217 238 198 0 216 237 198 0 213 236 198 0 211 235 198 0 209 234 198 0 209 233 198 0 208 232 198 0 207 231 198 0 207 230 198 0 205 229 198 0 204 228 198 0 202 227 198 0 201 226 198 0 199 224 198 0 197 223 198 0 194 222 198 0 189 221 198 0 188 220 198 0 186 219 198 0 185 218 198 0 184 217 198 0 182 216 198 0 181 215 198 0 179 214 198 0 178 213 198 0 176 212 198 0 175 211 198 0 174 210 198 0 172 209 198 0 171 208 198 0 166 207 198 0 165 206 198 0 162 205 198 0 160 204 198 0 159 203 198 0 159 202 198 0 157 201 198 0 156 200 198 0 156 199 198 0 155 198 198 0 155 197 198 0 153 196 198 0 152 195 198 0 150 194 198 0 150 193 198 0 145 191 198 0 144 190 198 0 143 189 198 0 140 188 198 0 137 187 198 0 134 186 198 0 133 185 198 0 130 184 198 0 128 183 198 0 128 182 198 0 126 181 198 0 122 180 198 0 121 179 198 0 121 178 198 0 120 177 198 0 118 176 198 0 117 175 198 0 115 174 198 0 115 173 198 0 112 172 198 0 111 171 198 0 110 170 198 0 108 169 198 0 107 168 198 0 104 167 198 0 103 166 198 0 102 165 198 0 99 164 198 0 98 163 198 0 98 162 198 0 96 161 198 0 95 160 198 0 93 158 198 0 92 157 198 0 91 156 198 0 89 155 198 0 88 154 198 0 86 153 198 0 84 152 198 0 84 151 198 0 82 150 198 0 82 149 198 0 81 148 198 0 81 147 198 0 80 146 198 0 77 145 198 0 74 144 198 0 73 143 198 0 73 142 198 0 71 141 198 0 71 140 198 0 71 139 198 0 71 138 198 0 71 137 198 0 70 136 198 0 70 135 198 0 69 134 198 0 67 133 198 0 66 132 198 0 66 131 198 0 64 130 198 0 64 129 198 0 64 128 198 0 64 127 198 0 64 125 198 0 62 124 198 0 62 123 198 0 62 122 198 0 64 121 198 0 64 120 198 0 64 119 198 0 64 118 198 0 64 117 198 0 66 116 198 0 66 115 198 0 67 114 198 0 69 113 198 0 69 112 198 0 70 111 198 0 71 110 198 0 71 109 198 0 71 108 198 0 71 107 198 0 71 106 198 0 73 105 198 0 73 104 198 0 74 103 198 0 76 102 198 0 77 101 198 0 80 100 198 0 81 99 198 0 82 98 198 0 82 97 198 0 84 96 198 0 84 95 198 0 86 94 198 0 88 92 198 0 89 91 198 0 91 90 198 0 92 89 198 0 93 88 198 0 95 87 198 0 96 86 198 0 96 85 198 0 98 84 198 0 99 83 198 0 102 82 198 0 103 81 198 0 104 80 198 0 107 79 198 0 108 78 198 0 110 77 198 0 111 76 198 0 112 75 198 0 114 74 198 0 115 73 198 0 117 72 198 0 118 71 198 0 120 70 198 0 121 69 198 0 121 68 198 0 122 67 198 0 126 66 198 0 126 65 198 0 128 64 198 0 130 63 198 0 131 62 198 0 134 61 198 0 137 59 198 0 140 58 198 0 143 57 198 0 144 56 198 0 145 55 198 0 149 54 198 0 150 53 198 0 152 52 198 1 153 51 198 2 153 50 198 3 155 49 198 4 156 48 198 5 156 47 198 5 157 46 198 6 157 45 198 7 159 44 198 8 160 43 198 10 162 42 198 11 165 41 198 12 166 40 198 13 167 39 198 13 172 38 198 14 174 37 198 15 175 36 198 16 176 35 198 18 178 34 198 19 178 33 198 20 181 32 198 21 182 31 198 21 184 30 198 22 185 29 198 23 186 28 198 25 188 26 198 26 189 25 198 27 194 24 198 28 195 23 198 29 198 22 198 30 201 21 198 31 202 20 198 32 204 19 198 33 205 18 198 35 205 17 198 36 207 16 198 37 208 15 198 38 208 14 198 38 209 13 198 39 211 12 198 40 213 11 198 41 216 10 198 43 217 9 198 44 217 8 198 45 219 7 198 46 220 6 198 46 221 5 198 47 221 4 198 48 224 3 198 49 226 2 198 51 227 1 198 52 228 0 198 53 230 0 198 53 230 0 198 54 230 0 198 54 230 0 198 54 231 0 198 54 231 255 197 0 239 254 197 0 238 254 197 0 238 254 197 0 235 253 197 0 234 252 197 0 231 251 197 0 230 250 197 0 230 249 197 0 228 248 197 0 228 247 197 0 227 246 197 0 226 245 197 0 223 244 197 0 221 243 197 0 220 242 197 0 220 241 197 0 219 240 197 0 217 239 197 0 217 238 197 0 216 237 197 0 213 236 197 0 211 235 197 0 209 234 197 0 209 233 197 0 208 232 197 0 207 231 197 0 207 230 197 0 205 229 197 0 204 228 197 0 202 227 197 0 201 226 197 0 199 224 197 0 197 223 197 0 194 222 197 0 188 221 197 0 186 220 197 0 185 219 197 0 185 218 197 0 184 217 197 0 181 216 197 0 179 215 197 0 178 214 197 0 176 213 197 0 175 212 197 0 175 211 197 0 174 210 197 0 172 209 197 0 167 208 197 0 165 207 197 0 163 206 197 0 162 205 197 0 159 204 197 0 157 203 197 0 157 202 197 0 156 201 197 0 156 200 197 0 155 199 197 0 155 198 197 0 153 197 197 0 152 196 197 0 152 195 197 0 150 194 197 0 149 193 197 0 145 191 197 0 143 190 197 0 141 189 197 0 138 188 197 0 135 187 197 0 133 186 197 0 131 185 197 0 130 184 197 0 128 183 197 0 126 182 197 0 122 181 197 0 121 180 197 0 121 179 197 0 120 178 197 0 118 177 197 0 117 176 197 0 117 175 197 0 115 174 197 0 112 173 197 0 111 172 197 0 110 171 197 0 108 170 197 0 107 169 197 0 104 168 197 0 103 167 197 0 102 166 197 0 99 165 197 0 98 164 197 0 96 163 197 0 95 162 197 0 95 161 197 0 93 160 197 0 92 158 197 0 91 157 197 0 89 156 197 0 88 155 197 0 86 154 197 0 84 153 197 0 82 152 197 0 82 151 197 0 81 150 197 0 80 149 197 0 80 148 197 0 77 147 197 0 76 146 197 0 74 145 197 0 73 144 197 0 71 143 197 0 70 142 197 0 69 141 197 0 69 140 197 0 69 139 197 0 69 138 197 0 69 137 197 0 69 136 197 0 67 135 197 0 67 134 197 0 66 133 197 0 64 132 197 0 64 131 197 0 62 130 197 0 62 129 197 0 62 128 197 0 62 127 197 0 60 125 197 0 60 124 197 0 60 123 197 0 60 122 197 0 60 121 197 0 62 120 197 0 62 119 197 0 62 118 197 0 62 117 197 0 64 116 197 0 64 115 197 0 66 114 197 0 67 113 197 0 67 112 197 0 69 111 197 0 69 110 197 0 69 109 197 0 69 108 197 0 69 107 197 0 69 106 197 0 70 105 197 0 70 104 197 0 71 103 197 0 74 102 197 0 76 101 197 0 77 100 197 0 80 99 197 0 80 98 197 0 81 97 197 0 81 96 197 0 82 95 197 0 84 94 197 0 86 92 197 0 88 91 197 0 89 90 197 0 91 89 197 0 92 88 197 0 93 87 197 0 93 86 197 0 95 85 197 0 96 84 197 0 98 83 197 0 99 82 197 0 102 81 197 0 103 80 197 0 104 79 197 0 107 78 197 0 108 77 197 0 110 76 197 0 111 75 197 0 112 74 197 0 114 73 197 0 115 72 197 0 117 71 197 0 118 70 197 0 120 69 197 0 121 68 197 0 121 67 197 0 122 66 197 0 126 65 197 0 126 64 197 0 128 63 197 0 131 62 197 0 133 61 197 0 135 59 197 0 138 58 197 0 140 57 197 0 143 56 197 0 144 55 197 0 149 54 197 0 149 53 197 1 150 52 197 2 152 51 197 3 153 50 197 4 153 49 197 5 155 48 197 6 156 47 197 6 156 46 197 7 157 45 197 8 157 44 197 9 159 43 197 10 160 42 197 12 163 41 197 13 165 40 197 14 167 39 197 14 171 38 197 15 172 37 197 16 174 36 197 17 175 35 197 18 176 34 197 20 178 33 197 21 179 32 197 22 181 31 197 22 182 30 197 23 184 29 197 24 185 28 197 26 186 26 197 27 188 25 197 28 194 24 197 29 195 23 197 30 198 22 197 31 201 21 197 32 202 20 197 33 204 19 197 34 205 18 197 35 205 17 197 37 207 16 197 38 208 15 197 39 208 14 197 39 209 13 197 40 211 12 197 41 213 11 197 42 216 10 197 43 217 9 197 45 217 8 197 46 219 7 197 47 220 6 197 47 220 5 197 48 221 4 197 49 223 3 197 50 224 2 197 51 226 1 197 53 227 0 197 53 228 0 197 54 230 0 197 55 230 0 197 55 230 0 197 55 231 0 197 55 231 255 196 0 239 254 196 0 238 254 196 0 235 254 196 0 234 253 196 0 234 252 196 0 231 251 196 0 230 250 196 0 230 249 196 0 228 248 196 0 227 247 196 0 226 246 196 0 224 245 196 0 223 244 196 0 221 243 196 0 220 242 196 0 219 241 196 0 219 240 196 0 217 239 196 0 216 238 196 0 213 237 196 0 213 236 196 0 211 235 196 0 209 234 196 0 208 233 196 0 208 232 196 0 207 231 196 0 205 230 196 0 205 229 196 0 204 228 196 0 202 227 196 0 201 226 196 0 198 224 196 0 195 223 196 0 194 222 196 0 188 221 196 0 186 220 196 0 185 219 196 0 184 218 196 0 182 217 196 0 181 216 196 0 179 215 196 0 178 214 196 0 176 213 196 0 175 212 196 0 174 211 196 0 172 210 196 0 171 209 196 0 167 208 196 0 165 207 196 0 162 206 196 0 160 205 196 0 159 204 196 0 157 203 196 0 156 202 196 0 156 201 196 0 155 200 196 0 153 199 196 0 153 198 196 0 152 197 196 0 150 196 196 0 149 195 196 0 149 194 196 0 145 193 196 0 143 191 196 0 141 190 196 0 138 189 196 0 137 188 196 0 134 187 196 0 131 186 196 0 130 185 196 0 128 184 196 0 126 183 196 0 122 182 196 0 121 181 196 0 120 180 196 0 120 179 196 0 118 178 196 0 117 177 196 0 115 176 196 0 115 175 196 0 112 174 196 0 111 173 196 0 110 172 196 0 108 171 196 0 107 170 196 0 104 169 196 0 103 168 196 0 102 167 196 0 99 166 196 0 98 165 196 0 96 164 196 0 95 163 196 0 93 162 196 0 92 161 196 0 92 160 196 0 91 158 196 0 89 157 196 0 88 156 196 0 86 155 196 0 84 154 196 0 82 153 196 0 81 152 196 0 80 151 196 0 77 150 196 0 76 149 196 0 76 148 196 0 74 147 196 0 73 146 196 0 71 145 196 0 70 144 196 0 69 143 196 0 67 142 196 0 66 141 196 0 66 140 196 0 66 139 196 0 66 138 196 0 66 137 196 0 66 136 196 0 64 135 196 0 64 134 196 0 64 133 196 0 62 132 196 0 62 131 196 0 60 130 196 0 60 129 196 0 60 128 196 0 60 127 196 0 59 125 196 0 59 124 196 0 59 123 196 0 59 122 196 0 59 121 196 0 59 120 196 0 60 119 196 0 60 118 196 0 60 117 196 0 62 116 196 0 62 115 196 0 64 114 196 0 64 113 196 0 64 112 196 0 66 111 196 0 66 110 196 0 66 109 196 0 66 108 196 0 66 107 196 0 66 106 196 0 67 105 196 0 67 104 196 0 69 103 196 0 71 102 196 0 73 101 196 0 74 100 196 0 76 99 196 0 76 98 196 0 77 97 196 0 80 96 196 0 81 95 196 0 81 94 196 0 82 92 196 0 86 91 196 0 86 90 196 0 88 89 196 0 89 88 196 0 91 87 196 0 92 86 196 0 93 85 196 0 95 84 196 0 95 83 196 0 96 82 196 0 98 81 196 0 99 80 196 0 102 79 196 0 104 78 196 0 107 77 196 0 108 76 196 0 110 75 196 0 111 74 196 0 112 73 196 0 114 72 196 0 115 71 196 0 117 70 196 0 118 69 196 0 120 68 196 0 120 67 196 0 121 66 196 0 122 65 196 0 122 64 196 0 126 63 196 0 130 62 196 0 131 61 196 0 134 59 196 0 135 58 196 0 138 57 196 0 141 56 196 0 143 55 196 0 144 54 196 1 145 53 196 1 149 52 196 2 150 51 196 3 152 50 196 4 153 49 196 5 153 48 196 6 155 47 196 7 156 46 196 8 156 45 196 9 157 44 196 10 159 43 196 11 160 42 196 12 162 41 196 13 163 40 196 14 166 39 196 15 171 38 196 16 172 37 196 17 174 36 196 18 175 35 196 19 176 34 196 20 178 33 196 21 179 32 196 22 181 31 196 23 182 30 196 24 184 29 196 25 185 28 196 27 186 26 196 28 188 25 196 29 189 24 196 30 195 23 196 31 198 22 196 32 201 21 196 33 202 20 196 34 204 19 196 35 205 18 196 36 205 17 196 37 207 16 196 38 208 15 196 39 208 14 196 40 209 13 196 41 211 12 196 42 213 11 196 43 213 10 196 44 216 9 196 45 217 8 196 46 219 7 196 47 219 6 196 48 220 5 196 49 221 4 196 50 221 3 196 51 224 2 196 52 226 1 196 53 227 0 196 54 228 0 196 55 228 0 196 55 230 0 196 56 230 0 196 56 231 0 196 56 231 255 195 0 238 254 195 0 238 254 195 0 235 254 195 0 234 253 195 0 231 252 195 0 231 251 195 0 230 250 195 0 228 249 195 0 228 248 195 0 226 247 195 0 224 246 195 0 223 245 195 0 221 244 195 0 220 243 195 0 220 242 195 0 219 241 195 0 217 240 195 0 217 239 195 0 216 238 195 0 213 237 195 0 211 236 195 0 211 235 195 0 209 234 195 0 208 233 195 0 208 232 195 0 207 231 195 0 205 230 195 0 205 229 195 0 204 228 195 0 202 227 195 0 199 226 195 0 198 224 195 0 195 223 195 0 189 222 195 0 188 221 195 0 185 220 195 0 184 219 195 0 182 218 195 0 181 217 195 0 179 216 195 0 178 215 195 0 176 214 195 0 175 213 195 0 175 212 195 0 174 211 195 0 172 210 195 0 167 209 195 0 166 208 195 0 163 207 195 0 160 206 195 0 159 205 195 0 157 204 195 0 156 203 195 0 156 202 195 0 155 201 195 0 153 200 195 0 153 199 195 0 152 198 195 0 150 197 195 0 149 196 195 0 145 195 195 0 144 194 195 0 143 193 195 0 141 191 195 0 138 190 195 0 137 189 195 0 134 188 195 0 131 187 195 0 130 186 195 0 128 185 195 0 126 184 195 0 122 183 195 0 121 182 195 0 120 181 195 0 118 180 195 0 118 179 195 0 117 178 195 0 115 177 195 0 114 176 195 0 112 175 195 0 111 174 195 0 110 173 195 0 108 172 195 0 104 171 195 0 103 170 195 0 103 169 195 0 99 168 195 0 98 167 195 0 96 166 195 0 95 165 195 0 93 164 195 0 92 163 195 0 91 162 195 0 89 161 195 0 89 160 195 0 88 158 195 0 86 157 195 0 84 156 195 0 82 155 195 0 81 154 195 0 80 153 195 0 77 152 195 0 76 151 195 0 74 150 195 0 73 149 195 0 71 148 195 0 71 147 195 0 70 146 195 0 69 145 195 0 67 144 195 0 66 143 195 0 64 142 195 0 62 141 195 0 62 140 195 0 62 139 195 0 62 138 195 0 62 137 195 0 60 136 195 0 60 135 195 0 60 134 195 0 60 133 195 0 59 132 195 0 59 131 195 0 59 130 195 0 59 129 195 0 57 128 195 0 57 127 195 0 57 125 195 0 54 124 195 0 54 123 195 0 54 122 195 0 54 121 195 0 57 120 195 0 57 119 195 0 59 118 195 0 59 117 195 0 59 116 195 0 59 115 195 0 60 114 195 0 60 113 195 0 60 112 195 0 60 111 195 0 62 110 195 0 62 109 195 0 62 108 195 0 62 107 195 0 62 106 195 0 64 105 195 0 64 104 195 0 66 103 195 0 67 102 195 0 69 101 195 0 70 100 195 0 71 99 195 0 73 98 195 0 74 97 195 0 76 96 195 0 77 95 195 0 80 94 195 0 81 92 195 0 82 91 195 0 84 90 195 0 86 89 195 0 88 88 195 0 88 87 195 0 89 86 195 0 91 85 195 0 92 84 195 0 93 83 195 0 95 82 195 0 96 81 195 0 98 80 195 0 99 79 195 0 102 78 195 0 103 77 195 0 104 76 195 0 107 75 195 0 108 74 195 0 111 73 195 0 112 72 195 0 114 71 195 0 115 70 195 0 117 69 195 0 118 68 195 0 118 67 195 0 120 66 195 0 121 65 195 0 122 64 195 0 126 63 195 0 128 62 195 0 130 61 195 0 131 59 195 0 134 58 195 0 135 57 195 0 138 56 195 0 141 55 195 1 143 54 195 1 144 53 195 2 145 52 195 3 149 51 195 4 150 50 195 5 150 49 195 6 152 48 195 7 153 47 195 8 155 46 195 9 156 45 195 10 156 44 195 11 157 43 195 12 159 42 195 13 160 41 195 14 163 40 195 15 165 39 195 16 167 38 195 17 171 37 195 18 172 36 195 19 174 35 195 20 175 34 195 21 176 33 195 22 178 32 195 23 179 31 195 24 181 30 195 25 182 29 195 26 184 28 195 28 185 26 195 29 188 25 195 30 189 24 195 31 195 23 195 32 197 22 195 33 199 21 195 34 201 20 195 35 202 19 195 36 204 18 195 37 205 17 195 38 207 16 195 39 207 15 195 40 208 14 195 41 209 13 195 42 211 12 195 43 211 11 195 44 213 10 195 45 216 9 195 46 217 8 195 47 217 7 195 48 219 6 195 49 220 5 195 50 220 4 195 51 221 3 195 52 223 2 195 53 224 1 195 54 226 0 195 55 227 0 195 56 228 0 195 56 230 0 195 57 230 0 195 57 231 0 195 57 231 255 194 0 238 254 194 0 235 254 194 0 235 254 194 0 234 253 194 0 231 252 194 0 231 251 194 0 230 250 194 0 228 249 194 0 227 248 194 0 226 247 194 0 224 246 194 0 223 245 194 0 221 244 194 0 220 243 194 0 219 242 194 0 219 241 194 0 217 240 194 0 216 239 194 0 216 238 194 0 213 237 194 0 211 236 194 0 209 235 194 0 209 234 194 0 208 233 194 0 207 232 194 0 207 231 194 0 205 230 194 0 204 229 194 0 202 228 194 0 201 227 194 0 199 226 194 0 197 224 194 0 194 223 194 0 189 222 194 0 186 221 194 0 185 220 194 0 184 219 194 0 182 218 194 0 181 217 194 0 179 216 194 0 178 215 194 0 176 214 194 0 175 213 194 0 174 212 194 0 172 211 194 0 171 210 194 0 167 209 194 0 165 208 194 0 162 207 194 0 160 206 194 0 159 205 194 0 156 204 194 0 156 203 194 0 155 202 194 0 153 201 194 0 153 200 194 0 152 199 194 0 150 198 194 0 145 197 194 0 145 196 194 0 144 195 194 0 143 194 194 0 141 193 194 0 138 191 194 0 137 190 194 0 134 189 194 0 133 188 194 0 130 187 194 0 128 186 194 0 126 185 194 0 122 184 194 0 121 183 194 0 120 182 194 0 118 181 194 0 117 180 194 0 115 179 194 0 115 178 194 0 114 177 194 0 112 176 194 0 111 175 194 0 108 174 194 0 107 173 194 0 104 172 194 0 103 171 194 0 102 170 194 0 99 169 194 0 98 168 194 0 96 167 194 0 95 166 194 0 93 165 194 0 91 164 194 0 89 163 194 0 88 162 194 0 86 161 194 0 86 160 194 0 84 158 194 0 82 157 194 0 81 156 194 0 80 155 194 0 77 154 194 0 76 153 194 0 74 152 194 0 73 151 194 0 71 150 194 0 70 149 194 0 69 148 194 0 67 147 194 0 67 146 194 0 66 145 194 0 64 144 194 0 62 143 194 0 60 142 194 0 60 141 194 0 59 140 194 0 59 139 194 0 59 138 194 0 57 137 194 0 57 136 194 0 57 135 194 0 57 134 194 0 57 133 194 0 54 132 194 0 54 131 194 0 54 130 194 0 54 129 194 0 54 128 194 0 53 127 194 0 53 125 194 0 53 124 194 0 51 123 194 0 51 122 194 0 53 121 194 0 53 120 194 0 54 119 194 0 54 118 194 0 54 117 194 0 54 116 194 0 54 115 194 0 57 114 194 0 57 113 194 0 57 112 194 0 57 111 194 0 57 110 194 0 59 109 194 0 59 108 194 0 59 107 194 0 60 106 194 0 60 105 194 0 62 104 194 0 64 103 194 0 64 102 194 0 66 101 194 0 67 100 194 0 69 99 194 0 70 98 194 0 71 97 194 0 73 96 194 0 74 95 194 0 76 94 194 0 77 92 194 0 80 91 194 0 81 90 194 0 82 89 194 0 84 88 194 0 84 87 194 0 86 86 194 0 88 85 194 0 89 84 194 0 91 83 194 0 92 82 194 0 95 81 194 0 96 80 194 0 98 79 194 0 99 78 194 0 102 77 194 0 103 76 194 0 104 75 194 0 107 74 194 0 108 73 194 0 111 72 194 0 112 71 194 0 114 70 194 0 114 69 194 0 115 68 194 0 117 67 194 0 118 66 194 0 120 65 194 0 121 64 194 0 122 63 194 0 126 62 194 0 128 61 194 0 130 59 194 0 131 58 194 0 134 57 194 0 135 56 194 1 138 55 194 1 140 54 194 2 141 53 194 3 143 52 194 4 144 51 194 5 145 50 194 6 149 49 194 7 150 48 194 8 152 47 194 9 153 46 194 10 155 45 194 11 156 44 194 12 156 43 194 13 157 42 194 14 160 41 194 15 162 40 194 16 165 39 194 17 166 38 194 18 171 37 194 19 172 36 194 20 174 35 194 21 175 34 194 22 176 33 194 23 178 32 194 24 179 31 194 25 181 30 194 26 182 29 194 27 184 28 194 29 185 26 194 30 186 25 194 31 189 24 194 32 194 23 194 33 197 22 194 34 199 21 194 35 201 20 194 36 202 19 194 37 204 18 194 38 205 17 194 39 205 16 194 40 207 15 194 41 208 14 194 42 208 13 194 43 209 12 194 44 211 11 194 45 213 10 194 46 216 9 194 47 216 8 194 48 217 7 194 49 219 6 194 50 219 5 194 51 220 4 194 52 220 3 194 53 221 2 194 54 223 1 194 55 226 0 194 56 227 0 194 57 228 0 194 58 230 0 194 58 230 0 194 58 231 0 194 58 231 255 193 0 235 254 193 0 235 254 193 0 234 254 193 0 231 253 193 0 231 252 193 0 231 251 193 0 230 250 193 0 228 249 193 0 227 248 193 0 224 247 193 0 223 246 193 0 221 245 193 0 220 244 193 0 219 243 193 0 219 242 193 0 217 241 193 0 217 240 193 0 216 239 193 0 213 238 193 0 211 237 193 0 211 236 193 0 209 235 193 0 208 234 193 0 208 233 193 0 207 232 193 0 205 231 193 0 204 230 193 0 202 229 193 0 201 228 193 0 199 227 193 0 198 226 193 0 195 224 193 0 194 223 193 0 188 222 193 0 186 221 193 0 184 220 193 0 182 219 193 0 181 218 193 0 179 217 193 0 178 216 193 0 176 215 193 0 175 214 193 0 174 213 193 0 172 212 193 0 171 211 193 0 167 210 193 0 166 209 193 0 163 208 193 0 160 207 193 0 159 206 193 0 157 205 193 0 156 204 193 0 155 203 193 0 155 202 193 0 153 201 193 0 152 200 193 0 149 199 193 0 145 198 193 0 144 197 193 0 143 196 193 0 141 195 193 0 140 194 193 0 138 193 193 0 137 191 193 0 134 190 193 0 133 189 193 0 130 188 193 0 128 187 193 0 126 186 193 0 122 185 193 0 121 184 193 0 120 183 193 0 118 182 193 0 117 181 193 0 115 180 193 0 114 179 193 0 112 178 193 0 111 177 193 0 110 176 193 0 108 175 193 0 107 174 193 0 103 173 193 0 102 172 193 0 99 171 193 0 98 170 193 0 98 169 193 0 96 168 193 0 93 167 193 0 92 166 193 0 91 165 193 0 89 164 193 0 88 163 193 0 84 162 193 0 82 161 193 0 81 160 193 0 81 158 193 0 80 157 193 0 77 156 193 0 76 155 193 0 74 154 193 0 73 153 193 0 71 152 193 0 70 151 193 0 69 150 193 0 67 149 193 0 66 148 193 0 64 147 193 0 62 146 193 0 60 145 193 0 60 144 193 0 59 143 193 0 59 142 193 0 57 141 193 0 57 140 193 0 54 139 193 0 54 138 193 0 53 137 193 0 53 136 193 0 51 135 193 0 51 134 193 0 51 133 193 0 51 132 193 0 51 131 193 0 51 130 193 0 51 129 193 0 50 128 193 0 50 127 193 0 50 125 193 0 49 124 193 0 49 123 193 0 49 122 193 0 50 121 193 0 50 120 193 0 50 119 193 0 51 118 193 0 51 117 193 0 51 116 193 0 51 115 193 0 51 114 193 0 51 113 193 0 51 112 193 0 53 111 193 0 53 110 193 0 54 109 193 0 54 108 193 0 57 107 193 0 57 106 193 0 57 105 193 0 59 104 193 0 60 103 193 0 60 102 193 0 62 101 193 0 64 100 193 0 66 99 193 0 67 98 193 0 69 97 193 0 70 96 193 0 71 95 193 0 73 94 193 0 74 92 193 0 76 91 193 0 77 90 193 0 77 89 193 0 80 88 193 0 81 87 193 0 82 86 193 0 84 85 193 0 86 84 193 0 89 83 193 0 91 82 193 0 92 81 193 0 93 80 193 0 95 79 193 0 96 78 193 0 98 77 193 0 99 76 193 0 102 75 193 0 103 74 193 0 107 73 193 0 108 72 193 0 110 71 193 0 111 70 193 0 112 69 193 0 114 68 193 0 115 67 193 0 117 66 193 0 118 65 193 0 120 64 193 0 121 63 193 0 122 62 193 0 126 61 193 0 128 59 193 0 130 58 193 1 131 57 193 1 134 56 193 2 135 55 193 2 138 54 193 3 140 53 193 4 141 52 193 5 143 51 193 6 144 50 193 7 145 49 193 8 149 48 193 9 150 47 193 10 152 46 193 11 153 45 193 12 155 44 193 13 156 43 193 14 157 42 193 15 159 41 193 16 160 40 193 17 163 39 193 18 165 38 193 19 167 37 193 20 171 36 193 21 172 35 193 22 174 34 193 24 175 33 193 25 176 32 193 26 178 31 193 27 179 30 193 28 181 29 193 29 182 28 193 30 184 26 193 31 186 25 193 32 188 24 193 33 194 23 193 34 195 22 193 35 198 21 193 36 199 20 193 37 201 19 193 38 202 18 193 39 204 17 193 40 205 16 193 41 207 15 193 42 207 14 193 43 208 13 193 44 209 12 193 45 209 11 193 46 211 10 193 47 213 9 193 48 216 8 193 49 217 7 193 50 217 6 193 51 219 5 193 52 219 4 193 53 220 3 193 54 221 2 193 55 223 1 193 57 224 0 193 58 227 0 193 58 228 0 193 59 230 0 193 59 230 0 193 59 231 0 193 59 231 255 191 0 234 254 191 0 234 254 191 0 231 254 191 0 231 253 191 0 231 252 191 0 230 251 191 0 230 250 191 0 228 249 191 0 227 248 191 0 224 247 191 0 223 246 191 0 221 245 191 0 220 244 191 0 219 243 191 0 219 242 191 0 217 241 191 0 216 240 191 0 213 239 191 0 213 238 191 0 211 237 191 0 209 236 191 0 208 235 191 0 208 234 191 0 207 233 191 0 205 232 191 0 205 231 191 0 204 230 191 0 202 229 191 0 201 228 191 0 198 227 191 0 197 226 191 0 194 224 191 0 189 223 191 0 188 222 191 0 185 221 191 0 184 220 191 0 182 219 191 0 181 218 191 0 179 217 191 0 178 216 191 0 176 215 191 0 175 214 191 0 174 213 191 0 171 212 191 0 167 211 191 0 166 210 191 0 163 209 191 0 162 208 191 0 159 207 191 0 157 206 191 0 156 205 191 0 155 204 191 0 155 203 191 0 153 202 191 0 152 201 191 0 150 200 191 0 145 199 191 0 144 198 191 0 141 197 191 0 140 196 191 0 138 195 191 0 137 194 191 0 135 193 191 0 134 191 191 0 131 190 191 0 130 189 191 0 128 188 191 0 126 187 191 0 122 186 191 0 121 185 191 0 120 184 191 0 118 183 191 0 115 182 191 0 114 181 191 0 112 180 191 0 111 179 191 0 110 178 191 0 108 177 191 0 107 176 191 0 104 175 191 0 103 174 191 0 102 173 191 0 98 172 191 0 96 171 191 0 95 170 191 0 95 169 191 0 93 168 191 0 92 167 191 0 89 166 191 0 88 165 191 0 86 164 191 0 84 163 191 0 81 162 191 0 80 161 191 0 77 160 191 0 76 158 191 0 74 157 191 0 73 156 191 0 71 155 191 0 71 154 191 0 70 153 191 0 69 152 191 0 67 151 191 0 66 150 191 0 64 149 191 0 62 148 191 0 60 147 191 0 59 146 191 0 57 145 191 0 54 144 191 0 54 143 191 0 54 142 191 0 53 141 191 0 53 140 191 0 51 139 191 0 50 138 191 0 49 137 191 0 49 136 191 0 47 135 191 0 47 134 191 0 47 133 191 0 47 132 191 0 47 131 191 0 47 130 191 0 47 129 191 0 47 128 191 0 46 127 191 0 46 125 191 0 46 124 191 0 46 123 191 0 46 122 191 0 46 121 191 0 46 120 191 0 46 119 191 0 47 118 191 0 47 117 191 0 47 116 191 0 47 115 191 0 47 114 191 0 47 113 191 0 47 112 191 0 49 111 191 0 49 110 191 0 50 109 191 0 51 108 191 0 53 107 191 0 53 106 191 0 54 105 191 0 54 104 191 0 54 103 191 0 57 102 191 0 59 101 191 0 60 100 191 0 60 99 191 0 62 98 191 0 64 97 191 0 66 96 191 0 67 95 191 0 69 94 191 0 70 92 191 0 71 91 191 0 73 90 191 0 74 89 191 0 76 88 191 0 77 87 191 0 77 86 191 0 81 85 191 0 82 84 191 0 84 83 191 0 88 82 191 0 89 81 191 0 91 80 191 0 92 79 191 0 93 78 191 0 95 77 191 0 96 76 191 0 98 75 191 0 99 74 191 0 103 73 191 0 104 72 191 0 107 71 191 0 108 70 191 0 110 69 191 0 111 68 191 0 112 67 191 0 114 66 191 0 115 65 191 0 117 64 191 0 120 63 191 0 121 62 191 0 122 61 191 0 126 59 191 1 128 58 191 2 130 57 191 2 131 56 191 3 134 55 191 3 135 54 191 4 137 53 191 5 138 52 191 6 140 51 191 7 141 50 191 9 143 49 191 10 145 48 191 10 149 47 191 11 152 46 191 12 153 45 191 13 153 44 191 14 155 43 191 15 156 42 191 17 157 41 191 18 159 40 191 18 162 39 191 19 163 38 191 20 165 37 191 21 167 36 191 22 171 35 191 24 172 34 191 25 174 33 191 26 175 32 191 27 176 31 191 28 178 30 191 29 179 29 191 30 182 28 191 31 184 26 191 32 185 25 191 34 186 24 191 35 189 23 191 35 194 22 191 36 197 21 191 37 198 20 191 38 199 19 191 39 202 18 191 40 204 17 191 42 204 16 191 43 205 15 191 43 207 14 191 44 208 13 191 45 208 12 191 46 209 11 191 47 211 10 191 48 211 9 191 50 213 8 191 51 216 7 191 51 217 6 191 52 217 5 191 53 219 4 191 54 220 3 191 55 220 2 191 57 223 1 191 58 224 0 191 59 227 0 191 60 228 0 191 60 230 0 191 60 230 0 191 61 231 0 191 61 231 255 190 0 231 254 190 0 231 254 190 0 231 254 190 0 231 253 190 0 231 252 190 0 230 251 190 0 230 250 190 0 228 249 190 0 227 248 190 0 224 247 190 0 223 246 190 0 221 245 190 0 220 244 190 0 219 243 190 0 217 242 190 0 217 241 190 0 216 240 190 0 213 239 190 0 211 238 190 0 209 237 190 0 209 236 190 0 208 235 190 0 207 234 190 0 207 233 190 0 205 232 190 0 204 231 190 0 202 230 190 0 201 229 190 0 199 228 190 0 197 227 190 0 195 226 190 0 194 224 190 0 188 223 190 0 186 222 190 0 185 221 190 0 184 220 190 0 181 219 190 0 179 218 190 0 178 217 190 0 176 216 190 0 175 215 190 0 174 214 190 0 171 213 190 0 167 212 190 0 166 211 190 0 163 210 190 0 162 209 190 0 160 208 190 0 159 207 190 0 156 206 190 0 156 205 190 0 155 204 190 0 153 203 190 0 152 202 190 0 150 201 190 0 149 200 190 0 144 199 190 0 141 198 190 0 140 197 190 0 137 196 190 0 135 195 190 0 134 194 190 0 133 193 190 0 131 191 190 0 130 190 190 0 128 189 190 0 126 188 190 0 122 187 190 0 121 186 190 0 120 185 190 0 118 184 190 0 115 183 190 0 114 182 190 0 112 181 190 0 110 180 190 0 110 179 190 0 108 178 190 0 107 177 190 0 104 176 190 0 103 175 190 0 99 174 190 0 98 173 190 0 96 172 190 0 95 171 190 0 93 170 190 0 92 169 190 0 91 168 190 0 89 167 190 0 88 166 190 0 84 165 190 0 82 164 190 0 81 163 190 0 77 162 190 0 76 161 190 0 74 160 190 0 73 158 190 0 71 157 190 0 70 156 190 0 69 155 190 0 67 154 190 0 67 153 190 0 66 152 190 0 64 151 190 0 62 150 190 0 60 149 190 0 59 148 190 0 57 147 190 0 54 146 190 0 53 145 190 0 53 144 190 0 51 143 190 0 51 142 190 0 50 141 190 0 50 140 190 0 49 139 190 0 47 138 190 0 46 137 190 0 44 136 190 0 44 135 190 0 43 134 190 0 43 133 190 0 43 132 190 0 43 131 190 0 43 130 190 0 43 129 190 0 43 128 190 0 43 127 190 0 43 125 190 0 43 124 190 0 43 123 190 0 43 122 190 0 43 121 190 0 43 120 190 0 43 119 190 0 43 118 190 0 43 117 190 0 43 116 190 0 43 115 190 0 43 114 190 0 43 113 190 0 44 112 190 0 44 111 190 0 46 110 190 0 47 109 190 0 49 108 190 0 50 107 190 0 50 106 190 0 51 105 190 0 51 104 190 0 51 103 190 0 53 102 190 0 54 101 190 0 57 100 190 0 59 99 190 0 60 98 190 0 60 97 190 0 62 96 190 0 64 95 190 0 66 94 190 0 67 92 190 0 69 91 190 0 70 90 190 0 71 89 190 0 73 88 190 0 73 87 190 0 74 86 190 0 77 85 190 0 80 84 190 0 82 83 190 0 84 82 190 0 88 81 190 0 89 80 190 0 91 79 190 0 92 78 190 0 93 77 190 0 93 76 190 0 96 75 190 0 98 74 190 0 99 73 190 0 102 72 190 0 104 71 190 0 104 70 190 0 107 69 190 0 108 68 190 0 110 67 190 0 112 66 190 0 114 65 190 0 115 64 190 0 117 63 190 0 120 62 190 0 121 61 190 1 122 59 190 2 126 58 190 2 128 57 190 3 130 56 190 4 131 55 190 4 133 54 190 5 134 53 190 6 135 52 190 7 137 51 190 9 138 50 190 10 141 49 190 11 144 48 190 12 145 47 190 12 150 46 190 13 152 45 190 14 153 44 190 15 155 43 190 17 155 42 190 18 156 41 190 19 157 40 190 20 160 39 190 20 162 38 190 21 163 37 190 22 166 36 190 24 167 35 190 25 171 34 190 26 172 33 190 27 175 32 190 28 176 31 190 29 178 30 190 30 179 29 190 31 181 28 190 32 182 26 190 34 185 25 190 35 186 24 190 36 188 23 190 37 189 22 190 37 195 21 190 38 197 20 190 39 199 19 190 40 201 18 190 42 202 17 190 43 204 16 190 44 205 15 190 45 207 14 190 45 207 13 190 46 208 12 190 47 209 11 190 48 209 10 190 50 211 9 190 51 213 8 190 52 213 7 190 53 216 6 190 53 217 5 190 54 219 4 190 55 219 3 190 57 220 2 190 58 223 1 190 59 224 0 190 60 227 0 190 61 228 0 190 62 230 0 190 62 230 0 190 62 231 0 190 62 231 255 189 0 231 254 189 0 231 254 189 0 231 254 189 0 231 253 189 0 230 252 189 0 230 251 189 0 230 250 189 0 228 249 189 0 227 248 189 0 224 247 189 0 223 246 189 0 221 245 189 0 220 244 189 0 219 243 189 0 217 242 189 0 216 241 189 0 213 240 189 0 213 239 189 0 211 238 189 0 209 237 189 0 208 236 189 0 208 235 189 0 207 234 189 0 205 233 189 0 205 232 189 0 204 231 189 0 202 230 189 0 201 229 189 0 198 228 189 0 197 227 189 0 194 226 189 0 189 224 189 0 186 223 189 0 185 222 189 0 184 221 189 0 182 220 189 0 181 219 189 0 179 218 189 0 176 217 189 0 175 216 189 0 174 215 189 0 172 214 189 0 167 213 189 0 166 212 189 0 165 211 189 0 162 210 189 0 160 209 189 0 159 208 189 0 157 207 189 0 156 206 189 0 155 205 189 0 153 204 189 0 152 203 189 0 150 202 189 0 149 201 189 0 145 200 189 0 143 199 189 0 140 198 189 0 137 197 189 0 135 196 189 0 134 195 189 0 133 194 189 0 131 193 189 0 130 191 189 0 128 190 189 0 126 189 189 0 122 188 189 0 121 187 189 0 120 186 189 0 118 185 189 0 115 184 189 0 114 183 189 0 112 182 189 0 110 181 189 0 108 180 189 0 107 179 189 0 104 178 189 0 103 177 189 0 102 176 189 0 99 175 189 0 98 174 189 0 95 173 189 0 93 172 189 0 92 171 189 0 91 170 189 0 91 169 189 0 89 168 189 0 88 167 189 0 84 166 189 0 82 165 189 0 80 164 189 0 77 163 189 0 74 162 189 0 73 161 189 0 71 160 189 0 70 158 189 0 69 157 189 0 67 156 189 0 66 155 189 0 66 154 189 0 64 153 189 0 62 152 189 0 60 151 189 0 59 150 189 0 57 149 189 0 54 148 189 0 53 147 189 0 51 146 189 0 51 145 189 0 50 144 189 0 49 143 189 0 49 142 189 0 47 141 189 0 47 140 189 0 46 139 189 0 44 138 189 0 43 137 189 0 40 136 189 0 40 135 189 0 39 134 189 0 39 133 189 0 39 132 189 0 39 131 189 0 39 130 189 0 39 129 189 0 39 128 189 0 39 127 189 0 39 125 189 0 39 124 189 0 39 123 189 0 39 122 189 0 39 121 189 0 39 120 189 0 39 119 189 0 39 118 189 0 39 117 189 0 39 116 189 0 39 115 189 0 39 114 189 0 39 113 189 0 40 112 189 0 40 111 189 0 43 110 189 0 44 109 189 0 46 108 189 0 47 107 189 0 47 106 189 0 49 105 189 0 49 104 189 0 50 103 189 0 50 102 189 0 51 101 189 0 53 100 189 0 54 99 189 0 57 98 189 0 59 97 189 0 60 96 189 0 62 95 189 0 62 94 189 0 64 92 189 0 66 91 189 0 67 90 189 0 69 89 189 0 70 88 189 0 71 87 189 0 73 86 189 0 74 85 189 0 77 84 189 0 80 83 189 0 82 82 189 0 84 81 189 0 86 80 189 0 89 79 189 0 91 78 189 0 91 77 189 0 92 76 189 0 93 75 189 0 95 74 189 0 96 73 189 0 99 72 189 0 102 71 189 0 103 70 189 0 104 69 189 0 107 68 189 0 108 67 189 0 110 66 189 0 112 65 189 0 114 64 189 0 115 63 189 0 118 62 189 0 120 61 189 1 121 59 189 2 122 58 189 3 126 57 189 4 128 56 189 5 130 55 189 5 131 54 189 6 131 53 189 7 134 52 189 8 135 51 189 10 137 50 189 11 140 49 189 12 143 48 189 13 145 47 189 13 149 46 189 14 150 45 189 15 152 44 189 16 153 43 189 18 155 42 189 19 156 41 189 20 157 40 189 21 159 39 189 21 160 38 189 22 162 37 189 23 163 36 189 25 166 35 189 26 167 34 189 27 171 33 189 28 174 32 189 29 175 31 189 30 176 30 189 31 179 29 189 32 181 28 189 33 182 26 189 35 184 25 189 36 185 24 189 37 186 23 189 38 188 22 189 38 194 21 189 39 195 20 189 40 198 19 189 41 201 18 189 43 202 17 189 44 204 16 189 45 205 15 189 46 205 14 189 46 207 13 189 47 208 12 189 48 208 11 189 49 209 10 189 51 211 9 189 52 211 8 189 53 213 7 189 54 216 6 189 54 217 5 189 55 217 4 189 56 219 3 189 58 220 2 189 59 221 1 189 60 224 0 189 61 226 0 189 62 228 0 189 63 230 0 189 63 230 0 189 63 230 0 189 63 230 255 188 0 231 254 188 0 231 254 188 0 230 254 188 0 230 253 188 0 230 252 188 0 230 251 188 0 228 250 188 0 227 249 188 0 226 248 188 0 224 247 188 0 221 246 188 0 220 245 188 0 219 244 188 0 219 243 188 0 217 242 188 0 216 241 188 0 213 240 188 0 211 239 188 0 211 238 188 0 209 237 188 0 208 236 188 0 208 235 188 0 207 234 188 0 205 233 188 0 204 232 188 0 202 231 188 0 201 230 188 0 199 229 188 0 198 228 188 0 195 227 188 0 189 226 188 0 188 224 188 0 185 223 188 0 184 222 188 0 184 221 188 0 181 220 188 0 179 219 188 0 178 218 188 0 176 217 188 0 174 216 188 0 172 215 188 0 167 214 188 0 166 213 188 0 165 212 188 0 162 211 188 0 160 210 188 0 159 209 188 0 157 208 188 0 156 207 188 0 155 206 188 0 153 205 188 0 152 204 188 0 150 203 188 0 149 202 188 0 145 201 188 0 144 200 188 0 141 199 188 0 138 198 188 0 135 197 188 0 134 196 188 0 131 195 188 0 130 194 188 0 128 193 188 0 128 191 188 0 126 190 188 0 122 189 188 0 121 188 188 0 120 187 188 0 118 186 188 0 115 185 188 0 114 184 188 0 111 183 188 0 110 182 188 0 108 181 188 0 107 180 188 0 104 179 188 0 103 178 188 0 102 177 188 0 99 176 188 0 96 175 188 0 95 174 188 0 93 173 188 0 92 172 188 0 91 171 188 0 89 170 188 0 88 169 188 0 86 168 188 0 84 167 188 0 82 166 188 0 80 165 188 0 76 164 188 0 74 163 188 0 73 162 188 0 70 161 188 0 69 160 188 0 67 158 188 0 66 157 188 0 64 156 188 0 64 155 188 0 62 154 188 0 60 153 188 0 59 152 188 0 57 151 188 0 54 150 188 0 54 149 188 0 53 148 188 0 51 147 188 0 50 146 188 0 49 145 188 0 47 144 188 0 46 143 188 0 46 142 188 0 44 141 188 0 43 140 188 0 43 139 188 0 40 138 188 0 39 137 188 0 39 136 188 0 38 135 188 0 36 134 188 0 36 133 188 0 36 132 188 0 36 131 188 0 36 130 188 0 36 129 188 0 36 128 188 0 36 127 188 0 36 125 188 0 36 124 188 0 36 123 188 0 36 122 188 0 36 121 188 0 36 120 188 0 36 119 188 0 36 118 188 0 36 117 188 0 36 116 188 0 36 115 188 0 36 114 188 0 36 113 188 0 38 112 188 0 38 111 188 0 39 110 188 0 40 109 188 0 43 108 188 0 43 107 188 0 44 106 188 0 44 105 188 0 46 104 188 0 47 103 188 0 49 102 188 0 50 101 188 0 51 100 188 0 51 99 188 0 53 98 188 0 54 97 188 0 57 96 188 0 59 95 188 0 60 94 188 0 62 92 188 0 62 91 188 0 64 90 188 0 66 89 188 0 67 88 188 0 69 87 188 0 70 86 188 0 71 85 188 0 74 84 188 0 76 83 188 0 80 82 188 0 81 81 188 0 84 80 188 0 86 79 188 0 88 78 188 0 89 77 188 0 91 76 188 0 92 75 188 0 93 74 188 0 95 73 188 0 96 72 188 0 98 71 188 0 99 70 188 0 103 69 188 0 104 68 188 0 107 67 188 0 108 66 188 0 110 65 188 0 111 64 188 0 114 63 188 0 115 62 188 1 117 61 188 2 120 59 188 3 121 58 188 4 122 57 188 5 126 56 188 6 126 55 188 6 128 54 188 7 130 53 188 8 131 52 188 9 134 51 188 10 135 50 188 12 138 49 188 13 141 48 188 14 144 47 188 14 145 46 188 15 149 45 188 16 150 44 188 17 152 43 188 18 153 42 188 20 155 41 188 21 156 40 188 22 157 39 188 22 159 38 188 23 160 37 188 24 162 36 188 26 163 35 188 27 166 34 188 28 167 33 188 29 172 32 188 30 174 31 188 31 175 30 188 32 178 29 188 33 179 28 188 34 181 26 188 35 182 25 188 37 184 24 188 38 185 23 188 39 186 22 188 39 189 21 188 40 194 20 188 41 197 19 188 42 199 18 188 43 201 17 188 45 202 16 188 46 204 15 188 47 205 14 188 47 207 13 188 48 207 12 188 49 208 11 188 50 209 10 188 51 209 9 188 53 211 8 188 54 213 7 188 55 216 6 188 55 216 5 188 56 217 4 188 57 219 3 188 59 220 2 188 60 221 1 188 61 224 0 188 62 226 0 188 63 227 0 188 64 228 0 188 64 230 0 188 64 230 0 188 64 230 255 187 0 231 254 187 0 231 254 187 0 230 254 187 0 230 253 187 0 230 252 187 0 230 251 187 0 228 250 187 0 227 249 187 0 226 248 187 0 223 247 187 0 221 246 187 0 220 245 187 0 219 244 187 0 217 243 187 0 216 242 187 0 216 241 187 0 213 240 187 0 211 239 187 0 209 238 187 0 209 237 187 0 208 236 187 0 207 235 187 0 205 234 187 0 205 233 187 0 204 232 187 0 202 231 187 0 201 230 187 0 199 229 187 0 197 228 187 0 194 227 187 0 189 226 187 0 186 224 187 0 185 223 187 0 184 222 187 0 182 221 187 0 181 220 187 0 179 219 187 0 176 218 187 0 175 217 187 0 172 216 187 0 171 215 187 0 166 214 187 0 165 213 187 0 163 212 187 0 160 211 187 0 159 210 187 0 157 209 187 0 156 208 187 0 155 207 187 0 153 206 187 0 152 205 187 0 150 204 187 0 149 203 187 0 149 202 187 0 144 201 187 0 143 200 187 0 140 199 187 0 137 198 187 0 134 197 187 0 133 196 187 0 130 195 187 0 128 194 187 0 126 193 187 0 126 191 187 0 122 190 187 0 121 189 187 0 120 188 187 0 118 187 187 0 115 186 187 0 114 185 187 0 111 184 187 0 110 183 187 0 108 182 187 0 107 181 187 0 104 180 187 0 103 179 187 0 102 178 187 0 98 177 187 0 96 176 187 0 95 175 187 0 93 174 187 0 92 173 187 0 91 172 187 0 89 171 187 0 88 170 187 0 86 169 187 0 84 168 187 0 81 167 187 0 80 166 187 0 76 165 187 0 74 164 187 0 73 163 187 0 70 162 187 0 69 161 187 0 67 160 187 0 66 158 187 0 64 157 187 0 62 156 187 0 60 155 187 0 60 154 187 0 59 153 187 0 57 152 187 0 54 151 187 0 53 150 187 0 51 149 187 0 50 148 187 0 49 147 187 0 47 146 187 0 46 145 187 0 44 144 187 0 43 143 187 0 43 142 187 0 40 141 187 0 40 140 187 0 39 139 187 0 38 138 187 0 38 137 187 0 36 136 187 0 35 135 187 0 35 134 187 0 32 133 187 0 32 132 187 0 32 131 187 0 32 130 187 0 32 129 187 0 32 128 187 0 32 127 187 0 32 125 187 0 32 124 187 0 32 123 187 0 32 122 187 0 32 121 187 0 32 120 187 0 32 119 187 0 32 118 187 0 32 117 187 0 32 116 187 0 32 115 187 0 32 114 187 0 35 113 187 0 35 112 187 0 36 111 187 0 38 110 187 0 38 109 187 0 39 108 187 0 40 107 187 0 40 106 187 0 43 105 187 0 43 104 187 0 44 103 187 0 46 102 187 0 47 101 187 0 49 100 187 0 50 99 187 0 51 98 187 0 53 97 187 0 54 96 187 0 57 95 187 0 57 94 187 0 59 92 187 0 60 91 187 0 62 90 187 0 64 89 187 0 66 88 187 0 67 87 187 0 69 86 187 0 70 85 187 0 71 84 187 0 73 83 187 0 76 82 187 0 80 81 187 0 81 80 187 0 84 79 187 0 86 78 187 0 88 77 187 0 89 76 187 0 91 75 187 0 92 74 187 0 93 73 187 0 95 72 187 0 96 71 187 0 98 70 187 0 99 69 187 0 102 68 187 0 103 67 187 0 107 66 187 0 108 65 187 0 110 64 187 0 111 63 187 1 114 62 187 1 115 61 187 2 117 59 187 3 120 58 187 4 121 57 187 5 122 56 187 6 122 55 187 7 126 54 187 8 128 53 187 9 130 52 187 10 133 51 187 11 134 50 187 12 137 49 187 13 140 48 187 14 143 47 187 15 144 46 187 16 145 45 187 17 149 44 187 18 150 43 187 19 152 42 187 20 153 41 187 21 155 40 187 22 156 39 187 23 157 38 187 24 159 37 187 25 160 36 187 27 162 35 187 28 163 34 187 29 166 33 187 30 167 32 187 31 172 31 187 32 174 30 187 33 176 29 187 34 178 28 187 35 179 26 187 36 182 25 187 37 184 24 187 38 185 23 187 39 186 22 187 40 188 21 187 41 194 20 187 42 197 19 187 43 198 18 187 44 201 17 187 45 202 16 187 46 204 15 187 47 205 14 187 48 205 13 187 49 207 12 187 50 208 11 187 51 208 10 187 52 209 9 187 53 211 8 187 54 211 7 187 55 213 6 187 56 216 5 187 57 217 4 187 58 219 3 187 60 220 2 187 61 221 1 187 62 223 0 187 63 226 0 187 64 227 0 187 64 228 0 187 65 230 0 187 65 230 0 187 65 230 255 186 0 231 254 186 0 231 254 186 0 230 254 186 0 230 253 186 0 230 252 186 0 228 251 186 0 227 250 186 0 226 249 186 0 224 248 186 0 223 247 186 0 220 246 186 0 220 245 186 0 219 244 186 0 217 243 186 0 216 242 186 0 213 241 186 0 211 240 186 0 211 239 186 0 209 238 186 0 208 237 186 0 207 236 186 0 207 235 186 0 205 234 186 0 204 233 186 0 202 232 186 0 201 231 186 0 199 230 186 0 198 229 186 0 195 228 186 0 194 227 186 0 188 226 186 0 186 224 186 0 184 223 186 0 182 222 186 0 181 221 186 0 179 220 186 0 178 219 186 0 175 218 186 0 174 217 186 0 171 216 186 0 167 215 186 0 165 214 186 0 163 213 186 0 162 212 186 0 159 211 186 0 157 210 186 0 157 209 186 0 156 208 186 0 155 207 186 0 153 206 186 0 152 205 186 0 150 204 186 0 149 203 186 0 145 202 186 0 143 201 186 0 141 200 186 0 138 199 186 0 135 198 186 0 133 197 186 0 131 196 186 0 130 195 186 0 128 194 186 0 126 193 186 0 122 191 186 0 121 190 186 0 120 189 186 0 118 188 186 0 115 187 186 0 114 186 186 0 112 185 186 0 110 184 186 0 108 183 186 0 107 182 186 0 104 181 186 0 103 180 186 0 102 179 186 0 98 178 186 0 96 177 186 0 95 176 186 0 93 175 186 0 92 174 186 0 91 173 186 0 89 172 186 0 88 171 186 0 86 170 186 0 84 169 186 0 82 168 186 0 80 167 186 0 77 166 186 0 74 165 186 0 73 164 186 0 70 163 186 0 69 162 186 0 67 161 186 0 66 160 186 0 64 158 186 0 62 157 186 0 60 156 186 0 59 155 186 0 57 154 186 0 54 153 186 0 54 152 186 0 51 151 186 0 50 150 186 0 50 149 186 0 49 148 186 0 47 147 186 0 46 146 186 0 44 145 186 0 43 144 186 0 40 143 186 0 39 142 186 0 38 141 186 0 38 140 186 0 38 139 186 0 36 138 186 0 35 137 186 0 35 136 186 0 32 135 186 0 31 134 186 0 31 133 186 0 31 132 186 0 31 131 186 0 31 130 186 0 31 129 186 0 31 128 186 0 31 127 186 0 31 125 186 0 31 124 186 0 31 123 186 0 31 122 186 0 31 121 186 0 31 120 186 0 31 119 186 0 31 118 186 0 31 117 186 0 31 116 186 0 31 115 186 0 31 114 186 0 31 113 186 0 32 112 186 0 32 111 186 0 35 110 186 0 36 109 186 0 36 108 186 0 38 107 186 0 38 106 186 0 39 105 186 0 40 104 186 0 40 103 186 0 43 102 186 0 46 101 186 0 47 100 186 0 47 99 186 0 49 98 186 0 50 97 186 0 51 96 186 0 53 95 186 0 54 94 186 0 57 92 186 0 59 91 186 0 60 90 186 0 62 89 186 0 64 88 186 0 66 87 186 0 67 86 186 0 69 85 186 0 70 84 186 0 71 83 186 0 74 82 186 0 76 81 186 0 80 80 186 0 81 79 186 0 84 78 186 0 86 77 186 0 88 76 186 0 89 75 186 0 91 74 186 0 92 73 186 0 93 72 186 0 95 71 186 0 96 70 186 0 98 69 186 0 99 68 186 0 102 67 186 0 103 66 186 0 107 65 186 0 108 64 186 1 110 63 186 1 112 62 186 2 114 61 186 3 115 59 186 4 118 58 186 5 120 57 186 6 121 56 186 7 122 55 186 8 126 54 186 9 126 53 186 10 128 52 186 11 131 51 186 12 133 50 186 13 135 49 186 14 138 48 186 15 140 47 186 16 143 46 186 17 144 45 186 18 145 44 186 19 149 43 186 20 150 42 186 21 152 41 186 22 153 40 186 23 155 39 186 24 156 38 186 25 157 37 186 26 159 36 186 28 160 35 186 29 162 34 186 30 165 33 186 31 166 32 186 32 171 31 186 33 172 30 186 34 175 29 186 35 176 28 186 36 179 26 186 37 181 25 186 38 182 24 186 39 184 23 186 40 185 22 186 41 188 21 186 42 189 20 186 43 195 19 186 44 198 18 186 45 199 17 186 46 201 16 186 47 202 15 186 48 204 14 186 49 205 13 186 50 207 12 186 51 207 11 186 52 208 10 186 53 209 9 186 54 209 8 186 55 211 7 186 56 213 6 186 57 216 5 186 58 216 4 186 59 217 3 186 61 219 2 186 62 220 1 186 63 223 0 186 64 224 0 186 65 226 0 186 65 227 0 186 66 228 0 186 66 230 0 186 66 230 255 185 0 231 254 185 0 231 254 185 0 230 254 185 0 230 253 185 0 228 252 185 0 228 251 185 0 226 250 185 0 224 249 185 0 223 248 185 0 221 247 185 0 220 246 185 0 219 245 185 0 217 244 185 0 216 243 185 0 213 242 185 0 213 241 185 0 211 240 185 0 209 239 185 0 208 238 185 0 208 237 185 0 207 236 185 0 205 235 185 0 205 234 185 0 204 233 185 0 202 232 185 0 201 231 185 0 198 230 185 0 197 229 185 0 194 228 185 0 189 227 185 0 188 226 185 0 185 224 185 0 184 223 185 0 182 222 185 0 181 221 185 0 178 220 185 0 176 219 185 0 174 218 185 0 172 217 185 0 167 216 185 0 165 215 185 0 163 214 185 0 160 213 185 0 159 212 185 0 159 211 185 0 157 210 185 0 156 209 185 0 155 208 185 0 153 207 185 0 152 206 185 0 150 205 185 0 149 204 185 0 145 203 185 0 143 202 185 0 141 201 185 0 138 200 185 0 137 199 185 0 134 198 185 0 131 197 185 0 130 196 185 0 128 195 185 0 126 194 185 0 122 193 185 0 121 191 185 0 120 190 185 0 118 189 185 0 115 188 185 0 114 187 185 0 111 186 185 0 110 185 185 0 108 184 185 0 107 183 185 0 104 182 185 0 103 181 185 0 99 180 185 0 98 179 185 0 96 178 185 0 95 177 185 0 93 176 185 0 92 175 185 0 91 174 185 0 89 173 185 0 88 172 185 0 86 171 185 0 84 170 185 0 82 169 185 0 80 168 185 0 77 167 185 0 74 166 185 0 73 165 185 0 70 164 185 0 69 163 185 0 67 162 185 0 66 161 185 0 64 160 185 0 60 158 185 0 59 157 185 0 57 156 185 0 54 155 185 0 54 154 185 0 53 153 185 0 51 152 185 0 50 151 185 0 49 150 185 0 47 149 185 0 46 148 185 0 44 147 185 0 43 146 185 0 40 145 185 0 39 144 185 0 38 143 185 0 36 142 185 0 36 141 185 0 35 140 185 0 35 139 185 0 32 138 185 0 32 137 185 0 31 136 185 0 29 135 185 0 29 134 185 0 29 133 185 0 29 132 185 0 29 131 185 0 29 130 185 0 29 129 185 0 29 128 185 0 29 127 185 0 29 125 185 0 29 124 185 0 29 123 185 0 29 122 185 0 29 121 185 0 29 120 185 0 29 119 185 0 29 118 185 0 29 117 185 0 29 116 185 0 29 115 185 0 29 114 185 0 29 113 185 0 29 112 185 0 31 111 185 0 31 110 185 0 32 109 185 0 35 108 185 0 35 107 185 0 36 106 185 0 36 105 185 0 38 104 185 0 39 103 185 0 40 102 185 0 43 101 185 0 44 100 185 0 46 99 185 0 46 98 185 0 47 97 185 0 49 96 185 0 51 95 185 0 53 94 185 0 53 92 185 0 54 91 185 0 57 90 185 0 59 89 185 0 60 88 185 0 62 87 185 0 64 86 185 0 67 85 185 0 69 84 185 0 70 83 185 0 71 82 185 0 74 81 185 0 76 80 185 0 80 79 185 0 81 78 185 0 84 77 185 0 86 76 185 0 88 75 185 0 89 74 185 0 91 73 185 0 92 72 185 0 93 71 185 0 95 70 185 0 96 69 185 0 98 68 185 0 99 67 185 0 102 66 185 0 103 65 185 1 107 64 185 1 108 63 185 2 110 62 185 3 111 61 185 4 114 59 185 5 115 58 185 6 118 57 185 7 120 56 185 8 121 55 185 9 122 54 185 10 126 53 185 11 128 52 185 12 130 51 185 13 131 50 185 14 134 49 185 15 135 48 185 16 138 47 185 17 141 46 185 18 143 45 185 19 144 44 185 20 149 43 185 21 150 42 185 22 152 41 185 23 153 40 185 24 155 39 185 25 156 38 185 26 157 37 185 27 157 36 185 29 159 35 185 30 160 34 185 31 162 33 185 32 165 32 185 33 166 31 185 34 171 30 185 35 174 29 185 36 176 28 185 37 178 26 185 38 179 25 185 39 182 24 185 40 184 23 185 41 185 22 185 42 186 21 185 43 189 20 185 44 194 19 185 45 197 18 185 46 198 17 185 47 199 16 185 48 202 15 185 49 204 14 185 50 204 13 185 51 205 12 185 52 207 11 185 53 208 10 185 54 208 9 185 55 209 8 185 56 211 7 185 57 211 6 185 58 213 5 185 59 216 4 185 60 217 3 185 62 219 2 185 63 220 1 185 64 221 0 185 65 223 0 185 66 224 0 185 66 226 0 185 66 227 0 185 67 228 0 185 67 230 255 184 0 231 254 184 0 231 254 184 0 230 254 184 0 230 253 184 0 228 252 184 0 227 251 184 0 226 250 184 0 224 249 184 0 221 248 184 0 220 247 184 0 219 246 184 0 217 245 184 0 217 244 184 0 216 243 184 0 213 242 184 0 211 241 184 0 209 240 184 0 209 239 184 0 208 238 184 0 207 237 184 0 207 236 184 0 205 235 184 0 204 234 184 0 202 233 184 0 201 232 184 0 199 231 184 0 197 230 184 0 195 229 184 0 194 228 184 0 188 227 184 0 186 226 184 0 185 224 184 0 184 223 184 0 181 222 184 0 179 221 184 0 178 220 184 0 175 219 184 0 172 218 184 0 167 217 184 0 166 216 184 0 163 215 184 0 162 214 184 0 159 213 184 0 159 212 184 0 157 211 184 0 156 210 184 0 155 209 184 0 153 208 184 0 152 207 184 0 150 206 184 0 149 205 184 0 145 204 184 0 143 203 184 0 141 202 184 0 140 201 184 0 137 200 184 0 135 199 184 0 133 198 184 0 130 197 184 0 128 196 184 0 126 195 184 0 122 194 184 0 121 193 184 0 120 191 184 0 118 190 184 0 115 189 184 0 114 188 184 0 111 187 184 0 110 186 184 0 108 185 184 0 107 184 184 0 104 183 184 0 103 182 184 0 99 181 184 0 98 180 184 0 96 179 184 0 95 178 184 0 93 177 184 0 92 176 184 0 91 175 184 0 89 174 184 0 88 173 184 0 86 172 184 0 84 171 184 0 81 170 184 0 80 169 184 0 77 168 184 0 74 167 184 0 73 166 184 0 70 165 184 0 69 164 184 0 67 163 184 0 66 162 184 0 62 161 184 0 60 160 184 0 59 158 184 0 54 157 184 0 54 156 184 0 53 155 184 0 51 154 184 0 50 153 184 0 49 152 184 0 47 151 184 0 46 150 184 0 44 149 184 0 43 148 184 0 40 147 184 0 39 146 184 0 38 145 184 0 36 144 184 0 35 143 184 0 35 142 184 0 32 141 184 0 32 140 184 0 31 139 184 0 31 138 184 0 29 137 184 0 28 136 184 0 28 135 184 0 27 134 184 0 27 133 184 0 27 132 184 0 27 131 184 0 27 130 184 0 27 129 184 0 27 128 184 0 27 127 184 0 27 125 184 0 27 124 184 0 27 123 184 0 27 122 184 0 27 121 184 0 27 120 184 0 27 119 184 0 27 118 184 0 27 117 184 0 27 116 184 0 27 115 184 0 27 114 184 0 27 113 184 0 28 112 184 0 28 111 184 0 29 110 184 0 31 109 184 0 31 108 184 0 32 107 184 0 32 106 184 0 35 105 184 0 35 104 184 0 36 103 184 0 38 102 184 0 39 101 184 0 40 100 184 0 43 99 184 0 44 98 184 0 44 97 184 0 46 96 184 0 49 95 184 0 50 94 184 0 51 92 184 0 53 91 184 0 53 90 184 0 54 89 184 0 59 88 184 0 60 87 184 0 62 86 184 0 64 85 184 0 67 84 184 0 69 83 184 0 70 82 184 0 71 81 184 0 73 80 184 0 76 79 184 0 80 78 184 0 81 77 184 0 84 76 184 0 86 75 184 0 88 74 184 0 89 73 184 0 91 72 184 0 92 71 184 0 93 70 184 0 95 69 184 0 96 68 184 0 98 67 184 1 99 66 184 1 102 65 184 2 103 64 184 2 107 63 184 3 108 62 184 4 110 61 184 5 111 59 184 6 114 58 184 7 115 57 184 8 117 56 184 9 120 55 184 10 121 54 184 11 122 53 184 12 126 52 184 13 128 51 184 14 130 50 184 15 133 49 184 16 134 48 184 17 137 47 184 18 138 46 184 19 141 45 184 20 143 44 184 21 144 43 184 22 149 42 184 24 150 41 184 25 152 40 184 26 153 39 184 27 155 38 184 28 156 37 184 29 157 36 184 30 157 35 184 31 159 34 184 32 160 33 184 33 163 32 184 34 165 31 184 35 167 30 184 36 172 29 184 37 175 28 184 38 176 26 184 39 179 25 184 40 181 24 184 41 182 23 184 42 185 22 184 43 186 21 184 44 188 20 184 45 189 19 184 46 195 18 184 47 197 17 184 48 198 16 184 49 201 15 184 50 202 14 184 51 204 13 184 52 205 12 184 53 207 11 184 54 207 10 184 55 208 9 184 57 209 8 184 58 209 7 184 59 211 6 184 60 213 5 184 61 213 4 184 62 216 3 184 63 217 2 184 64 219 1 184 65 220 0 184 66 221 0 184 67 223 0 184 67 226 0 184 68 227 0 184 68 228 0 184 68 230 255 183 0 231 254 183 0 231 254 183 0 230 254 183 0 230 253 183 0 228 252 183 0 227 251 183 0 224 250 183 0 223 249 183 0 221 248 183 0 220 247 183 0 219 246 183 0 217 245 183 0 216 244 183 0 213 243 183 0 213 242 183 0 211 241 183 0 209 240 183 0 209 239 183 0 208 238 183 0 207 237 183 0 205 236 183 0 205 235 183 0 204 234 183 0 202 233 183 0 201 232 183 0 198 231 183 0 197 230 183 0 194 229 183 0 189 228 183 0 186 227 183 0 185 226 183 0 184 224 183 0 182 223 183 0 181 222 183 0 179 221 183 0 176 220 183 0 174 219 183 0 172 218 183 0 166 217 183 0 165 216 183 0 162 215 183 0 160 214 183 0 159 213 183 0 157 212 183 0 156 211 183 0 156 210 183 0 155 209 183 0 153 208 183 0 150 207 183 0 149 206 183 0 145 205 183 0 143 204 183 0 141 203 183 0 140 202 183 0 137 201 183 0 135 200 183 0 133 199 183 0 131 198 183 0 128 197 183 0 126 196 183 0 122 195 183 0 121 194 183 0 120 193 183 0 118 191 183 0 115 190 183 0 114 189 183 0 112 188 183 0 110 187 183 0 108 186 183 0 107 185 183 0 104 184 183 0 103 183 183 0 102 182 183 0 98 181 183 0 96 180 183 0 95 179 183 0 93 178 183 0 92 177 183 0 91 176 183 0 89 175 183 0 88 174 183 0 86 173 183 0 84 172 183 0 82 171 183 0 80 170 183 0 77 169 183 0 74 168 183 0 73 167 183 0 71 166 183 0 69 165 183 0 67 164 183 0 66 163 183 0 64 162 183 0 60 161 183 0 59 160 183 0 54 158 183 0 53 157 183 0 51 156 183 0 50 155 183 0 49 154 183 0 47 153 183 0 46 152 183 0 44 151 183 0 43 150 183 0 40 149 183 0 39 148 183 0 38 147 183 0 38 146 183 0 36 145 183 0 35 144 183 0 32 143 183 0 31 142 183 0 31 141 183 0 29 140 183 0 29 139 183 0 28 138 183 0 28 137 183 0 27 136 183 0 25 135 183 0 25 134 183 0 25 133 183 0 25 132 183 0 25 131 183 0 25 130 183 0 25 129 183 0 25 128 183 0 25 127 183 0 25 125 183 0 25 124 183 0 25 123 183 0 25 122 183 0 25 121 183 0 25 120 183 0 25 119 183 0 25 118 183 0 25 117 183 0 25 116 183 0 25 115 183 0 25 114 183 0 25 113 183 0 25 112 183 0 27 111 183 0 28 110 183 0 28 109 183 0 29 108 183 0 29 107 183 0 31 106 183 0 31 105 183 0 32 104 183 0 35 103 183 0 36 102 183 0 36 101 183 0 38 100 183 0 39 99 183 0 40 98 183 0 43 97 183 0 44 96 183 0 46 95 183 0 47 94 183 0 49 92 183 0 50 91 183 0 51 90 183 0 53 89 183 0 54 88 183 0 57 87 183 0 60 86 183 0 62 85 183 0 64 84 183 0 67 83 183 0 69 82 183 0 70 81 183 0 71 80 183 0 74 79 183 0 76 78 183 0 80 77 183 0 81 76 183 0 84 75 183 0 86 74 183 0 88 73 183 0 89 72 183 0 91 71 183 0 92 70 183 0 93 69 183 0 95 68 183 1 96 67 183 2 98 66 183 2 99 65 183 3 102 64 183 3 103 63 183 4 107 62 183 5 108 61 183 6 110 59 183 7 111 58 183 9 114 57 183 10 115 56 183 10 118 55 183 11 120 54 183 12 121 53 183 13 122 52 183 14 126 51 183 15 128 50 183 17 131 49 183 18 133 48 183 18 135 47 183 19 137 46 183 20 140 45 183 21 141 44 183 22 143 43 183 24 145 42 183 25 149 41 183 26 150 40 183 27 152 39 183 28 153 38 183 29 155 37 183 30 156 36 183 31 157 35 183 32 157 34 183 34 159 33 183 35 162 32 183 35 163 31 183 36 166 30 183 37 171 29 183 38 174 28 183 39 176 26 183 40 178 25 183 42 181 24 183 43 182 23 183 43 184 22 183 44 185 21 183 45 186 20 183 46 188 19 183 47 194 18 183 48 195 17 183 50 198 16 183 51 199 15 183 51 202 14 183 52 204 13 183 53 205 12 183 54 205 11 183 55 207 10 183 57 208 9 183 58 208 8 183 59 209 7 183 60 211 6 183 61 211 5 183 62 213 4 183 63 216 3 183 64 217 2 183 65 219 1 183 67 220 0 183 67 221 0 183 68 223 0 183 69 224 0 183 69 227 0 183 69 228 0 183 69 230 255 182 0 231 254 182 0 231 254 182 0 230 254 182 0 230 253 182 0 228 252 182 0 227 251 182 0 224 250 182 0 223 249 182 0 221 248 182 0 220 247 182 0 219 246 182 0 217 245 182 0 216 244 182 0 213 243 182 0 211 242 182 0 211 241 182 0 209 240 182 0 208 239 182 0 208 238 182 0 207 237 182 0 205 236 182 0 204 235 182 0 202 234 182 0 201 233 182 0 199 232 182 0 198 231 182 0 195 230 182 0 189 229 182 0 188 228 182 0 186 227 182 0 185 226 182 0 184 224 182 0 181 223 182 0 179 222 182 0 178 221 182 0 175 220 182 0 174 219 182 0 171 218 182 0 166 217 182 0 163 216 182 0 160 215 182 0 159 214 182 0 157 213 182 0 156 212 182 0 156 211 182 0 155 210 182 0 153 209 182 0 152 208 182 0 150 207 182 0 145 206 182 0 144 205 182 0 141 204 182 0 140 203 182 0 138 202 182 0 135 201 182 0 134 200 182 0 131 199 182 0 130 198 182 0 128 197 182 0 122 196 182 0 121 195 182 0 120 194 182 0 118 193 182 0 117 191 182 0 114 190 182 0 112 189 182 0 110 188 182 0 108 187 182 0 107 186 182 0 104 185 182 0 103 184 182 0 99 183 182 0 98 182 182 0 96 181 182 0 95 180 182 0 93 179 182 0 92 178 182 0 91 177 182 0 89 176 182 0 88 175 182 0 86 174 182 0 84 173 182 0 82 172 182 0 80 171 182 0 76 170 182 0 74 169 182 0 71 168 182 0 70 167 182 0 69 166 182 0 67 165 182 0 66 164 182 0 64 163 182 0 60 162 182 0 59 161 182 0 54 160 182 0 51 158 182 0 50 157 182 0 49 156 182 0 47 155 182 0 46 154 182 0 44 153 182 0 43 152 182 0 40 151 182 0 39 150 182 0 38 149 182 0 36 148 182 0 36 147 182 0 35 146 182 0 32 145 182 0 31 144 182 0 29 143 182 0 29 142 182 0 28 141 182 0 28 140 182 0 27 139 182 0 27 138 182 0 25 137 182 0 24 136 182 0 24 135 182 0 22 134 182 0 22 133 182 0 22 132 182 0 22 131 182 0 22 130 182 0 22 129 182 0 22 128 182 0 22 127 182 0 22 125 182 0 22 124 182 0 22 123 182 0 22 122 182 0 22 121 182 0 22 120 182 0 22 119 182 0 22 118 182 0 22 117 182 0 22 116 182 0 22 115 182 0 22 114 182 0 22 113 182 0 24 112 182 0 24 111 182 0 25 110 182 0 27 109 182 0 27 108 182 0 28 107 182 0 28 106 182 0 29 105 182 0 29 104 182 0 31 103 182 0 32 102 182 0 35 101 182 0 35 100 182 0 36 99 182 0 38 98 182 0 39 97 182 0 40 96 182 0 43 95 182 0 44 94 182 0 46 92 182 0 47 91 182 0 49 90 182 0 50 89 182 0 51 88 182 0 54 87 182 0 57 86 182 0 60 85 182 0 62 84 182 0 64 83 182 0 66 82 182 0 69 81 182 0 70 80 182 0 71 79 182 0 73 78 182 0 76 77 182 0 80 76 182 0 81 75 182 0 84 74 182 0 86 73 182 0 88 72 182 0 89 71 182 0 91 70 182 0 92 69 182 1 93 68 182 2 95 67 182 2 96 66 182 3 98 65 182 4 99 64 182 4 102 63 182 5 103 62 182 6 107 61 182 7 108 59 182 9 110 58 182 10 111 57 182 11 114 56 182 12 115 55 182 12 118 54 182 13 120 53 182 14 121 52 182 15 122 51 182 17 126 50 182 18 130 49 182 19 131 48 182 20 133 47 182 20 135 46 182 21 137 45 182 22 140 44 182 24 141 43 182 25 144 42 182 26 145 41 182 27 149 40 182 28 152 39 182 29 153 38 182 30 155 37 182 31 156 36 182 32 156 35 182 34 157 34 182 35 159 33 182 36 160 32 182 37 162 31 182 37 165 30 182 38 167 29 182 39 172 28 182 40 175 26 182 42 178 25 182 43 179 24 182 44 181 23 182 45 182 22 182 45 184 21 182 46 185 20 182 47 188 19 182 48 189 18 182 50 194 17 182 51 197 16 182 52 199 15 182 53 201 14 182 53 202 13 182 54 204 12 182 55 205 11 182 57 207 10 182 58 208 9 182 59 208 8 182 60 209 7 182 61 211 6 182 62 211 5 182 63 213 4 182 64 216 3 182 65 217 2 182 67 219 1 182 68 219 0 182 69 220 0 182 69 223 0 182 70 224 0 182 70 226 0 182 70 228 0 182 70 230 255 181 0 231 254 181 0 231 254 181 0 230 254 181 0 230 253 181 0 228 252 181 0 227 251 181 0 224 250 181 0 223 249 181 0 220 248 181 0 219 247 181 0 217 246 181 0 217 245 181 0 216 244 181 0 213 243 181 0 211 242 181 0 211 241 181 0 209 240 181 0 208 239 181 0 208 238 181 0 207 237 181 0 205 236 181 0 204 235 181 0 202 234 181 0 201 233 181 0 198 232 181 0 197 231 181 0 194 230 181 0 189 229 181 0 186 228 181 0 185 227 181 0 184 226 181 0 182 224 181 0 181 223 181 0 179 222 181 0 176 221 181 0 175 220 181 0 172 219 181 0 167 218 181 0 165 217 181 0 162 216 181 0 160 215 181 0 157 214 181 0 156 213 181 0 156 212 181 0 155 211 181 0 153 210 181 0 152 209 181 0 150 208 181 0 149 207 181 0 144 206 181 0 143 205 181 0 140 204 181 0 138 203 181 0 135 202 181 0 134 201 181 0 133 200 181 0 130 199 181 0 128 198 181 0 126 197 181 0 122 196 181 0 120 195 181 0 118 194 181 0 115 193 181 0 114 191 181 0 112 190 181 0 110 189 181 0 108 188 181 0 107 187 181 0 104 186 181 0 103 185 181 0 99 184 181 0 98 183 181 0 96 182 181 0 95 181 181 0 93 180 181 0 92 179 181 0 91 178 181 0 89 177 181 0 88 176 181 0 86 175 181 0 84 174 181 0 81 173 181 0 80 172 181 0 76 171 181 0 73 170 181 0 71 169 181 0 70 168 181 0 67 167 181 0 66 166 181 0 64 165 181 0 62 164 181 0 60 163 181 0 59 162 181 0 54 161 181 0 51 160 181 0 50 158 181 0 47 157 181 0 46 156 181 0 44 155 181 0 43 154 181 0 40 153 181 0 39 152 181 0 38 151 181 0 36 150 181 0 35 149 181 0 32 148 181 0 32 147 181 0 31 146 181 0 29 145 181 0 28 144 181 0 28 143 181 0 27 142 181 0 25 141 181 0 25 140 181 0 24 139 181 0 24 138 181 0 22 137 181 0 20 136 181 0 20 135 181 0 18 134 181 0 18 133 181 0 18 132 181 0 18 131 181 0 18 130 181 0 18 129 181 0 18 128 181 0 18 127 181 0 18 125 181 0 18 124 181 0 18 123 181 0 18 122 181 0 18 121 181 0 18 120 181 0 18 119 181 0 18 118 181 0 18 117 181 0 18 116 181 0 18 115 181 0 18 114 181 0 18 113 181 0 20 112 181 0 20 111 181 0 22 110 181 0 24 109 181 0 24 108 181 0 25 107 181 0 25 106 181 0 27 105 181 0 27 104 181 0 28 103 181 0 29 102 181 0 31 101 181 0 32 100 181 0 32 99 181 0 35 98 181 0 36 97 181 0 38 96 181 0 39 95 181 0 40 94 181 0 40 92 181 0 43 91 181 0 44 90 181 0 47 89 181 0 49 88 181 0 51 87 181 0 54 86 181 0 57 85 181 0 60 84 181 0 62 83 181 0 64 82 181 0 66 81 181 0 67 80 181 0 69 79 181 0 71 78 181 0 73 77 181 0 76 76 181 0 77 75 181 0 81 74 181 0 82 73 181 0 86 72 181 0 88 71 181 0 89 70 181 0 89 69 181 1 91 68 181 2 92 67 181 3 95 66 181 4 96 65 181 5 98 64 181 5 99 63 181 6 102 62 181 7 103 61 181 8 107 59 181 10 108 58 181 11 110 57 181 12 111 56 181 13 114 55 181 13 115 54 181 14 117 53 181 15 120 52 181 16 121 51 181 18 122 50 181 19 128 49 181 20 130 48 181 21 131 47 181 21 134 46 181 22 135 45 181 23 137 44 181 25 140 43 181 26 141 42 181 27 144 41 181 28 145 40 181 29 150 39 181 30 152 38 181 31 153 37 181 32 155 36 181 33 156 35 181 35 156 34 181 36 157 33 181 37 159 32 181 38 162 31 181 38 163 30 181 39 167 29 181 40 171 28 181 41 174 26 181 43 176 25 181 44 179 24 181 45 181 23 181 46 182 22 181 46 184 21 181 47 185 20 181 48 186 19 181 49 188 18 181 51 194 17 181 52 197 16 181 53 198 15 181 54 201 14 181 54 202 13 181 55 204 12 181 56 205 11 181 58 207 10 181 59 208 9 181 60 208 8 181 61 209 7 181 62 211 6 181 63 211 5 181 64 213 4 181 65 216 3 181 66 217 2 181 68 217 1 181 69 219 0 181 70 220 0 181 70 221 0 181 71 224 0 181 71 226 0 181 71 228 0 181 71 230 255 180 0 231 254 180 0 231 254 180 0 230 254 180 0 230 253 180 0 228 252 180 0 227 251 180 0 224 250 180 0 223 249 180 0 220 248 180 0 219 247 180 0 217 246 180 0 217 245 180 0 216 244 180 0 213 243 180 0 211 242 180 0 211 241 180 0 209 240 180 0 208 239 180 0 208 238 180 0 205 237 180 0 204 236 180 0 202 235 180 0 201 234 180 0 199 233 180 0 198 232 180 0 195 231 180 0 194 230 180 0 188 229 180 0 186 228 180 0 184 227 180 0 182 226 180 0 181 224 180 0 179 223 180 0 178 222 180 0 176 221 180 0 174 220 180 0 171 219 180 0 166 218 180 0 163 217 180 0 162 216 180 0 159 215 180 0 157 214 180 0 156 213 180 0 155 212 180 0 155 211 180 0 153 210 180 0 152 209 180 0 149 208 180 0 145 207 180 0 143 206 180 0 141 205 180 0 138 204 180 0 135 203 180 0 134 202 180 0 133 201 180 0 131 200 180 0 130 199 180 0 126 198 180 0 122 197 180 0 121 196 180 0 118 195 180 0 117 194 180 0 114 193 180 0 112 191 180 0 110 190 180 0 108 189 180 0 107 188 180 0 104 187 180 0 103 186 180 0 102 185 180 0 98 184 180 0 96 183 180 0 95 182 180 0 93 181 180 0 91 180 180 0 91 179 180 0 89 178 180 0 88 177 180 0 86 176 180 0 84 175 180 0 81 174 180 0 80 173 180 0 76 172 180 0 73 171 180 0 71 170 180 0 69 169 180 0 67 168 180 0 66 167 180 0 64 166 180 0 62 165 180 0 60 164 180 0 59 163 180 0 54 162 180 0 51 161 180 0 49 160 180 0 47 158 180 0 44 157 180 0 43 156 180 0 40 155 180 0 39 154 180 0 38 153 180 0 36 152 180 0 35 151 180 0 32 150 180 0 31 149 180 0 31 148 180 0 29 147 180 0 28 146 180 0 28 145 180 0 27 144 180 0 25 143 180 0 24 142 180 0 22 141 180 0 22 140 180 0 20 139 180 0 18 138 180 0 18 137 180 0 17 136 180 0 17 135 180 0 16 134 180 0 16 133 180 0 16 132 180 0 16 131 180 0 16 130 180 0 16 129 180 0 16 128 180 0 16 127 180 0 16 125 180 0 16 124 180 0 16 123 180 0 16 122 180 0 16 121 180 0 16 120 180 0 16 119 180 0 16 118 180 0 16 117 180 0 16 116 180 0 16 115 180 0 16 114 180 0 16 113 180 0 17 112 180 0 17 111 180 0 18 110 180 0 18 109 180 0 20 108 180 0 22 107 180 0 22 106 180 0 24 105 180 0 25 104 180 0 25 103 180 0 27 102 180 0 28 101 180 0 29 100 180 0 31 99 180 0 31 98 180 0 32 97 180 0 35 96 180 0 36 95 180 0 38 94 180 0 38 92 180 0 39 91 180 0 43 90 180 0 44 89 180 0 46 88 180 0 49 87 180 0 51 86 180 0 54 85 180 0 57 84 180 0 59 83 180 0 60 82 180 0 64 81 180 0 66 80 180 0 67 79 180 0 69 78 180 0 70 77 180 0 73 76 180 0 76 75 180 0 80 74 180 0 81 73 180 0 84 72 180 0 86 71 180 0 88 70 180 1 88 69 180 2 89 68 180 3 91 67 180 4 92 66 180 5 95 65 180 6 96 64 180 6 98 63 180 7 99 62 180 8 103 61 180 9 104 59 180 10 107 58 180 12 108 57 180 13 110 56 180 14 111 55 180 14 114 54 180 15 115 53 180 16 118 52 180 17 120 51 180 18 122 50 180 20 126 49 180 21 128 48 180 22 131 47 180 22 133 46 180 23 134 45 180 24 135 44 180 26 138 43 180 27 140 42 180 28 143 41 180 29 144 40 180 30 149 39 180 31 150 38 180 32 152 37 180 33 153 36 180 34 155 35 180 35 156 34 180 37 157 33 180 38 159 32 180 39 160 31 180 39 163 30 180 40 166 29 180 41 171 28 180 42 172 26 180 43 175 25 180 45 178 24 180 46 179 23 180 47 181 22 180 47 182 21 180 48 184 20 180 49 185 19 180 50 188 18 180 51 189 17 180 53 195 16 180 54 198 15 180 55 199 14 180 55 201 13 180 56 202 12 180 57 204 11 180 59 205 10 180 60 207 9 180 61 208 8 180 62 209 7 180 63 211 6 180 64 211 5 180 65 213 4 180 66 216 3 180 67 217 2 180 68 217 1 180 70 219 0 180 70 220 0 180 71 221 0 180 72 224 0 180 72 226 0 180 72 228 0 180 72 230 255 179 0 231 254 179 0 231 254 179 0 230 254 179 0 230 253 179 0 228 252 179 0 227 251 179 0 224 250 179 0 223 249 179 0 220 248 179 0 219 247 179 0 217 246 179 0 217 245 179 0 216 244 179 0 213 243 179 0 211 242 179 0 209 241 179 0 209 240 179 0 208 239 179 0 207 238 179 0 205 237 179 0 204 236 179 0 202 235 179 0 201 234 179 0 198 233 179 0 197 232 179 0 194 231 179 0 189 230 179 0 188 229 179 0 185 228 179 0 184 227 179 0 182 226 179 0 181 224 179 0 178 223 179 0 176 222 179 0 174 221 179 0 172 220 179 0 167 219 179 0 165 218 179 0 162 217 179 0 160 216 179 0 159 215 179 0 157 214 179 0 156 213 179 0 155 212 179 0 153 211 179 0 152 210 179 0 150 209 179 0 145 208 179 0 143 207 179 0 141 206 179 0 138 205 179 0 137 204 179 0 134 203 179 0 133 202 179 0 131 201 179 0 130 200 179 0 128 199 179 0 122 198 179 0 121 197 179 0 120 196 179 0 117 195 179 0 114 194 179 0 112 193 179 0 110 191 179 0 108 190 179 0 107 189 179 0 104 188 179 0 103 187 179 0 102 186 179 0 98 185 179 0 96 184 179 0 95 183 179 0 93 182 179 0 91 181 179 0 89 180 179 0 88 179 179 0 86 178 179 0 86 177 179 0 84 176 179 0 81 175 179 0 80 174 179 0 76 173 179 0 73 172 179 0 70 171 179 0 69 170 179 0 66 169 179 0 64 168 179 0 62 167 179 0 60 166 179 0 59 165 179 0 57 164 179 0 54 163 179 0 51 162 179 0 49 161 179 0 47 160 179 0 44 158 179 0 40 157 179 0 39 156 179 0 38 155 179 0 36 154 179 0 35 153 179 0 32 152 179 0 31 151 179 0 29 150 179 0 29 149 179 0 28 148 179 0 27 147 179 0 25 146 179 0 24 145 179 0 22 144 179 0 22 143 179 0 20 142 179 0 18 141 179 0 17 140 179 0 16 139 179 0 16 138 179 0 14 137 179 0 14 136 179 0 13 135 179 0 13 134 179 0 13 133 179 0 13 132 179 0 13 131 179 0 13 130 179 0 13 129 179 0 13 128 179 0 13 127 179 0 13 125 179 0 13 124 179 0 13 123 179 0 13 122 179 0 13 121 179 0 13 120 179 0 13 119 179 0 13 118 179 0 13 117 179 0 13 116 179 0 13 115 179 0 13 114 179 0 13 113 179 0 13 112 179 0 14 111 179 0 14 110 179 0 16 109 179 0 16 108 179 0 17 107 179 0 18 106 179 0 20 105 179 0 20 104 179 0 22 103 179 0 24 102 179 0 25 101 179 0 27 100 179 0 28 99 179 0 28 98 179 0 29 97 179 0 31 96 179 0 32 95 179 0 35 94 179 0 35 92 179 0 36 91 179 0 39 90 179 0 40 89 179 0 44 88 179 0 46 87 179 0 49 86 179 0 51 85 179 0 53 84 179 0 57 83 179 0 59 82 179 0 60 81 179 0 62 80 179 0 64 79 179 0 66 78 179 0 67 77 179 0 70 76 179 0 73 75 179 0 76 74 179 0 77 73 179 0 81 72 179 0 82 71 179 1 84 70 179 1 86 69 179 2 88 68 179 3 89 67 179 4 91 66 179 5 92 65 179 6 95 64 179 7 96 63 179 8 98 62 179 9 99 61 179 10 103 59 179 11 104 58 179 12 107 57 179 13 108 56 179 14 110 55 179 15 111 54 179 16 114 53 179 17 115 52 179 18 118 51 179 19 121 50 179 20 122 49 179 21 126 48 179 22 130 47 179 23 131 46 179 24 133 45 179 25 134 44 179 27 135 43 179 28 138 42 179 29 140 41 179 30 143 40 179 31 145 39 179 32 149 38 179 33 152 37 179 34 153 36 179 35 155 35 179 36 156 34 179 37 157 33 179 38 159 32 179 39 160 31 179 40 162 30 179 41 165 29 179 42 167 28 179 43 171 26 179 44 174 25 179 45 176 24 179 46 178 23 179 47 179 22 179 48 182 21 179 49 184 20 179 50 185 19 179 51 186 18 179 52 189 17 179 53 194 16 179 54 197 15 179 55 198 14 179 56 199 13 179 57 202 12 179 58 204 11 179 60 205 10 179 61 207 9 179 62 208 8 179 63 209 7 179 64 209 6 179 65 211 5 179 66 213 4 179 67 216 3 179 68 217 2 179 69 217 1 179 70 219 0 179 71 220 0 179 72 221 0 179 72 224 0 179 73 226 0 179 73 228 0 179 73 230 255 178 0 231 254 178 0 231 254 178 0 230 254 178 0 230 253 178 0 228 252 178 0 227 251 178 0 224 250 178 0 223 249 178 0 220 248 178 0 219 247 178 0 217 246 178 0 217 245 178 0 216 244 178 0 213 243 178 0 211 242 178 0 209 241 178 0 209 240 178 0 208 239 178 0 207 238 178 0 205 237 178 0 204 236 178 0 201 235 178 0 199 234 178 0 197 233 178 0 195 232 178 0 194 231 178 0 188 230 178 0 186 229 178 0 185 228 178 0 182 227 178 0 181 226 178 0 179 224 178 0 178 223 178 0 175 222 178 0 172 221 178 0 167 220 178 0 165 219 178 0 163 218 178 0 160 217 178 0 159 216 178 0 157 215 178 0 156 214 178 0 155 213 178 0 155 212 178 0 152 211 178 0 150 210 178 0 149 209 178 0 144 208 178 0 141 207 178 0 138 206 178 0 137 205 178 0 134 204 178 0 133 203 178 0 131 202 178 0 130 201 178 0 128 200 178 0 126 199 178 0 121 198 178 0 120 197 178 0 117 196 178 0 115 195 178 0 112 194 178 0 111 193 178 0 108 191 178 0 107 190 178 0 104 189 178 0 103 188 178 0 99 187 178 0 98 186 178 0 96 185 178 0 95 184 178 0 93 183 178 0 91 182 178 0 89 181 178 0 88 180 178 0 86 179 178 0 84 178 178 0 82 177 178 0 81 176 178 0 80 175 178 0 76 174 178 0 73 173 178 0 70 172 178 0 67 171 178 0 66 170 178 0 62 169 178 0 60 168 178 0 59 167 178 0 57 166 178 0 54 165 178 0 53 164 178 0 51 163 178 0 49 162 178 0 46 161 178 0 43 160 178 0 40 158 178 0 38 157 178 0 36 156 178 0 35 155 178 0 32 154 178 0 31 153 178 0 29 152 178 0 28 151 178 0 27 150 178 0 27 149 178 0 25 148 178 0 24 147 178 0 22 146 178 0 20 145 178 0 18 144 178 0 17 143 178 0 16 142 178 0 14 141 178 0 13 140 178 0 13 139 178 0 10 138 178 0 9 137 178 0 9 136 178 0 9 135 178 0 7 134 178 0 7 133 178 0 7 132 178 0 7 131 178 0 7 130 178 0 7 129 178 0 7 128 178 0 7 127 178 0 7 125 178 0 7 124 178 0 7 123 178 0 7 122 178 0 7 121 178 0 7 120 178 0 7 119 178 0 7 118 178 0 7 117 178 0 7 116 178 0 7 115 178 0 7 114 178 0 7 113 178 0 9 112 178 0 9 111 178 0 9 110 178 0 10 109 178 0 10 108 178 0 13 107 178 0 14 106 178 0 16 105 178 0 17 104 178 0 18 103 178 0 20 102 178 0 22 101 178 0 24 100 178 0 24 99 178 0 25 98 178 0 27 97 178 0 28 96 178 0 29 95 178 0 31 94 178 0 31 92 178 0 35 91 178 0 36 90 178 0 38 89 178 0 40 88 178 0 43 87 178 0 46 86 178 0 49 85 178 0 50 84 178 0 53 83 178 0 54 82 178 0 57 81 178 0 59 80 178 0 60 79 178 0 62 78 178 0 64 77 178 0 67 76 178 0 70 75 178 0 73 74 178 0 76 73 178 0 77 72 178 1 81 71 178 1 82 70 178 2 84 69 178 3 86 68 178 4 88 67 178 5 89 66 178 6 91 65 178 7 92 64 178 8 95 63 178 9 96 62 178 10 98 61 178 11 99 59 178 12 103 58 178 13 104 57 178 14 107 56 178 15 108 55 178 16 110 54 178 17 112 53 178 18 114 52 178 19 117 51 178 20 118 50 178 21 121 49 178 22 122 48 178 23 126 47 178 24 130 46 178 25 131 45 178 26 133 44 178 28 134 43 178 29 137 42 178 30 138 41 178 31 141 40 178 32 144 39 178 33 145 38 178 34 150 37 178 35 152 36 178 36 153 35 178 37 155 34 178 38 156 33 178 39 157 32 178 40 159 31 178 41 160 30 178 42 163 29 178 43 165 28 178 44 167 26 178 45 172 25 178 46 175 24 178 47 176 23 178 48 179 22 178 49 181 21 178 50 182 20 178 51 184 19 178 52 186 18 178 53 188 17 178 54 189 16 178 55 195 15 178 56 197 14 178 57 198 13 178 58 201 12 178 59 204 11 178 61 205 10 178 62 207 9 178 63 208 8 178 64 209 7 178 65 209 6 178 66 211 5 178 67 213 4 178 68 216 3 178 69 217 2 178 70 217 1 178 71 219 0 178 72 220 0 178 73 221 0 178 73 224 0 178 74 226 0 178 74 228 0 178 74 230 255 177 0 231 254 177 0 231 254 177 0 230 254 177 0 230 253 177 0 228 252 177 0 227 251 177 0 224 250 177 0 223 249 177 0 220 248 177 0 219 247 177 0 217 246 177 0 217 245 177 0 216 244 177 0 213 243 177 0 211 242 177 0 209 241 177 0 208 240 177 0 208 239 177 0 207 238 177 0 205 237 177 0 202 236 177 0 201 235 177 0 198 234 177 0 197 233 177 0 194 232 177 0 189 231 177 0 186 230 177 0 185 229 177 0 184 228 177 0 182 227 177 0 181 226 177 0 179 224 177 0 176 223 177 0 174 222 177 0 171 221 177 0 166 220 177 0 163 219 177 0 162 218 177 0 160 217 177 0 159 216 177 0 157 215 177 0 156 214 177 0 155 213 177 0 153 212 177 0 152 211 177 0 150 210 177 0 145 209 177 0 143 208 177 0 140 207 177 0 137 206 177 0 135 205 177 0 133 204 177 0 131 203 177 0 130 202 177 0 128 201 177 0 126 200 177 0 122 199 177 0 120 198 177 0 118 197 177 0 117 196 177 0 114 195 177 0 111 194 177 0 108 193 177 0 107 191 177 0 104 190 177 0 103 189 177 0 102 188 177 0 98 187 177 0 96 186 177 0 95 185 177 0 93 184 177 0 92 183 177 0 89 182 177 0 88 181 177 0 86 180 177 0 84 179 177 0 82 178 177 0 81 177 177 0 77 176 177 0 76 175 177 0 73 174 177 0 70 173 177 0 67 172 177 0 64 171 177 0 62 170 177 0 60 169 177 0 59 168 177 0 57 167 177 0 54 166 177 0 53 165 177 0 50 164 177 0 49 163 177 0 46 162 177 0 43 161 177 0 40 160 177 0 38 158 177 0 36 157 177 0 32 156 177 0 31 155 177 0 29 154 177 0 28 153 177 0 28 152 177 0 27 151 177 0 25 150 177 0 24 149 177 0 22 148 177 0 20 147 177 0 18 146 177 0 17 145 177 0 16 144 177 0 14 143 177 0 13 142 177 0 10 141 177 0 9 140 177 0 7 139 177 0 7 138 177 0 6 137 177 0 6 136 177 0 6 135 177 0 5 134 177 0 5 133 177 0 5 132 177 0 5 131 177 0 5 130 177 0 5 129 177 0 5 128 177 0 5 127 177 0 5 125 177 0 5 124 177 0 5 123 177 0 5 122 177 0 5 121 177 0 5 120 177 0 5 119 177 0 5 118 177 0 5 117 177 0 5 116 177 0 5 115 177 0 5 114 177 0 5 113 177 0 6 112 177 0 6 111 177 0 6 110 177 0 7 109 177 0 7 108 177 0 9 107 177 0 10 106 177 0 13 105 177 0 14 104 177 0 16 103 177 0 17 102 177 0 17 101 177 0 18 100 177 0 20 99 177 0 22 98 177 0 24 97 177 0 25 96 177 0 27 95 177 0 28 94 177 0 29 92 177 0 31 91 177 0 32 90 177 0 35 89 177 0 38 88 177 0 40 87 177 0 43 86 177 0 46 85 177 0 49 84 177 0 50 83 177 0 51 82 177 0 53 81 177 0 54 80 177 0 57 79 177 0 60 78 177 0 62 77 177 0 64 76 177 0 67 75 177 0 70 74 177 0 73 73 177 1 76 72 177 1 77 71 177 2 81 70 177 3 82 69 177 4 84 68 177 5 86 67 177 6 88 66 177 7 89 65 177 8 91 64 177 9 93 63 177 10 95 62 177 11 96 61 177 12 98 59 177 13 102 58 177 14 103 57 177 15 104 56 177 16 107 55 177 17 108 54 177 18 111 53 177 19 112 52 177 20 115 51 177 21 118 50 177 22 120 49 177 23 121 48 177 24 122 47 177 25 128 46 177 26 130 45 177 27 131 44 177 29 133 43 177 30 134 42 177 31 137 41 177 32 140 40 177 33 143 39 177 34 145 38 177 35 149 37 177 36 152 36 177 37 153 35 177 38 155 34 177 39 156 33 177 40 157 32 177 41 159 31 177 42 160 30 177 43 162 29 177 44 163 28 177 45 166 26 177 46 171 25 177 47 174 24 177 48 176 23 177 49 178 22 177 50 181 21 177 51 182 20 177 52 184 19 177 53 185 18 177 54 186 17 177 55 188 16 177 56 194 15 177 57 195 14 177 58 198 13 177 59 201 12 177 60 202 11 177 62 204 10 177 63 207 9 177 64 208 8 177 65 208 7 177 66 209 6 177 67 211 5 177 68 213 4 177 69 216 3 177 70 217 2 177 71 217 1 177 72 219 0 177 73 220 0 177 74 221 0 177 74 224 0 177 74 226 0 177 75 228 0 177 75 230 255 176 0 230 254 176 0 230 254 176 0 230 254 176 0 230 253 176 0 228 252 176 0 226 251 176 0 224 250 176 0 221 249 176 0 220 248 176 0 219 247 176 0 217 246 176 0 216 245 176 0 216 244 176 0 213 243 176 0 211 242 176 0 209 241 176 0 208 240 176 0 207 239 176 0 205 238 176 0 204 237 176 0 202 236 176 0 201 235 176 0 198 234 176 0 195 233 176 0 189 232 176 0 188 231 176 0 186 230 176 0 185 229 176 0 184 228 176 0 182 227 176 0 181 226 176 0 178 224 176 0 176 223 176 0 174 222 176 0 171 221 176 0 165 220 176 0 163 219 176 0 160 218 176 0 159 217 176 0 157 216 176 0 156 215 176 0 156 214 176 0 155 213 176 0 153 212 176 0 152 211 176 0 149 210 176 0 144 209 176 0 141 208 176 0 138 207 176 0 135 206 176 0 134 205 176 0 131 204 176 0 130 203 176 0 128 202 176 0 126 201 176 0 122 200 176 0 121 199 176 0 118 198 176 0 117 197 176 0 115 196 176 0 112 195 176 0 110 194 176 0 108 193 176 0 104 191 176 0 103 190 176 0 102 189 176 0 99 188 176 0 96 187 176 0 95 186 176 0 93 185 176 0 92 184 176 0 91 183 176 0 88 182 176 0 86 181 176 0 84 180 176 0 82 179 176 0 81 178 176 0 77 177 176 0 76 176 176 0 73 175 176 0 70 174 176 0 67 173 176 0 66 172 176 0 62 171 176 0 59 170 176 0 57 169 176 0 54 168 176 0 53 167 176 0 51 166 176 0 50 165 176 0 49 164 176 0 46 163 176 0 44 162 176 0 40 161 176 0 38 160 176 0 36 158 176 0 32 157 176 0 31 156 176 0 29 155 176 0 28 154 176 0 27 153 176 0 25 152 176 0 24 151 176 0 22 150 176 0 20 149 176 0 18 148 176 0 16 147 176 0 14 146 176 0 13 145 176 0 13 144 176 0 10 143 176 0 9 142 176 0 7 141 176 0 6 140 176 0 5 139 176 0 5 138 176 0 3 137 176 0 3 136 176 0 3 135 176 0 2 134 176 0 2 133 176 0 2 132 176 0 2 131 176 0 2 130 176 0 2 129 176 0 2 128 176 0 2 127 176 0 2 125 176 0 2 124 176 0 2 123 176 0 2 122 176 0 2 121 176 0 2 120 176 0 2 119 176 0 2 118 176 0 2 117 176 0 2 116 176 0 2 115 176 0 2 114 176 0 2 113 176 0 3 112 176 0 3 111 176 0 3 110 176 0 3 109 176 0 5 108 176 0 6 107 176 0 7 106 176 0 9 105 176 0 10 104 176 0 13 103 176 0 13 102 176 0 14 101 176 0 16 100 176 0 17 99 176 0 20 98 176 0 22 97 176 0 24 96 176 0 25 95 176 0 27 94 176 0 28 92 176 0 29 91 176 0 31 90 176 0 32 89 176 0 35 88 176 0 38 87 176 0 39 86 176 0 43 85 176 0 46 84 176 0 47 83 176 0 50 82 176 0 51 81 176 0 53 80 176 0 54 79 176 0 57 78 176 0 59 77 176 0 62 76 176 0 66 75 176 1 67 74 176 1 70 73 176 2 73 72 176 2 76 71 176 3 77 70 176 4 80 69 176 5 82 68 176 6 84 67 176 7 86 66 176 8 88 65 176 9 89 64 176 10 92 63 176 11 93 62 176 12 95 61 176 13 96 59 176 14 99 58 176 15 102 57 176 16 103 56 176 17 104 55 176 18 107 54 176 19 110 53 176 20 111 52 176 21 114 51 176 22 117 50 176 24 118 49 176 25 120 48 176 26 121 47 176 27 126 46 176 28 128 45 176 29 130 44 176 30 131 43 176 31 133 42 176 32 135 41 176 33 138 40 176 34 141 39 176 35 144 38 176 36 149 37 176 37 150 36 176 38 153 35 176 39 155 34 176 40 156 33 176 41 156 32 176 42 157 31 176 43 159 30 176 44 160 29 176 45 163 28 176 46 165 26 176 47 167 25 176 48 172 24 176 49 175 23 176 50 178 22 176 51 179 21 176 52 181 20 176 53 184 19 176 54 185 18 176 55 185 17 176 57 188 16 176 58 189 15 176 59 194 14 176 60 197 13 176 61 199 12 176 62 202 11 176 63 204 10 176 64 205 9 176 65 207 8 176 66 208 7 176 67 209 6 176 68 211 5 176 69 211 4 176 70 213 3 176 71 216 2 176 72 217 1 176 73 219 0 176 74 220 0 176 75 221 0 176 75 223 0 176 76 226 0 176 76 227 0 176 76 228 255 175 0 230 254 175 0 230 254 175 0 230 254 175 0 228 253 175 0 227 252 175 0 226 251 175 0 224 250 175 0 221 249 175 0 220 248 175 0 219 247 175 0 217 246 175 0 216 245 175 0 213 244 175 0 211 243 175 0 209 242 175 0 208 241 175 0 208 240 175 0 207 239 175 0 205 238 175 0 204 237 175 0 202 236 175 0 199 235 175 0 197 234 175 0 195 233 175 0 189 232 175 0 186 231 175 0 185 230 175 0 184 229 175 0 182 228 175 0 181 227 175 0 179 226 175 0 178 224 175 0 175 223 175 0 172 222 175 0 167 221 175 0 165 220 175 0 162 219 175 0 160 218 175 0 157 217 175 0 157 216 175 0 156 215 175 0 155 214 175 0 153 213 175 0 152 212 175 0 150 211 175 0 145 210 175 0 143 209 175 0 140 208 175 0 137 207 175 0 134 206 175 0 133 205 175 0 130 204 175 0 128 203 175 0 126 202 175 0 122 201 175 0 121 200 175 0 120 199 175 0 117 198 175 0 115 197 175 0 114 196 175 0 111 195 175 0 108 194 175 0 107 193 175 0 103 191 175 0 102 190 175 0 99 189 175 0 98 188 175 0 95 187 175 0 93 186 175 0 92 185 175 0 91 184 175 0 89 183 175 0 88 182 175 0 84 181 175 0 82 180 175 0 81 179 175 0 77 178 175 0 74 177 175 0 73 176 175 0 70 175 175 0 67 174 175 0 66 173 175 0 62 172 175 0 59 171 175 0 57 170 175 0 54 169 175 0 53 168 175 0 51 167 175 0 49 166 175 0 47 165 175 0 46 164 175 0 43 163 175 0 40 162 175 0 38 161 175 0 35 160 175 0 32 158 175 0 31 157 175 0 28 156 175 0 27 155 175 0 27 154 175 0 25 153 175 0 24 152 175 0 22 151 175 0 18 150 175 0 17 149 175 0 14 148 175 0 13 147 175 0 10 146 175 0 9 145 175 0 7 144 175 0 7 143 175 0 6 142 175 0 5 141 175 0 3 140 175 0 2 139 175 0 2 138 175 0 0 137 175 0 0 136 175 0 0 135 175 0 0 134 175 0 0 133 175 0 0 132 175 0 0 131 175 0 0 130 175 0 0 129 175 0 0 128 175 0 0 127 175 0 0 125 175 0 0 124 175 0 0 123 175 0 0 122 175 0 0 121 175 0 0 120 175 0 0 119 175 0 0 118 175 0 0 117 175 0 0 116 175 0 0 115 175 0 0 114 175 0 0 113 175 0 0 112 175 0 0 111 175 0 0 110 175 0 2 109 175 0 2 108 175 0 3 107 175 0 5 106 175 0 6 105 175 0 7 104 175 0 7 103 175 0 9 102 175 0 10 101 175 0 13 100 175 0 14 99 175 0 17 98 175 0 18 97 175 0 20 96 175 0 22 95 175 0 24 94 175 0 25 92 175 0 27 91 175 0 28 90 175 0 29 89 175 0 32 88 175 0 35 87 175 0 38 86 175 0 39 85 175 0 43 84 175 0 44 83 175 0 47 82 175 0 49 81 175 0 50 80 175 0 51 79 175 0 54 78 175 0 57 77 175 0 59 76 175 1 62 75 175 2 66 74 175 2 67 73 175 3 70 72 175 3 73 71 175 4 74 70 175 5 77 69 175 6 80 68 175 7 82 67 175 9 84 66 175 10 86 65 175 10 88 64 175 11 91 63 175 12 92 62 175 13 93 61 175 14 95 59 175 15 96 58 175 17 99 57 175 18 102 56 175 18 103 55 175 19 104 54 175 20 108 53 175 21 111 52 175 22 112 51 175 24 115 50 175 25 117 49 175 26 118 48 175 27 120 47 175 28 122 46 175 29 126 45 175 30 128 44 175 31 130 43 175 32 133 42 175 34 134 41 175 35 137 40 175 35 140 39 175 36 143 38 175 37 145 37 175 38 150 36 175 39 152 35 175 40 153 34 175 42 155 33 175 43 156 32 175 43 156 31 175 44 157 30 175 45 159 29 175 46 162 28 175 47 165 26 175 48 167 25 175 50 172 24 175 51 175 23 175 51 176 22 175 52 179 21 175 53 181 20 175 54 182 19 175 55 184 18 175 57 185 17 175 58 186 16 175 59 188 15 175 60 194 14 175 61 197 13 175 62 199 12 175 63 201 11 175 64 204 10 175 65 205 9 175 67 207 8 175 68 207 7 175 68 208 6 175 69 209 5 175 70 211 4 175 71 213 3 175 72 216 2 175 73 217 1 175 75 219 0 175 75 220 0 175 76 221 0 175 77 223 0 175 77 226 0 175 77 227 0 175 77 228 255 174 0 230 254 174 0 230 254 174 0 230 254 174 0 228 253 174 0 227 252 174 0 226 251 174 0 223 250 174 0 221 249 174 0 220 248 174 0 219 247 174 0 217 246 174 0 216 245 174 0 213 244 174 0 211 243 174 0 209 242 174 0 208 241 174 0 207 240 174 0 207 239 174 0 205 238 174 0 204 237 174 0 202 236 174 0 199 235 174 0 197 234 174 0 194 233 174 0 188 232 174 0 186 231 174 0 184 230 174 0 182 229 174 0 181 228 174 0 179 227 174 0 179 226 174 0 176 224 174 0 175 223 174 0 172 222 174 0 167 221 174 0 165 220 174 0 162 219 174 0 159 218 174 0 157 217 174 0 156 216 174 0 155 215 174 0 155 214 174 0 153 213 174 0 150 212 174 0 149 211 174 0 144 210 174 0 143 209 174 0 140 208 174 0 137 207 174 0 134 206 174 0 131 205 174 0 130 204 174 0 126 203 174 0 122 202 174 0 121 201 174 0 120 200 174 0 118 199 174 0 115 198 174 0 114 197 174 0 112 196 174 0 110 195 174 0 107 194 174 0 104 193 174 0 102 191 174 0 99 190 174 0 98 189 174 0 96 188 174 0 93 187 174 0 92 186 174 0 91 185 174 0 89 184 174 0 88 183 174 0 86 182 174 0 82 181 174 0 81 180 174 0 77 179 174 0 76 178 174 0 73 177 174 0 70 176 174 0 69 175 174 0 66 174 174 0 62 173 174 0 60 172 174 0 57 171 174 0 54 170 174 0 53 169 174 0 51 168 174 0 49 167 174 0 47 166 174 0 46 165 174 0 43 164 174 0 40 163 174 0 38 162 174 0 35 161 174 0 32 160 174 0 29 158 174 0 28 157 174 0 27 156 174 0 25 155 174 0 24 154 174 0 22 153 174 0 20 152 174 0 18 151 174 0 17 150 174 0 14 149 174 0 13 148 174 0 9 147 174 0 7 146 174 0 6 145 174 0 5 144 174 0 5 143 174 0 3 142 174 0 3 141 174 0 2 140 174 0 0 139 174 0 0 138 174 0 0 137 174 0 0 136 174 0 0 135 174 0 0 134 174 0 0 133 174 0 0 132 174 0 0 131 174 0 0 130 174 0 0 129 174 0 0 128 174 0 0 127 174 0 0 125 174 0 0 124 174 0 0 123 174 0 0 122 174 0 0 121 174 0 0 120 174 0 0 119 174 0 0 118 174 0 0 117 174 0 0 116 174 0 0 115 174 0 0 114 174 0 0 113 174 0 0 112 174 0 0 111 174 0 0 110 174 0 0 109 174 0 0 108 174 0 2 107 174 0 2 106 174 0 3 105 174 0 5 104 174 0 5 103 174 0 6 102 174 0 7 101 174 0 9 100 174 0 10 99 174 0 14 98 174 0 16 97 174 0 18 96 174 0 20 95 174 0 22 94 174 0 24 92 174 0 25 91 174 0 27 90 174 0 28 89 174 0 29 88 174 0 32 87 174 0 35 86 174 0 38 85 174 0 39 84 174 0 43 83 174 0 44 82 174 0 47 81 174 0 49 80 174 0 50 79 174 0 53 78 174 0 54 77 174 1 57 76 174 2 60 75 174 2 62 74 174 3 66 73 174 4 67 72 174 4 70 71 174 5 71 70 174 6 74 69 174 7 77 68 174 9 80 67 174 10 82 66 174 11 86 65 174 12 88 64 174 12 89 63 174 13 91 62 174 14 92 61 174 15 93 59 174 17 96 58 174 18 98 57 174 19 99 56 174 20 102 55 174 20 104 54 174 21 107 53 174 22 110 52 174 24 111 51 174 25 114 50 174 26 115 49 174 27 118 48 174 28 120 47 174 29 121 46 174 30 122 45 174 31 126 44 174 32 130 43 174 34 131 42 174 35 134 41 174 36 135 40 174 37 138 39 174 37 141 38 174 38 144 37 174 39 149 36 174 40 150 35 174 42 153 34 174 43 153 33 174 44 155 32 174 45 156 31 174 45 157 30 174 46 159 29 174 47 162 28 174 48 165 26 174 50 167 25 174 51 172 24 174 52 174 23 174 53 176 22 174 53 178 21 174 54 179 20 174 55 181 19 174 57 182 18 174 58 184 17 174 59 185 16 174 60 188 15 174 61 189 14 174 62 195 13 174 63 199 12 174 64 201 11 174 65 204 10 174 67 205 9 174 68 205 8 174 69 207 7 174 70 208 6 174 70 209 5 174 71 211 4 174 72 213 3 174 73 216 2 174 75 217 1 174 76 219 0 174 77 219 0 174 77 221 0 174 78 223 0 174 78 224 0 174 78 226 0 174 78 227 255 173 0 230 254 173 0 230 254 173 0 228 254 173 0 227 253 173 0 226 252 173 0 224 251 173 0 221 250 173 0 220 249 173 0 219 248 173 0 217 247 173 0 216 246 173 0 216 245 173 0 213 244 173 0 211 243 173 0 209 242 173 0 208 241 173 0 207 240 173 0 205 239 173 0 204 238 173 0 204 237 173 0 201 236 173 0 199 235 173 0 197 234 173 0 194 233 173 0 188 232 173 0 185 231 173 0 184 230 173 0 182 229 173 0 181 228 173 0 179 227 173 0 178 226 173 0 176 224 173 0 174 223 173 0 172 222 173 0 167 221 173 0 165 220 173 0 162 219 173 0 159 218 173 0 157 217 173 0 156 216 173 0 155 215 173 0 153 214 173 0 152 213 173 0 150 212 173 0 145 211 173 0 143 210 173 0 141 209 173 0 138 208 173 0 135 207 173 0 133 206 173 0 131 205 173 0 128 204 173 0 126 203 173 0 122 202 173 0 120 201 173 0 118 200 173 0 117 199 173 0 114 198 173 0 112 197 173 0 111 196 173 0 108 195 173 0 104 194 173 0 103 193 173 0 102 191 173 0 98 190 173 0 96 189 173 0 95 188 173 0 93 187 173 0 92 186 173 0 89 185 173 0 88 184 173 0 86 183 173 0 84 182 173 0 81 181 173 0 77 180 173 0 76 179 173 0 73 178 173 0 70 177 173 0 69 176 173 0 66 175 173 0 64 174 173 0 60 173 173 0 59 172 173 0 57 171 173 0 53 170 173 0 51 169 173 0 49 168 173 0 47 167 173 0 46 166 173 0 43 165 173 0 40 164 173 0 38 163 173 0 35 162 173 0 32 161 173 0 29 160 173 0 28 158 173 0 27 157 173 0 25 156 173 0 24 155 173 0 22 154 173 0 20 153 173 0 18 152 173 0 17 151 173 0 14 150 173 0 10 149 173 0 9 148 173 0 6 147 173 0 5 146 173 0 5 145 173 0 3 144 173 0 2 143 173 0 2 142 173 0 0 141 173 0 0 140 173 0 0 139 173 0 0 138 173 0 0 137 173 0 0 136 173 0 0 135 173 0 0 134 173 0 0 133 173 0 0 132 173 0 0 131 173 0 0 130 173 0 0 129 173 0 0 128 173 0 0 127 173 0 0 125 173 0 0 124 173 0 0 123 173 0 0 122 173 0 0 121 173 0 0 120 173 0 0 119 173 0 0 118 173 0 0 117 173 0 0 116 173 0 0 115 173 0 0 114 173 0 0 113 173 0 0 112 173 0 0 111 173 0 0 110 173 0 0 109 173 0 0 108 173 0 0 107 173 0 0 106 173 0 2 105 173 0 2 104 173 0 3 103 173 0 3 102 173 0 5 101 173 0 6 100 173 0 7 99 173 0 10 98 173 0 14 97 173 0 16 96 173 0 18 95 173 0 20 94 173 0 22 92 173 0 24 91 173 0 25 90 173 0 27 89 173 0 28 88 173 0 29 87 173 0 32 86 173 0 35 85 173 0 38 84 173 0 39 83 173 0 43 82 173 0 44 81 173 0 47 80 173 0 49 79 173 0 51 78 173 0 53 77 173 1 54 76 173 2 59 75 173 3 60 74 173 4 64 73 173 5 66 72 173 5 67 71 173 6 70 70 173 7 73 69 173 8 74 68 173 10 77 67 173 11 81 66 173 12 82 65 173 13 86 64 173 13 88 63 173 14 89 62 173 15 91 61 173 16 93 59 173 18 95 58 173 19 96 57 173 20 98 56 173 21 99 55 173 21 103 54 173 22 104 53 173 23 108 52 173 25 110 51 173 26 112 50 173 27 114 49 173 28 117 48 173 29 118 47 173 30 120 46 173 31 121 45 173 32 126 44 173 33 128 43 173 35 131 42 173 36 133 41 173 37 135 40 173 38 138 39 173 38 140 38 173 39 143 37 173 40 145 36 173 41 150 35 173 43 152 34 173 44 153 33 173 45 155 32 173 46 156 31 173 46 157 30 173 47 159 29 173 48 160 28 173 49 163 26 173 51 166 25 173 52 171 24 173 53 174 23 173 54 176 22 173 54 178 21 173 55 179 20 173 56 181 19 173 58 182 18 173 59 184 17 173 60 185 16 173 61 188 15 173 62 189 14 173 63 195 13 173 64 198 12 173 65 201 11 173 66 202 10 173 68 204 9 173 69 205 8 173 70 207 7 173 71 208 6 173 71 209 5 173 72 211 4 173 73 213 3 173 74 216 2 173 76 216 1 173 77 217 0 173 78 219 0 173 78 220 0 173 79 221 0 173 79 223 0 173 79 224 0 173 79 226 255 172 0 230 254 172 0 228 254 172 0 227 254 172 0 226 253 172 0 224 252 172 0 223 251 172 0 221 250 172 0 220 249 172 0 219 248 172 0 217 247 172 0 216 246 172 0 213 245 172 0 211 244 172 0 209 243 172 0 209 242 172 0 208 241 172 0 207 240 172 0 205 239 172 0 204 238 172 0 202 237 172 0 201 236 172 0 199 235 172 0 197 234 172 0 194 233 172 0 188 232 172 0 185 231 172 0 184 230 172 0 181 229 172 0 179 228 172 0 178 227 172 0 176 226 172 0 175 224 172 0 174 223 172 0 171 222 172 0 166 221 172 0 163 220 172 0 160 219 172 0 159 218 172 0 157 217 172 0 155 216 172 0 155 215 172 0 152 214 172 0 150 213 172 0 149 212 172 0 144 211 172 0 141 210 172 0 138 209 172 0 137 208 172 0 134 207 172 0 133 206 172 0 130 205 172 0 128 204 172 0 122 203 172 0 121 202 172 0 118 201 172 0 117 200 172 0 115 199 172 0 112 198 172 0 111 197 172 0 108 196 172 0 107 195 172 0 103 194 172 0 102 193 172 0 99 191 172 0 96 190 172 0 95 189 172 0 93 188 172 0 92 187 172 0 91 186 172 0 88 185 172 0 86 184 172 0 84 183 172 0 81 182 172 0 77 181 172 0 76 180 172 0 73 179 172 0 70 178 172 0 69 177 172 0 66 176 172 0 64 175 172 0 62 174 172 0 59 173 172 0 57 172 172 0 54 171 172 0 51 170 172 0 50 169 172 0 47 168 172 0 44 167 172 0 43 166 172 0 39 165 172 0 38 164 172 0 35 163 172 0 32 162 172 0 29 161 172 0 28 160 172 0 27 158 172 0 24 157 172 0 22 156 172 0 20 155 172 0 18 154 172 0 17 153 172 0 16 152 172 0 14 151 172 0 10 150 172 0 9 149 172 0 6 148 172 0 5 147 172 0 3 146 172 0 2 145 172 0 0 144 172 0 0 143 172 0 0 142 172 0 0 141 172 0 0 140 172 0 0 139 172 0 0 138 172 0 0 137 172 0 0 136 172 0 0 135 172 0 0 134 172 0 0 133 172 0 0 132 172 0 0 131 172 0 0 130 172 0 0 129 172 0 0 128 172 0 0 127 172 0 0 125 172 0 0 124 172 0 0 123 172 0 0 122 172 0 0 121 172 0 0 120 172 0 0 119 172 0 0 118 172 0 0 117 172 0 0 116 172 0 0 115 172 0 0 114 172 0 0 113 172 0 0 112 172 0 0 111 172 0 0 110 172 0 0 109 172 0 0 108 172 0 0 107 172 0 0 106 172 0 0 105 172 0 0 104 172 0 0 103 172 0 2 102 172 0 3 101 172 0 5 100 172 0 6 99 172 0 7 98 172 0 10 97 172 0 13 96 172 0 16 95 172 0 17 94 172 0 18 92 172 0 20 91 172 0 22 90 172 0 24 89 172 0 25 88 172 0 28 87 172 0 29 86 172 0 31 85 172 0 35 84 172 0 36 83 172 0 39 82 172 0 43 81 172 0 44 80 172 0 47 79 172 0 49 78 172 1 51 77 172 2 53 76 172 3 57 75 172 4 59 74 172 5 60 73 172 6 64 72 172 6 66 71 172 7 67 70 172 8 70 69 172 9 73 68 172 10 74 67 172 12 77 66 172 13 81 65 172 14 82 64 172 14 86 63 172 15 88 62 172 16 91 61 172 17 92 59 172 18 93 58 172 20 95 57 172 21 96 56 172 22 99 55 172 22 102 54 172 23 103 53 172 24 107 52 172 26 108 51 172 27 111 50 172 28 112 49 172 29 115 48 172 30 117 47 172 31 118 46 172 32 121 45 172 33 122 44 172 34 126 43 172 35 130 42 172 37 131 41 172 38 134 40 172 39 135 39 172 39 138 38 172 40 141 37 172 41 144 36 172 42 145 35 172 43 150 34 172 45 152 33 172 46 153 32 172 47 155 31 172 47 156 30 172 48 159 29 172 49 160 28 172 50 163 26 172 51 166 25 172 53 171 24 172 54 172 23 172 55 175 22 172 55 176 21 172 56 178 20 172 57 179 19 172 59 181 18 172 60 182 17 172 61 185 16 172 62 186 15 172 63 189 14 172 64 195 13 172 65 198 12 172 66 201 11 172 67 202 10 172 68 204 9 172 70 205 8 172 71 207 7 172 72 208 6 172 72 208 5 172 73 209 4 172 74 211 3 172 75 213 2 172 76 216 1 172 78 217 0 172 78 219 0 172 79 219 0 172 80 220 0 172 80 221 0 172 80 223 0 172 80 223 255 171 0 230 254 171 0 228 254 171 0 227 254 171 0 224 253 171 0 223 252 171 0 221 251 171 0 220 250 171 0 219 249 171 0 217 248 171 0 216 247 171 0 213 246 171 0 213 245 171 0 211 244 171 0 209 243 171 0 208 242 171 0 208 241 171 0 205 240 171 0 205 239 171 0 204 238 171 0 202 237 171 0 199 236 171 0 198 235 171 0 195 234 171 0 189 233 171 0 188 232 171 0 185 231 171 0 182 230 171 0 181 229 171 0 179 228 171 0 176 227 171 0 175 226 171 0 174 224 171 0 172 223 171 0 167 222 171 0 166 221 171 0 163 220 171 0 160 219 171 0 159 218 171 0 156 217 171 0 155 216 171 0 153 215 171 0 152 214 171 0 149 213 171 0 145 212 171 0 143 211 171 0 140 210 171 0 137 209 171 0 135 208 171 0 133 207 171 0 131 206 171 0 130 205 171 0 126 204 171 0 122 203 171 0 120 202 171 0 118 201 171 0 115 200 171 0 114 199 171 0 111 198 171 0 110 197 171 0 107 196 171 0 104 195 171 0 102 194 171 0 99 193 171 0 98 191 171 0 96 190 171 0 95 189 171 0 92 188 171 0 91 187 171 0 89 186 171 0 86 185 171 0 84 184 171 0 81 183 171 0 80 182 171 0 76 181 171 0 73 180 171 0 70 179 171 0 69 178 171 0 66 177 171 0 64 176 171 0 62 175 171 0 59 174 171 0 57 173 171 0 54 172 171 0 53 171 171 0 50 170 171 0 47 169 171 0 46 168 171 0 43 167 171 0 39 166 171 0 38 165 171 0 35 164 171 0 32 163 171 0 29 162 171 0 28 161 171 0 25 160 171 0 24 158 171 0 22 157 171 0 20 156 171 0 18 155 171 0 17 154 171 0 16 153 171 0 13 152 171 0 10 151 171 0 7 150 171 0 6 149 171 0 5 148 171 0 2 147 171 0 2 146 171 0 0 145 171 0 0 144 171 0 0 143 171 0 0 142 171 0 0 141 171 0 0 140 171 0 0 139 171 0 0 138 171 0 0 137 171 0 0 136 171 0 0 135 171 0 0 134 171 0 0 133 171 0 0 132 171 0 0 131 171 0 0 130 171 0 0 129 171 0 0 128 171 0 0 127 171 0 0 125 171 0 0 124 171 0 0 123 171 0 0 122 171 0 0 121 171 0 0 120 171 0 0 119 171 0 0 118 171 0 0 117 171 0 0 116 171 0 0 115 171 0 0 114 171 0 0 113 171 0 0 112 171 0 0 111 171 0 0 110 171 0 0 109 171 0 0 108 171 0 0 107 171 0 0 106 171 0 0 105 171 0 0 104 171 0 0 103 171 0 0 102 171 0 0 101 171 0 2 100 171 0 3 99 171 0 6 98 171 0 7 97 171 0 9 96 171 0 13 95 171 0 16 94 171 0 17 92 171 0 18 91 171 0 20 90 171 0 22 89 171 0 24 88 171 0 25 87 171 0 28 86 171 0 29 85 171 0 31 84 171 0 35 83 171 0 36 82 171 0 39 81 171 0 40 80 171 0 44 79 171 1 47 78 171 1 50 77 171 2 51 76 171 3 54 75 171 4 57 74 171 5 59 73 171 6 62 72 171 7 64 71 171 8 66 70 171 9 67 69 171 10 70 68 171 11 73 67 171 12 76 66 171 13 77 65 171 14 81 64 171 15 84 63 171 16 86 62 171 17 89 61 171 18 91 59 171 19 92 58 171 20 93 57 171 21 96 56 171 22 98 55 171 23 99 54 171 24 102 53 171 25 104 52 171 27 107 51 171 28 108 50 171 29 111 49 171 30 112 48 171 31 115 47 171 32 117 46 171 33 120 45 171 34 121 44 171 35 126 43 171 36 128 42 171 37 131 41 171 38 133 40 171 39 134 39 171 40 137 38 171 41 140 37 171 42 143 36 171 43 144 35 171 44 149 34 171 45 152 33 171 46 153 32 171 47 155 31 171 48 156 30 171 49 157 29 171 50 160 28 171 51 162 26 171 52 165 25 171 53 167 24 171 54 171 23 171 55 174 22 171 56 175 21 171 57 176 20 171 58 179 19 171 60 181 18 171 61 182 17 171 62 185 16 171 63 186 15 171 64 189 14 171 65 195 13 171 66 198 12 171 67 199 11 171 68 201 10 171 69 204 9 171 70 205 8 171 71 205 7 171 72 207 6 171 73 208 5 171 74 209 4 171 75 211 3 171 76 213 2 171 77 213 1 171 78 216 0 171 79 217 0 171 80 219 0 171 80 220 0 171 81 220 0 171 81 221 0 171 81 221 255 170 0 230 254 170 0 228 254 170 0 226 254 170 0 224 253 170 0 223 252 170 0 221 251 170 0 220 250 170 0 219 249 170 0 217 248 170 0 216 247 170 0 213 246 170 0 211 245 170 0 211 244 170 0 209 243 170 0 208 242 170 0 207 241 170 0 205 240 170 0 204 239 170 0 202 238 170 0 201 237 170 0 199 236 170 0 197 235 170 0 195 234 170 0 189 233 170 0 186 232 170 0 185 231 170 0 182 230 170 0 181 229 170 0 178 228 170 0 176 227 170 0 175 226 170 0 172 224 170 0 171 223 170 0 166 222 170 0 165 221 170 0 162 220 170 0 159 219 170 0 157 218 170 0 156 217 170 0 155 216 170 0 153 215 170 0 152 214 170 0 149 213 170 0 144 212 170 0 141 211 170 0 138 210 170 0 135 209 170 0 134 208 170 0 131 207 170 0 130 206 170 0 128 205 170 0 122 204 170 0 121 203 170 0 118 202 170 0 117 201 170 0 114 200 170 0 112 199 170 0 110 198 170 0 108 197 170 0 104 196 170 0 103 195 170 0 99 194 170 0 98 193 170 0 96 191 170 0 95 190 170 0 93 189 170 0 92 188 170 0 89 187 170 0 88 186 170 0 84 185 170 0 81 184 170 0 80 183 170 0 76 182 170 0 73 181 170 0 70 180 170 0 69 179 170 0 66 178 170 0 64 177 170 0 62 176 170 0 60 175 170 0 59 174 170 0 57 173 170 0 53 172 170 0 50 171 170 0 49 170 170 0 46 169 170 0 43 168 170 0 40 167 170 0 38 166 170 0 35 165 170 0 32 164 170 0 29 163 170 0 28 162 170 0 27 161 170 0 24 160 170 0 22 158 170 0 20 157 170 0 18 156 170 0 17 155 170 0 14 154 170 0 13 153 170 0 10 152 170 0 7 151 170 0 6 150 170 0 3 149 170 0 2 148 170 0 0 147 170 0 0 146 170 0 0 145 170 0 0 144 170 0 0 143 170 0 0 142 170 0 0 141 170 0 0 140 170 0 0 139 170 0 0 138 170 0 0 137 170 0 0 136 170 0 0 135 170 0 0 134 170 0 0 133 170 0 0 132 170 0 0 131 170 0 0 130 170 0 0 129 170 0 0 128 170 0 0 127 170 0 0 125 170 0 0 124 170 0 0 123 170 0 0 122 170 0 0 121 170 0 0 120 170 0 0 119 170 0 0 118 170 0 0 117 170 0 0 116 170 0 0 115 170 0 0 114 170 0 0 113 170 0 0 112 170 0 0 111 170 0 0 110 170 0 0 109 170 0 0 108 170 0 0 107 170 0 0 106 170 0 0 105 170 0 0 104 170 0 0 103 170 0 0 102 170 0 0 101 170 0 0 100 170 0 2 99 170 0 3 98 170 0 5 97 170 0 7 96 170 0 9 95 170 0 13 94 170 0 14 92 170 0 17 91 170 0 18 90 170 0 20 89 170 0 22 88 170 0 24 87 170 0 25 86 170 0 28 85 170 0 29 84 170 0 32 83 170 0 35 82 170 0 38 81 170 0 39 80 170 1 43 79 170 1 46 78 170 2 47 77 170 3 50 76 170 4 53 75 170 5 54 74 170 6 59 73 170 7 60 72 170 8 62 71 170 9 64 70 170 10 66 69 170 11 67 68 170 12 70 67 170 13 73 66 170 14 76 65 170 15 80 64 170 16 81 63 170 17 84 62 170 18 88 61 170 19 89 59 170 20 91 58 170 21 93 57 170 22 95 56 170 23 96 55 170 24 98 54 170 25 99 53 170 26 103 52 170 28 104 51 170 29 107 50 170 30 110 49 170 31 111 48 170 32 114 47 170 33 115 46 170 34 118 45 170 35 121 44 170 36 122 43 170 37 128 42 170 38 130 41 170 39 131 40 170 40 133 39 170 41 135 38 170 42 138 37 170 43 141 36 170 44 144 35 170 45 145 34 170 46 150 33 170 47 153 32 170 48 155 31 170 49 156 30 170 50 157 29 170 51 159 28 170 52 162 26 170 53 163 25 170 54 166 24 170 55 171 23 170 56 172 22 170 57 174 21 170 58 176 20 170 59 178 19 170 61 181 18 170 62 182 17 170 63 184 16 170 64 186 15 170 65 189 14 170 66 194 13 170 67 197 12 170 68 198 11 170 69 201 10 170 70 202 9 170 71 204 8 170 72 205 7 170 73 207 6 170 74 208 5 170 75 209 4 170 76 211 3 170 77 211 2 170 78 213 1 170 79 216 0 170 80 217 0 170 81 219 0 170 81 219 0 170 82 220 0 170 82 220 0 170 82 220 255 169 0 230 254 169 0 228 254 169 0 226 254 169 0 224 253 169 0 221 252 169 0 220 251 169 0 219 250 169 0 217 249 169 0 217 248 169 0 216 247 169 0 213 246 169 0 211 245 169 0 211 244 169 0 209 243 169 0 208 242 169 0 207 241 169 0 205 240 169 0 204 239 169 0 202 238 169 0 199 237 169 0 198 236 169 0 195 235 169 0 194 234 169 0 188 233 169 0 186 232 169 0 184 231 169 0 182 230 169 0 181 229 169 0 178 228 169 0 175 227 169 0 174 226 169 0 172 224 169 0 167 223 169 0 165 222 169 0 163 221 169 0 160 220 169 0 159 219 169 0 156 218 169 0 155 217 169 0 153 216 169 0 152 215 169 0 150 214 169 0 145 213 169 0 143 212 169 0 140 211 169 0 137 210 169 0 134 209 169 0 133 208 169 0 130 207 169 0 128 206 169 0 126 205 169 0 121 204 169 0 120 203 169 0 117 202 169 0 115 201 169 0 112 200 169 0 111 199 169 0 108 198 169 0 107 197 169 0 103 196 169 0 102 195 169 0 99 194 169 0 96 193 169 0 95 191 169 0 93 190 169 0 92 189 169 0 91 188 169 0 88 187 169 0 86 186 169 0 82 185 169 0 80 184 169 0 76 183 169 0 73 182 169 0 70 181 169 0 69 180 169 0 66 179 169 0 64 178 169 0 62 177 169 0 60 176 169 0 59 175 169 0 54 174 169 0 53 173 169 0 51 172 169 0 49 171 169 0 46 170 169 0 43 169 169 0 40 168 169 0 38 167 169 0 35 166 169 0 32 165 169 0 29 164 169 0 28 163 169 0 27 162 169 0 24 161 169 0 22 160 169 0 20 158 169 0 17 157 169 0 16 156 169 0 14 155 169 0 13 154 169 0 9 153 169 0 7 152 169 0 5 151 169 0 3 150 169 0 2 149 169 0 0 148 169 0 0 147 169 0 0 146 169 0 0 145 169 0 0 144 169 0 0 143 169 0 0 142 169 0 0 141 169 0 0 140 169 0 0 139 169 0 0 138 169 0 0 137 169 0 0 136 169 0 0 135 169 0 0 134 169 0 0 133 169 0 0 132 169 0 0 131 169 0 0 130 169 0 0 129 169 0 0 128 169 0 0 127 169 0 0 125 169 0 0 124 169 0 0 123 169 0 0 122 169 0 0 121 169 0 0 120 169 0 0 119 169 0 0 118 169 0 0 117 169 0 0 116 169 0 0 115 169 0 0 114 169 0 0 113 169 0 0 112 169 0 0 111 169 0 0 110 169 0 0 109 169 0 0 108 169 0 0 107 169 0 0 106 169 0 0 105 169 0 0 104 169 0 0 103 169 0 0 102 169 0 0 101 169 0 0 100 169 0 0 99 169 0 0 98 169 0 2 97 169 0 5 96 169 0 6 95 169 0 9 94 169 0 10 92 169 0 14 91 169 0 16 90 169 0 17 89 169 0 20 88 169 0 22 87 169 0 24 86 169 0 25 85 169 0 28 84 169 0 29 83 169 0 32 82 169 0 35 81 169 1 36 80 169 1 39 79 169 2 43 78 169 3 46 77 169 4 47 76 169 5 50 75 169 6 53 74 169 7 54 73 169 8 59 72 169 9 60 71 169 10 62 70 169 11 64 69 169 12 66 68 169 13 67 67 169 14 70 66 169 15 73 65 169 16 76 64 169 17 80 63 169 18 82 62 169 19 86 61 169 20 88 59 169 21 89 58 169 22 92 57 169 23 93 56 169 24 95 55 169 25 96 54 169 26 98 53 169 27 102 52 169 29 103 51 169 30 104 50 169 31 108 49 169 32 110 48 169 33 112 47 169 34 114 46 169 35 117 45 169 36 118 44 169 37 121 43 169 38 126 42 169 39 128 41 169 40 130 40 169 41 133 39 169 42 134 38 169 43 137 37 169 44 140 36 169 45 143 35 169 46 145 34 169 47 150 33 169 48 152 32 169 49 153 31 169 50 155 30 169 51 156 29 169 52 157 28 169 53 160 26 169 54 162 25 169 55 165 24 169 56 166 23 169 57 171 22 169 58 174 21 169 59 175 20 169 60 178 19 169 62 179 18 169 63 182 17 169 64 184 16 169 65 186 15 169 66 188 14 169 67 189 13 169 68 195 12 169 69 197 11 169 70 199 10 169 71 201 9 169 72 204 8 169 73 205 7 169 74 207 6 169 75 208 5 169 76 209 4 169 77 209 3 169 78 211 2 169 79 213 1 169 80 216 0 169 81 217 0 169 82 217 0 169 82 219 0 169 82 219 0 169 83 220 0 169 83 220 255 168 0 230 254 168 0 228 254 168 0 226 254 168 0 224 253 168 0 221 252 168 0 220 251 168 0 219 250 168 0 217 249 168 0 217 248 168 0 216 247 168 0 213 246 168 0 211 245 168 0 211 244 168 0 209 243 168 0 208 242 168 0 207 241 168 0 205 240 168 0 204 239 168 0 201 238 168 0 198 237 168 0 197 236 168 0 194 235 168 0 189 234 168 0 186 233 168 0 185 232 168 0 184 231 168 0 182 230 168 0 179 229 168 0 178 228 168 0 175 227 168 0 174 226 168 0 171 224 168 0 166 223 168 0 163 222 168 0 162 221 168 0 159 220 168 0 157 219 168 0 156 218 168 0 155 217 168 0 153 216 168 0 152 215 168 0 149 214 168 0 144 213 168 0 143 212 168 0 140 211 168 0 137 210 168 0 134 209 168 0 131 208 168 0 130 207 168 0 126 206 168 0 122 205 168 0 120 204 168 0 118 203 168 0 115 202 168 0 114 201 168 0 111 200 168 0 108 199 168 0 107 198 168 0 104 197 168 0 102 196 168 0 99 195 168 0 98 194 168 0 95 193 168 0 93 191 168 0 92 190 168 0 91 189 168 0 89 188 168 0 86 187 168 0 84 186 168 0 81 185 168 0 77 184 168 0 74 183 168 0 71 182 168 0 69 181 168 0 66 180 168 0 64 179 168 0 62 178 168 0 60 177 168 0 59 176 168 0 57 175 168 0 53 174 168 0 51 173 168 0 49 172 168 0 46 171 168 0 43 170 168 0 40 169 168 0 38 168 168 0 35 167 168 0 32 166 168 0 31 165 168 0 28 164 168 0 27 163 168 0 25 162 168 0 22 161 168 0 20 160 168 0 18 158 168 0 16 157 168 0 14 156 168 0 13 155 168 0 9 154 168 0 6 153 168 0 5 152 168 0 2 151 168 0 0 150 168 0 0 149 168 0 0 148 168 0 0 147 168 0 0 146 168 0 0 145 168 0 0 144 168 0 0 143 168 0 0 142 168 0 0 141 168 0 0 140 168 0 0 139 168 0 0 138 168 0 0 137 168 0 0 136 168 0 0 135 168 0 0 134 168 0 0 133 168 0 0 132 168 0 0 131 168 0 0 130 168 0 0 129 168 0 0 128 168 0 0 127 168 0 0 125 168 0 0 124 168 0 0 123 168 0 0 122 168 0 0 121 168 0 0 120 168 0 0 119 168 0 0 118 168 0 0 117 168 0 0 116 168 0 0 115 168 0 0 114 168 0 0 113 168 0 0 112 168 0 0 111 168 0 0 110 168 0 0 109 168 0 0 108 168 0 0 107 168 0 0 106 168 0 0 105 168 0 0 104 168 0 0 103 168 0 0 102 168 0 0 101 168 0 0 100 168 0 0 99 168 0 0 98 168 0 0 97 168 0 2 96 168 0 3 95 168 0 6 94 168 0 9 92 168 0 10 91 168 0 14 90 168 0 16 89 168 0 17 88 168 0 20 87 168 0 22 86 168 0 24 85 168 0 27 84 168 0 28 83 168 1 29 82 168 1 32 81 168 2 35 80 168 2 36 79 168 3 39 78 168 4 43 77 168 5 46 76 168 6 49 75 168 7 50 74 168 8 53 73 168 9 54 72 168 10 59 71 168 11 59 70 168 12 62 69 168 13 64 68 168 14 66 67 168 15 69 66 168 16 71 65 168 17 73 64 168 18 76 63 168 19 81 62 168 20 82 61 168 21 86 59 168 22 88 58 168 24 91 57 168 25 92 56 168 26 93 55 168 27 95 54 168 28 98 53 168 29 99 52 168 30 102 51 168 31 103 50 168 32 107 49 168 33 108 48 168 34 111 47 168 35 112 46 168 36 115 45 168 37 118 44 168 38 120 43 168 39 122 42 168 40 126 41 168 41 128 40 168 42 131 39 168 43 133 38 168 44 135 37 168 45 138 36 168 46 141 35 168 47 144 34 168 48 149 33 168 49 150 32 168 50 153 31 168 51 155 30 168 52 156 29 168 53 157 28 168 54 159 26 168 55 160 25 168 57 163 24 168 58 166 23 168 59 167 22 168 60 172 21 168 61 175 20 168 62 178 19 168 63 179 18 168 64 181 17 168 65 184 16 168 66 185 15 168 67 186 14 168 68 188 13 168 69 194 12 168 70 195 11 168 71 198 10 168 72 201 9 168 73 202 8 168 74 205 7 168 75 207 6 168 76 208 5 168 77 209 4 168 78 209 3 168 79 211 2 168 80 213 1 168 81 216 0 168 82 217 0 168 83 217 0 168 83 219 0 168 84 219 0 168 84 220 0 168 84 220 255 167 0 230 254 167 0 228 254 167 0 226 254 167 0 224 253 167 0 221 252 167 0 220 251 167 0 219 250 167 0 217 249 167 0 217 248 167 0 216 247 167 0 213 246 167 0 211 245 167 0 209 244 167 0 209 243 167 0 208 242 167 0 207 241 167 0 205 240 167 0 202 239 167 0 201 238 167 0 198 237 167 0 195 236 167 0 189 235 167 0 188 234 167 0 186 233 167 0 185 232 167 0 184 231 167 0 181 230 167 0 179 229 167 0 178 228 167 0 175 227 167 0 172 226 167 0 167 224 167 0 165 223 167 0 162 222 167 0 160 221 167 0 157 220 167 0 156 219 167 0 155 218 167 0 153 217 167 0 152 216 167 0 150 215 167 0 145 214 167 0 143 213 167 0 141 212 167 0 138 211 167 0 135 210 167 0 133 209 167 0 131 208 167 0 128 207 167 0 126 206 167 0 122 205 167 0 120 204 167 0 117 203 167 0 115 202 167 0 112 201 167 0 110 200 167 0 108 199 167 0 104 198 167 0 103 197 167 0 102 196 167 0 98 195 167 0 96 194 167 0 95 193 167 0 92 191 167 0 91 190 167 0 89 189 167 0 88 188 167 0 84 187 167 0 82 186 167 0 80 185 167 0 76 184 167 0 73 183 167 0 70 182 167 0 67 181 167 0 64 180 167 0 62 179 167 0 60 178 167 0 59 177 167 0 57 176 167 0 53 175 167 0 51 174 167 0 49 173 167 0 46 172 167 0 43 171 167 0 40 170 167 0 38 169 167 0 35 168 167 0 32 167 167 0 31 166 167 0 29 165 167 0 27 164 167 0 25 163 167 0 24 162 167 0 20 161 167 0 18 160 167 0 17 158 167 0 14 157 167 0 13 156 167 0 9 155 167 0 6 154 167 0 5 153 167 0 2 152 167 0 0 151 167 0 0 150 167 0 0 149 167 0 0 148 167 0 0 147 167 0 0 146 167 0 0 145 167 0 0 144 167 0 0 143 167 0 0 142 167 0 0 141 167 0 0 140 167 0 0 139 167 0 0 138 167 0 0 137 167 0 0 136 167 0 0 135 167 0 0 134 167 0 0 133 167 0 0 132 167 0 0 131 167 0 0 130 167 0 0 129 167 0 0 128 167 0 0 127 167 0 0 125 167 0 0 124 167 0 0 123 167 0 0 122 167 0 0 121 167 0 0 120 167 0 0 119 167 0 0 118 167 0 0 117 167 0 0 116 167 0 0 115 167 0 0 114 167 0 0 113 167 0 0 112 167 0 0 111 167 0 0 110 167 0 0 109 167 0 0 108 167 0 0 107 167 0 0 106 167 0 0 105 167 0 0 104 167 0 0 103 167 0 0 102 167 0 0 101 167 0 0 100 167 0 0 99 167 0 0 98 167 0 0 97 167 0 0 96 167 0 2 95 167 0 3 94 167 0 6 92 167 0 9 91 167 0 13 90 167 0 14 89 167 0 16 88 167 0 18 87 167 0 20 86 167 0 22 85 167 0 25 84 167 1 27 83 167 2 28 82 167 2 31 81 167 3 32 80 167 3 35 79 167 4 38 78 167 5 39 77 167 6 43 76 167 7 46 75 167 9 49 74 167 10 50 73 167 10 53 72 167 11 54 71 167 12 59 70 167 13 60 69 167 14 62 68 167 15 64 67 167 17 67 66 167 18 70 65 167 18 73 64 167 19 76 63 167 20 80 62 167 21 82 61 167 22 84 59 167 24 86 58 167 25 89 57 167 26 91 56 167 27 92 55 167 28 93 54 167 29 96 53 167 30 98 52 167 31 99 51 167 32 102 50 167 34 104 49 167 35 107 48 167 35 110 47 167 36 111 46 167 37 114 45 167 38 117 44 167 39 120 43 167 40 121 42 167 42 126 41 167 43 128 40 167 43 130 39 167 44 133 38 167 45 135 37 167 46 137 36 167 47 140 35 167 48 143 34 167 50 145 33 167 51 150 32 167 51 152 31 167 52 153 30 167 53 155 29 167 54 156 28 167 55 157 26 167 57 160 25 167 58 162 24 167 59 165 23 167 60 167 22 167 61 172 21 167 62 175 20 167 63 176 19 167 64 179 18 167 65 181 17 167 67 182 16 167 68 185 15 167 68 186 14 167 69 188 13 167 70 189 12 167 71 195 11 167 72 197 10 167 73 199 9 167 75 202 8 167 76 205 7 167 76 207 6 167 77 208 5 167 78 209 4 167 79 209 3 167 80 211 2 167 81 213 1 167 83 216 0 167 83 217 0 167 84 217 0 167 85 219 0 167 85 219 0 167 85 220 0 167 85 220 255 166 0 230 254 166 0 228 254 166 0 226 254 166 0 224 253 166 0 221 252 166 0 220 251 166 0 219 250 166 0 217 249 166 0 217 248 166 0 216 247 166 0 213 246 166 0 211 245 166 0 209 244 166 0 209 243 166 0 208 242 166 0 207 241 166 0 205 240 166 0 202 239 166 0 199 238 166 0 197 237 166 0 194 236 166 0 189 235 166 0 186 234 166 0 185 233 166 0 184 232 166 0 182 231 166 0 181 230 166 0 179 229 166 0 176 228 166 0 175 227 166 0 172 226 166 0 167 224 166 0 165 223 166 0 162 222 166 0 159 221 166 0 157 220 166 0 156 219 166 0 155 218 166 0 152 217 166 0 150 216 166 0 149 215 166 0 144 214 166 0 141 213 166 0 140 212 166 0 137 211 166 0 134 210 166 0 133 209 166 0 130 208 166 0 128 207 166 0 122 206 166 0 121 205 166 0 118 204 166 0 115 203 166 0 114 202 166 0 111 201 166 0 108 200 166 0 107 199 166 0 103 198 166 0 102 197 166 0 99 196 166 0 96 195 166 0 95 194 166 0 92 193 166 0 91 191 166 0 89 190 166 0 86 189 166 0 84 188 166 0 82 187 166 0 81 186 166 0 77 185 166 0 74 184 166 0 71 183 166 0 69 182 166 0 66 181 166 0 64 180 166 0 60 179 166 0 59 178 166 0 57 177 166 0 53 176 166 0 51 175 166 0 49 174 166 0 46 173 166 0 44 172 166 0 40 171 166 0 38 170 166 0 35 169 166 0 32 168 166 0 31 167 166 0 28 166 166 0 27 165 166 0 25 164 166 0 24 163 166 0 22 162 166 0 18 161 166 0 17 160 166 0 14 158 166 0 10 157 166 0 9 156 166 0 6 155 166 0 3 154 166 0 2 153 166 0 0 152 166 0 0 151 166 0 0 150 166 0 0 149 166 0 0 148 166 0 0 147 166 0 0 146 166 0 0 145 166 0 0 144 166 0 0 143 166 0 0 142 166 0 0 141 166 0 0 140 166 0 0 139 166 0 0 138 166 0 0 137 166 0 0 136 166 0 0 135 166 0 0 134 166 0 0 133 166 0 0 132 166 0 0 131 166 0 0 130 166 0 0 129 166 0 0 128 166 0 0 127 166 0 0 125 166 0 0 124 166 0 0 123 166 0 0 122 166 0 0 121 166 0 0 120 166 0 0 119 166 0 0 118 166 0 0 117 166 0 0 116 166 0 0 115 166 0 0 114 166 0 0 113 166 0 0 112 166 0 0 111 166 0 0 110 166 0 0 109 166 0 0 108 166 0 0 107 166 0 0 106 166 0 0 105 166 0 0 104 166 0 0 103 166 0 0 102 166 0 0 101 166 0 0 100 166 0 0 99 166 0 0 98 166 0 0 97 166 0 0 96 166 0 0 95 166 0 2 94 166 0 3 92 166 0 6 91 166 0 9 90 166 0 10 89 166 0 14 88 166 0 16 87 166 0 18 86 166 0 20 85 166 1 24 84 166 2 25 83 166 2 27 82 166 3 28 81 166 4 29 80 166 4 32 79 166 5 35 78 166 6 38 77 166 7 39 76 166 9 43 75 166 10 46 74 166 11 49 73 166 12 50 72 166 12 53 71 166 13 54 70 166 14 59 69 166 15 60 68 166 17 62 67 166 18 66 66 166 19 69 65 166 20 71 64 166 20 74 63 166 21 77 62 166 22 80 61 166 24 82 59 166 25 84 58 166 26 86 57 166 27 88 56 166 28 91 55 166 29 92 54 166 30 95 53 166 31 96 52 166 32 98 51 166 34 99 50 166 35 103 49 166 36 104 48 166 37 108 47 166 37 110 46 166 38 112 45 166 39 115 44 166 40 118 43 166 42 121 42 166 43 122 41 166 44 126 40 166 45 130 39 166 45 131 38 166 46 134 37 166 47 137 36 166 48 138 35 166 50 141 34 166 51 144 33 166 52 149 32 166 53 150 31 166 53 152 30 166 54 155 29 166 55 156 28 166 57 157 26 166 58 159 25 166 59 162 24 166 60 163 23 166 61 166 22 166 62 171 21 166 63 174 20 166 64 176 19 166 65 178 18 166 67 181 17 166 68 182 16 166 69 184 15 166 70 185 14 166 70 186 13 166 71 188 12 166 72 194 11 166 73 197 10 166 75 199 9 166 76 202 8 166 77 204 7 166 78 207 6 166 78 208 5 166 79 209 4 166 80 209 3 166 81 211 2 166 83 213 1 166 84 216 0 166 85 217 0 166 85 217 0 166 86 219 0 166 86 219 0 166 86 220 0 166 86 220 255 165 0 230 254 165 0 228 254 165 0 226 254 165 0 224 253 165 0 221 252 165 0 220 251 165 0 219 250 165 0 217 249 165 0 217 248 165 0 216 247 165 0 213 246 165 0 211 245 165 0 209 244 165 0 208 243 165 0 208 242 165 0 207 241 165 0 204 240 165 0 202 239 165 0 199 238 165 0 197 237 165 0 194 236 165 0 188 235 165 0 186 234 165 0 184 233 165 0 182 232 165 0 181 231 165 0 179 230 165 0 178 229 165 0 176 228 165 0 174 227 165 0 171 226 165 0 166 224 165 0 163 223 165 0 160 222 165 0 159 221 165 0 156 220 165 0 155 219 165 0 153 218 165 0 152 217 165 0 149 216 165 0 145 215 165 0 143 214 165 0 140 213 165 0 137 212 165 0 135 211 165 0 133 210 165 0 131 209 165 0 130 208 165 0 126 207 165 0 122 206 165 0 120 205 165 0 117 204 165 0 115 203 165 0 112 202 165 0 110 201 165 0 107 200 165 0 104 199 165 0 102 198 165 0 99 197 165 0 96 196 165 0 95 195 165 0 92 194 165 0 91 193 165 0 89 191 165 0 86 190 165 0 84 189 165 0 82 188 165 0 81 187 165 0 80 186 165 0 76 185 165 0 73 184 165 0 70 183 165 0 67 182 165 0 64 181 165 0 62 180 165 0 59 179 165 0 57 178 165 0 53 177 165 0 51 176 165 0 49 175 165 0 46 174 165 0 43 173 165 0 40 172 165 0 38 171 165 0 35 170 165 0 32 169 165 0 29 168 165 0 28 167 165 0 27 166 165 0 25 165 165 0 22 164 165 0 20 163 165 0 18 162 165 0 16 161 165 0 14 160 165 0 10 158 165 0 9 157 165 0 6 156 165 0 3 155 165 0 2 154 165 0 0 153 165 0 0 152 165 0 0 151 165 0 0 150 165 0 0 149 165 0 0 148 165 0 0 147 165 0 0 146 165 0 0 145 165 0 0 144 165 0 0 143 165 0 0 142 165 0 0 141 165 0 0 140 165 0 0 139 165 0 0 138 165 0 0 137 165 0 0 136 165 0 0 135 165 0 0 134 165 0 0 133 165 0 0 132 165 0 0 131 165 0 0 130 165 0 0 129 165 0 0 128 165 0 0 127 165 0 0 125 165 0 0 124 165 0 0 123 165 0 0 122 165 0 0 121 165 0 0 120 165 0 0 119 165 0 0 118 165 0 0 117 165 0 0 116 165 0 0 115 165 0 0 114 165 0 0 113 165 0 0 112 165 0 0 111 165 0 0 110 165 0 0 109 165 0 0 108 165 0 0 107 165 0 0 106 165 0 0 105 165 0 0 104 165 0 0 103 165 0 0 102 165 0 0 101 165 0 0 100 165 0 0 99 165 0 0 98 165 0 0 97 165 0 0 96 165 0 0 95 165 0 0 94 165 0 0 92 165 0 3 91 165 0 6 90 165 0 7 89 165 0 10 88 165 0 14 87 165 0 16 86 165 0 18 85 165 1 20 84 165 2 22 83 165 3 24 82 165 4 27 81 165 5 28 80 165 5 29 79 165 6 32 78 165 7 35 77 165 8 38 76 165 10 39 75 165 11 43 74 165 12 46 73 165 13 49 72 165 13 50 71 165 14 53 70 165 15 54 69 165 16 59 68 165 18 60 67 165 19 64 66 165 20 67 65 165 21 70 64 165 21 73 63 165 22 76 62 165 23 77 61 165 25 81 59 165 26 82 58 165 27 84 57 165 28 86 56 165 29 88 55 165 30 91 54 165 31 92 53 165 32 95 52 165 33 96 51 165 35 98 50 165 36 102 49 165 37 103 48 165 38 107 47 165 38 108 46 165 39 112 45 165 40 114 44 165 41 117 43 165 43 120 42 165 44 121 41 165 45 126 40 165 46 128 39 165 46 131 38 165 47 133 37 165 48 134 36 165 49 137 35 165 51 140 34 165 52 143 33 165 53 145 32 165 54 149 31 165 54 152 30 165 55 153 29 165 56 155 28 165 58 156 26 165 59 159 25 165 60 160 24 165 61 163 23 165 62 166 22 165 63 171 21 165 64 172 20 165 65 175 19 165 66 178 18 165 68 179 17 165 69 181 16 165 70 182 15 165 71 184 14 165 71 185 13 165 72 188 12 165 73 194 11 165 74 195 10 165 76 199 9 165 77 202 8 165 78 204 7 165 79 207 6 165 79 208 5 165 80 208 4 165 81 209 3 165 82 211 2 165 84 213 1 165 85 213 0 165 86 217 0 165 86 217 0 165 87 219 0 165 87 219 0 165 87 220 0 165 87 220 255 164 0 230 254 164 0 228 254 164 0 226 254 164 0 224 253 164 0 221 252 164 0 220 251 164 0 219 250 164 0 217 249 164 0 217 248 164 0 213 247 164 0 211 246 164 0 211 245 164 0 209 244 164 0 208 243 164 0 207 242 164 0 207 241 164 0 204 240 164 0 202 239 164 0 199 238 164 0 197 237 164 0 189 236 164 0 188 235 164 0 185 234 164 0 184 233 164 0 182 232 164 0 181 231 164 0 179 230 164 0 176 229 164 0 175 228 164 0 172 227 164 0 167 226 164 0 166 224 164 0 163 223 164 0 160 222 164 0 159 221 164 0 156 220 164 0 155 219 164 0 153 218 164 0 150 217 164 0 149 216 164 0 144 215 164 0 141 214 164 0 138 213 164 0 135 212 164 0 134 211 164 0 131 210 164 0 130 209 164 0 128 208 164 0 122 207 164 0 121 206 164 0 118 205 164 0 117 204 164 0 114 203 164 0 111 202 164 0 108 201 164 0 104 200 164 0 103 199 164 0 99 198 164 0 96 197 164 0 95 196 164 0 93 195 164 0 91 194 164 0 89 193 164 0 86 191 164 0 84 190 164 0 82 189 164 0 81 188 164 0 77 187 164 0 76 186 164 0 74 185 164 0 71 184 164 0 69 183 164 0 66 182 164 0 64 181 164 0 60 180 164 0 57 179 164 0 54 178 164 0 51 177 164 0 49 176 164 0 46 175 164 0 43 174 164 0 40 173 164 0 38 172 164 0 35 171 164 0 32 170 164 0 29 169 164 0 28 168 164 0 25 167 164 0 24 166 164 0 22 165 164 0 20 164 164 0 18 163 164 0 16 162 164 0 14 161 164 0 10 160 164 0 7 158 164 0 6 157 164 0 3 156 164 0 0 155 164 0 0 154 164 0 0 153 164 0 0 152 164 0 0 151 164 0 0 150 164 0 0 149 164 0 0 148 164 0 0 147 164 0 0 146 164 0 0 145 164 0 0 144 164 0 0 143 164 0 0 142 164 0 0 141 164 0 0 140 164 0 0 139 164 0 0 138 164 0 0 137 164 0 0 136 164 0 0 135 164 0 0 134 164 0 0 133 164 0 0 132 164 0 0 131 164 0 0 130 164 0 0 129 164 0 0 128 164 0 0 127 164 0 0 125 164 0 0 124 164 0 0 123 164 0 0 122 164 0 0 121 164 0 0 120 164 0 0 119 164 0 0 118 164 0 0 117 164 0 0 116 164 0 0 115 164 0 0 114 164 0 0 113 164 0 0 112 164 0 0 111 164 0 0 110 164 0 0 109 164 0 0 108 164 0 0 107 164 0 0 106 164 0 0 105 164 0 0 104 164 0 0 103 164 0 0 102 164 0 0 101 164 0 0 100 164 0 0 99 164 0 0 98 164 0 0 97 164 0 0 96 164 0 0 95 164 0 0 94 164 0 0 92 164 0 0 91 164 0 3 90 164 0 5 89 164 0 7 88 164 0 10 87 164 0 13 86 164 1 16 85 164 2 17 84 164 3 18 83 164 4 22 82 164 5 24 81 164 6 25 80 164 6 28 79 164 7 29 78 164 8 32 77 164 9 35 76 164 10 38 75 164 12 40 74 164 13 43 73 164 14 46 72 164 14 49 71 164 15 51 70 164 16 53 69 164 17 57 68 164 18 59 67 164 20 62 66 164 21 66 65 164 22 69 64 164 22 71 63 164 23 74 62 164 24 76 61 164 26 77 59 164 27 80 58 164 28 81 57 164 29 82 56 164 30 86 55 164 31 88 54 164 32 91 53 164 33 92 52 164 34 95 51 164 35 96 50 164 37 99 49 164 38 102 48 164 39 104 47 164 39 108 46 164 40 111 45 164 41 112 44 164 42 115 43 164 43 118 42 164 45 121 41 164 46 122 40 164 47 126 39 164 47 130 38 164 48 131 37 164 49 133 36 164 50 135 35 164 51 138 34 164 53 141 33 164 54 144 32 164 55 149 31 164 55 150 30 164 56 153 29 164 57 155 28 164 59 156 26 164 60 157 25 164 61 160 24 164 62 162 23 164 63 165 22 164 64 167 21 164 65 172 20 164 66 174 19 164 67 176 18 164 68 178 17 164 70 181 16 164 71 182 15 164 72 184 14 164 72 185 13 164 73 188 12 164 74 189 11 164 75 195 10 164 76 199 9 164 78 201 8 164 79 204 7 164 80 205 6 164 80 207 5 164 81 208 4 164 82 209 3 164 83 211 2 164 84 211 1 164 86 213 0 164 86 217 0 164 87 217 0 164 88 219 0 164 88 219 0 164 88 220 0 164 88 220 255 163 0 230 254 163 0 228 254 163 0 226 254 163 0 223 253 163 0 221 252 163 0 220 251 163 0 219 250 163 0 217 249 163 0 216 248 163 0 213 247 163 0 211 246 163 0 209 245 163 0 209 244 163 0 208 243 163 0 207 242 163 0 205 241 163 0 204 240 163 0 201 239 163 0 199 238 163 0 195 237 163 0 189 236 163 0 188 235 163 0 185 234 163 0 182 233 163 0 181 232 163 0 179 231 163 0 178 230 163 0 175 229 163 0 174 228 163 0 171 227 163 0 166 226 163 0 165 224 163 0 162 223 163 0 160 222 163 0 157 221 163 0 156 220 163 0 155 219 163 0 153 218 163 0 150 217 163 0 145 216 163 0 143 215 163 0 140 214 163 0 137 213 163 0 134 212 163 0 133 211 163 0 130 210 163 0 128 209 163 0 126 208 163 0 122 207 163 0 120 206 163 0 118 205 163 0 115 204 163 0 112 203 163 0 110 202 163 0 107 201 163 0 103 200 163 0 102 199 163 0 98 198 163 0 95 197 163 0 93 196 163 0 91 195 163 0 89 194 163 0 86 193 163 0 84 191 163 0 81 190 163 0 80 189 163 0 77 188 163 0 76 187 163 0 74 186 163 0 71 185 163 0 70 184 163 0 67 183 163 0 64 182 163 0 60 181 163 0 59 180 163 0 54 179 163 0 51 178 163 0 49 177 163 0 46 176 163 0 44 175 163 0 40 174 163 0 38 173 163 0 35 172 163 0 32 171 163 0 29 170 163 0 28 169 163 0 25 168 163 0 24 167 163 0 20 166 163 0 18 165 163 0 17 164 163 0 14 163 163 0 13 162 163 0 9 161 163 0 7 160 163 0 5 158 163 0 2 157 163 0 0 156 163 0 0 155 163 0 0 154 163 0 0 153 163 0 0 152 163 0 0 151 163 0 0 150 163 0 0 149 163 0 0 148 163 0 0 147 163 0 0 146 163 0 0 145 163 0 0 144 163 0 0 143 163 0 0 142 163 0 0 141 163 0 0 140 163 0 0 139 163 0 0 138 163 0 0 137 163 0 0 136 163 0 0 135 163 0 0 134 163 0 0 133 163 0 0 132 163 0 0 131 163 0 0 130 163 0 0 129 163 0 0 128 163 0 0 127 163 0 0 125 163 0 0 124 163 0 0 123 163 0 0 122 163 0 0 121 163 0 0 120 163 0 0 119 163 0 0 118 163 0 0 117 163 0 0 116 163 0 0 115 163 0 0 114 163 0 0 113 163 0 0 112 163 0 0 111 163 0 0 110 163 0 0 109 163 0 0 108 163 0 0 107 163 0 0 106 163 0 0 105 163 0 0 104 163 0 0 103 163 0 0 102 163 0 0 101 163 0 0 100 163 0 0 99 163 0 0 98 163 0 0 97 163 0 0 96 163 0 0 95 163 0 0 94 163 0 0 92 163 0 0 91 163 0 0 90 163 0 2 89 163 0 5 88 163 0 6 87 163 1 9 86 163 1 13 85 163 2 14 84 163 3 16 83 163 4 18 82 163 5 20 81 163 6 24 80 163 7 25 79 163 8 28 78 163 9 29 77 163 10 32 76 163 11 35 75 163 12 38 74 163 13 39 73 163 14 43 72 163 15 46 71 163 16 49 70 163 17 51 69 163 18 54 68 163 19 57 67 163 20 60 66 163 21 64 65 163 22 67 64 163 23 69 63 163 24 71 62 163 25 73 61 163 27 76 59 163 28 77 58 163 29 80 57 163 30 81 56 163 31 82 55 163 32 86 54 163 33 88 53 163 34 91 52 163 35 93 51 163 36 95 50 163 37 96 49 163 38 99 48 163 39 103 47 163 40 104 46 163 41 110 45 163 42 111 44 163 43 114 43 163 44 117 42 163 45 120 41 163 46 121 40 163 47 126 39 163 48 128 38 163 49 130 37 163 50 131 36 163 51 134 35 163 52 137 34 163 53 140 33 163 54 143 32 163 55 145 31 163 56 150 30 163 57 152 29 163 58 155 28 163 60 156 26 163 61 157 25 163 62 159 24 163 63 162 23 163 64 163 22 163 65 166 21 163 66 167 20 163 67 172 19 163 68 175 18 163 69 176 17 163 70 179 16 163 71 181 15 163 72 182 14 163 73 185 13 163 74 186 12 163 75 189 11 163 76 195 10 163 77 198 9 163 78 201 8 163 79 204 7 163 80 205 6 163 81 207 5 163 82 208 4 163 83 208 3 163 84 209 2 163 85 211 1 163 86 213 0 163 87 216 0 163 88 217 0 163 88 219 0 163 89 219 0 163 89 219 0 163 89 219 255 162 0 230 254 162 0 228 254 162 0 226 254 162 0 223 253 162 0 221 252 162 0 220 251 162 0 219 250 162 0 217 249 162 0 216 248 162 0 213 247 162 0 211 246 162 0 209 245 162 0 208 244 162 0 207 243 162 0 205 242 162 0 204 241 162 0 202 240 162 0 201 239 162 0 198 238 162 0 195 237 162 0 189 236 162 0 186 235 162 0 185 234 162 0 182 233 162 0 181 232 162 0 179 231 162 0 176 230 162 0 174 229 162 0 172 228 162 0 167 227 162 0 165 226 162 0 163 224 162 0 160 223 162 0 159 222 162 0 157 221 162 0 156 220 162 0 153 219 162 0 152 218 162 0 149 217 162 0 144 216 162 0 141 215 162 0 138 214 162 0 135 213 162 0 133 212 162 0 131 211 162 0 130 210 162 0 126 209 162 0 122 208 162 0 121 207 162 0 118 206 162 0 115 205 162 0 112 204 162 0 110 203 162 0 108 202 162 0 104 201 162 0 102 200 162 0 98 199 162 0 96 198 162 0 93 197 162 0 92 196 162 0 89 195 162 0 86 194 162 0 84 193 162 0 81 191 162 0 77 190 162 0 76 189 162 0 74 188 162 0 73 187 162 0 71 186 162 0 69 185 162 0 67 184 162 0 64 183 162 0 62 182 162 0 59 181 162 0 54 180 162 0 51 179 162 0 49 178 162 0 46 177 162 0 43 176 162 0 40 175 162 0 38 174 162 0 35 173 162 0 32 172 162 0 29 171 162 0 28 170 162 0 25 169 162 0 22 168 162 0 20 167 162 0 17 166 162 0 16 165 162 0 13 164 162 0 10 163 162 0 7 162 162 0 6 161 162 0 3 160 162 0 2 158 162 0 0 157 162 0 0 156 162 0 0 155 162 0 0 154 162 0 0 153 162 0 0 152 162 0 0 151 162 0 0 150 162 0 0 149 162 0 0 148 162 0 0 147 162 0 0 146 162 0 0 145 162 0 0 144 162 0 0 143 162 0 0 142 162 0 0 141 162 0 0 140 162 0 0 139 162 0 0 138 162 0 0 137 162 0 0 136 162 0 0 135 162 0 0 134 162 0 0 133 162 0 0 132 162 0 0 131 162 0 0 130 162 0 0 129 162 0 0 128 162 0 0 127 162 0 0 125 162 0 0 124 162 0 0 123 162 0 0 122 162 0 0 121 162 0 0 120 162 0 0 119 162 0 0 118 162 0 0 117 162 0 0 116 162 0 0 115 162 0 0 114 162 0 0 113 162 0 0 112 162 0 0 111 162 0 0 110 162 0 0 109 162 0 0 108 162 0 0 107 162 0 0 106 162 0 0 105 162 0 0 104 162 0 0 103 162 0 0 102 162 0 0 101 162 0 0 100 162 0 0 99 162 0 0 98 162 0 0 97 162 0 0 96 162 0 0 95 162 0 0 94 162 0 0 92 162 0 0 91 162 0 0 90 162 0 0 89 162 0 0 88 162 1 3 87 162 1 5 86 162 2 7 85 162 3 10 84 162 4 13 83 162 5 14 82 162 6 17 81 162 7 18 80 162 8 22 79 162 9 25 78 162 10 27 77 162 11 29 76 162 12 32 75 162 13 35 74 162 14 38 73 162 15 39 72 162 16 43 71 162 17 46 70 162 18 49 69 162 19 51 68 162 20 53 67 162 21 57 66 162 22 60 65 162 23 64 64 162 24 67 63 162 25 69 62 162 26 71 61 162 28 73 59 162 29 74 58 162 30 76 57 162 31 77 56 162 32 81 55 162 33 84 54 162 34 86 53 162 35 89 52 162 36 91 51 162 37 93 50 162 38 95 49 162 39 98 48 162 40 102 47 162 41 103 46 162 42 107 45 162 43 110 44 162 44 112 43 162 45 115 42 162 46 118 41 162 47 120 40 162 48 122 39 162 49 126 38 162 50 128 37 162 51 131 36 162 52 133 35 162 53 135 34 162 54 138 33 162 55 141 32 162 56 144 31 162 57 149 30 162 58 152 29 162 59 153 28 162 61 155 26 162 62 157 25 162 63 159 24 162 64 160 23 162 65 162 22 162 66 165 21 162 67 166 20 162 68 171 19 162 69 174 18 162 70 176 17 162 71 178 16 162 72 181 15 162 73 182 14 162 74 184 13 162 75 186 12 162 76 189 11 162 77 195 10 162 78 198 9 162 79 201 8 162 80 202 7 162 81 204 6 162 82 205 5 162 83 207 4 162 84 208 3 162 85 209 2 162 86 211 1 162 87 213 0 162 88 216 0 162 89 217 0 162 89 217 0 162 90 219 0 162 90 219 0 162 90 219 255 161 0 230 254 161 0 228 254 161 0 226 254 161 0 223 253 161 0 221 252 161 0 220 251 161 0 217 250 161 0 217 249 161 0 216 248 161 0 213 247 161 0 211 246 161 0 209 245 161 0 208 244 161 0 207 243 161 0 205 242 161 0 204 241 161 0 201 240 161 0 199 239 161 0 198 238 161 0 195 237 161 0 189 236 161 0 186 235 161 0 185 234 161 0 182 233 161 0 181 232 161 0 178 231 161 0 175 230 161 0 174 229 161 0 171 228 161 0 166 227 161 0 163 226 161 0 162 224 161 0 159 223 161 0 157 222 161 0 156 221 161 0 155 220 161 0 153 219 161 0 150 218 161 0 145 217 161 0 143 216 161 0 140 215 161 0 137 214 161 0 134 213 161 0 133 212 161 0 130 211 161 0 128 210 161 0 126 209 161 0 122 208 161 0 120 207 161 0 117 206 161 0 115 205 161 0 112 204 161 0 110 203 161 0 107 202 161 0 103 201 161 0 99 200 161 0 98 199 161 0 95 198 161 0 92 197 161 0 91 196 161 0 88 195 161 0 86 194 161 0 82 193 161 0 80 191 161 0 76 190 161 0 74 189 161 0 71 188 161 0 70 187 161 0 69 186 161 0 67 185 161 0 64 184 161 0 62 183 161 0 59 182 161 0 54 181 161 0 51 180 161 0 49 179 161 0 47 178 161 0 43 177 161 0 40 176 161 0 38 175 161 0 35 174 161 0 32 173 161 0 29 172 161 0 28 171 161 0 25 170 161 0 24 169 161 0 20 168 161 0 17 167 161 0 14 166 161 0 13 165 161 0 9 164 161 0 7 163 161 0 5 162 161 0 3 161 161 0 0 160 161 0 0 158 161 0 0 157 161 0 0 156 161 0 0 155 161 0 0 154 161 0 0 153 161 0 0 152 161 0 0 151 161 0 0 150 161 0 0 149 161 0 0 148 161 0 0 147 161 0 0 146 161 0 0 145 161 0 0 144 161 0 0 143 161 0 0 142 161 0 0 141 161 0 0 140 161 0 0 139 161 0 0 138 161 0 0 137 161 0 0 136 161 0 0 135 161 0 0 134 161 0 0 133 161 0 0 132 161 0 0 131 161 0 0 130 161 0 0 129 161 0 0 128 161 0 0 127 161 0 0 125 161 0 0 124 161 0 0 123 161 0 0 122 161 0 0 121 161 0 0 120 161 0 0 119 161 0 0 118 161 0 0 117 161 0 0 116 161 0 0 115 161 0 0 114 161 0 0 113 161 0 0 112 161 0 0 111 161 0 0 110 161 0 0 109 161 0 0 108 161 0 0 107 161 0 0 106 161 0 0 105 161 0 0 104 161 0 0 103 161 0 0 102 161 0 0 101 161 0 0 100 161 0 0 99 161 0 0 98 161 0 0 97 161 0 0 96 161 0 0 95 161 0 0 94 161 0 0 92 161 0 0 91 161 0 0 90 161 0 0 89 161 1 0 88 161 1 0 87 161 2 3 86 161 3 5 85 161 4 7 84 161 5 9 83 161 6 10 82 161 7 14 81 161 8 17 80 161 9 18 79 161 10 22 78 161 11 25 77 161 12 27 76 161 13 29 75 161 14 32 74 161 15 35 73 161 16 38 72 161 17 40 71 161 18 43 70 161 19 46 69 161 20 49 68 161 21 51 67 161 22 54 66 161 23 59 65 161 24 60 64 161 25 64 63 161 26 67 62 161 27 69 61 161 29 70 59 161 30 71 58 161 31 73 57 161 32 76 56 161 33 80 55 161 34 82 54 161 35 84 53 161 36 88 52 161 37 91 51 161 38 92 50 161 39 93 49 161 40 96 48 161 41 99 47 161 42 102 46 161 43 104 45 161 44 108 44 161 45 111 43 161 46 114 42 161 47 117 41 161 48 120 40 161 49 121 39 161 50 122 38 161 51 126 37 161 52 130 36 161 53 131 35 161 54 134 34 161 55 137 33 161 56 140 32 161 57 143 31 161 58 145 30 161 59 150 29 161 60 152 28 161 62 155 26 161 63 156 25 161 64 157 24 161 65 159 23 161 66 160 22 161 67 163 21 161 68 165 20 161 69 167 19 161 70 172 18 161 71 175 17 161 72 178 16 161 73 179 15 161 74 182 14 161 75 184 13 161 76 186 12 161 77 189 11 161 78 194 10 161 79 197 9 161 80 199 8 161 81 201 7 161 82 204 6 161 83 205 5 161 84 207 4 161 85 208 3 161 86 209 2 161 87 211 1 161 88 213 0 161 89 216 0 161 90 216 0 161 91 217 0 161 91 219 0 161 91 219 0 161 91 219 255 160 0 228 254 160 0 227 254 160 0 226 254 160 0 223 253 160 0 221 252 160 0 219 251 160 0 217 250 160 0 216 249 160 0 213 248 160 0 213 247 160 0 211 246 160 0 209 245 160 0 208 244 160 0 205 243 160 0 204 242 160 0 202 241 160 0 199 240 160 0 198 239 160 0 197 238 160 0 194 237 160 0 188 236 160 0 186 235 160 0 184 234 160 0 182 233 160 0 181 232 160 0 178 231 160 0 175 230 160 0 172 229 160 0 167 228 160 0 165 227 160 0 162 226 160 0 160 224 160 0 159 223 160 0 157 222 160 0 156 221 160 0 153 220 160 0 152 219 160 0 149 218 160 0 144 217 160 0 141 216 160 0 138 215 160 0 135 214 160 0 133 213 160 0 131 212 160 0 128 211 160 0 126 210 160 0 122 209 160 0 121 208 160 0 118 207 160 0 117 206 160 0 114 205 160 0 111 204 160 0 108 203 160 0 104 202 160 0 102 201 160 0 98 200 160 0 96 199 160 0 93 198 160 0 92 197 160 0 89 196 160 0 88 195 160 0 84 194 160 0 81 193 160 0 77 191 160 0 74 190 160 0 71 189 160 0 70 188 160 0 69 187 160 0 66 186 160 0 64 185 160 0 62 184 160 0 59 183 160 0 54 182 160 0 53 181 160 0 50 180 160 0 47 179 160 0 44 178 160 0 40 177 160 0 38 176 160 0 36 175 160 0 32 174 160 0 29 173 160 0 28 172 160 0 25 171 160 0 24 170 160 0 20 169 160 0 17 168 160 0 14 167 160 0 10 166 160 0 9 165 160 0 6 164 160 0 5 163 160 0 3 162 160 0 0 161 160 0 0 160 160 0 0 158 160 0 0 157 160 0 0 156 160 0 0 155 160 0 0 154 160 0 0 153 160 0 0 152 160 0 0 151 160 0 0 150 160 0 0 149 160 0 0 148 160 0 0 147 160 0 0 146 160 0 0 145 160 0 0 144 160 0 0 143 160 0 0 142 160 0 0 141 160 0 0 140 160 0 0 139 160 0 0 138 160 0 0 137 160 0 0 136 160 0 0 135 160 0 0 134 160 0 0 133 160 0 0 132 160 0 0 131 160 0 0 130 160 0 0 129 160 0 0 128 160 0 0 127 160 0 0 125 160 0 0 124 160 0 0 123 160 0 0 122 160 0 0 121 160 0 0 120 160 0 0 119 160 0 0 118 160 0 0 117 160 0 0 116 160 0 0 115 160 0 0 114 160 0 0 113 160 0 0 112 160 0 0 111 160 0 0 110 160 0 0 109 160 0 0 108 160 0 0 107 160 0 0 106 160 0 0 105 160 0 0 104 160 0 0 103 160 0 0 102 160 0 0 101 160 0 0 100 160 0 0 99 160 0 0 98 160 0 0 97 160 0 0 96 160 0 0 95 160 0 0 94 160 0 0 92 160 0 0 91 160 1 0 90 160 1 0 89 160 2 0 88 160 2 0 87 160 3 0 86 160 4 3 85 160 5 5 84 160 6 6 83 160 7 9 82 160 8 10 81 160 9 14 80 160 10 17 79 160 11 20 78 160 12 22 77 160 13 25 76 160 14 28 75 160 15 29 74 160 16 32 73 160 17 35 72 160 18 38 71 160 19 40 70 160 20 44 69 160 21 46 68 160 22 49 67 160 24 51 66 160 25 54 65 160 26 59 64 160 27 62 63 160 28 64 62 160 29 66 61 160 30 67 59 160 31 70 58 160 32 71 57 160 33 74 56 160 34 77 55 160 35 81 54 160 36 82 53 160 37 86 52 160 38 89 51 160 39 91 50 160 40 93 49 160 41 95 48 160 42 98 47 160 43 102 46 160 44 104 45 160 45 107 44 160 46 110 43 160 47 112 42 160 48 115 41 160 49 118 40 160 50 120 39 160 51 122 38 160 52 126 37 160 53 128 36 160 54 130 35 160 55 133 34 160 57 135 33 160 58 138 32 160 59 141 31 160 60 144 30 160 61 149 29 160 62 150 28 160 63 153 26 160 64 155 25 160 65 156 24 160 66 157 23 160 67 160 22 160 68 162 21 160 69 163 20 160 70 166 19 160 71 172 18 160 72 174 17 160 73 176 16 160 74 179 15 160 75 182 14 160 76 184 13 160 77 186 12 160 78 188 11 160 79 194 10 160 80 197 9 160 81 198 8 160 82 199 7 160 83 202 6 160 84 204 5 160 85 205 4 160 86 207 3 160 87 208 2 160 88 209 1 160 90 211 0 160 91 213 0 160 91 216 0 160 92 217 0 160 92 217 0 160 92 219 0 160 92 219 255 158 0 228 254 158 0 227 254 158 0 226 254 158 0 223 253 158 0 220 252 158 0 219 251 158 0 217 250 158 0 216 249 158 0 213 248 158 0 211 247 158 0 209 246 158 0 208 245 158 0 207 244 158 0 205 243 158 0 204 242 158 0 201 241 158 0 198 240 158 0 197 239 158 0 195 238 158 0 189 237 158 0 188 236 158 0 186 235 158 0 184 234 158 0 182 233 158 0 179 232 158 0 178 231 158 0 175 230 158 0 172 229 158 0 167 228 158 0 165 227 158 0 162 226 158 0 159 224 158 0 157 223 158 0 156 222 158 0 155 221 158 0 152 220 158 0 150 219 158 0 145 218 158 0 143 217 158 0 140 216 158 0 137 215 158 0 134 214 158 0 131 213 158 0 130 212 158 0 126 211 158 0 122 210 158 0 121 209 158 0 120 208 158 0 117 207 158 0 115 206 158 0 112 205 158 0 110 204 158 0 107 203 158 0 103 202 158 0 99 201 158 0 96 200 158 0 95 199 158 0 92 198 158 0 91 197 158 0 88 196 158 0 86 195 158 0 82 194 158 0 80 193 158 0 76 191 158 0 73 190 158 0 70 189 158 0 69 188 158 0 66 187 158 0 64 186 158 0 62 185 158 0 59 184 158 0 57 183 158 0 53 182 158 0 50 181 158 0 47 180 158 0 44 179 158 0 40 178 158 0 38 177 158 0 36 176 158 0 32 175 158 0 31 174 158 0 28 173 158 0 27 172 158 0 24 171 158 0 20 170 158 0 17 169 158 0 14 168 158 0 10 167 158 0 9 166 158 0 6 165 158 0 5 164 158 0 3 163 158 0 0 162 158 0 0 161 158 0 0 160 158 0 0 158 158 0 0 157 158 0 0 156 158 0 0 155 158 0 0 154 158 0 0 153 158 0 0 152 158 0 0 151 158 0 0 150 158 0 0 149 158 0 0 148 158 0 0 147 158 0 0 146 158 0 0 145 158 0 0 144 158 0 0 143 158 0 0 142 158 0 0 141 158 0 0 140 158 0 0 139 158 0 0 138 158 0 0 137 158 0 0 136 158 0 0 135 158 0 0 134 158 0 0 133 158 0 0 132 158 0 0 131 158 0 0 130 158 0 0 129 158 0 0 128 158 0 0 127 158 0 0 125 158 0 0 124 158 0 0 123 158 0 0 122 158 0 0 121 158 0 0 120 158 0 0 119 158 0 0 118 158 0 0 117 158 0 0 116 158 0 0 115 158 0 0 114 158 0 0 113 158 0 0 112 158 0 0 111 158 0 0 110 158 0 0 109 158 0 0 108 158 0 0 107 158 0 0 106 158 0 0 105 158 0 0 104 158 0 0 103 158 0 0 102 158 0 0 101 158 0 0 100 158 0 0 99 158 0 0 98 158 0 0 97 158 0 0 96 158 0 0 95 158 0 0 94 158 0 0 92 158 1 0 91 158 2 0 90 158 2 0 89 158 3 0 88 158 3 0 87 158 4 0 86 158 5 0 85 158 6 2 84 158 7 5 83 158 9 6 82 158 10 7 81 158 10 10 80 158 11 14 79 158 12 17 78 158 13 20 77 158 14 24 76 158 15 25 75 158 17 28 74 158 18 29 73 158 18 32 72 158 19 36 71 158 20 38 70 158 21 40 69 158 22 44 68 158 24 47 67 158 25 50 66 158 26 53 65 158 27 54 64 158 28 59 63 158 29 62 62 158 30 64 61 158 31 66 59 158 32 67 58 158 34 70 57 158 35 73 56 158 35 76 55 158 36 80 54 158 37 82 53 158 38 84 52 158 39 88 51 158 40 91 50 158 42 92 49 158 43 95 48 158 43 96 47 158 44 99 46 158 45 103 45 158 46 104 44 158 47 108 43 158 48 112 42 158 50 114 41 158 51 117 40 158 51 120 39 158 52 121 38 158 53 122 37 158 54 126 36 158 55 128 35 158 57 131 34 158 58 133 33 158 59 135 32 158 60 138 31 158 61 141 30 158 62 144 29 158 63 149 28 158 64 152 26 158 65 155 25 158 67 156 24 158 68 157 23 158 68 159 22 158 69 160 21 158 70 163 20 158 71 166 19 158 72 171 18 158 73 174 17 158 75 176 16 158 76 179 15 158 76 181 14 158 77 184 13 158 78 185 12 158 79 188 11 158 80 189 10 158 81 194 9 158 83 197 8 158 84 198 7 158 84 201 6 158 85 202 5 158 86 205 4 158 87 207 3 158 88 208 2 158 90 209 1 158 91 211 0 158 92 213 0 158 93 213 0 158 93 216 0 158 93 217 0 158 94 219 0 158 94 219 255 157 0 227 254 157 0 226 254 157 0 224 254 157 0 221 253 157 0 220 252 157 0 219 251 157 0 216 250 157 0 213 249 157 0 213 248 157 0 211 247 157 0 209 246 157 0 208 245 157 0 207 244 157 0 205 243 157 0 202 242 157 0 201 241 157 0 198 240 157 0 195 239 157 0 194 238 157 0 188 237 157 0 186 236 157 0 185 235 157 0 184 234 157 0 181 233 157 0 179 232 157 0 176 231 157 0 175 230 157 0 172 229 157 0 167 228 157 0 163 227 157 0 162 226 157 0 159 224 157 0 156 223 157 0 155 222 157 0 153 221 157 0 152 220 157 0 149 219 157 0 144 218 157 0 141 217 157 0 138 216 157 0 135 215 157 0 133 214 157 0 130 213 157 0 128 212 157 0 126 211 157 0 121 210 157 0 120 209 157 0 118 208 157 0 115 207 157 0 114 206 157 0 111 205 157 0 108 204 157 0 104 203 157 0 102 202 157 0 99 201 157 0 96 200 157 0 93 199 157 0 92 198 157 0 89 197 157 0 88 196 157 0 84 195 157 0 81 194 157 0 77 193 157 0 74 191 157 0 71 190 157 0 69 189 157 0 67 188 157 0 64 187 157 0 62 186 157 0 60 185 157 0 57 184 157 0 54 183 157 0 51 182 157 0 49 181 157 0 46 180 157 0 43 179 157 0 39 178 157 0 36 177 157 0 35 176 157 0 31 175 157 0 29 174 157 0 27 173 157 0 25 172 157 0 22 171 157 0 18 170 157 0 16 169 157 0 13 168 157 0 9 167 157 0 6 166 157 0 5 165 157 0 3 164 157 0 0 163 157 0 0 162 157 0 0 161 157 0 0 160 157 0 0 158 157 0 0 157 157 0 0 156 157 0 0 155 157 0 0 154 157 0 0 153 157 0 0 152 157 0 0 151 157 0 0 150 157 0 0 149 157 0 0 148 157 0 0 147 157 0 0 146 157 0 0 145 157 0 0 144 157 0 0 143 157 0 0 142 157 0 0 141 157 0 0 140 157 0 0 139 157 0 0 138 157 0 0 137 157 0 0 136 157 0 0 135 157 0 0 134 157 0 0 133 157 0 0 132 157 0 0 131 157 0 0 130 157 0 0 129 157 0 0 128 157 0 0 127 157 0 0 125 157 0 0 124 157 0 0 123 157 0 0 122 157 0 0 121 157 0 0 120 157 0 0 119 157 0 0 118 157 0 0 117 157 0 0 116 157 0 0 115 157 0 0 114 157 0 0 113 157 0 0 112 157 0 0 111 157 0 0 110 157 0 0 109 157 0 0 108 157 0 0 107 157 0 0 106 157 0 0 105 157 0 0 104 157 0 0 103 157 0 0 102 157 0 0 101 157 0 0 100 157 0 0 99 157 0 0 98 157 0 0 97 157 0 0 96 157 0 0 95 157 0 0 94 157 1 0 92 157 2 0 91 157 2 0 90 157 3 0 89 157 4 0 88 157 4 0 87 157 5 0 86 157 6 0 85 157 7 0 84 157 9 2 83 157 10 5 82 157 11 6 81 157 12 9 80 157 12 10 79 157 13 16 78 157 14 18 77 157 15 22 76 157 17 25 75 157 18 27 74 157 19 28 73 157 20 31 72 157 20 35 71 157 21 36 70 157 22 39 69 157 24 43 68 157 25 44 67 157 26 47 66 157 27 50 65 157 28 53 64 157 29 57 63 157 30 60 62 157 31 62 61 157 32 64 59 157 34 66 58 157 35 69 57 157 36 71 56 157 37 74 55 157 37 77 54 157 38 81 53 157 39 84 52 157 40 86 51 157 42 89 50 157 43 91 49 157 44 93 48 157 45 95 47 157 45 98 46 157 46 102 45 157 47 104 44 157 48 107 43 157 50 111 42 157 51 114 41 157 52 115 40 157 53 118 39 157 53 120 38 157 54 121 37 157 55 122 36 157 57 126 35 157 58 130 34 157 59 131 33 157 60 134 32 157 61 137 31 157 62 140 30 157 63 144 29 157 64 149 28 157 65 150 26 157 67 153 25 157 68 155 24 157 69 156 23 157 70 159 22 157 70 160 21 157 71 163 20 157 72 166 19 157 73 171 18 157 75 174 17 157 76 176 16 157 77 179 15 157 78 181 14 157 78 182 13 157 79 185 12 157 80 186 11 157 81 188 10 157 83 194 9 157 84 195 8 157 85 197 7 157 86 199 6 157 86 202 5 157 87 204 4 157 88 207 3 157 90 208 2 157 91 209 1 157 92 211 0 157 93 211 0 157 94 213 0 157 95 216 0 157 95 217 0 157 95 217 0 157 95 219 255 156 0 226 254 156 0 224 254 156 0 223 254 156 0 221 253 156 0 220 252 156 0 217 251 156 0 216 250 156 0 213 249 156 0 211 248 156 0 211 247 156 0 209 246 156 0 208 245 156 0 207 244 156 0 205 243 156 0 202 242 156 0 199 241 156 0 197 240 156 0 194 239 156 0 189 238 156 0 186 237 156 0 185 236 156 0 184 235 156 0 182 234 156 0 181 233 156 0 179 232 156 0 176 231 156 0 174 230 156 0 172 229 156 0 166 228 156 0 163 227 156 0 160 226 156 0 159 224 156 0 156 223 156 0 155 222 156 0 153 221 156 0 150 220 156 0 145 219 156 0 144 218 156 0 140 217 156 0 137 216 156 0 134 215 156 0 131 214 156 0 128 213 156 0 126 212 156 0 122 211 156 0 121 210 156 0 120 209 156 0 117 208 156 0 115 207 156 0 112 206 156 0 110 205 156 0 107 204 156 0 103 203 156 0 99 202 156 0 98 201 156 0 95 200 156 0 93 199 156 0 91 198 156 0 88 197 156 0 86 196 156 0 82 195 156 0 80 194 156 0 76 193 156 0 73 191 156 0 70 190 156 0 67 189 156 0 66 188 156 0 64 187 156 0 60 186 156 0 59 185 156 0 54 184 156 0 53 183 156 0 50 182 156 0 47 181 156 0 44 180 156 0 40 179 156 0 38 178 156 0 36 177 156 0 32 176 156 0 31 175 156 0 28 174 156 0 27 173 156 0 24 172 156 0 20 171 156 0 17 170 156 0 14 169 156 0 10 168 156 0 7 167 156 0 5 166 156 0 3 165 156 0 2 164 156 0 0 163 156 0 0 162 156 0 0 161 156 0 0 160 156 0 0 158 156 0 0 157 156 0 0 156 156 0 0 155 156 0 0 154 156 0 0 153 156 0 0 152 156 0 0 151 156 0 0 150 156 0 0 149 156 0 0 148 156 0 0 147 156 0 0 146 156 0 0 145 156 0 0 144 156 0 0 143 156 0 0 142 156 0 0 141 156 0 0 140 156 0 0 139 156 0 0 138 156 0 0 137 156 0 0 136 156 0 0 135 156 0 0 134 156 0 0 133 156 0 0 132 156 0 0 131 156 0 0 130 156 0 0 129 156 0 0 128 156 0 0 127 156 0 0 125 156 0 0 124 156 0 0 123 156 0 0 122 156 0 0 121 156 0 0 120 156 0 0 119 156 0 0 118 156 0 0 117 156 0 0 116 156 0 0 115 156 0 0 114 156 0 0 113 156 0 0 112 156 0 0 111 156 0 0 110 156 0 0 109 156 0 0 108 156 0 0 107 156 0 0 106 156 0 0 105 156 0 0 104 156 0 0 103 156 0 0 102 156 0 0 101 156 0 0 100 156 0 0 99 156 0 0 98 156 0 0 97 156 0 0 96 156 0 0 95 156 0 0 94 156 1 0 92 156 2 0 91 156 3 0 90 156 4 0 89 156 5 0 88 156 5 0 87 156 6 0 86 156 7 0 85 156 8 0 84 156 10 0 83 156 11 3 82 156 12 5 81 156 13 7 80 156 13 9 79 156 14 14 78 156 15 17 77 156 16 20 76 156 18 24 75 156 19 25 74 156 20 28 73 156 21 29 72 156 21 32 71 156 22 35 70 156 23 38 69 156 25 40 68 156 26 43 67 156 27 46 66 156 28 50 65 156 29 51 64 156 30 54 63 156 31 59 62 156 32 60 61 156 33 62 59 156 35 66 58 156 36 67 57 156 37 70 56 156 38 73 55 156 38 76 54 156 39 80 53 156 40 82 52 156 41 84 51 156 43 88 50 156 44 89 49 156 45 92 48 156 46 95 47 156 46 96 46 156 47 99 45 156 48 103 44 156 49 107 43 156 51 110 42 156 52 112 41 156 53 114 40 156 54 117 39 156 54 118 38 156 55 120 37 156 56 122 36 156 58 126 35 156 59 128 34 156 60 130 33 156 61 133 32 156 62 135 31 156 63 138 30 156 64 143 29 156 65 145 28 156 66 150 26 156 68 153 25 156 69 155 24 156 70 156 23 156 71 157 22 156 71 160 21 156 72 163 20 156 73 166 19 156 74 171 18 156 76 174 17 156 77 176 16 156 78 178 15 156 79 181 14 156 79 182 13 156 80 184 12 156 81 185 11 156 82 186 10 156 84 189 9 156 85 194 8 156 86 197 7 156 87 199 6 156 87 202 5 156 88 204 4 156 89 207 3 156 91 208 2 156 92 209 1 156 93 209 0 156 94 211 0 156 95 213 0 156 96 216 0 156 96 217 0 156 96 217 0 156 96 219 255 155 0 223 254 155 0 223 254 155 0 221 254 155 0 220 253 155 0 219 252 155 0 217 251 155 0 216 250 155 0 213 249 155 0 211 248 155 0 209 247 155 0 209 246 155 0 208 245 155 0 207 244 155 0 204 243 155 0 202 242 155 0 199 241 155 0 197 240 155 0 194 239 155 0 188 238 155 0 186 237 155 0 185 236 155 0 184 235 155 0 182 234 155 0 179 233 155 0 178 232 155 0 176 231 155 0 174 230 155 0 171 229 155 0 166 228 155 0 163 227 155 0 160 226 155 0 159 224 155 0 156 223 155 0 155 222 155 0 153 221 155 0 150 220 155 0 145 219 155 0 143 218 155 0 140 217 155 0 135 216 155 0 133 215 155 0 130 214 155 0 128 213 155 0 122 212 155 0 121 211 155 0 120 210 155 0 118 209 155 0 115 208 155 0 112 207 155 0 111 206 155 0 108 205 155 0 104 204 155 0 102 203 155 0 98 202 155 0 96 201 155 0 93 200 155 0 92 199 155 0 89 198 155 0 86 197 155 0 84 196 155 0 81 195 155 0 77 194 155 0 74 193 155 0 71 191 155 0 69 190 155 0 66 189 155 0 64 188 155 0 62 187 155 0 60 186 155 0 57 185 155 0 54 184 155 0 51 183 155 0 49 182 155 0 46 181 155 0 43 180 155 0 39 179 155 0 38 178 155 0 35 177 155 0 32 176 155 0 29 175 155 0 28 174 155 0 25 173 155 0 22 172 155 0 18 171 155 0 16 170 155 0 13 169 155 0 9 168 155 0 6 167 155 0 3 166 155 0 2 165 155 0 0 164 155 0 0 163 155 0 0 162 155 0 0 161 155 0 0 160 155 0 0 158 155 0 0 157 155 0 0 156 155 0 0 155 155 0 0 154 155 0 0 153 155 0 0 152 155 0 0 151 155 0 0 150 155 0 0 149 155 0 0 148 155 0 0 147 155 0 0 146 155 0 0 145 155 0 0 144 155 0 0 143 155 0 0 142 155 0 0 141 155 0 0 140 155 0 0 139 155 0 0 138 155 0 0 137 155 0 0 136 155 0 0 135 155 0 0 134 155 0 0 133 155 0 0 132 155 0 0 131 155 0 0 130 155 0 0 129 155 0 0 128 155 0 0 127 155 0 0 125 155 0 0 124 155 0 0 123 155 0 0 122 155 0 0 121 155 0 0 120 155 0 0 119 155 0 0 118 155 0 0 117 155 0 0 116 155 0 0 115 155 0 0 114 155 0 0 113 155 0 0 112 155 0 0 111 155 0 0 110 155 0 0 109 155 0 0 108 155 0 0 107 155 0 0 106 155 0 0 105 155 0 0 104 155 0 0 103 155 0 0 102 155 0 0 101 155 0 0 100 155 0 0 99 155 0 0 98 155 0 0 97 155 0 0 96 155 0 0 95 155 1 0 94 155 2 0 92 155 3 0 91 155 4 0 90 155 5 0 89 155 6 0 88 155 6 0 87 155 7 0 86 155 8 0 85 155 9 0 84 155 10 0 83 155 12 2 82 155 13 3 81 155 14 6 80 155 14 7 79 155 15 13 78 155 16 16 77 155 17 18 76 155 18 22 75 155 20 25 74 155 21 27 73 155 22 29 72 155 22 31 71 155 23 35 70 155 24 36 69 155 26 39 68 155 27 43 67 155 28 44 66 155 29 49 65 155 30 51 64 155 31 53 63 155 32 57 62 155 33 59 61 155 34 60 59 155 35 64 58 155 37 66 57 155 38 67 56 155 39 70 55 155 39 73 54 155 40 76 53 155 41 80 52 155 42 82 51 155 43 86 50 155 45 88 49 155 46 91 48 155 47 93 47 155 47 95 46 155 48 98 45 155 49 102 44 155 50 103 43 155 51 107 42 155 53 110 41 155 54 112 40 155 55 115 39 155 55 117 38 155 56 120 37 155 57 121 36 155 59 122 35 155 60 126 34 155 61 130 33 155 62 133 32 155 63 135 31 155 64 138 30 155 65 141 29 155 66 144 28 155 67 149 26 155 68 152 25 155 70 155 24 155 71 156 23 155 72 157 22 155 72 160 21 155 73 162 20 155 74 165 19 155 75 171 18 155 76 172 17 155 78 175 16 155 79 178 15 155 80 179 14 155 80 181 13 155 81 184 12 155 82 184 11 155 83 186 10 155 84 188 9 155 86 194 8 155 87 195 7 155 88 198 6 155 88 201 5 155 89 204 4 155 90 205 3 155 92 207 2 155 93 208 1 155 94 209 0 155 95 211 0 155 96 213 0 155 97 213 0 155 97 217 0 155 97 217 0 155 97 219 255 154 0 221 254 154 0 221 254 154 0 220 254 154 0 220 253 154 0 219 252 154 0 217 251 154 0 216 250 154 0 213 249 154 0 211 248 154 0 209 247 154 0 208 246 154 0 208 245 154 0 205 244 154 0 204 243 154 0 202 242 154 0 199 241 154 0 195 240 154 0 189 239 154 0 188 238 154 0 185 237 154 0 184 236 154 0 182 235 154 0 181 234 154 0 179 233 154 0 178 232 154 0 175 231 154 0 172 230 154 0 167 229 154 0 166 228 154 0 162 227 154 0 160 226 154 0 157 224 154 0 156 223 154 0 155 222 154 0 153 221 154 0 150 220 154 0 145 219 154 0 143 218 154 0 140 217 154 0 135 216 154 0 133 215 154 0 130 214 154 0 126 213 154 0 122 212 154 0 121 211 154 0 118 210 154 0 117 209 154 0 114 208 154 0 111 207 154 0 110 206 154 0 107 205 154 0 103 204 154 0 99 203 154 0 96 202 154 0 95 201 154 0 92 200 154 0 91 199 154 0 88 198 154 0 84 197 154 0 82 196 154 0 80 195 154 0 76 194 154 0 73 193 154 0 70 191 154 0 67 190 154 0 64 189 154 0 62 188 154 0 60 187 154 0 59 186 154 0 54 185 154 0 53 184 154 0 50 183 154 0 47 182 154 0 44 181 154 0 40 180 154 0 38 179 154 0 36 178 154 0 32 177 154 0 31 176 154 0 28 175 154 0 27 174 154 0 24 173 154 0 22 172 154 0 17 171 154 0 14 170 154 0 10 169 154 0 7 168 154 0 5 167 154 0 2 166 154 0 0 165 154 0 0 164 154 0 0 163 154 0 0 162 154 0 0 161 154 0 0 160 154 0 0 158 154 0 0 157 154 0 0 156 154 0 0 155 154 0 0 154 154 0 0 153 154 0 0 152 154 0 0 151 154 0 0 150 154 0 0 149 154 0 0 148 154 0 0 147 154 0 0 146 154 0 0 145 154 0 0 144 154 0 0 143 154 0 0 142 154 0 0 141 154 0 0 140 154 0 0 139 154 0 0 138 154 0 0 137 154 0 0 136 154 0 0 135 154 0 0 134 154 0 0 133 154 0 0 132 154 0 0 131 154 0 0 130 154 0 0 129 154 0 0 128 154 0 0 127 154 0 0 125 154 0 0 124 154 0 0 123 154 0 0 122 154 0 0 121 154 0 0 120 154 0 0 119 154 0 0 118 154 0 0 117 154 0 0 116 154 0 0 115 154 0 0 114 154 0 0 113 154 0 0 112 154 0 0 111 154 0 0 110 154 0 0 109 154 0 0 108 154 0 0 107 154 0 0 106 154 0 0 105 154 0 0 104 154 0 0 103 154 0 0 102 154 0 0 101 154 0 0 100 154 0 0 99 154 0 0 98 154 0 0 97 154 0 0 96 154 1 0 95 154 1 0 94 154 2 0 92 154 3 0 91 154 4 0 90 154 5 0 89 154 6 0 88 154 7 0 87 154 8 0 86 154 9 0 85 154 10 0 84 154 11 0 83 154 12 0 82 154 13 2 81 154 14 5 80 154 15 6 79 154 16 10 78 154 17 14 77 154 18 17 76 154 19 20 75 154 20 24 74 154 21 25 73 154 22 28 72 154 23 31 71 154 24 32 70 154 25 35 69 154 27 38 68 154 28 40 67 154 29 44 66 154 30 47 65 154 31 50 64 154 32 51 63 154 33 54 62 154 34 57 61 154 35 60 59 154 36 62 58 154 37 64 57 154 38 66 56 154 39 69 55 154 40 71 54 154 41 74 53 154 42 77 52 154 43 81 51 154 44 84 50 154 45 88 49 154 46 89 48 154 47 92 47 154 48 93 46 154 49 96 45 154 50 99 44 154 51 102 43 154 52 104 42 154 53 108 41 154 54 111 40 154 55 114 39 154 56 117 38 154 57 118 37 154 58 121 36 154 60 122 35 154 61 126 34 154 62 130 33 154 63 133 32 154 64 134 31 154 65 138 30 154 66 141 29 154 67 144 28 154 68 149 26 154 69 152 25 154 70 155 24 154 71 156 23 154 72 157 22 154 73 160 21 154 74 162 20 154 75 165 19 154 76 167 18 154 77 172 17 154 78 175 16 154 79 176 15 154 80 179 14 154 81 181 13 154 82 182 12 154 83 184 11 154 84 185 10 154 85 188 9 154 86 189 8 154 87 195 7 154 88 198 6 154 89 201 5 154 90 204 4 154 91 205 3 154 93 207 2 154 94 208 1 154 95 209 0 154 96 211 0 154 97 211 0 154 97 213 0 154 98 216 0 154 98 217 0 154 98 219 255 153 0 220 254 153 0 220 254 153 0 220 254 153 0 219 253 153 0 219 252 153 0 217 251 153 0 213 250 153 0 211 249 153 0 209 248 153 0 209 247 153 0 208 246 153 0 207 245 153 0 205 244 153 0 204 243 153 0 201 242 153 0 199 241 153 0 195 240 153 0 189 239 153 0 188 238 153 0 185 237 153 0 182 236 153 0 181 235 153 0 179 234 153 0 178 233 153 0 176 232 153 0 174 231 153 0 171 230 153 0 167 229 153 0 165 228 153 0 162 227 153 0 160 226 153 0 157 224 153 0 156 223 153 0 155 222 153 0 152 221 153 0 150 220 153 0 145 219 153 0 143 218 153 0 138 217 153 0 135 216 153 0 133 215 153 0 130 214 153 0 126 213 153 0 122 212 153 0 121 211 153 0 118 210 153 0 115 209 153 0 114 208 153 0 111 207 153 0 108 206 153 0 104 205 153 0 102 204 153 0 98 203 153 0 96 202 153 0 93 201 153 0 92 200 153 0 89 199 153 0 88 198 153 0 84 197 153 0 81 196 153 0 77 195 153 0 74 194 153 0 71 193 153 0 69 191 153 0 66 190 153 0 64 189 153 0 60 188 153 0 59 187 153 0 57 186 153 0 53 185 153 0 51 184 153 0 49 183 153 0 46 182 153 0 43 181 153 0 39 180 153 0 38 179 153 0 35 178 153 0 31 177 153 0 29 176 153 0 28 175 153 0 25 174 153 0 22 173 153 0 18 172 153 0 16 171 153 0 13 170 153 0 9 169 153 0 6 168 153 0 3 167 153 0 0 166 153 0 0 165 153 0 0 164 153 0 0 163 153 0 0 162 153 0 0 161 153 0 0 160 153 0 0 158 153 0 0 157 153 0 0 156 153 0 0 155 153 0 0 154 153 0 0 153 153 0 0 152 153 0 0 151 153 0 0 150 153 0 0 149 153 0 0 148 153 0 0 147 153 0 0 146 153 0 0 145 153 0 0 144 153 0 0 143 153 0 0 142 153 0 0 141 153 0 0 140 153 0 0 139 153 0 0 138 153 0 0 137 153 0 0 136 153 0 0 135 153 0 0 134 153 0 0 133 153 0 0 132 153 0 0 131 153 0 0 130 153 0 0 129 153 0 0 128 153 0 0 127 153 0 0 125 153 0 0 124 153 0 0 123 153 0 0 122 153 0 0 121 153 0 0 120 153 0 0 119 153 0 0 118 153 0 0 117 153 0 0 116 153 0 0 115 153 0 0 114 153 0 0 113 153 0 0 112 153 0 0 111 153 0 0 110 153 0 0 109 153 0 0 108 153 0 0 107 153 0 0 106 153 0 0 105 153 0 0 104 153 0 0 103 153 0 0 102 153 0 0 101 153 0 0 100 153 0 0 99 153 0 0 98 153 0 0 97 153 1 0 96 153 1 0 95 153 2 0 94 153 3 0 92 153 4 0 91 153 5 0 90 153 6 0 89 153 7 0 88 153 8 0 87 153 9 0 86 153 10 0 85 153 11 0 84 153 12 0 83 153 13 0 82 153 14 0 81 153 15 3 80 153 16 5 79 153 17 9 78 153 18 13 77 153 19 16 76 153 20 18 75 153 21 22 74 153 22 24 73 153 23 27 72 153 24 29 71 153 25 31 70 153 26 35 69 153 28 36 68 153 29 39 67 153 30 43 66 153 31 46 65 153 32 49 64 153 33 50 63 153 34 53 62 153 35 57 61 153 36 59 59 153 37 60 58 153 38 62 57 153 39 66 56 153 40 67 55 153 41 70 54 153 42 73 53 153 43 76 52 153 44 80 51 153 45 82 50 153 46 86 49 153 47 89 48 153 48 91 47 153 49 93 46 153 50 95 45 153 51 98 44 153 52 102 43 153 53 103 42 153 54 107 41 153 55 110 40 153 56 112 39 153 57 115 38 153 58 118 37 153 59 120 36 153 61 122 35 153 62 126 34 153 63 130 33 153 64 131 32 153 65 134 31 153 66 137 30 153 67 141 29 153 68 144 28 153 69 149 26 153 70 152 25 153 71 155 24 153 72 156 23 153 73 157 22 153 74 159 21 153 75 162 20 153 76 163 19 153 77 166 18 153 78 171 17 153 79 174 16 153 80 175 15 153 81 178 14 153 82 179 13 153 83 181 12 153 84 182 11 153 85 185 10 153 86 186 9 153 87 189 8 153 88 195 7 153 89 198 6 153 90 201 5 153 91 204 4 153 92 205 3 153 94 207 2 153 95 208 1 153 96 208 0 153 97 209 0 153 98 211 0 153 98 213 0 153 99 216 0 153 99 217 0 153 99 219 255 152 0 220 254 152 0 220 254 152 0 219 254 152 0 219 253 152 0 217 252 152 0 217 251 152 0 213 250 152 0 211 249 152 0 209 248 152 0 208 247 152 0 207 246 152 0 207 245 152 0 205 244 152 0 204 243 152 0 201 242 152 0 199 241 152 0 195 240 152 0 189 239 152 0 186 238 152 0 185 237 152 0 182 236 152 0 181 235 152 0 178 234 152 0 176 233 152 0 175 232 152 0 172 231 152 0 167 230 152 0 165 229 152 0 163 228 152 0 160 227 152 0 159 226 152 0 157 224 152 0 155 223 152 0 153 222 152 0 152 221 152 0 149 220 152 0 144 219 152 0 141 218 152 0 138 217 152 0 135 216 152 0 133 215 152 0 130 214 152 0 126 213 152 0 122 212 152 0 120 211 152 0 117 210 152 0 115 209 152 0 112 208 152 0 110 207 152 0 107 206 152 0 103 205 152 0 99 204 152 0 96 203 152 0 95 202 152 0 92 201 152 0 91 200 152 0 88 199 152 0 86 198 152 0 82 197 152 0 80 196 152 0 76 195 152 0 73 194 152 0 70 193 152 0 67 191 152 0 64 190 152 0 62 189 152 0 59 188 152 0 57 187 152 0 54 186 152 0 51 185 152 0 49 184 152 0 46 183 152 0 44 182 152 0 40 181 152 0 38 180 152 0 35 179 152 0 32 178 152 0 29 177 152 0 28 176 152 0 25 175 152 0 22 174 152 0 20 173 152 0 17 172 152 0 14 171 152 0 10 170 152 0 7 169 152 0 5 168 152 0 2 167 152 0 0 166 152 0 0 165 152 0 0 164 152 0 0 163 152 0 0 162 152 0 0 161 152 0 0 160 152 0 0 158 152 0 0 157 152 0 0 156 152 0 0 155 152 0 0 154 152 0 0 153 152 0 0 152 152 0 0 151 152 0 0 150 152 0 0 149 152 0 0 148 152 0 0 147 152 0 0 146 152 0 0 145 152 0 0 144 152 0 0 143 152 0 0 142 152 0 0 141 152 0 0 140 152 0 0 139 152 0 0 138 152 0 0 137 152 0 0 136 152 0 0 135 152 0 0 134 152 0 0 133 152 0 0 132 152 0 0 131 152 0 0 130 152 0 0 129 152 0 0 128 152 0 0 127 152 0 0 125 152 0 0 124 152 0 0 123 152 0 0 122 152 0 0 121 152 0 0 120 152 0 0 119 152 0 0 118 152 0 0 117 152 0 0 116 152 0 0 115 152 0 0 114 152 0 0 113 152 0 0 112 152 0 0 111 152 0 0 110 152 0 0 109 152 0 0 108 152 0 0 107 152 0 0 106 152 0 0 105 152 0 0 104 152 0 0 103 152 0 0 102 152 0 0 101 152 0 0 100 152 0 0 99 152 0 0 98 152 1 0 97 152 1 0 96 152 2 0 95 152 3 0 94 152 4 0 92 152 5 0 91 152 6 0 90 152 7 0 89 152 8 0 88 152 9 0 87 152 10 0 86 152 11 0 85 152 12 0 84 152 13 0 83 152 14 0 82 152 15 0 81 152 16 0 80 152 17 3 79 152 18 6 78 152 19 9 77 152 20 13 76 152 21 16 75 152 22 18 74 152 23 22 73 152 24 25 72 152 25 28 71 152 26 29 70 152 27 31 69 152 29 35 68 152 30 38 67 152 31 39 66 152 32 43 65 152 33 46 64 152 34 49 63 152 35 51 62 152 36 53 61 152 37 57 59 152 38 59 58 152 39 60 57 152 40 64 56 152 41 66 55 152 42 69 54 152 43 71 53 152 44 74 52 152 45 80 51 152 46 81 50 152 47 84 49 152 48 88 48 152 49 89 47 152 50 92 46 152 51 95 45 152 52 96 44 152 53 99 43 152 54 103 42 152 55 104 41 152 56 108 40 152 57 111 39 152 58 114 38 152 59 117 37 152 60 120 36 152 62 121 35 152 63 126 34 152 64 128 33 152 65 131 32 152 66 134 31 152 67 137 30 152 68 141 29 152 69 144 28 152 70 149 26 152 71 152 25 152 72 153 24 152 73 155 23 152 74 157 22 152 75 159 21 152 76 160 20 152 77 162 19 152 78 165 18 152 79 167 17 152 80 172 16 152 81 174 15 152 82 176 14 152 83 178 13 152 84 181 12 152 85 182 11 152 86 184 10 152 87 186 9 152 88 189 8 152 89 195 7 152 90 198 6 152 91 201 5 152 92 202 4 152 93 205 3 152 95 205 2 152 96 207 1 152 97 208 0 152 98 209 0 152 99 211 0 152 99 213 0 152 99 216 0 152 100 217 0 152 100 219 255 151 0 220 254 151 0 220 254 151 0 219 254 151 0 219 253 151 0 217 252 151 0 217 251 151 0 213 250 151 0 211 249 151 0 209 248 151 0 208 247 151 0 207 246 151 0 205 245 151 0 205 244 151 0 204 243 151 0 201 242 151 0 199 241 151 0 195 240 151 0 189 239 151 0 186 238 151 0 184 237 151 0 182 236 151 0 179 235 151 0 178 234 151 0 175 233 151 0 174 232 151 0 171 231 151 0 166 230 151 0 163 229 151 0 162 228 151 0 159 227 151 0 157 226 151 0 156 224 151 0 155 223 151 0 153 222 151 0 150 221 151 0 145 220 151 0 144 219 151 0 141 218 151 0 137 217 151 0 134 216 151 0 131 215 151 0 128 214 151 0 122 213 151 0 121 212 151 0 120 211 151 0 117 210 151 0 114 209 151 0 111 208 151 0 108 207 151 0 104 206 151 0 102 205 151 0 98 204 151 0 96 203 151 0 93 202 151 0 92 201 151 0 89 200 151 0 88 199 151 0 84 198 151 0 81 197 151 0 77 196 151 0 74 195 151 0 71 194 151 0 69 193 151 0 66 191 151 0 62 190 151 0 60 189 151 0 57 188 151 0 54 187 151 0 51 186 151 0 49 185 151 0 47 184 151 0 44 183 151 0 40 182 151 0 38 181 151 0 35 180 151 0 32 179 151 0 29 178 151 0 28 177 151 0 25 176 151 0 24 175 151 0 20 174 151 0 17 173 151 0 14 172 151 0 10 171 151 0 7 170 151 0 5 169 151 0 2 168 151 0 0 167 151 0 0 166 151 0 0 165 151 0 0 164 151 0 0 163 151 0 0 162 151 0 0 161 151 0 0 160 151 0 0 158 151 0 0 157 151 0 0 156 151 0 0 155 151 0 0 154 151 0 0 153 151 0 0 152 151 0 0 151 151 0 0 150 151 0 0 149 151 0 0 148 151 0 0 147 151 0 0 146 151 0 0 145 151 0 0 144 151 0 0 143 151 0 0 142 151 0 0 141 151 0 0 140 151 0 0 139 151 0 0 138 151 0 0 137 151 0 0 136 151 0 0 135 151 0 0 134 151 0 0 133 151 0 0 132 151 0 0 131 151 0 0 130 151 0 0 129 151 0 0 128 151 0 0 127 151 0 0 125 151 0 0 124 151 0 0 123 151 0 0 122 151 0 0 121 151 0 0 120 151 0 0 119 151 0 0 118 151 0 0 117 151 0 0 116 151 0 0 115 151 0 0 114 151 0 0 113 151 0 0 112 151 0 0 111 151 0 0 110 151 0 0 109 151 0 0 108 151 0 0 107 151 0 0 106 151 0 0 105 151 0 0 104 151 0 0 103 151 0 0 102 151 0 0 101 151 0 0 100 151 1 0 99 151 1 0 98 151 2 0 97 151 2 0 96 151 3 0 95 151 4 0 94 151 5 0 92 151 6 0 91 151 7 0 90 151 8 0 89 151 9 0 88 151 10 0 87 151 11 0 86 151 12 0 85 151 13 0 84 151 14 0 83 151 15 0 82 151 16 0 81 151 17 0 80 151 18 2 79 151 19 3 78 151 20 6 77 151 21 9 76 151 22 14 75 151 24 17 74 151 25 18 73 151 26 22 72 151 27 25 71 151 28 27 70 151 29 29 69 151 30 32 68 151 31 35 67 151 32 38 66 151 33 40 65 151 34 43 64 151 35 46 63 151 36 49 62 151 37 51 61 151 38 53 59 151 39 57 58 151 40 59 57 151 41 62 56 151 42 66 55 151 43 67 54 151 44 70 53 151 45 74 52 151 46 77 51 151 47 80 50 151 48 82 49 151 49 86 48 151 50 89 47 151 51 91 46 151 52 93 45 151 53 95 44 151 54 98 43 151 55 102 42 151 57 104 41 151 58 107 40 151 59 110 39 151 60 112 38 151 61 115 37 151 62 118 36 151 63 121 35 151 64 122 34 151 65 128 33 151 66 131 32 151 67 133 31 151 68 135 30 151 69 140 29 151 70 143 28 151 71 145 26 151 72 150 25 151 73 153 24 151 74 155 23 151 75 156 22 151 76 157 21 151 77 159 20 151 78 160 19 151 79 163 18 151 80 166 17 151 81 167 16 151 82 172 15 151 83 175 14 151 84 178 13 151 85 179 12 151 86 182 11 151 87 184 10 151 88 186 9 151 90 189 8 151 91 195 7 151 92 198 6 151 93 201 5 151 94 202 4 151 95 204 3 151 96 205 2 151 97 207 1 151 98 208 0 151 99 209 0 151 100 211 0 151 100 213 0 151 101 216 0 151 101 217 0 151 101 219 255 150 0 220 254 150 0 220 254 150 0 219 254 150 0 219 253 150 0 217 252 150 0 217 251 150 0 213 250 150 0 211 249 150 0 209 248 150 0 208 247 150 0 207 246 150 0 205 245 150 0 204 244 150 0 202 243 150 0 201 242 150 0 199 241 150 0 195 240 150 0 189 239 150 0 186 238 150 0 184 237 150 0 182 236 150 0 179 235 150 0 176 234 150 0 175 233 150 0 172 232 150 0 167 231 150 0 165 230 150 0 162 229 150 0 160 228 150 0 159 227 150 0 157 226 150 0 156 224 150 0 153 223 150 0 152 222 150 0 149 221 150 0 144 220 150 0 141 219 150 0 138 218 150 0 135 217 150 0 133 216 150 0 130 215 150 0 128 214 150 0 122 213 150 0 120 212 150 0 118 211 150 0 115 210 150 0 112 209 150 0 110 208 150 0 107 207 150 0 103 206 150 0 99 205 150 0 98 204 150 0 95 203 150 0 93 202 150 0 91 201 150 0 88 200 150 0 86 199 150 0 82 198 150 0 80 197 150 0 76 196 150 0 73 195 150 0 70 194 150 0 67 193 150 0 64 191 150 0 60 190 150 0 59 189 150 0 54 188 150 0 51 187 150 0 49 186 150 0 47 185 150 0 44 184 150 0 40 183 150 0 38 182 150 0 36 181 150 0 32 180 150 0 31 179 150 0 28 178 150 0 25 177 150 0 24 176 150 0 20 175 150 0 17 174 150 0 14 173 150 0 10 172 150 0 7 171 150 0 5 170 150 0 2 169 150 0 0 168 150 0 0 167 150 0 0 166 150 0 0 165 150 0 0 164 150 0 0 163 150 0 0 162 150 0 0 161 150 0 0 160 150 0 0 158 150 0 0 157 150 0 0 156 150 0 0 155 150 0 0 154 150 0 0 153 150 0 0 152 150 0 0 151 150 0 0 150 150 0 0 149 150 0 0 148 150 0 0 147 150 0 0 146 150 0 0 145 150 0 0 144 150 0 0 143 150 0 0 142 150 0 0 141 150 0 0 140 150 0 0 139 150 0 0 138 150 0 0 137 150 0 0 136 150 0 0 135 150 0 0 134 150 0 0 133 150 0 0 132 150 0 0 131 150 0 0 130 150 0 0 129 150 0 0 128 150 0 0 127 150 0 0 125 150 0 0 124 150 0 0 123 150 0 0 122 150 0 0 121 150 0 0 120 150 0 0 119 150 0 0 118 150 0 0 117 150 0 0 116 150 0 0 115 150 0 0 114 150 0 0 113 150 0 0 112 150 0 0 111 150 0 0 110 150 0 0 109 150 0 0 108 150 0 0 107 150 0 0 106 150 0 0 105 150 0 0 104 150 0 0 103 150 0 0 102 150 0 0 101 150 1 0 100 150 2 0 99 150 2 0 98 150 3 0 97 150 3 0 96 150 4 0 95 150 5 0 94 150 6 0 92 150 7 0 91 150 9 0 90 150 10 0 89 150 10 0 88 150 11 0 87 150 12 0 86 150 13 0 85 150 14 0 84 150 15 0 83 150 17 0 82 150 18 0 81 150 18 0 80 150 19 0 79 150 20 2 78 150 21 5 77 150 22 7 76 150 24 10 75 150 25 14 74 150 26 17 73 150 27 20 72 150 28 24 71 150 29 25 70 150 30 28 69 150 31 29 68 150 32 32 67 150 34 35 66 150 35 38 65 150 35 40 64 150 36 43 63 150 37 46 62 150 38 49 61 150 39 51 59 150 40 54 58 150 42 57 57 150 43 60 56 150 43 64 55 150 44 67 54 150 45 69 53 150 46 73 52 150 47 76 51 150 48 80 50 150 50 81 49 150 51 84 48 150 51 88 47 150 52 89 46 150 53 92 45 150 54 95 44 150 55 96 43 150 57 99 42 150 58 103 41 150 59 107 40 150 60 110 39 150 61 112 38 150 62 114 37 150 63 117 36 150 64 120 35 150 65 121 34 150 67 126 33 150 68 130 32 150 68 133 31 150 69 135 30 150 70 138 29 150 71 141 28 150 72 144 26 150 73 149 25 150 75 152 24 150 76 153 23 150 76 155 22 150 77 156 21 150 78 157 20 150 79 160 19 150 80 162 18 150 81 165 17 150 83 167 16 150 84 172 15 150 84 174 14 150 85 176 13 150 86 179 12 150 87 182 11 150 88 184 10 150 90 186 9 150 91 189 8 150 92 195 7 150 93 198 6 150 94 201 5 150 95 202 4 150 96 204 3 150 97 205 2 150 98 207 1 150 100 207 0 150 100 209 0 150 101 211 0 150 102 213 0 150 102 216 0 150 102 217 0 150 102 219 255 149 0 220 254 149 0 220 254 149 0 219 254 149 0 219 253 149 0 217 252 149 0 217 251 149 0 213 250 149 0 211 249 149 0 209 248 149 0 208 247 149 0 207 246 149 0 205 245 149 0 204 244 149 0 202 243 149 0 201 242 149 0 199 241 149 0 195 240 149 0 189 239 149 0 186 238 149 0 184 237 149 0 182 236 149 0 179 235 149 0 176 234 149 0 174 233 149 0 171 232 149 0 166 231 149 0 163 230 149 0 162 229 149 0 159 228 149 0 157 227 149 0 156 226 149 0 155 224 149 0 153 223 149 0 150 222 149 0 145 221 149 0 143 220 149 0 140 219 149 0 137 218 149 0 134 217 149 0 131 216 149 0 128 215 149 0 126 214 149 0 121 213 149 0 118 212 149 0 117 211 149 0 114 210 149 0 111 209 149 0 108 208 149 0 104 207 149 0 102 206 149 0 98 205 149 0 96 204 149 0 93 203 149 0 92 202 149 0 89 201 149 0 86 200 149 0 84 199 149 0 81 198 149 0 77 197 149 0 74 196 149 0 71 195 149 0 69 194 149 0 66 193 149 0 62 191 149 0 59 190 149 0 54 189 149 0 53 188 149 0 50 187 149 0 47 186 149 0 44 185 149 0 40 184 149 0 39 183 149 0 36 182 149 0 32 181 149 0 31 180 149 0 28 179 149 0 27 178 149 0 24 177 149 0 20 176 149 0 17 175 149 0 14 174 149 0 10 173 149 0 7 172 149 0 5 171 149 0 2 170 149 0 0 169 149 0 0 168 149 0 0 167 149 0 0 166 149 0 0 165 149 0 0 164 149 0 0 163 149 0 0 162 149 0 0 161 149 0 0 160 149 0 0 158 149 0 0 157 149 0 0 156 149 0 0 155 149 0 0 154 149 0 0 153 149 0 0 152 149 0 0 151 149 0 0 150 149 0 0 149 149 0 0 148 149 0 0 147 149 0 0 146 149 0 0 145 149 0 0 144 149 0 0 143 149 0 0 142 149 0 0 141 149 0 0 140 149 0 0 139 149 0 0 138 149 0 0 137 149 0 0 136 149 0 0 135 149 0 0 134 149 0 0 133 149 0 0 132 149 0 0 131 149 0 0 130 149 0 0 129 149 0 0 128 149 0 0 127 149 0 0 125 149 0 0 124 149 0 0 123 149 0 0 122 149 0 0 121 149 0 0 120 149 0 0 119 149 0 0 118 149 0 0 117 149 0 0 116 149 0 0 115 149 0 0 114 149 0 0 113 149 0 0 112 149 0 0 111 149 0 0 110 149 0 0 109 149 0 0 108 149 0 0 107 149 0 0 106 149 0 0 105 149 0 0 104 149 0 0 103 149 0 0 102 149 1 0 101 149 2 0 100 149 2 0 99 149 3 0 98 149 4 0 97 149 4 0 96 149 5 0 95 149 6 0 94 149 7 0 92 149 9 0 91 149 10 0 90 149 11 0 89 149 12 0 88 149 12 0 87 149 13 0 86 149 14 0 85 149 15 0 84 149 17 0 83 149 18 0 82 149 19 0 81 149 20 0 80 149 20 0 79 149 21 0 78 149 22 2 77 149 24 5 76 149 25 7 75 149 26 10 74 149 27 14 73 149 28 17 72 149 29 20 71 149 30 24 70 149 31 25 69 149 32 28 68 149 34 29 67 149 35 32 66 149 36 36 65 149 37 38 64 149 37 40 63 149 38 44 62 149 39 47 61 149 40 49 59 149 42 51 58 149 43 54 57 149 44 59 56 149 45 62 55 149 45 66 54 149 46 67 53 149 47 70 52 149 48 73 51 149 50 76 50 149 51 80 49 149 52 82 48 149 53 86 47 149 53 88 46 149 54 91 45 149 55 93 44 149 57 95 43 149 58 98 42 149 59 102 41 149 60 103 40 149 61 107 39 149 62 110 38 149 63 112 37 149 64 115 36 149 65 118 35 149 67 120 34 149 68 122 33 149 69 128 32 149 70 131 31 149 70 133 30 149 71 137 29 149 72 140 28 149 73 143 26 149 75 145 25 149 76 150 24 149 77 152 23 149 78 155 22 149 78 156 21 149 79 157 20 149 80 159 19 149 81 160 18 149 83 163 17 149 84 166 16 149 85 171 15 149 86 174 14 149 86 176 13 149 87 179 12 149 88 182 11 149 90 184 10 149 91 186 9 149 92 189 8 149 93 195 7 149 94 198 6 149 95 201 5 149 96 202 4 149 97 204 3 149 98 205 2 149 100 205 1 149 101 207 0 149 102 208 0 149 102 211 0 149 103 213 0 149 103 216 0 149 103 217 0 149 103 219 255 148 0 220 254 148 0 220 254 148 0 219 254 148 0 219 253 148 0 217 252 148 0 217 251 148 0 213 250 148 0 211 249 148 0 209 248 148 0 208 247 148 0 207 246 148 0 205 245 148 0 204 244 148 0 202 243 148 0 201 242 148 0 199 241 148 0 195 240 148 0 189 239 148 0 186 238 148 0 184 237 148 0 182 236 148 0 179 235 148 0 176 234 148 0 174 233 148 0 171 232 148 0 166 231 148 0 163 230 148 0 160 229 148 0 159 228 148 0 156 227 148 0 155 226 148 0 153 224 148 0 152 223 148 0 149 222 148 0 144 221 148 0 141 220 148 0 138 219 148 0 135 218 148 0 133 217 148 0 130 216 148 0 126 215 148 0 122 214 148 0 120 213 148 0 117 212 148 0 115 211 148 0 112 210 148 0 110 209 148 0 107 208 148 0 103 207 148 0 99 206 148 0 96 205 148 0 95 204 148 0 92 203 148 0 91 202 148 0 88 201 148 0 84 200 148 0 82 199 148 0 80 198 148 0 76 197 148 0 73 196 148 0 70 195 148 0 67 194 148 0 64 193 148 0 60 191 148 0 57 190 148 0 53 189 148 0 51 188 148 0 47 187 148 0 44 186 148 0 43 185 148 0 39 184 148 0 36 183 148 0 35 182 148 0 31 181 148 0 29 180 148 0 27 179 148 0 25 178 148 0 22 177 148 0 18 176 148 0 16 175 148 0 13 174 148 0 9 173 148 0 6 172 148 0 3 171 148 0 0 170 148 0 0 169 148 0 0 168 148 0 0 167 148 0 0 166 148 0 0 165 148 0 0 164 148 0 0 163 148 0 0 162 148 0 0 161 148 0 0 160 148 0 0 158 148 0 0 157 148 0 0 156 148 0 0 155 148 0 0 154 148 0 0 153 148 0 0 152 148 0 0 151 148 0 0 150 148 0 0 149 148 0 0 148 148 0 0 147 148 0 0 146 148 0 0 145 148 0 0 144 148 0 0 143 148 0 0 142 148 0 0 141 148 0 0 140 148 0 0 139 148 0 0 138 148 0 0 137 148 0 0 136 148 0 0 135 148 0 0 134 148 0 0 133 148 0 0 132 148 0 0 131 148 0 0 130 148 0 0 129 148 0 0 128 148 0 0 127 148 0 0 125 148 0 0 124 148 0 0 123 148 0 0 122 148 0 0 121 148 0 0 120 148 0 0 119 148 0 0 118 148 0 0 117 148 0 0 116 148 0 0 115 148 0 0 114 148 0 0 113 148 0 0 112 148 0 0 111 148 0 0 110 148 0 0 109 148 0 0 108 148 0 0 107 148 0 0 106 148 0 0 105 148 0 0 104 148 0 0 103 148 0 0 102 148 1 0 101 148 2 0 100 148 3 0 99 148 4 0 98 148 5 0 97 148 5 0 96 148 6 0 95 148 7 0 94 148 8 0 92 148 10 0 91 148 11 0 90 148 12 0 89 148 13 0 88 148 13 0 87 148 14 0 86 148 15 0 85 148 16 0 84 148 18 0 83 148 19 0 82 148 20 0 81 148 21 0 80 148 21 0 79 148 22 0 78 148 23 0 77 148 25 2 76 148 26 6 75 148 27 7 74 148 28 10 73 148 29 16 72 148 30 18 71 148 31 20 70 148 32 24 69 148 33 27 68 148 35 28 67 148 36 31 66 148 37 32 65 148 38 36 64 148 38 38 63 148 39 40 62 148 40 44 61 148 41 47 59 148 43 50 58 148 44 53 57 148 45 57 56 148 46 60 55 148 46 64 54 148 47 66 53 148 48 69 52 148 49 71 51 148 51 74 50 148 52 77 49 148 53 81 48 148 54 84 47 148 54 88 46 148 55 89 45 148 56 92 44 148 58 93 43 148 59 96 42 148 60 99 41 148 61 102 40 148 62 104 39 148 63 108 38 148 64 111 37 148 65 114 36 148 66 117 35 148 68 118 34 148 69 121 33 148 70 126 32 148 71 130 31 148 71 131 30 148 72 134 29 148 73 137 28 148 74 141 26 148 76 144 25 148 77 149 24 148 78 150 23 148 79 153 22 148 79 155 21 148 80 156 20 148 81 157 19 148 82 160 18 148 84 162 17 148 85 166 16 148 86 171 15 148 87 174 14 148 87 176 13 148 88 179 12 148 89 182 11 148 91 184 10 148 92 186 9 148 93 189 8 148 94 195 7 148 95 198 6 148 96 201 5 148 97 202 4 148 98 204 3 148 99 205 2 148 101 205 1 148 102 207 0 148 103 208 0 148 103 211 0 148 104 213 0 148 104 216 0 148 104 217 0 148 104 219 255 147 0 220 254 147 0 220 254 147 0 219 254 147 0 219 253 147 0 217 252 147 0 217 251 147 0 213 250 147 0 211 249 147 0 209 248 147 0 208 247 147 0 207 246 147 0 205 245 147 0 204 244 147 0 202 243 147 0 201 242 147 0 199 241 147 0 195 240 147 0 189 239 147 0 186 238 147 0 184 237 147 0 182 236 147 0 179 235 147 0 176 234 147 0 174 233 147 0 171 232 147 0 166 231 147 0 163 230 147 0 160 229 147 0 157 228 147 0 156 227 147 0 155 226 147 0 153 224 147 0 150 223 147 0 145 222 147 0 143 221 147 0 140 220 147 0 137 219 147 0 134 218 147 0 131 217 147 0 128 216 147 0 126 215 147 0 121 214 147 0 118 213 147 0 117 212 147 0 114 211 147 0 111 210 147 0 108 209 147 0 104 208 147 0 102 207 147 0 98 206 147 0 96 205 147 0 93 204 147 0 91 203 147 0 89 202 147 0 86 201 147 0 84 200 147 0 81 199 147 0 77 198 147 0 74 197 147 0 71 196 147 0 69 195 147 0 66 194 147 0 62 193 147 0 59 191 147 0 54 190 147 0 53 189 147 0 50 188 147 0 46 187 147 0 43 186 147 0 40 185 147 0 38 184 147 0 35 183 147 0 32 182 147 0 29 181 147 0 28 180 147 0 25 179 147 0 24 178 147 0 20 177 147 0 17 176 147 0 14 175 147 0 10 174 147 0 7 173 147 0 5 172 147 0 2 171 147 0 0 170 147 0 0 169 147 0 0 168 147 0 0 167 147 0 0 166 147 0 0 165 147 0 0 164 147 0 0 163 147 0 0 162 147 0 0 161 147 0 0 160 147 0 0 158 147 0 0 157 147 0 0 156 147 0 0 155 147 0 0 154 147 0 0 153 147 0 0 152 147 0 0 151 147 0 0 150 147 0 0 149 147 0 0 148 147 0 0 147 147 0 0 146 147 0 0 145 147 0 0 144 147 0 0 143 147 0 0 142 147 0 0 141 147 0 0 140 147 0 0 139 147 0 0 138 147 0 0 137 147 0 0 136 147 0 0 135 147 0 0 134 147 0 0 133 147 0 0 132 147 0 0 131 147 0 0 130 147 0 0 129 147 0 0 128 147 0 0 127 147 0 0 125 147 0 0 124 147 0 0 123 147 0 0 122 147 0 0 121 147 0 0 120 147 0 0 119 147 0 0 118 147 0 0 117 147 0 0 116 147 0 0 115 147 0 0 114 147 0 0 113 147 0 0 112 147 0 0 111 147 0 0 110 147 0 0 109 147 0 0 108 147 0 0 107 147 0 0 106 147 0 0 105 147 0 0 104 147 0 0 103 147 1 0 102 147 2 0 101 147 3 0 100 147 4 0 99 147 5 0 98 147 6 0 97 147 6 0 96 147 7 0 95 147 8 0 94 147 9 0 92 147 10 0 91 147 12 0 90 147 13 0 89 147 14 0 88 147 14 0 87 147 15 0 86 147 16 0 85 147 17 0 84 147 18 0 83 147 20 0 82 147 21 0 81 147 22 0 80 147 22 0 79 147 23 0 78 147 24 0 77 147 26 2 76 147 27 3 75 147 28 6 74 147 29 9 73 147 30 14 72 147 31 17 71 147 32 20 70 147 33 24 69 147 34 25 68 147 35 28 67 147 37 29 66 147 38 32 65 147 39 35 64 147 39 38 63 147 40 39 62 147 41 43 61 147 42 46 59 147 43 49 58 147 45 51 57 147 46 54 56 147 47 59 55 147 47 62 54 147 48 64 53 147 49 67 52 147 50 70 51 147 51 73 50 147 53 76 49 147 54 80 48 147 55 82 47 147 55 86 46 147 56 89 45 147 57 91 44 147 59 93 43 147 60 95 42 147 61 98 41 147 62 99 40 147 63 103 39 147 64 107 38 147 65 110 37 147 66 112 36 147 67 115 35 147 68 118 34 147 70 120 33 147 71 122 32 147 72 128 31 147 72 130 30 147 73 134 29 147 74 137 28 147 75 140 26 147 76 143 25 147 78 145 24 147 79 150 23 147 80 152 22 147 80 155 21 147 81 156 20 147 82 157 19 147 83 160 18 147 84 162 17 147 86 166 16 147 87 171 15 147 88 174 14 147 88 176 13 147 89 179 12 147 90 182 11 147 92 184 10 147 93 186 9 147 94 189 8 147 95 195 7 147 96 198 6 147 97 201 5 147 98 202 4 147 99 204 3 147 100 205 2 147 101 205 1 147 103 207 0 147 103 208 0 147 104 211 0 147 105 213 0 147 105 216 0 147 105 217 0 147 105 219 255 146 0 219 254 146 0 219 254 146 0 219 254 146 0 219 253 146 0 217 252 146 0 216 251 146 0 213 250 146 0 211 249 146 0 209 248 146 0 208 247 146 0 207 246 146 0 205 245 146 0 204 244 146 0 202 243 146 0 201 242 146 0 198 241 146 0 195 240 146 0 189 239 146 0 186 238 146 0 184 237 146 0 181 236 146 0 179 235 146 0 176 234 146 0 174 233 146 0 171 232 146 0 166 231 146 0 163 230 146 0 160 229 146 0 157 228 146 0 156 227 146 0 155 226 146 0 153 224 146 0 150 223 146 0 145 222 146 0 143 221 146 0 138 220 146 0 135 219 146 0 133 218 146 0 130 217 146 0 126 216 146 0 122 215 146 0 120 214 146 0 118 213 146 0 115 212 146 0 112 211 146 0 110 210 146 0 107 209 146 0 103 208 146 0 99 207 146 0 98 206 146 0 95 205 146 0 92 204 146 0 91 203 146 0 88 202 146 0 86 201 146 0 82 200 146 0 80 199 146 0 76 198 146 0 73 197 146 0 70 196 146 0 67 195 146 0 64 194 146 0 60 193 146 0 57 191 146 0 54 190 146 0 51 189 146 0 49 188 146 0 46 187 146 0 43 186 146 0 39 185 146 0 36 184 146 0 32 183 146 0 31 182 146 0 29 181 146 0 27 180 146 0 25 179 146 0 22 178 146 0 18 177 146 0 16 176 146 0 13 175 146 0 9 174 146 0 6 173 146 0 3 172 146 0 0 171 146 0 0 170 146 0 0 169 146 0 0 168 146 0 0 167 146 0 0 166 146 0 0 165 146 0 0 164 146 0 0 163 146 0 0 162 146 0 0 161 146 0 0 160 146 0 0 158 146 0 0 157 146 0 0 156 146 0 0 155 146 0 0 154 146 0 0 153 146 0 0 152 146 0 0 151 146 0 0 150 146 0 0 149 146 0 0 148 146 0 0 147 146 0 0 146 146 0 0 145 146 0 0 144 146 0 0 143 146 0 0 142 146 0 0 141 146 0 0 140 146 0 0 139 146 0 0 138 146 0 0 137 146 0 0 136 146 0 0 135 146 0 0 134 146 0 0 133 146 0 0 132 146 0 0 131 146 0 0 130 146 0 0 129 146 0 0 128 146 0 0 127 146 0 0 125 146 0 0 124 146 0 0 123 146 0 0 122 146 0 0 121 146 0 0 120 146 0 0 119 146 0 0 118 146 0 0 117 146 0 0 116 146 0 0 115 146 0 0 114 146 0 0 113 146 0 0 112 146 0 0 111 146 0 0 110 146 0 0 109 146 0 0 108 146 0 0 107 146 0 0 106 146 0 0 105 146 0 0 104 146 1 0 103 146 1 0 102 146 2 0 101 146 3 0 100 146 4 0 99 146 5 0 98 146 6 0 97 146 7 0 96 146 8 0 95 146 9 0 94 146 10 0 92 146 11 0 91 146 12 0 90 146 13 0 89 146 14 0 88 146 15 0 87 146 16 0 86 146 17 0 85 146 18 0 84 146 19 0 83 146 20 0 82 146 21 0 81 146 22 0 80 146 23 0 79 146 24 0 78 146 25 0 77 146 27 0 76 146 28 3 75 146 29 5 74 146 30 7 73 146 31 13 72 146 32 16 71 146 33 18 70 146 34 22 69 146 35 24 68 146 36 27 67 146 37 28 66 146 38 31 65 146 39 32 64 146 40 36 63 146 41 39 62 146 42 40 61 146 43 44 59 146 44 47 58 146 45 50 57 146 46 53 56 146 47 57 55 146 48 60 54 146 49 64 53 146 50 66 52 146 51 69 51 146 52 71 50 146 53 74 49 146 54 80 48 146 55 81 47 146 56 84 46 146 57 88 45 146 58 91 44 146 60 92 43 146 61 95 42 146 62 96 41 146 63 99 40 146 64 103 39 146 65 107 38 146 66 108 37 146 67 112 36 146 68 115 35 146 69 117 34 146 70 120 33 146 71 122 32 146 72 126 31 146 73 130 30 146 74 133 29 146 75 135 28 146 76 138 26 146 77 141 25 146 78 144 24 146 79 149 23 146 80 152 22 146 81 153 21 146 82 155 20 146 83 157 19 146 84 160 18 146 85 162 17 146 86 166 16 146 87 171 15 146 88 174 14 146 89 176 13 146 90 179 12 146 91 181 11 146 93 184 10 146 94 186 9 146 95 189 8 146 96 195 7 146 97 198 6 146 98 199 5 146 99 202 4 146 100 204 3 146 101 205 2 146 102 205 1 146 103 207 0 146 104 208 0 146 105 209 0 146 105 213 0 146 106 216 0 146 106 217 0 146 106 219 255 145 0 219 254 145 0 219 254 145 0 219 254 145 0 217 253 145 0 217 252 145 0 216 251 145 0 213 250 145 0 211 249 145 0 209 248 145 0 208 247 145 0 207 246 145 0 205 245 145 0 204 244 145 0 202 243 145 0 199 242 145 0 198 241 145 0 195 240 145 0 189 239 145 0 186 238 145 0 184 237 145 0 181 236 145 0 179 235 145 0 176 234 145 0 174 233 145 0 171 232 145 0 166 231 145 0 163 230 145 0 160 229 145 0 157 228 145 0 156 227 145 0 155 226 145 0 152 224 145 0 149 223 145 0 144 222 145 0 141 221 145 0 138 220 145 0 135 219 145 0 133 218 145 0 130 217 145 0 126 216 145 0 122 215 145 0 120 214 145 0 117 213 145 0 115 212 145 0 112 211 145 0 108 210 145 0 107 209 145 0 103 208 145 0 99 207 145 0 96 206 145 0 93 205 145 0 92 204 145 0 89 203 145 0 88 202 145 0 84 201 145 0 81 200 145 0 77 199 145 0 74 198 145 0 71 197 145 0 69 196 145 0 66 195 145 0 62 194 145 0 59 193 145 0 57 191 145 0 53 190 145 0 50 189 145 0 47 188 145 0 44 187 145 0 40 186 145 0 38 185 145 0 35 184 145 0 32 183 145 0 31 182 145 0 28 181 145 0 25 180 145 0 24 179 145 0 20 178 145 0 17 177 145 0 14 176 145 0 10 175 145 0 7 174 145 0 5 173 145 0 2 172 145 0 0 171 145 0 0 170 145 0 0 169 145 0 0 168 145 0 0 167 145 0 0 166 145 0 0 165 145 0 0 164 145 0 0 163 145 0 0 162 145 0 0 161 145 0 0 160 145 0 0 158 145 0 0 157 145 0 0 156 145 0 0 155 145 0 0 154 145 0 0 153 145 0 0 152 145 0 0 151 145 0 0 150 145 0 0 149 145 0 0 148 145 0 0 147 145 0 0 146 145 0 0 145 145 0 0 144 145 0 0 143 145 0 0 142 145 0 0 141 145 0 0 140 145 0 0 139 145 0 0 138 145 0 0 137 145 0 0 136 145 0 0 135 145 0 0 134 145 0 0 133 145 0 0 132 145 0 0 131 145 0 0 130 145 0 0 129 145 0 0 128 145 0 0 127 145 0 0 125 145 0 0 124 145 0 0 123 145 0 0 122 145 0 0 121 145 0 0 120 145 0 0 119 145 0 0 118 145 0 0 117 145 0 0 116 145 0 0 115 145 0 0 114 145 0 0 113 145 0 0 112 145 0 0 111 145 0 0 110 145 0 0 109 145 0 0 108 145 0 0 107 145 0 0 106 145 0 0 105 145 1 0 104 145 1 0 103 145 2 0 102 145 3 0 101 145 4 0 100 145 5 0 99 145 6 0 98 145 7 0 97 145 8 0 96 145 9 0 95 145 10 0 94 145 11 0 92 145 12 0 91 145 13 0 90 145 14 0 89 145 15 0 88 145 16 0 87 145 17 0 86 145 18 0 85 145 19 0 84 145 20 0 83 145 21 0 82 145 22 0 81 145 23 0 80 145 24 0 79 145 25 0 78 145 26 0 77 145 28 0 76 145 29 2 75 145 30 5 74 145 31 6 73 145 32 10 72 145 33 14 71 145 34 17 70 145 35 20 69 145 36 24 68 145 37 25 67 145 38 28 66 145 39 29 65 145 40 32 64 145 41 35 63 145 42 38 62 145 43 39 61 145 44 43 59 145 45 47 58 145 46 50 57 145 47 51 56 145 48 54 55 145 49 59 54 145 50 62 53 145 51 66 52 145 52 67 51 145 53 70 50 145 54 74 49 145 55 77 48 145 56 81 47 145 57 82 46 145 58 86 45 145 59 89 44 145 61 91 43 145 62 93 42 145 63 96 41 145 64 98 40 145 65 102 39 145 66 104 38 145 67 108 37 145 68 111 36 145 69 114 35 145 70 117 34 145 71 118 33 145 72 121 32 145 73 126 31 145 74 128 30 145 75 131 29 145 76 134 28 145 77 138 26 145 78 141 25 145 79 144 24 145 80 149 23 145 81 152 22 145 82 153 21 145 83 155 20 145 84 157 19 145 85 160 18 145 86 162 17 145 87 166 16 145 88 171 15 145 89 174 14 145 90 176 13 145 91 179 12 145 92 181 11 145 94 184 10 145 95 186 9 145 96 188 8 145 97 194 7 145 98 197 6 145 99 199 5 145 100 201 4 145 101 202 3 145 102 204 2 145 103 205 1 145 104 207 0 145 105 208 0 145 106 209 0 145 106 213 0 145 107 216 0 145 107 217 0 145 107 217 255 144 0 219 254 144 0 219 254 144 0 219 254 144 0 217 253 144 0 216 252 144 0 216 251 144 0 213 250 144 0 211 249 144 0 209 248 144 0 207 247 144 0 205 246 144 0 204 245 144 0 202 244 144 0 201 243 144 0 198 242 144 0 197 241 144 0 194 240 144 0 188 239 144 0 185 238 144 0 184 237 144 0 181 236 144 0 179 235 144 0 176 234 144 0 174 233 144 0 171 232 144 0 166 231 144 0 163 230 144 0 160 229 144 0 157 228 144 0 156 227 144 0 155 226 144 0 152 224 144 0 149 223 144 0 144 222 144 0 141 221 144 0 138 220 144 0 134 219 144 0 133 218 144 0 130 217 144 0 126 216 144 0 122 215 144 0 120 214 144 0 117 213 144 0 115 212 144 0 111 211 144 0 108 210 144 0 104 209 144 0 102 208 144 0 98 207 144 0 95 206 144 0 93 205 144 0 91 204 144 0 88 203 144 0 86 202 144 0 82 201 144 0 80 200 144 0 76 199 144 0 73 198 144 0 70 197 144 0 67 196 144 0 64 195 144 0 60 194 144 0 57 193 144 0 54 191 144 0 51 190 144 0 49 189 144 0 46 188 144 0 43 187 144 0 39 186 144 0 36 185 144 0 35 184 144 0 31 183 144 0 29 182 144 0 27 181 144 0 25 180 144 0 22 179 144 0 18 178 144 0 16 177 144 0 13 176 144 0 9 175 144 0 6 174 144 0 3 173 144 0 0 172 144 0 0 171 144 0 0 170 144 0 0 169 144 0 0 168 144 0 0 167 144 0 0 166 144 0 0 165 144 0 0 164 144 0 0 163 144 0 0 162 144 0 0 161 144 0 0 160 144 0 0 158 144 0 0 157 144 0 0 156 144 0 0 155 144 0 0 154 144 0 0 153 144 0 0 152 144 0 0 151 144 0 0 150 144 0 0 149 144 0 0 148 144 0 0 147 144 0 0 146 144 0 0 145 144 0 0 144 144 0 0 143 144 0 0 142 144 0 0 141 144 0 0 140 144 0 0 139 144 0 0 138 144 0 0 137 144 0 0 136 144 0 0 135 144 0 0 134 144 0 0 133 144 0 0 132 144 0 0 131 144 0 0 130 144 0 0 129 144 0 0 128 144 0 0 127 144 0 0 125 144 0 0 124 144 0 0 123 144 0 0 122 144 0 0 121 144 0 0 120 144 0 0 119 144 0 0 118 144 0 0 117 144 0 0 116 144 0 0 115 144 0 0 114 144 0 0 113 144 0 0 112 144 0 0 111 144 0 0 110 144 0 0 109 144 0 0 108 144 0 0 107 144 0 0 106 144 1 0 105 144 1 0 104 144 2 0 103 144 3 0 102 144 4 0 101 144 5 0 100 144 6 0 99 144 7 0 98 144 8 0 97 144 9 0 96 144 10 0 95 144 11 0 94 144 12 0 92 144 13 0 91 144 14 0 90 144 15 0 89 144 16 0 88 144 17 0 87 144 18 0 86 144 19 0 85 144 20 0 84 144 21 0 83 144 22 0 82 144 23 0 81 144 24 0 80 144 25 0 79 144 26 0 78 144 27 0 77 144 29 0 76 144 30 0 75 144 31 3 74 144 32 6 73 144 33 9 72 144 34 13 71 144 35 16 70 144 36 18 69 144 37 22 68 144 38 24 67 144 39 27 66 144 40 29 65 144 41 31 64 144 42 32 63 144 43 36 62 144 44 39 61 144 45 40 59 144 46 46 58 144 47 49 57 144 48 50 56 144 49 53 55 144 50 57 54 144 51 60 53 144 52 64 52 144 53 67 51 144 54 70 50 144 55 73 49 144 56 76 48 144 57 80 47 144 58 82 46 144 59 86 45 144 60 88 44 144 62 91 43 144 63 93 42 144 64 95 41 144 65 98 40 144 66 102 39 144 67 104 38 144 68 108 37 144 69 111 36 144 70 114 35 144 71 117 34 144 72 118 33 144 73 121 32 144 74 126 31 144 75 128 30 144 76 131 29 144 77 134 28 144 78 138 26 144 79 141 25 144 80 144 24 144 81 149 23 144 82 152 22 144 83 153 21 144 84 155 20 144 85 157 19 144 86 160 18 144 87 162 17 144 88 166 16 144 89 171 15 144 90 174 14 144 91 176 13 144 92 179 12 144 93 181 11 144 95 182 10 144 96 185 9 144 97 188 8 144 98 189 7 144 99 195 6 144 100 198 5 144 101 201 4 144 102 202 3 144 103 204 2 144 104 205 1 144 105 207 0 144 106 208 0 144 107 209 0 144 107 211 0 144 107 213 0 144 108 216 0 144 108 217 255 143 0 219 254 143 0 219 254 143 0 217 254 143 0 217 253 143 0 216 252 143 0 213 251 143 0 211 250 143 0 209 249 143 0 208 248 143 0 207 247 143 0 205 246 143 0 204 245 143 0 201 244 143 0 199 243 143 0 197 242 143 0 195 241 143 0 189 240 143 0 186 239 143 0 185 238 143 0 182 237 143 0 181 236 143 0 179 235 143 0 176 234 143 0 174 233 143 0 171 232 143 0 166 231 143 0 163 230 143 0 160 229 143 0 157 228 143 0 156 227 143 0 155 226 143 0 152 224 143 0 149 223 143 0 144 222 143 0 141 221 143 0 138 220 143 0 134 219 143 0 131 218 143 0 130 217 143 0 126 216 143 0 122 215 143 0 120 214 143 0 117 213 143 0 114 212 143 0 111 211 143 0 108 210 143 0 104 209 143 0 102 208 143 0 98 207 143 0 95 206 143 0 92 205 143 0 89 204 143 0 86 203 143 0 84 202 143 0 81 201 143 0 77 200 143 0 74 199 143 0 71 198 143 0 69 197 143 0 66 196 143 0 62 195 143 0 59 194 143 0 57 193 143 0 53 191 143 0 50 190 143 0 47 189 143 0 44 188 143 0 40 187 143 0 38 186 143 0 36 185 143 0 32 184 143 0 29 183 143 0 28 182 143 0 25 181 143 0 24 180 143 0 20 179 143 0 17 178 143 0 14 177 143 0 10 176 143 0 7 175 143 0 5 174 143 0 2 173 143 0 0 172 143 0 0 171 143 0 0 170 143 0 0 169 143 0 0 168 143 0 0 167 143 0 0 166 143 0 0 165 143 0 0 164 143 0 0 163 143 0 0 162 143 0 0 161 143 0 0 160 143 0 0 158 143 0 0 157 143 0 0 156 143 0 0 155 143 0 0 154 143 0 0 153 143 0 0 152 143 0 0 151 143 0 0 150 143 0 0 149 143 0 0 148 143 0 0 147 143 0 0 146 143 0 0 145 143 0 0 144 143 0 0 143 143 0 0 142 143 0 0 141 143 0 0 140 143 0 0 139 143 0 0 138 143 0 0 137 143 0 0 136 143 0 0 135 143 0 0 134 143 0 0 133 143 0 0 132 143 0 0 131 143 0 0 130 143 0 0 129 143 0 0 128 143 0 0 127 143 0 0 125 143 0 0 124 143 0 0 123 143 0 0 122 143 0 0 121 143 0 0 120 143 0 0 119 143 0 0 118 143 0 0 117 143 0 0 116 143 0 0 115 143 0 0 114 143 0 0 113 143 0 0 112 143 0 0 111 143 0 0 110 143 0 0 109 143 0 0 108 143 1 0 107 143 1 0 106 143 2 0 105 143 2 0 104 143 3 0 103 143 4 0 102 143 5 0 101 143 6 0 100 143 7 0 99 143 8 0 98 143 9 0 97 143 10 0 96 143 11 0 95 143 12 0 94 143 13 0 92 143 14 0 91 143 15 0 90 143 16 0 89 143 17 0 88 143 18 0 87 143 19 0 86 143 20 0 85 143 21 0 84 143 22 0 83 143 24 0 82 143 25 0 81 143 26 0 80 143 27 0 79 143 28 0 78 143 29 0 77 143 30 0 76 143 31 0 75 143 32 2 74 143 33 5 73 143 34 7 72 143 35 10 71 143 36 14 70 143 37 17 69 143 38 20 68 143 39 22 67 143 40 25 66 143 41 28 65 143 42 29 64 143 43 32 63 143 44 35 62 143 45 38 61 143 46 40 59 143 47 44 58 143 48 47 57 143 49 49 56 143 50 51 55 143 51 54 54 143 52 59 53 143 53 62 52 143 54 66 51 143 55 69 50 143 57 71 49 143 58 74 48 143 59 77 47 143 60 81 46 143 61 84 45 143 62 86 44 143 63 89 43 143 64 92 42 143 65 93 41 143 66 96 40 143 67 99 39 143 68 103 38 143 69 107 37 143 70 111 36 143 71 114 35 143 72 117 34 143 73 118 33 143 74 121 32 143 75 126 31 143 76 128 30 143 77 131 29 143 78 134 28 143 79 138 26 143 80 141 25 143 81 144 24 143 82 149 23 143 83 152 22 143 84 153 21 143 85 155 20 143 86 157 19 143 87 160 18 143 88 162 17 143 90 166 16 143 91 171 15 143 92 174 14 143 93 176 13 143 94 179 12 143 95 181 11 143 96 182 10 143 97 184 9 143 98 186 8 143 99 189 7 143 100 194 6 143 101 197 5 143 102 199 4 143 103 201 3 143 104 202 2 143 105 205 1 143 106 207 0 143 107 208 0 143 108 209 0 143 108 211 0 143 109 213 0 143 109 216 0 143 109 216 255 142 0 219 254 142 0 219 254 142 0 217 254 142 0 216 253 142 0 213 252 142 0 213 251 142 0 211 250 142 0 209 249 142 0 208 248 142 0 207 247 142 0 205 246 142 0 202 245 142 0 201 244 142 0 198 243 142 0 195 242 142 0 194 241 142 0 188 240 142 0 185 239 142 0 184 238 142 0 182 237 142 0 181 236 142 0 178 235 142 0 176 234 142 0 174 233 142 0 171 232 142 0 166 231 142 0 163 230 142 0 160 229 142 0 157 228 142 0 156 227 142 0 155 226 142 0 152 224 142 0 149 223 142 0 144 222 142 0 141 221 142 0 138 220 142 0 134 219 142 0 131 218 142 0 130 217 142 0 126 216 142 0 121 215 142 0 120 214 142 0 117 213 142 0 114 212 142 0 111 211 142 0 107 210 142 0 103 209 142 0 99 208 142 0 96 207 142 0 93 206 142 0 91 205 142 0 88 204 142 0 84 203 142 0 82 202 142 0 80 201 142 0 76 200 142 0 73 199 142 0 70 198 142 0 67 197 142 0 64 196 142 0 60 195 142 0 57 194 142 0 53 193 142 0 51 191 142 0 47 190 142 0 46 189 142 0 43 188 142 0 39 187 142 0 36 186 142 0 35 185 142 0 31 184 142 0 29 183 142 0 27 182 142 0 24 181 142 0 22 180 142 0 18 179 142 0 16 178 142 0 13 177 142 0 9 176 142 0 6 175 142 0 3 174 142 0 0 173 142 0 0 172 142 0 0 171 142 0 0 170 142 0 0 169 142 0 0 168 142 0 0 167 142 0 0 166 142 0 0 165 142 0 0 164 142 0 0 163 142 0 0 162 142 0 0 161 142 0 0 160 142 0 0 158 142 0 0 157 142 0 0 156 142 0 0 155 142 0 0 154 142 0 0 153 142 0 0 152 142 0 0 151 142 0 0 150 142 0 0 149 142 0 0 148 142 0 0 147 142 0 0 146 142 0 0 145 142 0 0 144 142 0 0 143 142 0 0 142 142 0 0 141 142 0 0 140 142 0 0 139 142 0 0 138 142 0 0 137 142 0 0 136 142 0 0 135 142 0 0 134 142 0 0 133 142 0 0 132 142 0 0 131 142 0 0 130 142 0 0 129 142 0 0 128 142 0 0 127 142 0 0 125 142 0 0 124 142 0 0 123 142 0 0 122 142 0 0 121 142 0 0 120 142 0 0 119 142 0 0 118 142 0 0 117 142 0 0 116 142 0 0 115 142 0 0 114 142 0 0 113 142 0 0 112 142 0 0 111 142 0 0 110 142 0 0 109 142 1 0 108 142 2 0 107 142 2 0 106 142 3 0 105 142 3 0 104 142 4 0 103 142 5 0 102 142 6 0 101 142 7 0 100 142 9 0 99 142 10 0 98 142 10 0 97 142 11 0 96 142 12 0 95 142 13 0 94 142 14 0 92 142 15 0 91 142 17 0 90 142 18 0 89 142 18 0 88 142 19 0 87 142 20 0 86 142 21 0 85 142 22 0 84 142 24 0 83 142 25 0 82 142 26 0 81 142 27 0 80 142 28 0 79 142 29 0 78 142 30 0 77 142 31 0 76 142 32 0 75 142 34 0 74 142 35 2 73 142 35 5 72 142 36 7 71 142 37 10 70 142 38 14 69 142 39 18 68 142 40 20 67 142 42 24 66 142 43 27 65 142 43 28 64 142 44 31 63 142 45 32 62 142 46 36 61 142 47 38 59 142 48 40 58 142 50 44 57 142 51 47 56 142 51 50 55 142 52 53 54 142 53 57 53 142 54 60 52 142 55 64 51 142 57 66 50 142 58 69 49 142 59 71 48 142 60 74 47 142 61 77 46 142 62 81 45 142 63 84 44 142 64 88 43 142 65 91 42 142 67 93 41 142 68 95 40 142 68 99 39 142 69 103 38 142 70 107 37 142 71 110 36 142 72 112 35 142 73 115 34 142 75 118 33 142 76 121 32 142 76 122 31 142 77 128 30 142 78 131 29 142 79 134 28 142 80 138 26 142 81 141 25 142 83 144 24 142 84 149 23 142 84 152 22 142 85 153 21 142 86 155 20 142 87 157 19 142 88 160 18 142 90 162 17 142 91 166 16 142 92 171 15 142 93 174 14 142 94 176 13 142 95 178 12 142 96 181 11 142 97 182 10 142 98 184 9 142 100 185 8 142 101 186 7 142 101 189 6 142 102 195 5 142 103 198 4 142 104 199 3 142 105 202 2 142 106 204 1 142 108 205 0 142 108 208 0 142 109 209 0 142 110 209 0 142 110 211 0 142 110 213 0 142 110 213 255 141 0 219 254 141 0 217 254 141 0 217 254 141 0 216 253 141 0 213 252 141 0 211 251 141 0 211 250 141 0 209 249 141 0 208 248 141 0 207 247 141 0 204 246 141 0 202 245 141 0 199 244 141 0 197 243 141 0 194 242 141 0 189 241 141 0 186 240 141 0 185 239 141 0 184 238 141 0 182 237 141 0 179 236 141 0 178 235 141 0 176 234 141 0 174 233 141 0 171 232 141 0 166 231 141 0 163 230 141 0 160 229 141 0 157 228 141 0 156 227 141 0 155 226 141 0 152 224 141 0 149 223 141 0 144 222 141 0 141 221 141 0 138 220 141 0 134 219 141 0 131 218 141 0 128 217 141 0 126 216 141 0 121 215 141 0 118 214 141 0 115 213 141 0 112 212 141 0 110 211 141 0 107 210 141 0 103 209 141 0 98 208 141 0 95 207 141 0 92 206 141 0 89 205 141 0 86 204 141 0 84 203 141 0 81 202 141 0 77 201 141 0 74 200 141 0 71 199 141 0 69 198 141 0 66 197 141 0 62 196 141 0 59 195 141 0 54 194 141 0 51 193 141 0 50 191 141 0 46 190 141 0 44 189 141 0 40 188 141 0 38 187 141 0 35 186 141 0 32 185 141 0 29 184 141 0 28 183 141 0 25 182 141 0 24 181 141 0 20 180 141 0 17 179 141 0 14 178 141 0 10 177 141 0 7 176 141 0 5 175 141 0 2 174 141 0 0 173 141 0 0 172 141 0 0 171 141 0 0 170 141 0 0 169 141 0 0 168 141 0 0 167 141 0 0 166 141 0 0 165 141 0 0 164 141 0 0 163 141 0 0 162 141 0 0 161 141 0 0 160 141 0 0 158 141 0 0 157 141 0 0 156 141 0 0 155 141 0 0 154 141 0 0 153 141 0 0 152 141 0 0 151 141 0 0 150 141 0 0 149 141 0 0 148 141 0 0 147 141 0 0 146 141 0 0 145 141 0 0 144 141 0 0 143 141 0 0 142 141 0 0 141 141 0 0 140 141 0 0 139 141 0 0 138 141 0 0 137 141 0 0 136 141 0 0 135 141 0 0 134 141 0 0 133 141 0 0 132 141 0 0 131 141 0 0 130 141 0 0 129 141 0 0 128 141 0 0 127 141 0 0 125 141 0 0 124 141 0 0 123 141 0 0 122 141 0 0 121 141 0 0 120 141 0 0 119 141 0 0 118 141 0 0 117 141 0 0 116 141 0 0 115 141 0 0 114 141 0 0 113 141 0 0 112 141 0 0 111 141 0 0 110 141 1 0 109 141 2 0 108 141 2 0 107 141 3 0 106 141 4 0 105 141 4 0 104 141 5 0 103 141 6 0 102 141 7 0 101 141 9 0 100 141 10 0 99 141 11 0 98 141 12 0 97 141 12 0 96 141 13 0 95 141 14 0 94 141 15 0 92 141 17 0 91 141 18 0 90 141 19 0 89 141 20 0 88 141 20 0 87 141 21 0 86 141 22 0 85 141 24 0 84 141 25 0 83 141 26 0 82 141 27 0 81 141 28 0 80 141 29 0 79 141 30 0 78 141 31 0 77 141 32 0 76 141 34 0 75 141 35 0 74 141 36 0 73 141 37 3 72 141 37 6 71 141 38 9 70 141 39 13 69 141 40 17 68 141 42 18 67 141 43 22 66 141 44 25 65 141 45 28 64 141 45 29 63 141 46 32 62 141 47 35 61 141 48 38 59 141 50 39 58 141 51 43 57 141 52 46 56 141 53 49 55 141 53 51 54 141 54 54 53 141 55 59 52 141 57 62 51 141 58 64 50 141 59 67 49 141 60 70 48 141 61 73 47 141 62 76 46 141 63 80 45 141 64 82 44 141 65 86 43 141 67 89 42 141 68 92 41 141 69 95 40 141 70 98 39 141 70 102 38 141 71 104 37 141 72 110 36 141 73 112 35 141 75 115 34 141 76 118 33 141 77 121 32 141 78 122 31 141 78 128 30 141 79 131 29 141 80 134 28 141 81 138 26 141 83 141 25 141 84 144 24 141 85 149 23 141 86 152 22 141 86 153 21 141 87 155 20 141 88 157 19 141 90 160 18 141 91 162 17 141 92 166 16 141 93 171 15 141 94 174 14 141 95 176 13 141 96 178 12 141 97 179 11 141 98 181 10 141 100 182 9 141 101 184 8 141 102 185 7 141 103 188 6 141 103 194 5 141 104 197 4 141 105 199 3 141 106 201 2 141 108 204 1 141 109 205 0 141 110 208 0 141 110 208 0 141 111 209 0 141 111 211 0 141 111 211 0 141 111 211 255 140 0 219 254 140 0 217 254 140 0 217 254 140 0 216 253 140 0 213 252 140 0 211 251 140 0 209 250 140 0 209 249 140 0 208 248 140 0 207 247 140 0 204 246 140 0 202 245 140 0 199 244 140 0 197 243 140 0 194 242 140 0 188 241 140 0 185 240 140 0 184 239 140 0 182 238 140 0 181 237 140 0 179 236 140 0 178 235 140 0 176 234 140 0 174 233 140 0 171 232 140 0 166 231 140 0 163 230 140 0 160 229 140 0 157 228 140 0 156 227 140 0 155 226 140 0 152 224 140 0 149 223 140 0 144 222 140 0 141 221 140 0 137 220 140 0 134 219 140 0 131 218 140 0 128 217 140 0 122 216 140 0 120 215 140 0 117 214 140 0 114 213 140 0 111 212 140 0 108 211 140 0 104 210 140 0 102 209 140 0 98 208 140 0 93 207 140 0 91 206 140 0 89 205 140 0 86 204 140 0 82 203 140 0 80 202 140 0 76 201 140 0 73 200 140 0 70 199 140 0 67 198 140 0 64 197 140 0 60 196 140 0 59 195 140 0 54 194 140 0 51 193 140 0 49 191 140 0 46 190 140 0 43 189 140 0 39 188 140 0 36 187 140 0 35 186 140 0 31 185 140 0 29 184 140 0 27 183 140 0 25 182 140 0 22 181 140 0 18 180 140 0 16 179 140 0 13 178 140 0 9 177 140 0 6 176 140 0 3 175 140 0 0 174 140 0 0 173 140 0 0 172 140 0 0 171 140 0 0 170 140 0 0 169 140 0 0 168 140 0 0 167 140 0 0 166 140 0 0 165 140 0 0 164 140 0 0 163 140 0 0 162 140 0 0 161 140 0 0 160 140 0 0 158 140 0 0 157 140 0 0 156 140 0 0 155 140 0 0 154 140 0 0 153 140 0 0 152 140 0 0 151 140 0 0 150 140 0 0 149 140 0 0 148 140 0 0 147 140 0 0 146 140 0 0 145 140 0 0 144 140 0 0 143 140 0 0 142 140 0 0 141 140 0 0 140 140 0 0 139 140 0 0 138 140 0 0 137 140 0 0 136 140 0 0 135 140 0 0 134 140 0 0 133 140 0 0 132 140 0 0 131 140 0 0 130 140 0 0 129 140 0 0 128 140 0 0 127 140 0 0 125 140 0 0 124 140 0 0 123 140 0 0 122 140 0 0 121 140 0 0 120 140 0 0 119 140 0 0 118 140 0 0 117 140 0 0 116 140 0 0 115 140 0 0 114 140 0 0 113 140 0 0 112 140 0 0 111 140 0 0 110 140 1 0 109 140 2 0 108 140 3 0 107 140 4 0 106 140 5 0 105 140 5 0 104 140 6 0 103 140 7 0 102 140 8 0 101 140 10 0 100 140 11 0 99 140 12 0 98 140 13 0 97 140 13 0 96 140 14 0 95 140 15 0 94 140 16 0 92 140 18 0 91 140 19 0 90 140 20 0 89 140 21 0 88 140 21 0 87 140 22 0 86 140 23 0 85 140 25 0 84 140 26 0 83 140 27 0 82 140 28 0 81 140 29 0 80 140 30 0 79 140 31 0 78 140 32 0 77 140 33 0 76 140 35 0 75 140 36 0 74 140 37 0 73 140 38 3 72 140 38 5 71 140 39 7 70 140 40 13 69 140 41 16 68 140 43 18 67 140 44 22 66 140 45 24 65 140 46 27 64 140 46 29 63 140 47 31 62 140 48 35 61 140 49 36 59 140 51 39 58 140 52 40 57 140 53 44 56 140 54 47 55 140 54 50 54 140 55 53 53 140 56 57 52 140 58 60 51 140 59 64 50 140 60 66 49 140 61 69 48 140 62 71 47 140 63 74 46 140 64 80 45 140 65 82 44 140 66 86 43 140 68 89 42 140 69 91 41 140 70 93 40 140 71 96 39 140 71 99 38 140 72 103 37 140 73 108 36 140 74 111 35 140 76 114 34 140 77 117 33 140 78 120 32 140 79 122 31 140 79 128 30 140 80 131 29 140 81 134 28 140 82 137 26 140 84 141 25 140 85 144 24 140 86 149 23 140 87 152 22 140 87 153 21 140 88 155 20 140 89 157 19 140 91 160 18 140 92 162 17 140 93 166 16 140 94 171 15 140 95 174 14 140 96 176 13 140 97 178 12 140 98 179 11 140 99 181 10 140 101 182 9 140 102 184 8 140 103 185 7 140 104 186 6 140 104 189 5 140 105 195 4 140 106 198 3 140 107 201 2 140 109 204 1 140 110 205 0 140 111 208 0 140 111 208 0 140 112 209 0 140 112 211 0 140 112 211 0 140 112 211 255 139 0 219 254 139 0 217 254 139 0 217 254 139 0 216 253 139 0 213 252 139 0 211 251 139 0 209 250 139 0 209 249 139 0 208 248 139 0 207 247 139 0 204 246 139 0 202 245 139 0 198 244 139 0 195 243 139 0 189 242 139 0 188 241 139 0 185 240 139 0 184 239 139 0 182 238 139 0 181 237 139 0 179 236 139 0 178 235 139 0 176 234 139 0 174 233 139 0 171 232 139 0 166 231 139 0 163 230 139 0 160 229 139 0 157 228 139 0 156 227 139 0 155 226 139 0 152 224 139 0 149 223 139 0 144 222 139 0 141 221 139 0 137 220 139 0 134 219 139 0 131 218 139 0 128 217 139 0 122 216 139 0 120 215 139 0 117 214 139 0 112 213 139 0 110 212 139 0 107 211 139 0 103 210 139 0 99 209 139 0 96 208 139 0 93 207 139 0 91 206 139 0 88 205 139 0 84 204 139 0 82 203 139 0 80 202 139 0 76 201 139 0 71 200 139 0 69 199 139 0 66 198 139 0 62 197 139 0 60 196 139 0 57 195 139 0 53 194 139 0 50 193 139 0 47 191 139 0 44 190 139 0 40 189 139 0 39 188 139 0 36 187 139 0 32 186 139 0 31 185 139 0 29 184 139 0 27 183 139 0 25 182 139 0 22 181 139 0 18 180 139 0 16 179 139 0 13 178 139 0 7 177 139 0 5 176 139 0 2 175 139 0 0 174 139 0 0 173 139 0 0 172 139 0 0 171 139 0 0 170 139 0 0 169 139 0 0 168 139 0 0 167 139 0 0 166 139 0 0 165 139 0 0 164 139 0 0 163 139 0 0 162 139 0 0 161 139 0 0 160 139 0 0 158 139 0 0 157 139 0 0 156 139 0 0 155 139 0 0 154 139 0 0 153 139 0 0 152 139 0 0 151 139 0 0 150 139 0 0 149 139 0 0 148 139 0 0 147 139 0 0 146 139 0 0 145 139 0 0 144 139 0 0 143 139 0 0 142 139 0 0 141 139 0 0 140 139 0 0 139 139 0 0 138 139 0 0 137 139 0 0 136 139 0 0 135 139 0 0 134 139 0 0 133 139 0 0 132 139 0 0 131 139 0 0 130 139 0 0 129 139 0 0 128 139 0 0 127 139 0 0 125 139 0 0 124 139 0 0 123 139 0 0 122 139 0 0 121 139 0 0 120 139 0 0 119 139 0 0 118 139 0 0 117 139 0 0 116 139 0 0 115 139 0 0 114 139 0 0 113 139 0 0 112 139 0 0 111 139 1 0 110 139 2 0 109 139 3 0 108 139 4 0 107 139 5 0 106 139 6 0 105 139 6 0 104 139 7 0 103 139 8 0 102 139 9 0 101 139 10 0 100 139 12 0 99 139 13 0 98 139 14 0 97 139 14 0 96 139 15 0 95 139 16 0 94 139 17 0 92 139 18 0 91 139 20 0 90 139 21 0 89 139 22 0 88 139 22 0 87 139 23 0 86 139 24 0 85 139 26 0 84 139 27 0 83 139 28 0 82 139 29 0 81 139 30 0 80 139 31 0 79 139 32 0 78 139 33 0 77 139 34 0 76 139 35 0 75 139 37 0 74 139 38 0 73 139 39 2 72 139 39 5 71 139 40 7 70 139 41 10 69 139 42 14 68 139 43 17 67 139 45 20 66 139 46 24 65 139 47 27 64 139 47 28 63 139 48 31 62 139 49 32 61 139 50 36 59 139 51 38 58 139 53 40 57 139 54 44 56 139 55 47 55 139 55 50 54 139 56 53 53 139 57 57 52 139 59 60 51 139 60 62 50 139 61 66 49 139 62 69 48 139 63 71 47 139 64 74 46 139 65 77 45 139 66 81 44 139 67 84 43 139 68 88 42 139 70 91 41 139 71 92 40 139 72 95 39 139 72 98 38 139 73 102 37 139 74 104 36 139 75 110 35 139 76 112 34 139 78 115 33 139 79 120 32 139 80 121 31 139 80 128 30 139 81 131 29 139 82 134 28 139 83 137 26 139 84 141 25 139 86 144 24 139 87 149 23 139 88 152 22 139 88 153 21 139 89 155 20 139 90 157 19 139 92 160 18 139 93 162 17 139 94 166 16 139 95 171 15 139 96 174 14 139 97 176 13 139 98 178 12 139 99 179 11 139 100 181 10 139 101 182 9 139 103 182 8 139 104 184 7 139 105 186 6 139 105 188 5 139 106 194 4 139 107 198 3 139 108 201 2 139 109 204 1 139 111 205 0 139 111 208 0 139 112 208 0 139 113 209 0 139 113 209 0 139 113 211 0 139 113 211 255 138 0 219 254 138 0 217 254 138 0 217 254 138 0 216 253 138 0 213 252 138 0 211 251 138 0 209 250 138 0 209 249 138 0 208 248 138 0 207 247 138 0 204 246 138 0 202 245 138 0 198 244 138 0 195 243 138 0 189 242 138 0 186 241 138 0 185 240 138 0 184 239 138 0 182 238 138 0 181 237 138 0 179 236 138 0 178 235 138 0 176 234 138 0 174 233 138 0 171 232 138 0 166 231 138 0 163 230 138 0 160 229 138 0 157 228 138 0 156 227 138 0 155 226 138 0 152 224 138 0 149 223 138 0 144 222 138 0 141 221 138 0 137 220 138 0 134 219 138 0 131 218 138 0 126 217 138 0 121 216 138 0 118 215 138 0 115 214 138 0 111 213 138 0 108 212 138 0 104 211 138 0 102 210 138 0 98 209 138 0 95 208 138 0 92 207 138 0 91 206 138 0 88 205 138 0 84 204 138 0 81 203 138 0 80 202 138 0 74 201 138 0 71 200 138 0 69 199 138 0 66 198 138 0 62 197 138 0 60 196 138 0 57 195 138 0 53 194 138 0 50 193 138 0 47 191 138 0 44 190 138 0 40 189 138 0 38 188 138 0 36 187 138 0 32 186 138 0 31 185 138 0 29 184 138 0 27 183 138 0 25 182 138 0 22 181 138 0 18 180 138 0 16 179 138 0 13 178 138 0 7 177 138 0 5 176 138 0 2 175 138 0 0 174 138 0 0 173 138 0 0 172 138 0 0 171 138 0 0 170 138 0 0 169 138 0 0 168 138 0 0 167 138 0 0 166 138 0 0 165 138 0 0 164 138 0 0 163 138 0 0 162 138 0 0 161 138 0 0 160 138 0 0 158 138 0 0 157 138 0 0 156 138 0 0 155 138 0 0 154 138 0 0 153 138 0 0 152 138 0 0 151 138 0 0 150 138 0 0 149 138 0 0 148 138 0 0 147 138 0 0 146 138 0 0 145 138 0 0 144 138 0 0 143 138 0 0 142 138 0 0 141 138 0 0 140 138 0 0 139 138 0 0 138 138 0 0 137 138 0 0 136 138 0 0 135 138 0 0 134 138 0 0 133 138 0 0 132 138 0 0 131 138 0 0 130 138 0 0 129 138 0 0 128 138 0 0 127 138 0 0 125 138 0 0 124 138 0 0 123 138 0 0 122 138 0 0 121 138 0 0 120 138 0 0 119 138 0 0 118 138 0 0 117 138 0 0 116 138 0 0 115 138 0 0 114 138 0 0 113 138 0 0 112 138 1 0 111 138 1 0 110 138 2 0 109 138 3 0 108 138 4 0 107 138 5 0 106 138 6 0 105 138 7 0 104 138 8 0 103 138 9 0 102 138 10 0 101 138 11 0 100 138 12 0 99 138 13 0 98 138 14 0 97 138 15 0 96 138 16 0 95 138 17 0 94 138 18 0 92 138 19 0 91 138 20 0 90 138 21 0 89 138 22 0 88 138 23 0 87 138 24 0 86 138 25 0 85 138 27 0 84 138 28 0 83 138 29 0 82 138 30 0 81 138 31 0 80 138 32 0 79 138 33 0 78 138 34 0 77 138 35 0 76 138 36 0 75 138 37 0 74 138 38 0 73 138 39 0 72 138 40 3 71 138 41 6 70 138 42 10 69 138 43 14 68 138 44 17 67 138 45 20 66 138 46 24 65 138 47 27 64 138 48 28 63 138 49 31 62 138 50 32 61 138 51 36 59 138 52 38 58 138 53 40 57 138 54 44 56 138 55 47 55 138 56 50 54 138 57 53 53 138 58 57 52 138 60 60 51 138 61 62 50 138 62 66 49 138 63 69 48 138 64 70 47 138 65 74 46 138 66 77 45 138 67 81 44 138 68 84 43 138 69 88 42 138 70 89 41 138 71 92 40 138 72 95 39 138 73 98 38 138 74 99 37 138 75 104 36 138 76 108 35 138 77 111 34 138 78 114 33 138 79 118 32 138 80 121 31 138 81 126 30 138 82 130 29 138 83 133 28 138 84 137 26 138 85 140 25 138 86 144 24 138 87 149 23 138 88 152 22 138 89 153 21 138 90 155 20 138 91 157 19 138 93 160 18 138 94 162 17 138 95 166 16 138 96 171 15 138 97 174 14 138 98 176 13 138 99 178 12 138 100 179 11 138 101 181 10 138 102 182 9 138 103 182 8 138 104 184 7 138 105 185 6 138 106 188 5 138 107 194 4 138 108 198 3 138 109 201 2 138 110 204 1 138 111 205 0 138 112 208 0 138 113 208 0 138 113 209 0 138 114 209 0 138 114 211 0 138 114 211 255 137 0 219 254 137 0 217 254 137 0 217 254 137 0 216 253 137 0 213 252 137 0 211 251 137 0 209 250 137 0 209 249 137 0 208 248 137 0 207 247 137 0 204 246 137 0 202 245 137 0 198 244 137 0 195 243 137 0 189 242 137 0 186 241 137 0 185 240 137 0 184 239 137 0 182 238 137 0 181 237 137 0 179 236 137 0 178 235 137 0 176 234 137 0 174 233 137 0 171 232 137 0 166 231 137 0 163 230 137 0 160 229 137 0 157 228 137 0 156 227 137 0 155 226 137 0 152 224 137 0 149 223 137 0 144 222 137 0 140 221 137 0 137 220 137 0 133 219 137 0 130 218 137 0 126 217 137 0 120 216 137 0 117 215 137 0 114 214 137 0 110 213 137 0 107 212 137 0 103 211 137 0 99 210 137 0 98 209 137 0 95 208 137 0 92 207 137 0 91 206 137 0 88 205 137 0 84 204 137 0 81 203 137 0 80 202 137 0 74 201 137 0 71 200 137 0 69 199 137 0 66 198 137 0 62 197 137 0 60 196 137 0 57 195 137 0 53 194 137 0 50 193 137 0 47 191 137 0 44 190 137 0 40 189 137 0 38 188 137 0 35 187 137 0 32 186 137 0 31 185 137 0 28 184 137 0 27 183 137 0 24 182 137 0 22 181 137 0 18 180 137 0 16 179 137 0 10 178 137 0 7 177 137 0 5 176 137 0 2 175 137 0 0 174 137 0 0 173 137 0 0 172 137 0 0 171 137 0 0 170 137 0 0 169 137 0 0 168 137 0 0 167 137 0 0 166 137 0 0 165 137 0 0 164 137 0 0 163 137 0 0 162 137 0 0 161 137 0 0 160 137 0 0 158 137 0 0 157 137 0 0 156 137 0 0 155 137 0 0 154 137 0 0 153 137 0 0 152 137 0 0 151 137 0 0 150 137 0 0 149 137 0 0 148 137 0 0 147 137 0 0 146 137 0 0 145 137 0 0 144 137 0 0 143 137 0 0 142 137 0 0 141 137 0 0 140 137 0 0 139 137 0 0 138 137 0 0 137 137 0 0 136 137 0 0 135 137 0 0 134 137 0 0 133 137 0 0 132 137 0 0 131 137 0 0 130 137 0 0 129 137 0 0 128 137 0 0 127 137 0 0 125 137 0 0 124 137 0 0 123 137 0 0 122 137 0 0 121 137 0 0 120 137 0 0 119 137 0 0 118 137 0 0 117 137 0 0 116 137 0 0 115 137 0 0 114 137 0 0 113 137 1 0 112 137 1 0 111 137 2 0 110 137 3 0 109 137 4 0 108 137 5 0 107 137 6 0 106 137 7 0 105 137 8 0 104 137 9 0 103 137 10 0 102 137 11 0 101 137 12 0 100 137 13 0 99 137 14 0 98 137 15 0 97 137 16 0 96 137 17 0 95 137 18 0 94 137 19 0 92 137 20 0 91 137 21 0 90 137 22 0 89 137 23 0 88 137 24 0 87 137 25 0 86 137 26 0 85 137 28 0 84 137 29 0 83 137 30 0 82 137 31 0 81 137 32 0 80 137 33 0 79 137 34 0 78 137 35 0 77 137 36 0 76 137 37 0 75 137 38 0 74 137 39 0 73 137 40 0 72 137 41 3 71 137 42 6 70 137 43 9 69 137 44 14 68 137 45 17 67 137 46 20 66 137 47 24 65 137 48 25 64 137 49 28 63 137 50 31 62 137 51 32 61 137 52 35 59 137 53 38 58 137 54 40 57 137 55 44 56 137 56 47 55 137 57 50 54 137 58 53 53 137 59 57 52 137 61 60 51 137 62 62 50 137 63 66 49 137 64 69 48 137 65 70 47 137 66 74 46 137 67 77 45 137 68 81 44 137 69 84 43 137 70 88 42 137 71 89 41 137 72 92 40 137 73 95 39 137 74 96 38 137 75 99 37 137 76 103 36 137 77 107 35 137 78 110 34 137 79 114 33 137 80 117 32 137 81 120 31 137 82 122 30 137 83 130 29 137 84 133 28 137 85 135 26 137 86 140 25 137 87 143 24 137 88 149 23 137 89 150 22 137 90 153 21 137 91 155 20 137 92 157 19 137 94 160 18 137 95 162 17 137 96 165 16 137 97 171 15 137 98 174 14 137 99 176 13 137 100 178 12 137 101 179 11 137 102 181 10 137 103 181 9 137 104 182 8 137 105 184 7 137 106 185 6 137 107 188 5 137 108 194 4 137 109 198 3 137 110 201 2 137 111 204 1 137 112 205 0 137 113 208 0 137 114 208 0 137 114 209 0 137 115 209 0 137 115 211 0 137 115 211 255 136 0 219 254 136 0 217 254 136 0 217 254 136 0 216 253 136 0 213 252 136 0 211 251 136 0 209 250 136 0 209 249 136 0 208 248 136 0 207 247 136 0 204 246 136 0 202 245 136 0 198 244 136 0 195 243 136 0 189 242 136 0 186 241 136 0 185 240 136 0 182 239 136 0 182 238 136 0 181 237 136 0 179 236 136 0 178 235 136 0 176 234 136 0 174 233 136 0 171 232 136 0 166 231 136 0 163 230 136 0 160 229 136 0 157 228 136 0 156 227 136 0 153 226 136 0 152 224 136 0 149 223 136 0 143 222 136 0 140 221 136 0 135 220 136 0 131 219 136 0 128 218 136 0 122 217 136 0 120 216 136 0 117 215 136 0 112 214 136 0 110 213 136 0 107 212 136 0 103 211 136 0 99 210 136 0 96 209 136 0 95 208 136 0 92 207 136 0 91 206 136 0 88 205 136 0 84 204 136 0 81 203 136 0 80 202 136 0 74 201 136 0 71 200 136 0 69 199 136 0 66 198 136 0 62 197 136 0 60 196 136 0 57 195 136 0 53 194 136 0 50 193 136 0 47 191 136 0 44 190 136 0 40 189 136 0 38 188 136 0 35 187 136 0 32 186 136 0 31 185 136 0 28 184 136 0 27 183 136 0 24 182 136 0 20 181 136 0 17 180 136 0 14 179 136 0 10 178 136 0 6 177 136 0 3 176 136 0 0 175 136 0 0 174 136 0 0 173 136 0 0 172 136 0 0 171 136 0 0 170 136 0 0 169 136 0 0 168 136 0 0 167 136 0 0 166 136 0 0 165 136 0 0 164 136 0 0 163 136 0 0 162 136 0 0 161 136 0 0 160 136 0 0 158 136 0 0 157 136 0 0 156 136 0 0 155 136 0 0 154 136 0 0 153 136 0 0 152 136 0 0 151 136 0 0 150 136 0 0 149 136 0 0 148 136 0 0 147 136 0 0 146 136 0 0 145 136 0 0 144 136 0 0 143 136 0 0 142 136 0 0 141 136 0 0 140 136 0 0 139 136 0 0 138 136 0 0 137 136 0 0 136 136 0 0 135 136 0 0 134 136 0 0 133 136 0 0 132 136 0 0 131 136 0 0 130 136 0 0 129 136 0 0 128 136 0 0 127 136 0 0 125 136 0 0 124 136 0 0 123 136 0 0 122 136 0 0 121 136 0 0 120 136 0 0 119 136 0 0 118 136 0 0 117 136 0 0 116 136 0 0 115 136 0 0 114 136 1 0 113 136 1 0 112 136 2 0 111 136 3 0 110 136 4 0 109 136 5 0 108 136 6 0 107 136 7 0 106 136 8 0 105 136 9 0 104 136 10 0 103 136 11 0 102 136 12 0 101 136 13 0 100 136 14 0 99 136 15 0 98 136 16 0 97 136 17 0 96 136 18 0 95 136 19 0 94 136 20 0 92 136 21 0 91 136 22 0 90 136 23 0 89 136 24 0 88 136 25 0 87 136 26 0 86 136 27 0 85 136 29 0 84 136 30 0 83 136 31 0 82 136 32 0 81 136 33 0 80 136 34 0 79 136 35 0 78 136 36 0 77 136 37 0 76 136 38 0 75 136 39 0 74 136 40 0 73 136 41 0 72 136 42 3 71 136 43 6 70 136 44 9 69 136 45 13 68 136 46 16 67 136 47 18 66 136 48 22 65 136 49 25 64 136 50 28 63 136 51 29 62 136 52 32 61 136 53 35 59 136 54 38 58 136 55 40 57 136 56 43 56 136 57 47 55 136 58 50 54 136 59 53 53 136 60 57 52 136 62 60 51 136 63 62 50 136 64 66 49 136 65 69 48 136 66 70 47 136 67 74 46 136 68 77 45 136 69 81 44 136 70 84 43 136 71 88 42 136 72 89 41 136 73 92 40 136 74 93 39 136 75 96 38 136 76 98 37 136 77 102 36 136 78 104 35 136 79 108 34 136 80 112 33 136 81 115 32 136 82 118 31 136 83 121 30 136 84 128 29 136 85 131 28 136 86 134 26 136 87 138 25 136 88 143 24 136 89 145 23 136 90 150 22 136 91 153 21 136 92 155 20 136 93 157 19 136 95 160 18 136 96 162 17 136 97 165 16 136 98 171 15 136 99 174 14 136 100 175 13 136 101 178 12 136 102 179 11 136 103 181 10 136 104 181 9 136 105 182 8 136 106 184 7 136 107 185 6 136 108 188 5 136 109 194 4 136 110 198 3 136 111 201 2 136 112 204 1 136 113 205 0 136 114 208 0 136 115 208 0 136 115 209 0 136 115 209 0 136 116 211 0 136 116 211 255 135 0 219 254 135 0 217 254 135 0 217 254 135 0 216 253 135 0 213 252 135 0 211 251 135 0 209 250 135 0 209 249 135 0 208 248 135 0 207 247 135 0 204 246 135 0 202 245 135 0 198 244 135 0 195 243 135 0 189 242 135 0 186 241 135 0 184 240 135 0 182 239 135 0 181 238 135 0 179 237 135 0 179 236 135 0 178 235 135 0 175 234 135 0 174 233 135 0 171 232 135 0 166 231 135 0 163 230 135 0 160 229 135 0 157 228 135 0 156 227 135 0 153 226 135 0 152 224 135 0 145 223 135 0 143 222 135 0 138 221 135 0 134 220 135 0 131 219 135 0 126 218 135 0 121 217 135 0 118 216 135 0 115 215 135 0 112 214 135 0 108 213 135 0 104 212 135 0 102 211 135 0 98 210 135 0 96 209 135 0 95 208 135 0 92 207 135 0 91 206 135 0 88 205 135 0 84 204 135 0 81 203 135 0 80 202 135 0 74 201 135 0 71 200 135 0 69 199 135 0 66 198 135 0 62 197 135 0 60 196 135 0 57 195 135 0 53 194 135 0 50 193 135 0 47 191 135 0 44 190 135 0 39 189 135 0 38 188 135 0 35 187 135 0 31 186 135 0 29 185 135 0 28 184 135 0 25 183 135 0 22 182 135 0 18 181 135 0 16 180 135 0 13 179 135 0 9 178 135 0 6 177 135 0 3 176 135 0 0 175 135 0 0 174 135 0 0 173 135 0 0 172 135 0 0 171 135 0 0 170 135 0 0 169 135 0 0 168 135 0 0 167 135 0 0 166 135 0 0 165 135 0 0 164 135 0 0 163 135 0 0 162 135 0 0 161 135 0 0 160 135 0 0 158 135 0 0 157 135 0 0 156 135 0 0 155 135 0 0 154 135 0 0 153 135 0 0 152 135 0 0 151 135 0 0 150 135 0 0 149 135 0 0 148 135 0 0 147 135 0 0 146 135 0 0 145 135 0 0 144 135 0 0 143 135 0 0 142 135 0 0 141 135 0 0 140 135 0 0 139 135 0 0 138 135 0 0 137 135 0 0 136 135 0 0 135 135 0 0 134 135 0 0 133 135 0 0 132 135 0 0 131 135 0 0 130 135 0 0 129 135 0 0 128 135 0 0 127 135 0 0 125 135 0 0 124 135 0 0 123 135 0 0 122 135 0 0 121 135 0 0 120 135 0 0 119 135 0 0 118 135 0 0 117 135 0 0 116 135 1 0 115 135 1 0 114 135 2 0 113 135 2 0 112 135 3 0 111 135 4 0 110 135 5 0 109 135 6 0 108 135 7 0 107 135 8 0 106 135 9 0 105 135 10 0 104 135 11 0 103 135 12 0 102 135 13 0 101 135 14 0 100 135 15 0 99 135 16 0 98 135 17 0 97 135 18 0 96 135 19 0 95 135 20 0 94 135 21 0 92 135 22 0 91 135 24 0 90 135 25 0 89 135 26 0 88 135 27 0 87 135 28 0 86 135 29 0 85 135 30 0 84 135 31 0 83 135 32 0 82 135 33 0 81 135 34 0 80 135 35 0 79 135 36 0 78 135 37 0 77 135 38 0 76 135 39 0 75 135 40 0 74 135 41 0 73 135 42 0 72 135 43 2 71 135 44 5 70 135 45 7 69 135 46 13 68 135 47 16 67 135 48 18 66 135 49 22 65 135 50 24 64 135 51 27 63 135 52 29 62 135 53 31 61 135 54 35 59 135 55 36 58 135 57 39 57 135 58 43 56 135 59 46 55 135 60 50 54 135 61 53 53 135 62 57 52 135 63 60 51 135 64 62 50 135 65 66 49 135 66 69 48 135 67 70 47 135 68 74 46 135 69 77 45 135 70 81 44 135 71 84 43 135 72 88 42 135 73 89 41 135 74 92 40 135 75 93 39 135 76 96 38 135 77 98 37 135 78 102 36 135 79 104 35 135 80 108 34 135 81 111 33 135 82 114 32 135 83 117 31 135 84 120 30 135 85 126 29 135 86 130 28 135 87 134 26 135 88 138 25 135 90 141 24 135 91 145 23 135 92 150 22 135 93 153 21 135 94 155 20 135 95 157 19 135 96 160 18 135 97 162 17 135 98 165 16 135 99 171 15 135 100 174 14 135 101 175 13 135 102 178 12 135 103 179 11 135 104 179 10 135 105 181 9 135 106 182 8 135 107 184 7 135 108 185 6 135 109 188 5 135 110 194 4 135 111 198 3 135 112 201 2 135 113 204 1 135 114 205 0 135 115 208 0 135 116 208 0 135 116 209 0 135 117 209 0 135 117 211 0 135 117 211 255 134 0 219 254 134 0 217 254 134 0 217 254 134 0 216 253 134 0 213 252 134 0 211 251 134 0 209 250 134 0 209 249 134 0 208 248 134 0 207 247 134 0 204 246 134 0 202 245 134 0 198 244 134 0 195 243 134 0 189 242 134 0 186 241 134 0 184 240 134 0 182 239 134 0 181 238 134 0 179 237 134 0 178 236 134 0 176 235 134 0 175 234 134 0 172 233 134 0 171 232 134 0 166 231 134 0 163 230 134 0 160 229 134 0 157 228 134 0 155 227 134 0 153 226 134 0 150 224 134 0 144 223 134 0 141 222 134 0 137 221 134 0 133 220 134 0 130 219 134 0 126 218 134 0 120 217 134 0 117 216 134 0 115 215 134 0 111 214 134 0 108 213 134 0 104 212 134 0 102 211 134 0 98 210 134 0 96 209 134 0 95 208 134 0 92 207 134 0 91 206 134 0 88 205 134 0 84 204 134 0 81 203 134 0 80 202 134 0 74 201 134 0 71 200 134 0 69 199 134 0 66 198 134 0 62 197 134 0 60 196 134 0 57 195 134 0 53 194 134 0 50 193 134 0 47 191 134 0 43 190 134 0 39 189 134 0 36 188 134 0 32 187 134 0 31 186 134 0 28 185 134 0 27 184 134 0 24 183 134 0 22 182 134 0 18 181 134 0 14 180 134 0 10 179 134 0 7 178 134 0 5 177 134 0 2 176 134 0 0 175 134 0 0 174 134 0 0 173 134 0 0 172 134 0 0 171 134 0 0 170 134 0 0 169 134 0 0 168 134 0 0 167 134 0 0 166 134 0 0 165 134 0 0 164 134 0 0 163 134 0 0 162 134 0 0 161 134 0 0 160 134 0 0 158 134 0 0 157 134 0 0 156 134 0 0 155 134 0 0 154 134 0 0 153 134 0 0 152 134 0 0 151 134 0 0 150 134 0 0 149 134 0 0 148 134 0 0 147 134 0 0 146 134 0 0 145 134 0 0 144 134 0 0 143 134 0 0 142 134 0 0 141 134 0 0 140 134 0 0 139 134 0 0 138 134 0 0 137 134 0 0 136 134 0 0 135 134 0 0 134 134 0 0 133 134 0 0 132 134 0 0 131 134 0 0 130 134 0 0 129 134 0 0 128 134 0 0 127 134 0 0 125 134 0 0 124 134 0 0 123 134 0 0 122 134 0 0 121 134 0 0 120 134 0 0 119 134 0 0 118 134 0 0 117 134 1 0 116 134 2 0 115 134 2 0 114 134 3 0 113 134 3 0 112 134 4 0 111 134 5 0 110 134 6 0 109 134 7 0 108 134 9 0 107 134 10 0 106 134 10 0 105 134 11 0 104 134 12 0 103 134 13 0 102 134 14 0 101 134 15 0 100 134 17 0 99 134 18 0 98 134 18 0 97 134 19 0 96 134 20 0 95 134 21 0 94 134 22 0 92 134 24 0 91 134 25 0 90 134 26 0 89 134 27 0 88 134 28 0 87 134 29 0 86 134 30 0 85 134 31 0 84 134 32 0 83 134 34 0 82 134 35 0 81 134 35 0 80 134 36 0 79 134 37 0 78 134 38 0 77 134 39 0 76 134 40 0 75 134 42 0 74 134 43 0 73 134 43 0 72 134 44 0 71 134 45 3 70 134 46 7 69 134 47 10 68 134 48 14 67 134 50 17 66 134 51 20 65 134 51 24 64 134 52 25 63 134 53 28 62 134 54 29 61 134 55 32 59 134 57 36 58 134 58 39 57 134 59 43 56 134 60 46 55 134 61 49 54 134 62 53 53 134 63 57 52 134 64 60 51 134 65 62 50 134 67 66 49 134 68 69 48 134 68 70 47 134 69 74 46 134 70 77 45 134 71 81 44 134 72 84 43 134 73 88 42 134 75 89 41 134 76 92 40 134 76 93 39 134 77 96 38 134 78 98 37 134 79 102 36 134 80 104 35 134 81 108 34 134 83 111 33 134 84 114 32 134 84 117 31 134 85 120 30 134 86 122 29 134 87 128 28 134 88 133 26 134 90 137 25 134 91 140 24 134 92 144 23 134 93 149 22 134 94 152 21 134 95 155 20 134 96 157 19 134 97 160 18 134 98 162 17 134 100 165 16 134 101 171 15 134 101 172 14 134 102 175 13 134 103 176 12 134 104 178 11 134 105 179 10 134 106 181 9 134 108 182 8 134 109 184 7 134 109 185 6 134 110 188 5 134 111 194 4 134 112 198 3 134 113 201 2 134 114 204 1 134 116 205 0 134 116 208 0 134 117 208 0 134 118 209 0 134 118 209 0 134 118 211 0 134 118 211 255 133 0 219 254 133 0 217 254 133 0 217 254 133 0 216 253 133 0 213 252 133 0 211 251 133 0 209 250 133 0 209 249 133 0 208 248 133 0 207 247 133 0 204 246 133 0 202 245 133 0 198 244 133 0 195 243 133 0 189 242 133 0 186 241 133 0 184 240 133 0 182 239 133 0 181 238 133 0 179 237 133 0 178 236 133 0 176 235 133 0 175 234 133 0 172 233 133 0 171 232 133 0 166 231 133 0 163 230 133 0 160 229 133 0 157 228 133 0 155 227 133 0 152 226 133 0 149 224 133 0 143 223 133 0 140 222 133 0 135 221 133 0 131 220 133 0 128 219 133 0 122 218 133 0 120 217 133 0 117 216 133 0 114 215 133 0 111 214 133 0 108 213 133 0 104 212 133 0 102 211 133 0 98 210 133 0 96 209 133 0 95 208 133 0 92 207 133 0 91 206 133 0 88 205 133 0 84 204 133 0 81 203 133 0 80 202 133 0 74 201 133 0 71 200 133 0 69 199 133 0 66 198 133 0 62 197 133 0 60 196 133 0 57 195 133 0 53 194 133 0 50 193 133 0 46 191 133 0 43 190 133 0 38 189 133 0 35 188 133 0 32 187 133 0 29 186 133 0 28 185 133 0 25 184 133 0 22 183 133 0 18 182 133 0 16 181 133 0 13 180 133 0 9 179 133 0 6 178 133 0 3 177 133 0 0 176 133 0 0 175 133 0 0 174 133 0 0 173 133 0 0 172 133 0 0 171 133 0 0 170 133 0 0 169 133 0 0 168 133 0 0 167 133 0 0 166 133 0 0 165 133 0 0 164 133 0 0 163 133 0 0 162 133 0 0 161 133 0 0 160 133 0 0 158 133 0 0 157 133 0 0 156 133 0 0 155 133 0 0 154 133 0 0 153 133 0 0 152 133 0 0 151 133 0 0 150 133 0 0 149 133 0 0 148 133 0 0 147 133 0 0 146 133 0 0 145 133 0 0 144 133 0 0 143 133 0 0 142 133 0 0 141 133 0 0 140 133 0 0 139 133 0 0 138 133 0 0 137 133 0 0 136 133 0 0 135 133 0 0 134 133 0 0 133 133 0 0 132 133 0 0 131 133 0 0 130 133 0 0 129 133 0 0 128 133 0 0 127 133 0 0 125 133 0 0 124 133 0 0 123 133 0 0 122 133 0 0 121 133 0 0 120 133 0 0 119 133 0 0 118 133 1 0 117 133 2 0 116 133 2 0 115 133 3 0 114 133 4 0 113 133 4 0 112 133 5 0 111 133 6 0 110 133 7 0 109 133 9 0 108 133 10 0 107 133 11 0 106 133 12 0 105 133 12 0 104 133 13 0 103 133 14 0 102 133 15 0 101 133 17 0 100 133 18 0 99 133 19 0 98 133 20 0 97 133 20 0 96 133 21 0 95 133 22 0 94 133 24 0 92 133 25 0 91 133 26 0 90 133 27 0 89 133 28 0 88 133 29 0 87 133 30 0 86 133 31 0 85 133 32 0 84 133 34 0 83 133 35 0 82 133 36 0 81 133 37 0 80 133 37 0 79 133 38 0 78 133 39 0 77 133 40 0 76 133 42 0 75 133 43 0 74 133 44 0 73 133 45 0 72 133 45 0 71 133 46 2 70 133 47 5 69 133 48 9 68 133 50 13 67 133 51 16 66 133 52 18 65 133 53 20 64 133 53 24 63 133 54 27 62 133 55 29 61 133 57 31 59 133 58 35 58 133 59 38 57 133 60 40 56 133 61 46 55 133 62 49 54 133 63 51 53 133 64 57 52 133 65 60 51 133 67 62 50 133 68 66 49 133 69 69 48 133 70 70 47 133 70 74 46 133 71 77 45 133 72 81 44 133 73 84 43 133 75 88 42 133 76 89 41 133 77 92 40 133 78 93 39 133 78 96 38 133 79 98 37 133 80 102 36 133 81 104 35 133 83 108 34 133 84 111 33 133 85 114 32 133 86 117 31 133 86 118 30 133 87 122 29 133 88 128 28 133 90 131 26 133 91 135 25 133 92 138 24 133 93 143 23 133 94 149 22 133 95 152 21 133 96 155 20 133 97 157 19 133 98 160 18 133 100 162 17 133 101 165 16 133 102 167 15 133 103 172 14 133 103 175 13 133 104 176 12 133 105 178 11 133 106 178 10 133 108 179 9 133 109 181 8 133 110 184 7 133 111 185 6 133 111 188 5 133 112 194 4 133 113 198 3 133 114 201 2 133 116 204 1 133 117 205 0 133 118 208 0 133 118 208 0 133 119 209 0 133 119 209 0 133 119 211 0 133 119 211 255 132 0 219 254 132 0 217 254 132 0 217 254 132 0 216 253 132 0 213 252 132 0 211 251 132 0 209 250 132 0 209 249 132 0 208 248 132 0 207 247 132 0 204 246 132 0 202 245 132 0 198 244 132 0 195 243 132 0 189 242 132 0 186 241 132 0 184 240 132 0 182 239 132 0 181 238 132 0 178 237 132 0 176 236 132 0 176 235 132 0 174 234 132 0 172 233 132 0 167 232 132 0 166 231 132 0 163 230 132 0 160 229 132 0 157 228 132 0 155 227 132 0 152 226 132 0 149 224 132 0 143 223 132 0 138 222 132 0 134 221 132 0 131 220 132 0 126 219 132 0 122 218 132 0 120 217 132 0 117 216 132 0 114 215 132 0 111 214 132 0 108 213 132 0 104 212 132 0 102 211 132 0 98 210 132 0 96 209 132 0 95 208 132 0 92 207 132 0 91 206 132 0 88 205 132 0 84 204 132 0 81 203 132 0 80 202 132 0 74 201 132 0 71 200 132 0 69 199 132 0 66 198 132 0 62 197 132 0 60 196 132 0 57 195 132 0 53 194 132 0 49 193 132 0 46 191 132 0 40 190 132 0 38 189 132 0 35 188 132 0 31 187 132 0 28 186 132 0 27 185 132 0 24 184 132 0 20 183 132 0 17 182 132 0 14 181 132 0 10 180 132 0 7 179 132 0 5 178 132 0 2 177 132 0 0 176 132 0 0 175 132 0 0 174 132 0 0 173 132 0 0 172 132 0 0 171 132 0 0 170 132 0 0 169 132 0 0 168 132 0 0 167 132 0 0 166 132 0 0 165 132 0 0 164 132 0 0 163 132 0 0 162 132 0 0 161 132 0 0 160 132 0 0 158 132 0 0 157 132 0 0 156 132 0 0 155 132 0 0 154 132 0 0 153 132 0 0 152 132 0 0 151 132 0 0 150 132 0 0 149 132 0 0 148 132 0 0 147 132 0 0 146 132 0 0 145 132 0 0 144 132 0 0 143 132 0 0 142 132 0 0 141 132 0 0 140 132 0 0 139 132 0 0 138 132 0 0 137 132 0 0 136 132 0 0 135 132 0 0 134 132 0 0 133 132 0 0 132 132 0 0 131 132 0 0 130 132 0 0 129 132 0 0 128 132 0 0 127 132 0 0 125 132 0 0 124 132 0 0 123 132 0 0 122 132 0 0 121 132 0 0 120 132 0 0 119 132 0 0 118 132 1 0 117 132 2 0 116 132 3 0 115 132 4 0 114 132 5 0 113 132 5 0 112 132 6 0 111 132 7 0 110 132 8 0 109 132 10 0 108 132 11 0 107 132 12 0 106 132 13 0 105 132 13 0 104 132 14 0 103 132 15 0 102 132 16 0 101 132 18 0 100 132 19 0 99 132 20 0 98 132 21 0 97 132 21 0 96 132 22 0 95 132 23 0 94 132 25 0 92 132 26 0 91 132 27 0 90 132 28 0 89 132 29 0 88 132 30 0 87 132 31 0 86 132 32 0 85 132 33 0 84 132 35 0 83 132 36 0 82 132 37 0 81 132 38 0 80 132 38 0 79 132 39 0 78 132 40 0 77 132 41 0 76 132 43 0 75 132 44 0 74 132 45 0 73 132 46 0 72 132 46 0 71 132 47 0 70 132 48 3 69 132 49 6 68 132 51 9 67 132 52 13 66 132 53 17 65 132 54 18 64 132 54 22 63 132 55 25 62 132 56 28 61 132 58 29 59 132 59 32 58 132 60 38 57 132 61 40 56 132 62 46 55 132 63 49 54 132 64 51 53 132 65 57 52 132 66 60 51 132 68 62 50 132 69 66 49 132 70 69 48 132 71 70 47 132 71 74 46 132 72 77 45 132 73 81 44 132 74 84 43 132 76 88 42 132 77 89 41 132 78 92 40 132 79 93 39 132 79 96 38 132 80 98 37 132 81 102 36 132 82 104 35 132 84 108 34 132 85 111 33 132 86 114 32 132 87 115 31 132 87 118 30 132 88 121 29 132 89 126 28 132 91 130 26 132 92 134 25 132 93 138 24 132 94 141 23 132 95 145 22 132 96 152 21 132 97 153 20 132 98 157 19 132 99 160 18 132 101 162 17 132 102 165 16 132 103 167 15 132 104 172 14 132 104 174 13 132 105 175 12 132 106 176 11 132 107 178 10 132 109 179 9 132 110 181 8 132 111 184 7 132 112 185 6 132 112 188 5 132 113 194 4 132 114 198 3 132 115 201 2 132 117 204 1 132 118 205 0 132 119 208 0 132 119 208 0 132 120 209 0 132 120 209 0 132 120 211 0 132 120 211 255 131 0 219 254 131 0 217 254 131 0 217 254 131 0 216 253 131 0 213 252 131 0 211 251 131 0 209 250 131 0 209 249 131 0 208 248 131 0 207 247 131 0 204 246 131 0 202 245 131 0 198 244 131 0 195 243 131 0 189 242 131 0 186 241 131 0 184 240 131 0 182 239 131 0 179 238 131 0 178 237 131 0 176 236 131 0 175 235 131 0 174 234 131 0 172 233 131 0 167 232 131 0 166 231 131 0 163 230 131 0 160 229 131 0 157 228 131 0 155 227 131 0 152 226 131 0 145 224 131 0 141 223 131 0 137 222 131 0 134 221 131 0 130 220 131 0 126 219 131 0 121 218 131 0 118 217 131 0 117 216 131 0 114 215 131 0 111 214 131 0 108 213 131 0 104 212 131 0 102 211 131 0 98 210 131 0 96 209 131 0 95 208 131 0 92 207 131 0 91 206 131 0 88 205 131 0 84 204 131 0 81 203 131 0 80 202 131 0 74 201 131 0 71 200 131 0 69 199 131 0 66 198 131 0 62 197 131 0 60 196 131 0 57 195 131 0 53 194 131 0 49 193 131 0 46 191 131 0 40 190 131 0 36 189 131 0 32 188 131 0 29 187 131 0 27 186 131 0 25 185 131 0 22 184 131 0 18 183 131 0 16 182 131 0 13 181 131 0 9 180 131 0 6 179 131 0 3 178 131 0 0 177 131 0 0 176 131 0 0 175 131 0 0 174 131 0 0 173 131 0 0 172 131 0 0 171 131 0 0 170 131 0 0 169 131 0 0 168 131 0 0 167 131 0 0 166 131 0 0 165 131 0 0 164 131 0 0 163 131 0 0 162 131 0 0 161 131 0 0 160 131 0 0 158 131 0 0 157 131 0 0 156 131 0 0 155 131 0 0 154 131 0 0 153 131 0 0 152 131 0 0 151 131 0 0 150 131 0 0 149 131 0 0 148 131 0 0 147 131 0 0 146 131 0 0 145 131 0 0 144 131 0 0 143 131 0 0 142 131 0 0 141 131 0 0 140 131 0 0 139 131 0 0 138 131 0 0 137 131 0 0 136 131 0 0 135 131 0 0 134 131 0 0 133 131 0 0 132 131 0 0 131 131 0 0 130 131 0 0 129 131 0 0 128 131 0 0 127 131 0 0 125 131 0 0 124 131 0 0 123 131 0 0 122 131 0 0 121 131 0 0 120 131 0 0 119 131 1 0 118 131 2 0 117 131 3 0 116 131 4 0 115 131 5 0 114 131 6 0 113 131 6 0 112 131 7 0 111 131 8 0 110 131 9 0 109 131 10 0 108 131 12 0 107 131 13 0 106 131 14 0 105 131 14 0 104 131 15 0 103 131 16 0 102 131 17 0 101 131 18 0 100 131 20 0 99 131 21 0 98 131 22 0 97 131 22 0 96 131 23 0 95 131 24 0 94 131 26 0 92 131 27 0 91 131 28 0 90 131 29 0 89 131 30 0 88 131 31 0 87 131 32 0 86 131 33 0 85 131 34 0 84 131 35 0 83 131 37 0 82 131 38 0 81 131 39 0 80 131 39 0 79 131 40 0 78 131 41 0 77 131 42 0 76 131 43 0 75 131 45 0 74 131 46 0 73 131 47 0 72 131 47 0 71 131 48 0 70 131 49 3 69 131 50 6 68 131 51 7 67 131 53 13 66 131 54 16 65 131 55 18 64 131 55 22 63 131 56 25 62 131 57 27 61 131 59 29 59 131 60 32 58 131 61 36 57 131 62 39 56 131 63 44 55 131 64 49 54 131 65 51 53 131 66 57 52 131 67 60 51 131 68 62 50 131 70 66 49 131 71 69 48 131 72 70 47 131 72 74 46 131 73 77 45 131 74 81 44 131 75 84 43 131 76 88 42 131 78 89 41 131 79 92 40 131 80 93 39 131 80 96 38 131 81 98 37 131 82 102 36 131 83 104 35 131 84 108 34 131 86 111 33 131 87 114 32 131 88 115 31 131 88 118 30 131 89 121 29 131 90 126 28 131 92 130 26 131 93 133 25 131 94 137 24 131 95 140 23 131 96 145 22 131 97 150 21 131 98 153 20 131 99 156 19 131 100 160 18 131 101 162 17 131 103 165 16 131 104 167 15 131 105 172 14 131 105 174 13 131 106 175 12 131 107 176 11 131 108 178 10 131 109 179 9 131 111 181 8 131 112 182 7 131 113 185 6 131 113 188 5 131 114 194 4 131 115 198 3 131 116 201 2 131 117 204 1 131 119 205 0 131 119 208 0 131 120 208 0 131 121 209 0 131 121 209 0 131 121 211 0 131 121 211 255 130 0 219 254 130 0 217 254 130 0 217 254 130 0 216 253 130 0 213 252 130 0 211 251 130 0 209 250 130 0 209 249 130 0 208 248 130 0 207 247 130 0 204 246 130 0 202 245 130 0 198 244 130 0 195 243 130 0 189 242 130 0 186 241 130 0 184 240 130 0 182 239 130 0 179 238 130 0 178 237 130 0 176 236 130 0 175 235 130 0 174 234 130 0 172 233 130 0 167 232 130 0 165 231 130 0 162 230 130 0 160 229 130 0 157 228 130 0 155 227 130 0 150 226 130 0 145 224 130 0 140 223 130 0 137 222 130 0 133 221 130 0 130 220 130 0 126 219 130 0 121 218 130 0 118 217 130 0 117 216 130 0 114 215 130 0 111 214 130 0 108 213 130 0 104 212 130 0 102 211 130 0 98 210 130 0 96 209 130 0 95 208 130 0 92 207 130 0 91 206 130 0 88 205 130 0 84 204 130 0 81 203 130 0 80 202 130 0 74 201 130 0 71 200 130 0 69 199 130 0 66 198 130 0 62 197 130 0 59 196 130 0 57 195 130 0 51 194 130 0 49 193 130 0 46 191 130 0 40 190 130 0 36 189 130 0 32 188 130 0 29 187 130 0 27 186 130 0 24 185 130 0 22 184 130 0 18 183 130 0 16 182 130 0 10 181 130 0 7 180 130 0 5 179 130 0 2 178 130 0 0 177 130 0 0 176 130 0 0 175 130 0 0 174 130 0 0 173 130 0 0 172 130 0 0 171 130 0 0 170 130 0 0 169 130 0 0 168 130 0 0 167 130 0 0 166 130 0 0 165 130 0 0 164 130 0 0 163 130 0 0 162 130 0 0 161 130 0 0 160 130 0 0 158 130 0 0 157 130 0 0 156 130 0 0 155 130 0 0 154 130 0 0 153 130 0 0 152 130 0 0 151 130 0 0 150 130 0 0 149 130 0 0 148 130 0 0 147 130 0 0 146 130 0 0 145 130 0 0 144 130 0 0 143 130 0 0 142 130 0 0 141 130 0 0 140 130 0 0 139 130 0 0 138 130 0 0 137 130 0 0 136 130 0 0 135 130 0 0 134 130 0 0 133 130 0 0 132 130 0 0 131 130 0 0 130 130 0 0 129 130 0 0 128 130 0 0 127 130 0 0 125 130 0 0 124 130 0 0 123 130 0 0 122 130 0 0 121 130 0 0 120 130 1 0 119 130 1 0 118 130 2 0 117 130 3 0 116 130 4 0 115 130 5 0 114 130 6 0 113 130 7 0 112 130 8 0 111 130 9 0 110 130 10 0 109 130 11 0 108 130 12 0 107 130 13 0 106 130 14 0 105 130 15 0 104 130 16 0 103 130 17 0 102 130 18 0 101 130 19 0 100 130 20 0 99 130 21 0 98 130 22 0 97 130 23 0 96 130 24 0 95 130 25 0 94 130 27 0 92 130 28 0 91 130 29 0 90 130 30 0 89 130 31 0 88 130 32 0 87 130 33 0 86 130 34 0 85 130 35 0 84 130 36 0 83 130 37 0 82 130 38 0 81 130 39 0 80 130 40 0 79 130 41 0 78 130 42 0 77 130 43 0 76 130 44 0 75 130 45 0 74 130 46 0 73 130 47 0 72 130 48 0 71 130 49 0 70 130 50 2 69 130 51 5 68 130 52 7 67 130 53 10 66 130 54 14 65 130 55 17 64 130 56 20 63 130 57 24 62 130 58 27 61 130 60 28 59 130 61 32 58 130 62 36 57 130 63 39 56 130 64 44 55 130 65 49 54 130 66 51 53 130 67 54 52 130 68 59 51 130 69 62 50 130 70 66 49 130 71 67 48 130 72 70 47 130 73 74 46 130 74 77 45 130 75 81 44 130 76 84 43 130 77 88 42 130 78 89 41 130 79 92 40 130 80 93 39 130 81 96 38 130 82 98 37 130 83 102 36 130 84 104 35 130 85 108 34 130 86 111 33 130 87 114 32 130 88 115 31 130 89 118 30 130 90 121 29 130 91 126 28 130 93 128 26 130 94 133 25 130 95 135 24 130 96 140 23 130 97 144 22 130 98 150 21 130 99 153 20 130 100 156 19 130 101 159 18 130 102 162 17 130 103 165 16 130 104 167 15 130 105 171 14 130 106 174 13 130 107 175 12 130 108 176 11 130 109 178 10 130 110 179 9 130 111 181 8 130 112 182 7 130 113 185 6 130 114 188 5 130 115 194 4 130 116 198 3 130 117 201 2 130 118 204 1 130 119 205 0 130 120 208 0 130 121 208 0 130 121 209 0 130 122 209 0 130 122 211 0 130 122 211 255 129 0 219 254 129 0 217 254 129 0 217 254 129 0 216 253 129 0 213 252 129 0 211 251 129 0 209 250 129 0 209 249 129 0 208 248 129 0 207 247 129 0 204 246 129 0 202 245 129 0 198 244 129 0 195 243 129 0 189 242 129 0 186 241 129 0 184 240 129 0 182 239 129 0 179 238 129 0 178 237 129 0 175 236 129 0 174 235 129 0 172 234 129 0 171 233 129 0 167 232 129 0 165 231 129 0 162 230 129 0 159 229 129 0 156 228 129 0 153 227 129 0 150 226 129 0 144 224 129 0 140 223 129 0 135 222 129 0 133 221 129 0 128 220 129 0 126 219 129 0 121 218 129 0 118 217 129 0 117 216 129 0 114 215 129 0 111 214 129 0 108 213 129 0 104 212 129 0 102 211 129 0 98 210 129 0 96 209 129 0 95 208 129 0 92 207 129 0 91 206 129 0 88 205 129 0 84 204 129 0 81 203 129 0 80 202 129 0 74 201 129 0 71 200 129 0 69 199 129 0 66 198 129 0 62 197 129 0 59 196 129 0 54 195 129 0 51 194 129 0 49 193 129 0 44 191 129 0 39 190 129 0 36 189 129 0 32 188 129 0 28 187 129 0 27 186 129 0 24 185 129 0 20 184 129 0 17 183 129 0 14 182 129 0 10 181 129 0 7 180 129 0 5 179 129 0 2 178 129 0 0 177 129 0 0 176 129 0 0 175 129 0 0 174 129 0 0 173 129 0 0 172 129 0 0 171 129 0 0 170 129 0 0 169 129 0 0 168 129 0 0 167 129 0 0 166 129 0 0 165 129 0 0 164 129 0 0 163 129 0 0 162 129 0 0 161 129 0 0 160 129 0 0 158 129 0 0 157 129 0 0 156 129 0 0 155 129 0 0 154 129 0 0 153 129 0 0 152 129 0 0 151 129 0 0 150 129 0 0 149 129 0 0 148 129 0 0 147 129 0 0 146 129 0 0 145 129 0 0 144 129 0 0 143 129 0 0 142 129 0 0 141 129 0 0 140 129 0 0 139 129 0 0 138 129 0 0 137 129 0 0 136 129 0 0 135 129 0 0 134 129 0 0 133 129 0 0 132 129 0 0 131 129 0 0 130 129 0 0 129 129 0 0 128 129 0 0 127 129 0 0 125 129 0 0 124 129 0 0 123 129 0 0 122 129 0 0 121 129 1 0 120 129 1 0 119 129 2 0 118 129 3 0 117 129 4 0 116 129 5 0 115 129 6 0 114 129 7 0 113 129 8 0 112 129 9 0 111 129 10 0 110 129 11 0 109 129 12 0 108 129 13 0 107 129 14 0 106 129 15 0 105 129 16 0 104 129 17 0 103 129 18 0 102 129 19 0 101 129 20 0 100 129 21 0 99 129 22 0 98 129 23 0 97 129 24 0 96 129 25 0 95 129 26 0 94 129 28 0 92 129 29 0 91 129 30 0 90 129 31 0 89 129 32 0 88 129 33 0 87 129 34 0 86 129 35 0 85 129 36 0 84 129 37 0 83 129 38 0 82 129 39 0 81 129 40 0 80 129 41 0 79 129 42 0 78 129 43 0 77 129 44 0 76 129 45 0 75 129 46 0 74 129 47 0 73 129 48 0 72 129 49 0 71 129 50 0 70 129 51 2 69 129 52 5 68 129 53 6 67 129 54 10 66 129 55 14 65 129 56 17 64 129 57 20 63 129 58 24 62 129 59 27 61 129 61 28 59 129 62 31 58 129 63 35 57 129 64 39 56 129 65 43 55 129 66 47 54 129 67 51 53 129 68 54 52 129 69 59 51 129 70 62 50 129 71 66 49 129 72 67 48 129 73 70 47 129 74 74 46 129 75 77 45 129 76 81 44 129 77 84 43 129 78 88 42 129 79 89 41 129 80 92 40 129 81 93 39 129 82 96 38 129 83 98 37 129 84 102 36 129 85 104 35 129 86 108 34 129 87 111 33 129 88 114 32 129 89 115 31 129 90 118 30 129 91 121 29 129 92 126 28 129 94 128 26 129 95 133 25 129 96 135 24 129 97 140 23 129 98 144 22 129 99 149 21 129 100 153 20 129 101 156 19 129 102 159 18 129 103 162 17 129 104 163 16 129 105 166 15 129 106 171 14 129 107 172 13 129 108 174 12 129 109 175 11 129 110 176 10 129 111 179 9 129 112 181 8 129 113 182 7 129 114 185 6 129 115 188 5 129 116 194 4 129 117 198 3 129 118 201 2 129 119 204 1 129 120 205 0 129 121 208 0 129 122 208 0 129 122 209 0 129 123 209 0 129 123 211 0 129 123 211 255 128 0 219 254 128 0 217 254 128 0 217 254 128 0 216 253 128 0 213 252 128 0 211 251 128 0 209 250 128 0 209 249 128 0 208 248 128 0 207 247 128 0 204 246 128 0 202 245 128 0 198 244 128 0 195 243 128 0 189 242 128 0 186 241 128 0 184 240 128 0 182 239 128 0 179 238 128 0 176 237 128 0 175 236 128 0 174 235 128 0 172 234 128 0 167 233 128 0 166 232 128 0 163 231 128 0 160 230 128 0 159 229 128 0 156 228 128 0 153 227 128 0 150 226 128 0 144 224 128 0 140 223 128 0 135 222 128 0 133 221 128 0 128 220 128 0 126 219 128 0 121 218 128 0 118 217 128 0 117 216 128 0 114 215 128 0 111 214 128 0 108 213 128 0 104 212 128 0 102 211 128 0 98 210 128 0 96 209 128 0 95 208 128 0 92 207 128 0 91 206 128 0 88 205 128 0 84 204 128 0 81 203 128 0 80 202 128 0 74 201 128 0 71 200 128 0 69 199 128 0 66 198 128 0 62 197 128 0 59 196 128 0 54 195 128 0 51 194 128 0 47 193 128 0 44 191 128 0 39 190 128 0 35 189 128 0 31 188 128 0 28 187 128 0 27 186 128 0 24 185 128 0 20 184 128 0 17 183 128 0 14 182 128 0 10 181 128 0 7 180 128 0 5 179 128 0 2 178 128 0 0 177 128 0 0 176 128 0 0 175 128 0 0 174 128 0 0 173 128 0 0 172 128 0 0 171 128 0 0 170 128 0 0 169 128 0 0 168 128 0 0 167 128 0 0 166 128 0 0 165 128 0 0 164 128 0 0 163 128 0 0 162 128 0 0 161 128 0 0 160 128 0 0 158 128 0 0 157 128 0 0 156 128 0 0 155 128 0 0 154 128 0 0 153 128 0 0 152 128 0 0 151 128 0 0 150 128 0 0 149 128 0 0 148 128 0 0 147 128 0 0 146 128 0 0 145 128 0 0 144 128 0 0 143 128 0 0 142 128 0 0 141 128 0 0 140 128 0 0 139 128 0 0 138 128 0 0 137 128 0 0 136 128 0 0 135 128 0 0 134 128 0 0 133 128 0 0 132 128 0 0 131 128 0 0 130 128 0 0 129 128 0 0 128 128 0 0 127 128 0 0 125 128 0 0 124 128 0 0 123 128 0 0 122 128 1 0 121 128 1 0 120 128 2 0 119 128 3 0 118 128 4 0 117 128 5 0 116 128 6 0 115 128 7 0 114 128 8 0 113 128 9 0 112 128 10 0 111 128 11 0 110 128 12 0 109 128 13 0 108 128 14 0 107 128 15 0 106 128 16 0 105 128 17 0 104 128 18 0 103 128 19 0 102 128 20 0 101 128 21 0 100 128 22 0 99 128 23 0 98 128 24 0 97 128 25 0 96 128 26 0 95 128 27 0 94 128 29 0 92 128 30 0 91 128 31 0 90 128 32 0 89 128 33 0 88 128 34 0 87 128 35 0 86 128 36 0 85 128 37 0 84 128 38 0 83 128 39 0 82 128 40 0 81 128 41 0 80 128 42 0 79 128 43 0 78 128 44 0 77 128 45 0 76 128 46 0 75 128 47 0 74 128 48 0 73 128 49 0 72 128 50 0 71 128 51 0 70 128 52 2 69 128 53 5 68 128 54 6 67 128 55 10 66 128 56 14 65 128 57 17 64 128 58 20 63 128 59 24 62 128 60 27 61 128 62 28 59 128 63 31 58 128 64 35 57 128 65 38 56 128 66 43 55 128 67 47 54 128 68 50 53 128 69 53 52 128 70 59 51 128 71 60 50 128 72 64 49 128 73 67 48 128 74 70 47 128 75 74 46 128 76 77 45 128 77 81 44 128 78 84 43 128 79 88 42 128 80 89 41 128 81 92 40 128 82 93 39 128 83 96 38 128 84 98 37 128 85 102 36 128 86 104 35 128 87 108 34 128 88 111 33 128 89 114 32 128 90 115 31 128 91 118 30 128 92 121 29 128 93 126 28 128 95 128 26 128 96 131 25 128 97 135 24 128 98 138 23 128 99 143 22 128 100 149 21 128 101 152 20 128 102 155 19 128 103 157 18 128 104 160 17 128 105 163 16 128 106 166 15 128 107 167 14 128 108 171 13 128 109 174 12 128 110 175 11 128 111 176 10 128 112 179 9 128 113 181 8 128 114 182 7 128 115 185 6 128 116 188 5 128 117 194 4 128 118 198 3 128 119 201 2 128 120 204 1 128 121 205 0 128 122 208 0 128 123 208 0 128 124 209 0 128 124 209 0 128 124 211 0 128 124 211 255 127 0 219 254 127 0 217 254 127 0 217 254 127 0 216 253 127 0 213 252 127 0 211 251 127 0 209 250 127 0 209 249 127 0 208 248 127 0 207 247 127 0 204 246 127 0 202 245 127 0 198 244 127 0 195 243 127 0 189 242 127 0 186 241 127 0 184 240 127 0 182 239 127 0 179 238 127 0 176 237 127 0 175 236 127 0 174 235 127 0 171 234 127 0 166 233 127 0 165 232 127 0 162 231 127 0 159 230 127 0 157 229 127 0 155 228 127 0 152 227 127 0 149 226 127 0 144 224 127 0 140 223 127 0 135 222 127 0 133 221 127 0 128 220 127 0 126 219 127 0 121 218 127 0 118 217 127 0 117 216 127 0 114 215 127 0 111 214 127 0 108 213 127 0 104 212 127 0 102 211 127 0 98 210 127 0 96 209 127 0 95 208 127 0 92 207 127 0 91 206 127 0 88 205 127 0 84 204 127 0 81 203 127 0 80 202 127 0 74 201 127 0 71 200 127 0 69 199 127 0 66 198 127 0 62 197 127 0 59 196 127 0 54 195 127 0 50 194 127 0 46 193 127 0 43 191 127 0 38 190 127 0 35 189 127 0 31 188 127 0 28 187 127 0 27 186 127 0 24 185 127 0 20 184 127 0 17 183 127 0 14 182 127 0 10 181 127 0 7 180 127 0 5 179 127 0 2 178 127 0 0 177 127 0 0 176 127 0 0 175 127 0 0 174 127 0 0 173 127 0 0 172 127 0 0 171 127 0 0 170 127 0 0 169 127 0 0 168 127 0 0 167 127 0 0 166 127 0 0 165 127 0 0 164 127 0 0 163 127 0 0 162 127 0 0 161 127 0 0 160 127 0 0 158 127 0 0 157 127 0 0 156 127 0 0 155 127 0 0 154 127 0 0 153 127 0 0 152 127 0 0 151 127 0 0 150 127 0 0 149 127 0 0 148 127 0 0 147 127 0 0 146 127 0 0 145 127 0 0 144 127 0 0 143 127 0 0 142 127 0 0 141 127 0 0 140 127 0 0 139 127 0 0 138 127 0 0 137 127 0 0 136 127 0 0 135 127 0 0 134 127 0 0 133 127 0 0 132 127 0 0 131 127 0 0 130 127 0 0 129 127 0 0 128 127 0 0 127 127 0 0 125 127 0 0 124 127 1 0 123 127 1 0 122 127 2 0 121 127 2 0 120 127 3 0 119 127 4 0 118 127 5 0 117 127 6 0 116 127 7 0 115 127 8 0 114 127 9 0 113 127 10 0 112 127 11 0 111 127 12 0 110 127 13 0 109 127 14 0 108 127 15 0 107 127 16 0 106 127 17 0 105 127 18 0 104 127 19 0 103 127 20 0 102 127 21 0 101 127 22 0 100 127 24 0 99 127 25 0 98 127 26 0 97 127 27 0 96 127 28 0 95 127 29 0 94 127 30 0 92 127 31 0 91 127 32 0 90 127 33 0 89 127 34 0 88 127 35 0 87 127 36 0 86 127 37 0 85 127 38 0 84 127 39 0 83 127 40 0 82 127 41 0 81 127 42 0 80 127 43 0 79 127 44 0 78 127 45 0 77 127 46 0 76 127 47 0 75 127 48 0 74 127 49 0 73 127 50 0 72 127 51 0 71 127 52 0 70 127 53 2 69 127 54 5 68 127 55 6 67 127 57 10 66 127 58 14 65 127 59 17 64 127 60 20 63 127 61 24 62 127 62 27 61 127 63 28 59 127 64 31 58 127 65 35 57 127 66 38 56 127 67 40 55 127 68 46 54 127 69 49 53 127 70 53 52 127 71 57 51 127 72 60 50 127 73 64 49 127 74 67 48 127 75 70 47 127 76 74 46 127 77 77 45 127 78 81 44 127 79 84 43 127 80 88 42 127 81 89 41 127 82 92 40 127 83 93 39 127 84 96 38 127 85 98 37 127 86 102 36 127 87 104 35 127 88 108 34 127 90 111 33 127 91 114 32 127 92 115 31 127 93 118 30 127 94 121 29 127 95 126 28 127 96 128 26 127 97 131 25 127 98 135 24 127 99 138 23 127 100 143 22 127 101 145 21 127 102 152 20 127 103 155 19 127 104 157 18 127 105 159 17 127 106 162 16 127 107 165 15 127 108 166 14 127 109 171 13 127 110 172 12 127 111 175 11 127 112 176 10 127 113 179 9 127 114 181 8 127 115 182 7 127 116 185 6 127 117 188 5 127 118 194 4 127 119 198 3 127 120 201 2 127 121 204 1 127 123 205 0 127 124 208 0 127 124 208 0 127 125 209 0 127 125 209 0 127 125 211 0 127 125 211 255 125 0 219 254 125 0 217 254 125 0 217 254 125 0 216 253 125 0 213 252 125 0 211 251 125 0 209 250 125 0 209 249 125 0 208 248 125 0 207 247 125 0 204 246 125 0 202 245 125 0 198 244 125 0 195 243 125 0 189 242 125 0 186 241 125 0 184 240 125 0 182 239 125 0 179 238 125 0 176 237 125 0 175 236 125 0 172 235 125 0 167 234 125 0 165 233 125 0 163 232 125 0 160 231 125 0 157 230 125 0 156 229 125 0 153 228 125 0 150 227 125 0 145 226 125 0 143 224 125 0 138 223 125 0 135 222 125 0 133 221 125 0 128 220 125 0 126 219 125 0 121 218 125 0 118 217 125 0 117 216 125 0 114 215 125 0 111 214 125 0 108 213 125 0 104 212 125 0 102 211 125 0 98 210 125 0 96 209 125 0 95 208 125 0 92 207 125 0 91 206 125 0 88 205 125 0 84 204 125 0 81 203 125 0 80 202 125 0 74 201 125 0 71 200 125 0 69 199 125 0 66 198 125 0 62 197 125 0 57 196 125 0 53 195 125 0 49 194 125 0 46 193 125 0 40 191 125 0 38 190 125 0 35 189 125 0 31 188 125 0 28 187 125 0 27 186 125 0 24 185 125 0 20 184 125 0 17 183 125 0 14 182 125 0 10 181 125 0 7 180 125 0 5 179 125 0 2 178 125 0 0 177 125 0 0 176 125 0 0 175 125 0 0 174 125 0 0 173 125 0 0 172 125 0 0 171 125 0 0 170 125 0 0 169 125 0 0 168 125 0 0 167 125 0 0 166 125 0 0 165 125 0 0 164 125 0 0 163 125 0 0 162 125 0 0 161 125 0 0 160 125 0 0 158 125 0 0 157 125 0 0 156 125 0 0 155 125 0 0 154 125 0 0 153 125 0 0 152 125 0 0 151 125 0 0 150 125 0 0 149 125 0 0 148 125 0 0 147 125 0 0 146 125 0 0 145 125 0 0 144 125 0 0 143 125 0 0 142 125 0 0 141 125 0 0 140 125 0 0 139 125 0 0 138 125 0 0 137 125 0 0 136 125 0 0 135 125 0 0 134 125 0 0 133 125 0 0 132 125 0 0 131 125 0 0 130 125 0 0 129 125 0 0 128 125 0 0 127 125 0 0 125 125 1 0 124 125 2 0 123 125 2 0 122 125 3 0 121 125 3 0 120 125 4 0 119 125 5 0 118 125 6 0 117 125 7 0 116 125 9 0 115 125 10 0 114 125 10 0 113 125 11 0 112 125 12 0 111 125 13 0 110 125 14 0 109 125 15 0 108 125 17 0 107 125 18 0 106 125 18 0 105 125 19 0 104 125 20 0 103 125 21 0 102 125 22 0 101 125 24 0 100 125 25 0 99 125 26 0 98 125 27 0 97 125 28 0 96 125 29 0 95 125 30 0 94 125 31 0 92 125 32 0 91 125 34 0 90 125 35 0 89 125 35 0 88 125 36 0 87 125 37 0 86 125 38 0 85 125 39 0 84 125 40 0 83 125 42 0 82 125 43 0 81 125 43 0 80 125 44 0 79 125 45 0 78 125 46 0 77 125 47 0 76 125 48 0 75 125 50 0 74 125 51 0 73 125 51 0 72 125 52 0 71 125 53 0 70 125 54 2 69 125 55 5 68 125 57 6 67 125 58 10 66 125 59 14 65 125 60 17 64 125 61 20 63 125 62 24 62 125 63 27 61 125 64 28 59 125 65 31 58 125 67 35 57 125 68 36 56 125 68 40 55 125 69 44 54 125 70 47 53 125 71 51 52 125 72 57 51 125 73 60 50 125 75 64 49 125 76 67 48 125 76 70 47 125 77 74 46 125 78 77 45 125 79 81 44 125 80 84 43 125 81 88 42 125 83 89 41 125 84 92 40 125 84 93 39 125 85 96 38 125 86 98 37 125 87 102 36 125 88 104 35 125 90 108 34 125 91 111 33 125 92 114 32 125 93 115 31 125 94 118 30 125 95 121 29 125 96 126 28 125 97 128 26 125 98 131 25 125 100 134 24 125 101 138 23 125 101 141 22 125 102 145 21 125 103 150 20 125 104 153 19 125 105 156 18 125 106 157 17 125 108 160 16 125 109 162 15 125 109 165 14 125 110 167 13 125 111 171 12 125 112 174 11 125 113 176 10 125 114 178 9 125 116 181 8 125 117 182 7 125 117 185 6 125 118 188 5 125 119 194 4 125 120 198 3 125 121 201 2 125 123 204 1 125 124 205 0 125 125 208 0 125 126 208 0 125 126 209 0 125 126 209 0 125 127 211 0 125 127 211 255 124 0 219 254 124 0 217 254 124 0 217 254 124 0 216 253 124 0 213 252 124 0 211 251 124 0 209 250 124 0 209 249 124 0 208 248 124 0 207 247 124 0 204 246 124 0 202 245 124 0 198 244 124 0 195 243 124 0 189 242 124 0 186 241 124 0 184 240 124 0 182 239 124 0 179 238 124 0 176 237 124 0 174 236 124 0 172 235 124 0 166 234 124 0 165 233 124 0 162 232 124 0 159 231 124 0 157 230 124 0 155 229 124 0 153 228 124 0 150 227 124 0 145 226 124 0 143 224 124 0 138 223 124 0 135 222 124 0 131 221 124 0 128 220 124 0 126 219 124 0 121 218 124 0 118 217 124 0 117 216 124 0 114 215 124 0 111 214 124 0 108 213 124 0 104 212 124 0 102 211 124 0 98 210 124 0 96 209 124 0 95 208 124 0 92 207 124 0 91 206 124 0 88 205 124 0 84 204 124 0 81 203 124 0 80 202 124 0 74 201 124 0 71 200 124 0 69 199 124 0 66 198 124 0 60 197 124 0 57 196 124 0 51 195 124 0 47 194 124 0 44 193 124 0 40 191 124 0 36 190 124 0 35 189 124 0 31 188 124 0 28 187 124 0 27 186 124 0 24 185 124 0 20 184 124 0 17 183 124 0 14 182 124 0 10 181 124 0 7 180 124 0 5 179 124 0 2 178 124 0 0 177 124 0 0 176 124 0 0 175 124 0 0 174 124 0 0 173 124 0 0 172 124 0 0 171 124 0 0 170 124 0 0 169 124 0 0 168 124 0 0 167 124 0 0 166 124 0 0 165 124 0 0 164 124 0 0 163 124 0 0 162 124 0 0 161 124 0 0 160 124 0 0 158 124 0 0 157 124 0 0 156 124 0 0 155 124 0 0 154 124 0 0 153 124 0 0 152 124 0 0 151 124 0 0 150 124 0 0 149 124 0 0 148 124 0 0 147 124 0 0 146 124 0 0 145 124 0 0 144 124 0 0 143 124 0 0 142 124 0 0 141 124 0 0 140 124 0 0 139 124 0 0 138 124 0 0 137 124 0 0 136 124 0 0 135 124 0 0 134 124 0 0 133 124 0 0 132 124 0 0 131 124 0 0 130 124 0 0 129 124 0 0 128 124 0 0 127 124 1 0 125 124 2 0 124 124 2 0 123 124 3 0 122 124 4 0 121 124 4 0 120 124 5 0 119 124 6 0 118 124 7 0 117 124 9 0 116 124 10 0 115 124 11 0 114 124 12 0 113 124 12 0 112 124 13 0 111 124 14 0 110 124 15 0 109 124 17 0 108 124 18 0 107 124 19 0 106 124 20 0 105 124 20 0 104 124 21 0 103 124 22 0 102 124 24 0 101 124 25 0 100 124 26 0 99 124 27 0 98 124 28 0 97 124 29 0 96 124 30 0 95 124 31 0 94 124 32 0 92 124 34 0 91 124 35 0 90 124 36 0 89 124 37 0 88 124 37 0 87 124 38 0 86 124 39 0 85 124 40 0 84 124 42 0 83 124 43 0 82 124 44 0 81 124 45 0 80 124 45 0 79 124 46 0 78 124 47 0 77 124 48 0 76 124 50 0 75 124 51 0 74 124 52 0 73 124 53 0 72 124 53 0 71 124 54 0 70 124 55 2 69 124 57 5 68 124 58 6 67 124 59 10 66 124 60 14 65 124 61 17 64 124 62 20 63 124 63 24 62 124 64 27 61 124 65 28 59 124 67 31 58 124 68 32 57 124 69 36 56 124 70 39 55 124 70 43 54 124 71 47 53 124 72 51 52 124 73 54 51 124 75 60 50 124 76 64 49 124 77 67 48 124 78 70 47 124 78 74 46 124 79 77 45 124 80 81 44 124 81 84 43 124 83 88 42 124 84 89 41 124 85 92 40 124 86 93 39 124 86 96 38 124 87 98 37 124 88 102 36 124 90 104 35 124 91 108 34 124 92 111 33 124 93 114 32 124 94 115 31 124 95 118 30 124 96 121 29 124 97 126 28 124 98 128 26 124 100 131 25 124 101 134 24 124 102 137 23 124 103 141 22 124 103 144 21 124 104 149 20 124 105 152 19 124 106 155 18 124 108 156 17 124 109 159 16 124 110 160 15 124 111 163 14 124 111 166 13 124 112 171 12 124 113 174 11 124 114 176 10 124 116 178 9 124 117 181 8 124 118 182 7 124 119 185 6 124 119 188 5 124 120 194 4 124 121 198 3 124 123 201 2 124 124 204 1 124 125 205 0 124 126 208 0 124 127 208 0 124 128 209 0 124 128 209 0 124 128 211 0 124 128 211 255 123 0 219 254 123 0 217 254 123 0 217 254 123 0 216 253 123 0 213 252 123 0 211 251 123 0 209 250 123 0 209 249 123 0 208 248 123 0 207 247 123 0 204 246 123 0 202 245 123 0 198 244 123 0 195 243 123 0 189 242 123 0 186 241 123 0 184 240 123 0 182 239 123 0 179 238 123 0 176 237 123 0 174 236 123 0 171 235 123 0 166 234 123 0 163 233 123 0 160 232 123 0 157 231 123 0 156 230 123 0 155 229 123 0 152 228 123 0 149 227 123 0 144 226 123 0 141 224 123 0 138 223 123 0 134 222 123 0 131 221 123 0 128 220 123 0 126 219 123 0 121 218 123 0 118 217 123 0 117 216 123 0 114 215 123 0 111 214 123 0 108 213 123 0 104 212 123 0 102 211 123 0 98 210 123 0 96 209 123 0 95 208 123 0 92 207 123 0 91 206 123 0 88 205 123 0 84 204 123 0 81 203 123 0 80 202 123 0 74 201 123 0 71 200 123 0 69 199 123 0 66 198 123 0 60 197 123 0 57 196 123 0 51 195 123 0 47 194 123 0 43 193 123 0 39 191 123 0 36 190 123 0 32 189 123 0 31 188 123 0 28 187 123 0 27 186 123 0 24 185 123 0 20 184 123 0 17 183 123 0 14 182 123 0 10 181 123 0 7 180 123 0 5 179 123 0 2 178 123 0 0 177 123 0 0 176 123 0 0 175 123 0 0 174 123 0 0 173 123 0 0 172 123 0 0 171 123 0 0 170 123 0 0 169 123 0 0 168 123 0 0 167 123 0 0 166 123 0 0 165 123 0 0 164 123 0 0 163 123 0 0 162 123 0 0 161 123 0 0 160 123 0 0 158 123 0 0 157 123 0 0 156 123 0 0 155 123 0 0 154 123 0 0 153 123 0 0 152 123 0 0 151 123 0 0 150 123 0 0 149 123 0 0 148 123 0 0 147 123 0 0 146 123 0 0 145 123 0 0 144 123 0 0 143 123 0 0 142 123 0 0 141 123 0 0 140 123 0 0 139 123 0 0 138 123 0 0 137 123 0 0 136 123 0 0 135 123 0 0 134 123 0 0 133 123 0 0 132 123 0 0 131 123 0 0 130 123 0 0 129 123 0 0 128 123 0 0 127 123 1 0 125 123 2 0 124 123 3 0 123 123 4 0 122 123 5 0 121 123 5 0 120 123 6 0 119 123 7 0 118 123 8 0 117 123 10 0 116 123 11 0 115 123 12 0 114 123 13 0 113 123 13 0 112 123 14 0 111 123 15 0 110 123 16 0 109 123 18 0 108 123 19 0 107 123 20 0 106 123 21 0 105 123 21 0 104 123 22 0 103 123 23 0 102 123 25 0 101 123 26 0 100 123 27 0 99 123 28 0 98 123 29 0 97 123 30 0 96 123 31 0 95 123 32 0 94 123 33 0 92 123 35 0 91 123 36 0 90 123 37 0 89 123 38 0 88 123 38 0 87 123 39 0 86 123 40 0 85 123 41 0 84 123 43 0 83 123 44 0 82 123 45 0 81 123 46 0 80 123 46 0 79 123 47 0 78 123 48 0 77 123 49 0 76 123 51 0 75 123 52 0 74 123 53 0 73 123 54 0 72 123 54 0 71 123 55 0 70 123 56 2 69 123 58 5 68 123 59 6 67 123 60 10 66 123 61 14 65 123 62 17 64 123 63 20 63 123 64 24 62 123 65 27 61 123 66 28 59 123 68 31 58 123 69 32 57 123 70 36 56 123 71 39 55 123 71 43 54 123 72 46 53 123 73 50 52 123 74 54 51 123 76 60 50 123 77 64 49 123 78 67 48 123 79 70 47 123 79 74 46 123 80 77 45 123 81 81 44 123 82 84 43 123 84 88 42 123 85 89 41 123 86 92 40 123 87 93 39 123 87 96 38 123 88 98 37 123 89 102 36 123 91 104 35 123 92 108 34 123 93 111 33 123 94 114 32 123 95 115 31 123 96 118 30 123 97 121 29 123 98 126 28 123 99 128 26 123 101 131 25 123 102 134 24 123 103 137 23 123 104 141 22 123 104 144 21 123 105 149 20 123 106 152 19 123 107 153 18 123 109 156 17 123 110 157 16 123 111 160 15 123 112 162 14 123 112 165 13 123 113 171 12 123 114 174 11 123 115 175 10 123 117 178 9 123 118 181 8 123 119 182 7 123 120 185 6 123 120 188 5 123 121 194 4 123 122 198 3 123 124 201 2 123 125 204 1 123 126 205 0 123 127 208 0 123 128 208 0 123 129 209 0 123 129 209 0 123 129 211 0 123 129 211 255 122 0 219 254 122 0 217 254 122 0 217 254 122 0 216 253 122 0 213 252 122 0 211 251 122 0 209 250 122 0 209 249 122 0 208 248 122 0 207 247 122 0 204 246 122 0 202 245 122 0 198 244 122 0 195 243 122 0 189 242 122 0 186 241 122 0 184 240 122 0 182 239 122 0 179 238 122 0 176 237 122 0 174 236 122 0 171 235 122 0 166 234 122 0 162 233 122 0 160 232 122 0 157 231 122 0 155 230 122 0 153 229 122 0 152 228 122 0 149 227 122 0 144 226 122 0 141 224 122 0 138 223 122 0 134 222 122 0 131 221 122 0 128 220 122 0 126 219 122 0 121 218 122 0 118 217 122 0 117 216 122 0 114 215 122 0 111 214 122 0 108 213 122 0 104 212 122 0 102 211 122 0 98 210 122 0 96 209 122 0 95 208 122 0 92 207 122 0 91 206 122 0 88 205 122 0 84 204 122 0 81 203 122 0 80 202 122 0 74 201 122 0 71 200 122 0 69 199 122 0 66 198 122 0 60 197 122 0 57 196 122 0 51 195 122 0 47 194 122 0 43 193 122 0 39 191 122 0 36 190 122 0 32 189 122 0 31 188 122 0 28 187 122 0 27 186 122 0 24 185 122 0 20 184 122 0 17 183 122 0 14 182 122 0 10 181 122 0 7 180 122 0 5 179 122 0 2 178 122 0 0 177 122 0 0 176 122 0 0 175 122 0 0 174 122 0 0 173 122 0 0 172 122 0 0 171 122 0 0 170 122 0 0 169 122 0 0 168 122 0 0 167 122 0 0 166 122 0 0 165 122 0 0 164 122 0 0 163 122 0 0 162 122 0 0 161 122 0 0 160 122 0 0 158 122 0 0 157 122 0 0 156 122 0 0 155 122 0 0 154 122 0 0 153 122 0 0 152 122 0 0 151 122 0 0 150 122 0 0 149 122 0 0 148 122 0 0 147 122 0 0 146 122 0 0 145 122 0 0 144 122 0 0 143 122 0 0 142 122 0 0 141 122 0 0 140 122 0 0 139 122 0 0 138 122 0 0 137 122 0 0 136 122 0 0 135 122 0 0 134 122 0 0 133 122 0 0 132 122 0 0 131 122 0 0 130 122 0 0 129 122 0 0 128 122 1 0 127 122 2 0 125 122 3 0 124 122 4 0 123 122 5 0 122 122 6 0 121 122 6 0 120 122 7 0 119 122 8 0 118 122 9 0 117 122 10 0 116 122 12 0 115 122 13 0 114 122 14 0 113 122 14 0 112 122 15 0 111 122 16 0 110 122 17 0 109 122 18 0 108 122 20 0 107 122 21 0 106 122 22 0 105 122 22 0 104 122 23 0 103 122 24 0 102 122 26 0 101 122 27 0 100 122 28 0 99 122 29 0 98 122 30 0 97 122 31 0 96 122 32 0 95 122 33 0 94 122 34 0 92 122 35 0 91 122 37 0 90 122 38 0 89 122 39 0 88 122 39 0 87 122 40 0 86 122 41 0 85 122 42 0 84 122 43 0 83 122 45 0 82 122 46 0 81 122 47 0 80 122 47 0 79 122 48 0 78 122 49 0 77 122 50 0 76 122 51 0 75 122 53 0 74 122 54 0 73 122 55 0 72 122 55 0 71 122 56 0 70 122 57 2 69 122 59 5 68 122 60 6 67 122 61 10 66 122 62 14 65 122 63 17 64 122 64 20 63 122 65 24 62 122 66 27 61 122 67 28 59 122 68 31 58 122 70 32 57 122 71 35 56 122 72 38 55 122 72 40 54 122 73 46 53 122 74 50 52 122 75 54 51 122 76 59 50 122 78 64 49 122 79 67 48 122 80 70 47 122 80 74 46 122 81 77 45 122 82 81 44 122 83 84 43 122 84 88 42 122 86 89 41 122 87 92 40 122 88 93 39 122 88 96 38 122 89 98 37 122 90 102 36 122 92 104 35 122 93 108 34 122 94 111 33 122 95 114 32 122 96 115 31 122 97 118 30 122 98 121 29 122 99 126 28 122 100 128 26 122 101 131 25 122 103 134 24 122 104 137 23 122 105 141 22 122 105 144 21 122 106 149 20 122 107 152 19 122 108 153 18 122 109 155 17 122 111 157 16 122 112 159 15 122 113 162 14 122 113 165 13 122 114 167 12 122 115 172 11 122 116 175 10 122 117 178 9 122 119 181 8 122 120 182 7 122 121 185 6 122 121 188 5 122 122 194 4 122 123 198 3 122 125 201 2 122 126 204 1 122 127 205 0 122 128 208 0 122 129 208 0 122 130 209 0 122 130 209 0 122 130 211 0 122 130 211 255 121 0 219 254 121 0 217 254 121 0 217 254 121 0 216 253 121 0 213 252 121 0 211 251 121 0 209 250 121 0 209 249 121 0 208 248 121 0 207 247 121 0 204 246 121 0 202 245 121 0 198 244 121 0 195 243 121 0 189 242 121 0 186 241 121 0 184 240 121 0 182 239 121 0 179 238 121 0 176 237 121 0 174 236 121 0 171 235 121 0 166 234 121 0 162 233 121 0 160 232 121 0 157 231 121 0 155 230 121 0 153 229 121 0 152 228 121 0 149 227 121 0 144 226 121 0 141 224 121 0 138 223 121 0 134 222 121 0 131 221 121 0 128 220 121 0 126 219 121 0 121 218 121 0 118 217 121 0 117 216 121 0 114 215 121 0 111 214 121 0 108 213 121 0 104 212 121 0 102 211 121 0 98 210 121 0 96 209 121 0 95 208 121 0 92 207 121 0 91 206 121 0 88 205 121 0 84 204 121 0 81 203 121 0 80 202 121 0 74 201 121 0 71 200 121 0 69 199 121 0 66 198 121 0 60 197 121 0 57 196 121 0 51 195 121 0 47 194 121 0 43 193 121 0 39 191 121 0 36 190 121 0 32 189 121 0 31 188 121 0 28 187 121 0 27 186 121 0 24 185 121 0 20 184 121 0 17 183 121 0 14 182 121 0 10 181 121 0 7 180 121 0 5 179 121 0 2 178 121 0 0 177 121 0 0 176 121 0 0 175 121 0 0 174 121 0 0 173 121 0 0 172 121 0 0 171 121 0 0 170 121 0 0 169 121 0 0 168 121 0 0 167 121 0 0 166 121 0 0 165 121 0 0 164 121 0 0 163 121 0 0 162 121 0 0 161 121 0 0 160 121 0 0 158 121 0 0 157 121 0 0 156 121 0 0 155 121 0 0 154 121 0 0 153 121 0 0 152 121 0 0 151 121 0 0 150 121 0 0 149 121 0 0 148 121 0 0 147 121 0 0 146 121 0 0 145 121 0 0 144 121 0 0 143 121 0 0 142 121 0 0 141 121 0 0 140 121 0 0 139 121 0 0 138 121 0 0 137 121 0 0 136 121 0 0 135 121 0 0 134 121 0 0 133 121 0 0 132 121 0 0 131 121 0 0 130 121 0 0 129 121 1 0 128 121 1 0 127 121 2 0 125 121 3 0 124 121 4 0 123 121 5 0 122 121 6 0 121 121 7 0 120 121 8 0 119 121 9 0 118 121 10 0 117 121 11 0 116 121 12 0 115 121 13 0 114 121 14 0 113 121 15 0 112 121 16 0 111 121 17 0 110 121 18 0 109 121 19 0 108 121 20 0 107 121 21 0 106 121 22 0 105 121 23 0 104 121 24 0 103 121 25 0 102 121 27 0 101 121 28 0 100 121 29 0 99 121 30 0 98 121 31 0 97 121 32 0 96 121 33 0 95 121 34 0 94 121 35 0 92 121 36 0 91 121 37 0 90 121 38 0 89 121 39 0 88 121 40 0 87 121 41 0 86 121 42 0 85 121 43 0 84 121 44 0 83 121 45 0 82 121 46 0 81 121 47 0 80 121 48 0 79 121 49 0 78 121 50 0 77 121 51 0 76 121 52 0 75 121 53 0 74 121 54 0 73 121 55 0 72 121 56 0 71 121 57 0 70 121 58 2 69 121 60 5 68 121 61 6 67 121 62 10 66 121 63 14 65 121 64 17 64 121 65 20 63 121 66 24 62 121 67 27 61 121 68 28 59 121 69 31 58 121 70 32 57 121 71 35 56 121 72 38 55 121 73 40 54 121 74 46 53 121 75 50 52 121 76 54 51 121 77 59 50 121 78 64 49 121 79 67 48 121 80 70 47 121 81 74 46 121 82 77 45 121 83 81 44 121 84 84 43 121 85 88 42 121 86 89 41 121 87 92 40 121 88 93 39 121 89 96 38 121 90 98 37 121 91 102 36 121 93 104 35 121 94 108 34 121 95 111 33 121 96 114 32 121 97 115 31 121 98 118 30 121 99 121 29 121 100 126 28 121 101 128 26 121 102 131 25 121 103 134 24 121 104 137 23 121 105 141 22 121 106 144 21 121 107 149 20 121 108 150 19 121 109 153 18 121 110 155 17 121 111 157 16 121 112 159 15 121 113 162 14 121 114 165 13 121 115 167 12 121 116 172 11 121 117 175 10 121 118 178 9 121 119 181 8 121 120 182 7 121 121 185 6 121 122 188 5 121 123 194 4 121 124 198 3 121 126 201 2 121 127 204 1 121 128 205 0 121 129 208 0 121 130 208 0 121 130 209 0 121 131 209 0 121 131 211 0 121 131 211 255 120 0 219 254 120 0 217 254 120 0 217 254 120 0 216 253 120 0 213 252 120 0 211 251 120 0 209 250 120 0 209 249 120 0 208 248 120 0 207 247 120 0 204 246 120 0 202 245 120 0 198 244 120 0 195 243 120 0 189 242 120 0 186 241 120 0 184 240 120 0 182 239 120 0 179 238 120 0 176 237 120 0 174 236 120 0 171 235 120 0 166 234 120 0 162 233 120 0 160 232 120 0 157 231 120 0 155 230 120 0 153 229 120 0 152 228 120 0 149 227 120 0 144 226 120 0 141 224 120 0 138 223 120 0 134 222 120 0 131 221 120 0 128 220 120 0 126 219 120 0 121 218 120 0 118 217 120 0 117 216 120 0 114 215 120 0 111 214 120 0 108 213 120 0 104 212 120 0 102 211 120 0 98 210 120 0 96 209 120 0 95 208 120 0 92 207 120 0 91 206 120 0 88 205 120 0 84 204 120 0 81 203 120 0 80 202 120 0 74 201 120 0 71 200 120 0 69 199 120 0 66 198 120 0 60 197 120 0 57 196 120 0 51 195 120 0 47 194 120 0 43 193 120 0 39 191 120 0 36 190 120 0 32 189 120 0 31 188 120 0 28 187 120 0 27 186 120 0 24 185 120 0 20 184 120 0 17 183 120 0 14 182 120 0 10 181 120 0 7 180 120 0 5 179 120 0 2 178 120 0 0 177 120 0 0 176 120 0 0 175 120 0 0 174 120 0 0 173 120 0 0 172 120 0 0 171 120 0 0 170 120 0 0 169 120 0 0 168 120 0 0 167 120 0 0 166 120 0 0 165 120 0 0 164 120 0 0 163 120 0 0 162 120 0 0 161 120 0 0 160 120 0 0 158 120 0 0 157 120 0 0 156 120 0 0 155 120 0 0 154 120 0 0 153 120 0 0 152 120 0 0 151 120 0 0 150 120 0 0 149 120 0 0 148 120 0 0 147 120 0 0 146 120 0 0 145 120 0 0 144 120 0 0 143 120 0 0 142 120 0 0 141 120 0 0 140 120 0 0 139 120 0 0 138 120 0 0 137 120 0 0 136 120 0 0 135 120 0 0 134 120 0 0 133 120 0 0 132 120 0 0 131 120 0 0 130 120 1 0 129 120 1 0 128 120 2 0 127 120 3 0 125 120 4 0 124 120 5 0 123 120 6 0 122 120 7 0 121 120 8 0 120 120 9 0 119 120 10 0 118 120 11 0 117 120 12 0 116 120 13 0 115 120 14 0 114 120 15 0 113 120 16 0 112 120 17 0 111 120 18 0 110 120 19 0 109 120 20 0 108 120 21 0 107 120 22 0 106 120 23 0 105 120 24 0 104 120 25 0 103 120 26 0 102 120 28 0 101 120 29 0 100 120 30 0 99 120 31 0 98 120 32 0 97 120 33 0 96 120 34 0 95 120 35 0 94 120 36 0 92 120 37 0 91 120 38 0 90 120 39 0 89 120 40 0 88 120 41 0 87 120 42 0 86 120 43 0 85 120 44 0 84 120 45 0 83 120 46 0 82 120 47 0 81 120 48 0 80 120 49 0 79 120 50 0 78 120 51 0 77 120 52 0 76 120 53 0 75 120 54 0 74 120 55 0 73 120 56 0 72 120 57 0 71 120 58 0 70 120 59 2 69 120 61 5 68 120 62 6 67 120 63 10 66 120 64 14 65 120 65 17 64 120 66 20 63 120 67 24 62 120 68 27 61 120 69 28 59 120 70 31 58 120 71 32 57 120 72 35 56 120 73 38 55 120 74 40 54 120 75 46 53 120 76 50 52 120 77 54 51 120 78 59 50 120 79 64 49 120 80 67 48 120 81 70 47 120 82 74 46 120 83 77 45 120 84 81 44 120 85 84 43 120 86 88 42 120 87 89 41 120 88 92 40 120 89 93 39 120 90 96 38 120 91 98 37 120 92 102 36 120 94 104 35 120 95 108 34 120 96 111 33 120 97 114 32 120 98 115 31 120 99 118 30 120 100 121 29 120 101 126 28 120 102 128 26 120 103 131 25 120 104 134 24 120 105 137 23 120 106 141 22 120 107 144 21 120 108 149 20 120 109 150 19 120 110 153 18 120 111 155 17 120 112 157 16 120 113 159 15 120 114 162 14 120 115 165 13 120 116 167 12 120 117 172 11 120 118 175 10 120 119 178 9 120 120 181 8 120 121 182 7 120 122 185 6 120 123 188 5 120 124 194 4 120 125 198 3 120 127 201 2 120 128 204 1 120 129 205 0 120 130 208 0 120 131 208 0 120 131 209 0 120 132 209 0 120 132 211 0 120 132 211 255 119 0 219 254 119 0 217 254 119 0 217 254 119 0 216 253 119 0 213 252 119 0 211 251 119 0 209 250 119 0 209 249 119 0 208 248 119 0 207 247 119 0 204 246 119 0 202 245 119 0 198 244 119 0 195 243 119 0 189 242 119 0 186 241 119 0 184 240 119 0 182 239 119 0 179 238 119 0 176 237 119 0 174 236 119 0 171 235 119 0 166 234 119 0 163 233 119 0 160 232 119 0 157 231 119 0 156 230 119 0 153 229 119 0 152 228 119 0 149 227 119 0 144 226 119 0 141 224 119 0 138 223 119 0 134 222 119 0 131 221 119 0 128 220 119 0 126 219 119 0 121 218 119 0 118 217 119 0 117 216 119 0 114 215 119 0 111 214 119 0 108 213 119 0 104 212 119 0 102 211 119 0 98 210 119 0 96 209 119 0 95 208 119 0 92 207 119 0 91 206 119 0 88 205 119 0 84 204 119 0 81 203 119 0 80 202 119 0 74 201 119 0 71 200 119 0 69 199 119 0 66 198 119 0 60 197 119 0 57 196 119 0 51 195 119 0 47 194 119 0 43 193 119 0 39 191 119 0 36 190 119 0 32 189 119 0 31 188 119 0 28 187 119 0 27 186 119 0 24 185 119 0 20 184 119 0 17 183 119 0 14 182 119 0 10 181 119 0 7 180 119 0 5 179 119 0 2 178 119 0 0 177 119 0 0 176 119 0 0 175 119 0 0 174 119 0 0 173 119 0 0 172 119 0 0 171 119 0 0 170 119 0 0 169 119 0 0 168 119 0 0 167 119 0 0 166 119 0 0 165 119 0 0 164 119 0 0 163 119 0 0 162 119 0 0 161 119 0 0 160 119 0 0 158 119 0 0 157 119 0 0 156 119 0 0 155 119 0 0 154 119 0 0 153 119 0 0 152 119 0 0 151 119 0 0 150 119 0 0 149 119 0 0 148 119 0 0 147 119 0 0 146 119 0 0 145 119 0 0 144 119 0 0 143 119 0 0 142 119 0 0 141 119 0 0 140 119 0 0 139 119 0 0 138 119 0 0 137 119 0 0 136 119 0 0 135 119 0 0 134 119 0 0 133 119 0 0 132 119 0 0 131 119 1 0 130 119 1 0 129 119 2 0 128 119 3 0 127 119 4 0 125 119 5 0 124 119 6 0 123 119 7 0 122 119 8 0 121 119 9 0 120 119 10 0 119 119 11 0 118 119 12 0 117 119 13 0 116 119 14 0 115 119 15 0 114 119 16 0 113 119 17 0 112 119 18 0 111 119 19 0 110 119 20 0 109 119 21 0 108 119 22 0 107 119 23 0 106 119 24 0 105 119 25 0 104 119 26 0 103 119 27 0 102 119 29 0 101 119 30 0 100 119 31 0 99 119 32 0 98 119 33 0 97 119 34 0 96 119 35 0 95 119 36 0 94 119 37 0 92 119 38 0 91 119 39 0 90 119 40 0 89 119 41 0 88 119 42 0 87 119 43 0 86 119 44 0 85 119 45 0 84 119 46 0 83 119 47 0 82 119 48 0 81 119 49 0 80 119 50 0 79 119 51 0 78 119 52 0 77 119 53 0 76 119 54 0 75 119 55 0 74 119 56 0 73 119 57 0 72 119 58 0 71 119 59 0 70 119 60 2 69 119 62 5 68 119 63 6 67 119 64 10 66 119 65 14 65 119 66 17 64 119 67 20 63 119 68 24 62 119 69 27 61 119 70 28 59 119 71 31 58 119 72 32 57 119 73 35 56 119 74 38 55 119 75 43 54 119 76 46 53 119 77 50 52 119 78 54 51 119 79 59 50 119 80 64 49 119 81 67 48 119 82 70 47 119 83 74 46 119 84 77 45 119 85 81 44 119 86 84 43 119 87 88 42 119 88 89 41 119 89 92 40 119 90 93 39 119 91 96 38 119 92 98 37 119 93 102 36 119 95 104 35 119 96 108 34 119 97 111 33 119 98 114 32 119 99 115 31 119 100 118 30 119 101 121 29 119 102 126 28 119 103 128 26 119 104 131 25 119 105 134 24 119 106 137 23 119 107 141 22 119 108 144 21 119 109 149 20 119 110 152 19 119 111 153 18 119 112 155 17 119 113 157 16 119 114 160 15 119 115 162 14 119 116 165 13 119 117 167 12 119 118 172 11 119 119 175 10 119 120 178 9 119 121 181 8 119 122 182 7 119 123 185 6 119 124 188 5 119 125 194 4 119 126 198 3 119 128 201 2 119 129 204 1 119 130 205 0 119 131 208 0 119 132 208 0 119 132 209 0 119 132 209 0 119 133 211 0 119 133 211 255 118 0 219 254 118 0 217 254 118 0 217 254 118 0 216 253 118 0 213 252 118 0 211 251 118 0 209 250 118 0 209 249 118 0 208 248 118 0 207 247 118 0 204 246 118 0 202 245 118 0 198 244 118 0 195 243 118 0 189 242 118 0 186 241 118 0 184 240 118 0 182 239 118 0 179 238 118 0 176 237 118 0 174 236 118 0 171 235 118 0 166 234 118 0 163 233 118 0 160 232 118 0 159 231 118 0 156 230 118 0 155 229 118 0 152 228 118 0 150 227 118 0 144 226 118 0 141 224 118 0 138 223 118 0 134 222 118 0 131 221 118 0 128 220 118 0 126 219 118 0 121 218 118 0 118 217 118 0 117 216 118 0 114 215 118 0 111 214 118 0 108 213 118 0 104 212 118 0 102 211 118 0 98 210 118 0 96 209 118 0 95 208 118 0 92 207 118 0 91 206 118 0 88 205 118 0 84 204 118 0 81 203 118 0 80 202 118 0 74 201 118 0 71 200 118 0 69 199 118 0 66 198 118 0 60 197 118 0 57 196 118 0 51 195 118 0 47 194 118 0 44 193 118 0 39 191 118 0 36 190 118 0 32 189 118 0 31 188 118 0 28 187 118 0 27 186 118 0 24 185 118 0 20 184 118 0 17 183 118 0 14 182 118 0 10 181 118 0 7 180 118 0 5 179 118 0 2 178 118 0 0 177 118 0 0 176 118 0 0 175 118 0 0 174 118 0 0 173 118 0 0 172 118 0 0 171 118 0 0 170 118 0 0 169 118 0 0 168 118 0 0 167 118 0 0 166 118 0 0 165 118 0 0 164 118 0 0 163 118 0 0 162 118 0 0 161 118 0 0 160 118 0 0 158 118 0 0 157 118 0 0 156 118 0 0 155 118 0 0 154 118 0 0 153 118 0 0 152 118 0 0 151 118 0 0 150 118 0 0 149 118 0 0 148 118 0 0 147 118 0 0 146 118 0 0 145 118 0 0 144 118 0 0 143 118 0 0 142 118 0 0 141 118 0 0 140 118 0 0 139 118 0 0 138 118 0 0 137 118 0 0 136 118 0 0 135 118 0 0 134 118 0 0 133 118 1 0 132 118 1 0 131 118 2 0 130 118 2 0 129 118 3 0 128 118 4 0 127 118 5 0 125 118 6 0 124 118 7 0 123 118 8 0 122 118 9 0 121 118 10 0 120 118 11 0 119 118 12 0 118 118 13 0 117 118 14 0 116 118 15 0 115 118 16 0 114 118 17 0 113 118 18 0 112 118 19 0 111 118 20 0 110 118 21 0 109 118 22 0 108 118 24 0 107 118 25 0 106 118 26 0 105 118 27 0 104 118 28 0 103 118 29 0 102 118 30 0 101 118 31 0 100 118 32 0 99 118 33 0 98 118 34 0 97 118 35 0 96 118 36 0 95 118 37 0 94 118 38 0 92 118 39 0 91 118 40 0 90 118 41 0 89 118 42 0 88 118 43 0 87 118 44 0 86 118 45 0 85 118 46 0 84 118 47 0 83 118 48 0 82 118 49 0 81 118 50 0 80 118 51 0 79 118 52 0 78 118 53 0 77 118 54 0 76 118 55 0 75 118 57 0 74 118 58 0 73 118 59 0 72 118 60 0 71 118 61 0 70 118 62 2 69 118 63 5 68 118 64 6 67 118 65 10 66 118 66 14 65 118 67 17 64 118 68 20 63 118 69 24 62 118 70 27 61 118 71 28 59 118 72 31 58 118 73 32 57 118 74 36 56 118 75 39 55 118 76 43 54 118 77 46 53 118 78 50 52 118 79 54 51 118 80 60 50 118 81 64 49 118 82 67 48 118 83 70 47 118 84 74 46 118 85 77 45 118 86 81 44 118 87 84 43 118 88 88 42 118 90 89 41 118 91 92 40 118 92 93 39 118 93 96 38 118 94 98 37 118 95 102 36 118 96 104 35 118 97 108 34 118 98 111 33 118 99 114 32 118 100 115 31 118 101 118 30 118 102 121 29 118 103 126 28 118 104 128 26 118 105 131 25 118 106 134 24 118 107 137 23 118 108 141 22 118 109 144 21 118 110 149 20 118 111 152 19 118 112 155 18 118 113 156 17 118 114 157 16 118 115 160 15 118 116 163 14 118 117 166 13 118 118 171 12 118 119 174 11 118 120 175 10 118 121 178 9 118 123 181 8 118 124 182 7 118 125 185 6 118 126 188 5 118 127 194 4 118 128 198 3 118 129 201 2 118 130 204 1 118 131 205 0 118 132 208 0 118 133 208 0 118 133 209 0 118 134 209 0 118 134 211 0 118 134 211 255 117 0 219 254 117 0 217 254 117 0 217 254 117 0 216 253 117 0 213 252 117 0 211 251 117 0 209 250 117 0 209 249 117 0 208 248 117 0 207 247 117 0 204 246 117 0 202 245 117 0 198 244 117 0 195 243 117 0 189 242 117 0 186 241 117 0 184 240 117 0 182 239 117 0 179 238 117 0 176 237 117 0 174 236 117 0 172 235 117 0 167 234 117 0 165 233 117 0 162 232 117 0 159 231 117 0 157 230 117 0 155 229 117 0 153 228 117 0 150 227 117 0 145 226 117 0 143 224 117 0 138 223 117 0 135 222 117 0 131 221 117 0 128 220 117 0 126 219 117 0 121 218 117 0 118 217 117 0 117 216 117 0 114 215 117 0 111 214 117 0 108 213 117 0 104 212 117 0 102 211 117 0 98 210 117 0 96 209 117 0 95 208 117 0 92 207 117 0 91 206 117 0 88 205 117 0 84 204 117 0 81 203 117 0 80 202 117 0 74 201 117 0 71 200 117 0 69 199 117 0 66 198 117 0 60 197 117 0 57 196 117 0 53 195 117 0 49 194 117 0 44 193 117 0 40 191 117 0 36 190 117 0 35 189 117 0 31 188 117 0 28 187 117 0 27 186 117 0 24 185 117 0 20 184 117 0 17 183 117 0 14 182 117 0 10 181 117 0 7 180 117 0 5 179 117 0 2 178 117 0 0 177 117 0 0 176 117 0 0 175 117 0 0 174 117 0 0 173 117 0 0 172 117 0 0 171 117 0 0 170 117 0 0 169 117 0 0 168 117 0 0 167 117 0 0 166 117 0 0 165 117 0 0 164 117 0 0 163 117 0 0 162 117 0 0 161 117 0 0 160 117 0 0 158 117 0 0 157 117 0 0 156 117 0 0 155 117 0 0 154 117 0 0 153 117 0 0 152 117 0 0 151 117 0 0 150 117 0 0 149 117 0 0 148 117 0 0 147 117 0 0 146 117 0 0 145 117 0 0 144 117 0 0 143 117 0 0 142 117 0 0 141 117 0 0 140 117 0 0 139 117 0 0 138 117 0 0 137 117 0 0 136 117 0 0 135 117 0 0 134 117 1 0 133 117 2 0 132 117 2 0 131 117 3 0 130 117 3 0 129 117 4 0 128 117 5 0 127 117 6 0 125 117 7 0 124 117 9 0 123 117 10 0 122 117 10 0 121 117 11 0 120 117 12 0 119 117 13 0 118 117 14 0 117 117 15 0 116 117 17 0 115 117 18 0 114 117 18 0 113 117 19 0 112 117 20 0 111 117 21 0 110 117 22 0 109 117 24 0 108 117 25 0 107 117 26 0 106 117 27 0 105 117 28 0 104 117 29 0 103 117 30 0 102 117 31 0 101 117 32 0 100 117 34 0 99 117 35 0 98 117 35 0 97 117 36 0 96 117 37 0 95 117 38 0 94 117 39 0 92 117 40 0 91 117 42 0 90 117 43 0 89 117 43 0 88 117 44 0 87 117 45 0 86 117 46 0 85 117 47 0 84 117 48 0 83 117 50 0 82 117 51 0 81 117 51 0 80 117 52 0 79 117 53 0 78 117 54 0 77 117 55 0 76 117 57 0 75 117 58 0 74 117 59 0 73 117 60 0 72 117 61 0 71 117 62 0 70 117 63 2 69 117 64 5 68 117 65 6 67 117 67 10 66 117 68 14 65 117 68 17 64 117 69 20 63 117 70 24 62 117 71 27 61 117 72 28 59 117 73 31 58 117 75 32 57 117 76 36 56 117 76 39 55 117 77 44 54 117 78 47 53 117 79 51 52 117 80 57 51 117 81 60 50 117 83 64 49 117 84 67 48 117 84 70 47 117 85 74 46 117 86 77 45 117 87 81 44 117 88 84 43 117 90 88 42 117 91 89 41 117 92 92 40 117 93 93 39 117 94 96 38 117 95 98 37 117 96 102 36 117 97 104 35 117 98 108 34 117 100 111 33 117 101 114 32 117 101 115 31 117 102 118 30 117 103 121 29 117 104 126 28 117 105 128 26 117 106 131 25 117 108 134 24 117 109 137 23 117 109 141 22 117 110 145 21 117 111 150 20 117 112 152 19 117 113 155 18 117 114 157 17 117 116 159 16 117 117 162 15 117 117 163 14 117 118 166 13 117 119 171 12 117 120 174 11 117 121 176 10 117 123 178 9 117 124 181 8 117 125 182 7 117 126 185 6 117 127 188 5 117 128 194 4 117 129 198 3 117 130 201 2 117 131 204 1 117 133 205 0 117 133 208 0 117 134 208 0 117 135 209 0 117 135 209 0 117 135 211 0 117 135 211 255 116 0 219 254 116 0 217 254 116 0 217 254 116 0 216 253 116 0 213 252 116 0 211 251 116 0 209 250 116 0 209 249 116 0 208 248 116 0 207 247 116 0 204 246 116 0 202 245 116 0 198 244 116 0 195 243 116 0 189 242 116 0 186 241 116 0 184 240 116 0 182 239 116 0 179 238 116 0 176 237 116 0 175 236 116 0 172 235 116 0 167 234 116 0 166 233 116 0 163 232 116 0 160 231 116 0 159 230 116 0 156 229 116 0 155 228 116 0 152 227 116 0 149 226 116 0 143 224 116 0 138 223 116 0 135 222 116 0 133 221 116 0 128 220 116 0 126 219 116 0 121 218 116 0 118 217 116 0 117 216 116 0 114 215 116 0 111 214 116 0 108 213 116 0 104 212 116 0 102 211 116 0 98 210 116 0 96 209 116 0 95 208 116 0 92 207 116 0 91 206 116 0 88 205 116 0 84 204 116 0 81 203 116 0 80 202 116 0 74 201 116 0 71 200 116 0 69 199 116 0 66 198 116 0 62 197 116 0 59 196 116 0 53 195 116 0 49 194 116 0 46 193 116 0 43 191 116 0 38 190 116 0 35 189 116 0 31 188 116 0 28 187 116 0 27 186 116 0 24 185 116 0 20 184 116 0 17 183 116 0 14 182 116 0 10 181 116 0 7 180 116 0 5 179 116 0 2 178 116 0 0 177 116 0 0 176 116 0 0 175 116 0 0 174 116 0 0 173 116 0 0 172 116 0 0 171 116 0 0 170 116 0 0 169 116 0 0 168 116 0 0 167 116 0 0 166 116 0 0 165 116 0 0 164 116 0 0 163 116 0 0 162 116 0 0 161 116 0 0 160 116 0 0 158 116 0 0 157 116 0 0 156 116 0 0 155 116 0 0 154 116 0 0 153 116 0 0 152 116 0 0 151 116 0 0 150 116 0 0 149 116 0 0 148 116 0 0 147 116 0 0 146 116 0 0 145 116 0 0 144 116 0 0 143 116 0 0 142 116 0 0 141 116 0 0 140 116 0 0 139 116 0 0 138 116 0 0 137 116 0 0 136 116 0 0 135 116 1 0 134 116 2 0 133 116 2 0 132 116 3 0 131 116 4 0 130 116 4 0 129 116 5 0 128 116 6 0 127 116 7 0 125 116 9 0 124 116 10 0 123 116 11 0 122 116 12 0 121 116 12 0 120 116 13 0 119 116 14 0 118 116 15 0 117 116 17 0 116 116 18 0 115 116 19 0 114 116 20 0 113 116 20 0 112 116 21 0 111 116 22 0 110 116 24 0 109 116 25 0 108 116 26 0 107 116 27 0 106 116 28 0 105 116 29 0 104 116 30 0 103 116 31 0 102 116 32 0 101 116 34 0 100 116 35 0 99 116 36 0 98 116 37 0 97 116 37 0 96 116 38 0 95 116 39 0 94 116 40 0 92 116 42 0 91 116 43 0 90 116 44 0 89 116 45 0 88 116 45 0 87 116 46 0 86 116 47 0 85 116 48 0 84 116 50 0 83 116 51 0 82 116 52 0 81 116 53 0 80 116 53 0 79 116 54 0 78 116 55 0 77 116 57 0 76 116 58 0 75 116 59 0 74 116 60 0 73 116 61 0 72 116 62 0 71 116 63 0 70 116 64 2 69 116 65 5 68 116 67 6 67 116 68 10 66 116 69 14 65 116 70 17 64 116 70 20 63 116 71 24 62 116 72 27 61 116 73 28 59 116 75 31 58 116 76 35 57 116 77 36 56 116 78 40 55 116 78 44 54 116 79 49 53 116 80 51 52 116 81 57 51 116 83 60 50 116 84 64 49 116 85 67 48 116 86 70 47 116 86 74 46 116 87 77 45 116 88 81 44 116 90 84 43 116 91 88 42 116 92 89 41 116 93 92 40 116 94 93 39 116 95 96 38 116 96 98 37 116 97 102 36 116 98 104 35 116 100 108 34 116 101 111 33 116 102 114 32 116 103 115 31 116 103 118 30 116 104 121 29 116 105 126 28 116 106 128 26 116 108 131 25 116 109 134 24 116 110 138 23 116 111 141 22 116 111 145 21 116 112 150 20 116 113 153 19 116 114 156 18 116 116 157 17 116 117 160 16 116 118 163 15 116 119 165 14 116 119 167 13 116 120 172 12 116 121 174 11 116 123 176 10 116 124 178 9 116 125 181 8 116 126 182 7 116 127 185 6 116 128 188 5 116 129 194 4 116 130 198 3 116 131 201 2 116 133 204 1 116 134 205 0 116 135 208 0 116 135 208 0 116 136 209 0 116 136 209 0 116 136 211 0 116 136 211 255 115 0 219 254 115 0 217 254 115 0 217 254 115 0 216 253 115 0 213 252 115 0 211 251 115 0 209 250 115 0 209 249 115 0 208 248 115 0 207 247 115 0 204 246 115 0 202 245 115 0 198 244 115 0 195 243 115 0 189 242 115 0 186 241 115 0 184 240 115 0 182 239 115 0 179 238 115 0 176 237 115 0 175 236 115 0 174 235 115 0 171 234 115 0 167 233 115 0 165 232 115 0 162 231 115 0 160 230 115 0 157 229 115 0 155 228 115 0 152 227 115 0 149 226 115 0 144 224 115 0 140 223 115 0 135 222 115 0 133 221 115 0 128 220 115 0 126 219 115 0 121 218 115 0 118 217 115 0 117 216 115 0 114 215 115 0 111 214 115 0 108 213 115 0 104 212 115 0 102 211 115 0 98 210 115 0 96 209 115 0 95 208 115 0 92 207 115 0 91 206 115 0 88 205 115 0 84 204 115 0 81 203 115 0 80 202 115 0 74 201 115 0 71 200 115 0 69 199 115 0 66 198 115 0 62 197 115 0 59 196 115 0 54 195 115 0 50 194 115 0 47 193 115 0 43 191 115 0 38 190 115 0 35 189 115 0 31 188 115 0 28 187 115 0 27 186 115 0 24 185 115 0 20 184 115 0 17 183 115 0 14 182 115 0 10 181 115 0 7 180 115 0 5 179 115 0 2 178 115 0 0 177 115 0 0 176 115 0 0 175 115 0 0 174 115 0 0 173 115 0 0 172 115 0 0 171 115 0 0 170 115 0 0 169 115 0 0 168 115 0 0 167 115 0 0 166 115 0 0 165 115 0 0 164 115 0 0 163 115 0 0 162 115 0 0 161 115 0 0 160 115 0 0 158 115 0 0 157 115 0 0 156 115 0 0 155 115 0 0 154 115 0 0 153 115 0 0 152 115 0 0 151 115 0 0 150 115 0 0 149 115 0 0 148 115 0 0 147 115 0 0 146 115 0 0 145 115 0 0 144 115 0 0 143 115 0 0 142 115 0 0 141 115 0 0 140 115 0 0 139 115 0 0 138 115 0 0 137 115 0 0 136 115 0 0 135 115 1 0 134 115 2 0 133 115 3 0 132 115 4 0 131 115 5 0 130 115 5 0 129 115 6 0 128 115 7 0 127 115 8 0 125 115 10 0 124 115 11 0 123 115 12 0 122 115 13 0 121 115 13 0 120 115 14 0 119 115 15 0 118 115 16 0 117 115 18 0 116 115 19 0 115 115 20 0 114 115 21 0 113 115 21 0 112 115 22 0 111 115 23 0 110 115 25 0 109 115 26 0 108 115 27 0 107 115 28 0 106 115 29 0 105 115 30 0 104 115 31 0 103 115 32 0 102 115 33 0 101 115 35 0 100 115 36 0 99 115 37 0 98 115 38 0 97 115 38 0 96 115 39 0 95 115 40 0 94 115 41 0 92 115 43 0 91 115 44 0 90 115 45 0 89 115 46 0 88 115 46 0 87 115 47 0 86 115 48 0 85 115 49 0 84 115 51 0 83 115 52 0 82 115 53 0 81 115 54 0 80 115 54 0 79 115 55 0 78 115 56 0 77 115 58 0 76 115 59 0 75 115 60 0 74 115 61 0 73 115 62 0 72 115 63 0 71 115 64 0 70 115 65 2 69 115 66 5 68 115 68 6 67 115 69 10 66 115 70 14 65 115 71 17 64 115 71 20 63 115 72 24 62 115 73 27 61 115 74 28 59 115 76 31 58 115 77 35 57 115 78 38 56 115 79 43 55 115 79 46 54 115 80 50 53 115 81 53 52 115 82 57 51 115 84 60 50 115 85 64 49 115 86 67 48 115 87 70 47 115 87 74 46 115 88 77 45 115 89 81 44 115 91 84 43 115 92 88 42 115 93 89 41 115 94 92 40 115 95 93 39 115 96 96 38 115 97 98 37 115 98 102 36 115 99 104 35 115 101 108 34 115 102 111 33 115 103 114 32 115 104 115 31 115 104 118 30 115 105 121 29 115 106 126 28 115 107 128 26 115 109 131 25 115 110 135 24 115 111 138 23 115 112 143 22 115 112 149 21 115 113 152 20 115 114 155 19 115 115 157 18 115 117 159 17 115 118 162 16 115 119 165 15 115 120 166 14 115 120 171 13 115 121 172 12 115 122 175 11 115 124 176 10 115 125 179 9 115 126 181 8 115 127 182 7 115 128 185 6 115 129 188 5 115 130 194 4 115 131 198 3 115 132 201 2 115 134 204 1 115 135 205 0 115 136 208 0 115 136 208 0 115 137 209 0 115 137 209 0 115 137 211 0 115 137 211 255 114 0 219 254 114 0 217 254 114 0 217 254 114 0 216 253 114 0 213 252 114 0 211 251 114 0 209 250 114 0 209 249 114 0 208 248 114 0 207 247 114 0 204 246 114 0 202 245 114 0 198 244 114 0 195 243 114 0 189 242 114 0 186 241 114 0 184 240 114 0 182 239 114 0 179 238 114 0 176 237 114 0 175 236 114 0 174 235 114 0 172 234 114 0 171 233 114 0 166 232 114 0 163 231 114 0 160 230 114 0 159 229 114 0 156 228 114 0 153 227 114 0 150 226 114 0 144 224 114 0 140 223 114 0 135 222 114 0 133 221 114 0 128 220 114 0 126 219 114 0 121 218 114 0 118 217 114 0 117 216 114 0 114 215 114 0 111 214 114 0 108 213 114 0 104 212 114 0 102 211 114 0 98 210 114 0 96 209 114 0 95 208 114 0 92 207 114 0 91 206 114 0 88 205 114 0 84 204 114 0 81 203 114 0 80 202 114 0 74 201 114 0 71 200 114 0 69 199 114 0 66 198 114 0 62 197 114 0 59 196 114 0 54 195 114 0 51 194 114 0 47 193 114 0 44 191 114 0 39 190 114 0 36 189 114 0 31 188 114 0 28 187 114 0 27 186 114 0 24 185 114 0 20 184 114 0 17 183 114 0 14 182 114 0 10 181 114 0 7 180 114 0 5 179 114 0 2 178 114 0 0 177 114 0 0 176 114 0 0 175 114 0 0 174 114 0 0 173 114 0 0 172 114 0 0 171 114 0 0 170 114 0 0 169 114 0 0 168 114 0 0 167 114 0 0 166 114 0 0 165 114 0 0 164 114 0 0 163 114 0 0 162 114 0 0 161 114 0 0 160 114 0 0 158 114 0 0 157 114 0 0 156 114 0 0 155 114 0 0 154 114 0 0 153 114 0 0 152 114 0 0 151 114 0 0 150 114 0 0 149 114 0 0 148 114 0 0 147 114 0 0 146 114 0 0 145 114 0 0 144 114 0 0 143 114 0 0 142 114 0 0 141 114 0 0 140 114 0 0 139 114 0 0 138 114 0 0 137 114 0 0 136 114 1 0 135 114 2 0 134 114 3 0 133 114 4 0 132 114 5 0 131 114 6 0 130 114 6 0 129 114 7 0 128 114 8 0 127 114 9 0 125 114 10 0 124 114 12 0 123 114 13 0 122 114 14 0 121 114 14 0 120 114 15 0 119 114 16 0 118 114 17 0 117 114 18 0 116 114 20 0 115 114 21 0 114 114 22 0 113 114 22 0 112 114 23 0 111 114 24 0 110 114 26 0 109 114 27 0 108 114 28 0 107 114 29 0 106 114 30 0 105 114 31 0 104 114 32 0 103 114 33 0 102 114 34 0 101 114 35 0 100 114 37 0 99 114 38 0 98 114 39 0 97 114 39 0 96 114 40 0 95 114 41 0 94 114 42 0 92 114 43 0 91 114 45 0 90 114 46 0 89 114 47 0 88 114 47 0 87 114 48 0 86 114 49 0 85 114 50 0 84 114 51 0 83 114 53 0 82 114 54 0 81 114 55 0 80 114 55 0 79 114 56 0 78 114 57 0 77 114 59 0 76 114 60 0 75 114 61 0 74 114 62 0 73 114 63 0 72 114 64 0 71 114 65 0 70 114 66 2 69 114 67 5 68 114 68 6 67 114 70 10 66 114 71 14 65 114 72 17 64 114 72 20 63 114 73 24 62 114 74 27 61 114 75 28 59 114 76 31 58 114 78 35 57 114 79 38 56 114 80 43 55 114 80 47 54 114 81 50 53 114 82 54 52 114 83 59 51 114 84 62 50 114 86 64 49 114 87 67 48 114 88 70 47 114 88 74 46 114 89 77 45 114 90 81 44 114 92 84 43 114 93 88 42 114 94 89 41 114 95 92 40 114 96 93 39 114 97 96 38 114 98 98 37 114 99 102 36 114 100 104 35 114 101 108 34 114 103 111 33 114 104 114 32 114 105 115 31 114 105 118 30 114 106 121 29 114 107 126 28 114 108 128 26 114 109 133 25 114 111 135 24 114 112 138 23 114 113 143 22 114 113 149 21 114 114 152 20 114 115 156 19 114 116 159 18 114 117 160 17 114 119 163 16 114 120 166 15 114 121 167 14 114 121 172 13 114 122 174 12 114 123 175 11 114 125 176 10 114 126 179 9 114 127 181 8 114 128 182 7 114 129 185 6 114 130 188 5 114 131 194 4 114 132 198 3 114 133 201 2 114 134 204 1 114 136 205 0 114 136 208 0 114 137 208 0 114 138 209 0 114 138 209 0 114 138 211 0 114 138 211 255 113 0 219 254 113 0 217 254 113 0 217 254 113 0 216 253 113 0 213 252 113 0 211 251 113 0 209 250 113 0 209 249 113 0 208 248 113 0 207 247 113 0 204 246 113 0 202 245 113 0 198 244 113 0 195 243 113 0 189 242 113 0 186 241 113 0 184 240 113 0 182 239 113 0 179 238 113 0 178 237 113 0 175 236 113 0 175 235 113 0 172 234 113 0 171 233 113 0 167 232 113 0 165 231 113 0 162 230 113 0 159 229 113 0 156 228 113 0 153 227 113 0 150 226 113 0 145 224 113 0 140 223 113 0 137 222 113 0 133 221 113 0 130 220 113 0 126 219 113 0 121 218 113 0 118 217 113 0 117 216 113 0 114 215 113 0 111 214 113 0 108 213 113 0 104 212 113 0 102 211 113 0 98 210 113 0 96 209 113 0 95 208 113 0 92 207 113 0 91 206 113 0 88 205 113 0 84 204 113 0 81 203 113 0 80 202 113 0 74 201 113 0 71 200 113 0 69 199 113 0 66 198 113 0 62 197 113 0 59 196 113 0 54 195 113 0 51 194 113 0 49 193 113 0 44 191 113 0 39 190 113 0 36 189 113 0 32 188 113 0 29 187 113 0 27 186 113 0 24 185 113 0 20 184 113 0 17 183 113 0 14 182 113 0 10 181 113 0 7 180 113 0 5 179 113 0 2 178 113 0 0 177 113 0 0 176 113 0 0 175 113 0 0 174 113 0 0 173 113 0 0 172 113 0 0 171 113 0 0 170 113 0 0 169 113 0 0 168 113 0 0 167 113 0 0 166 113 0 0 165 113 0 0 164 113 0 0 163 113 0 0 162 113 0 0 161 113 0 0 160 113 0 0 158 113 0 0 157 113 0 0 156 113 0 0 155 113 0 0 154 113 0 0 153 113 0 0 152 113 0 0 151 113 0 0 150 113 0 0 149 113 0 0 148 113 0 0 147 113 0 0 146 113 0 0 145 113 0 0 144 113 0 0 143 113 0 0 142 113 0 0 141 113 0 0 140 113 0 0 139 113 0 0 138 113 0 0 137 113 1 0 136 113 1 0 135 113 2 0 134 113 3 0 133 113 4 0 132 113 5 0 131 113 6 0 130 113 7 0 129 113 8 0 128 113 9 0 127 113 10 0 125 113 11 0 124 113 12 0 123 113 13 0 122 113 14 0 121 113 15 0 120 113 16 0 119 113 17 0 118 113 18 0 117 113 19 0 116 113 20 0 115 113 21 0 114 113 22 0 113 113 23 0 112 113 24 0 111 113 25 0 110 113 27 0 109 113 28 0 108 113 29 0 107 113 30 0 106 113 31 0 105 113 32 0 104 113 33 0 103 113 34 0 102 113 35 0 101 113 36 0 100 113 37 0 99 113 38 0 98 113 39 0 97 113 40 0 96 113 41 0 95 113 42 0 94 113 43 0 92 113 44 0 91 113 45 0 90 113 46 0 89 113 47 0 88 113 48 0 87 113 49 0 86 113 50 0 85 113 51 0 84 113 52 0 83 113 53 0 82 113 54 0 81 113 55 0 80 113 56 0 79 113 57 0 78 113 58 0 77 113 60 0 76 113 61 0 75 113 62 0 74 113 63 0 73 113 64 0 72 113 65 0 71 113 66 0 70 113 67 2 69 113 68 5 68 113 69 7 67 113 70 10 66 113 71 14 65 113 72 17 64 113 73 20 63 113 74 24 62 113 75 27 61 113 76 28 59 113 77 31 58 113 78 35 57 113 79 39 56 113 80 44 55 113 81 47 54 113 82 51 53 113 83 54 52 113 84 59 51 113 85 62 50 113 86 66 49 113 87 67 48 113 88 70 47 113 89 74 46 113 90 77 45 113 91 81 44 113 93 84 43 113 94 88 42 113 95 89 41 113 96 92 40 113 97 93 39 113 98 96 38 113 99 98 37 113 100 102 36 113 101 104 35 113 102 108 34 113 103 111 33 113 104 114 32 113 105 115 31 113 106 118 30 113 107 121 29 113 108 126 28 113 109 128 26 113 110 133 25 113 111 135 24 113 112 140 23 113 113 144 22 113 114 149 21 113 115 153 20 113 116 156 19 113 117 159 18 113 118 162 17 113 119 165 16 113 120 167 15 113 121 171 14 113 122 172 13 113 123 174 12 113 124 175 11 113 126 176 10 113 127 179 9 113 128 181 8 113 129 182 7 113 130 185 6 113 131 188 5 113 132 194 4 113 133 198 3 113 134 201 2 113 135 204 1 113 136 205 0 113 137 208 0 113 138 208 0 113 138 209 0 113 139 209 0 113 139 211 0 113 139 211 255 112 0 219 254 112 0 217 254 112 0 217 254 112 0 216 253 112 0 213 252 112 0 211 251 112 0 209 250 112 0 209 249 112 0 208 248 112 0 207 247 112 0 204 246 112 0 202 245 112 0 198 244 112 0 195 243 112 0 189 242 112 0 186 241 112 0 184 240 112 0 182 239 112 0 179 238 112 0 178 237 112 0 176 236 112 0 175 235 112 0 174 234 112 0 172 233 112 0 167 232 112 0 165 231 112 0 162 230 112 0 160 229 112 0 157 228 112 0 155 227 112 0 152 226 112 0 145 224 112 0 141 223 112 0 137 222 112 0 133 221 112 0 130 220 112 0 126 219 112 0 121 218 112 0 118 217 112 0 117 216 112 0 114 215 112 0 111 214 112 0 108 213 112 0 104 212 112 0 102 211 112 0 98 210 112 0 96 209 112 0 95 208 112 0 92 207 112 0 91 206 112 0 88 205 112 0 84 204 112 0 81 203 112 0 80 202 112 0 74 201 112 0 71 200 112 0 69 199 112 0 66 198 112 0 62 197 112 0 60 196 112 0 57 195 112 0 51 194 112 0 49 193 112 0 46 191 112 0 40 190 112 0 36 189 112 0 32 188 112 0 29 187 112 0 27 186 112 0 24 185 112 0 22 184 112 0 18 183 112 0 16 182 112 0 13 181 112 0 7 180 112 0 5 179 112 0 3 178 112 0 0 177 112 0 0 176 112 0 0 175 112 0 0 174 112 0 0 173 112 0 0 172 112 0 0 171 112 0 0 170 112 0 0 169 112 0 0 168 112 0 0 167 112 0 0 166 112 0 0 165 112 0 0 164 112 0 0 163 112 0 0 162 112 0 0 161 112 0 0 160 112 0 0 158 112 0 0 157 112 0 0 156 112 0 0 155 112 0 0 154 112 0 0 153 112 0 0 152 112 0 0 151 112 0 0 150 112 0 0 149 112 0 0 148 112 0 0 147 112 0 0 146 112 0 0 145 112 0 0 144 112 0 0 143 112 0 0 142 112 0 0 141 112 0 0 140 112 0 0 139 112 0 0 138 112 1 0 137 112 1 0 136 112 2 0 135 112 3 0 134 112 4 0 133 112 5 0 132 112 6 0 131 112 7 0 130 112 8 0 129 112 9 0 128 112 10 0 127 112 11 0 125 112 12 0 124 112 13 0 123 112 14 0 122 112 15 0 121 112 16 0 120 112 17 0 119 112 18 0 118 112 19 0 117 112 20 0 116 112 21 0 115 112 22 0 114 112 23 0 113 112 24 0 112 112 25 0 111 112 26 0 110 112 28 0 109 112 29 0 108 112 30 0 107 112 31 0 106 112 32 0 105 112 33 0 104 112 34 0 103 112 35 0 102 112 36 0 101 112 37 0 100 112 38 0 99 112 39 0 98 112 40 0 97 112 41 0 96 112 42 0 95 112 43 0 94 112 44 0 92 112 45 0 91 112 46 0 90 112 47 0 89 112 48 0 88 112 49 0 87 112 50 0 86 112 51 0 85 112 52 0 84 112 53 0 83 112 54 0 82 112 55 0 81 112 56 0 80 112 57 0 79 112 58 0 78 112 59 0 77 112 61 0 76 112 62 0 75 112 63 0 74 112 64 0 73 112 65 0 72 112 66 0 71 112 67 0 70 112 68 2 69 112 69 5 68 112 70 7 67 112 71 10 66 112 72 16 65 112 73 18 64 112 74 22 63 112 75 24 62 112 76 27 61 112 77 29 59 112 78 32 58 112 79 36 57 112 80 39 56 112 81 44 55 112 82 49 54 112 83 51 53 112 84 54 52 112 85 59 51 112 86 62 50 112 87 66 49 112 88 67 48 112 89 70 47 112 90 74 46 112 91 77 45 112 92 81 44 112 94 84 43 112 95 88 42 112 96 89 41 112 97 92 40 112 98 93 39 112 99 96 38 112 100 98 37 112 101 102 36 112 102 104 35 112 103 108 34 112 104 111 33 112 105 114 32 112 106 115 31 112 107 118 30 112 108 121 29 112 109 126 28 112 110 130 26 112 111 133 25 112 112 137 24 112 113 140 23 112 114 144 22 112 115 150 21 112 116 153 20 112 117 156 19 112 118 159 18 112 119 162 17 112 120 165 16 112 121 167 15 112 122 171 14 112 123 174 13 112 124 175 12 112 125 176 11 112 127 178 10 112 128 179 9 112 129 181 8 112 130 182 7 112 131 185 6 112 132 188 5 112 133 194 4 112 134 198 3 112 135 201 2 112 136 204 1 112 137 205 0 112 138 208 0 112 139 208 0 112 139 209 0 112 140 209 0 112 140 211 0 112 140 211 255 111 0 219 254 111 0 217 254 111 0 217 254 111 0 216 253 111 0 213 252 111 0 211 251 111 0 209 250 111 0 209 249 111 0 208 248 111 0 207 247 111 0 204 246 111 0 202 245 111 0 198 244 111 0 195 243 111 0 189 242 111 0 186 241 111 0 184 240 111 0 182 239 111 0 179 238 111 0 178 237 111 0 176 236 111 0 175 235 111 0 174 234 111 0 172 233 111 0 167 232 111 0 166 231 111 0 163 230 111 0 160 229 111 0 157 228 111 0 155 227 111 0 152 226 111 0 145 224 111 0 141 223 111 0 138 222 111 0 134 221 111 0 130 220 111 0 126 219 111 0 121 218 111 0 118 217 111 0 117 216 111 0 114 215 111 0 111 214 111 0 108 213 111 0 104 212 111 0 102 211 111 0 98 210 111 0 96 209 111 0 95 208 111 0 92 207 111 0 91 206 111 0 88 205 111 0 84 204 111 0 81 203 111 0 80 202 111 0 74 201 111 0 71 200 111 0 69 199 111 0 66 198 111 0 62 197 111 0 60 196 111 0 57 195 111 0 53 194 111 0 49 193 111 0 46 191 111 0 40 190 111 0 38 189 111 0 32 188 111 0 29 187 111 0 28 186 111 0 25 185 111 0 22 184 111 0 18 183 111 0 17 182 111 0 13 181 111 0 9 180 111 0 6 179 111 0 3 178 111 0 0 177 111 0 0 176 111 0 0 175 111 0 0 174 111 0 0 173 111 0 0 172 111 0 0 171 111 0 0 170 111 0 0 169 111 0 0 168 111 0 0 167 111 0 0 166 111 0 0 165 111 0 0 164 111 0 0 163 111 0 0 162 111 0 0 161 111 0 0 160 111 0 0 158 111 0 0 157 111 0 0 156 111 0 0 155 111 0 0 154 111 0 0 153 111 0 0 152 111 0 0 151 111 0 0 150 111 0 0 149 111 0 0 148 111 0 0 147 111 0 0 146 111 0 0 145 111 0 0 144 111 0 0 143 111 0 0 142 111 0 0 141 111 0 0 140 111 0 0 139 111 1 0 138 111 1 0 137 111 2 0 136 111 3 0 135 111 4 0 134 111 5 0 133 111 6 0 132 111 7 0 131 111 8 0 130 111 9 0 129 111 10 0 128 111 11 0 127 111 12 0 125 111 13 0 124 111 14 0 123 111 15 0 122 111 16 0 121 111 17 0 120 111 18 0 119 111 19 0 118 111 20 0 117 111 21 0 116 111 22 0 115 111 23 0 114 111 24 0 113 111 25 0 112 111 26 0 111 111 27 0 110 111 29 0 109 111 30 0 108 111 31 0 107 111 32 0 106 111 33 0 105 111 34 0 104 111 35 0 103 111 36 0 102 111 37 0 101 111 38 0 100 111 39 0 99 111 40 0 98 111 41 0 97 111 42 0 96 111 43 0 95 111 44 0 94 111 45 0 92 111 46 0 91 111 47 0 90 111 48 0 89 111 49 0 88 111 50 0 87 111 51 0 86 111 52 0 85 111 53 0 84 111 54 0 83 111 55 0 82 111 56 0 81 111 57 0 80 111 58 0 79 111 59 0 78 111 60 0 77 111 62 0 76 111 63 0 75 111 64 0 74 111 65 0 73 111 66 0 72 111 67 0 71 111 68 0 70 111 69 3 69 111 70 6 68 111 71 9 67 111 72 13 66 111 73 16 65 111 74 18 64 111 75 22 63 111 76 25 62 111 77 27 61 111 78 29 59 111 79 32 58 111 80 36 57 111 81 39 56 111 82 44 55 111 83 49 54 111 84 51 53 111 85 57 52 111 86 60 51 111 87 62 50 111 88 66 49 111 89 69 48 111 90 70 47 111 91 74 46 111 92 77 45 111 93 81 44 111 95 84 43 111 96 88 42 111 97 89 41 111 98 92 40 111 99 93 39 111 100 96 38 111 101 98 37 111 102 102 36 111 103 104 35 111 104 108 34 111 105 111 33 111 106 114 32 111 107 115 31 111 108 118 30 111 109 121 29 111 110 126 28 111 111 130 26 111 112 134 25 111 113 137 24 111 114 141 23 111 115 145 22 111 116 150 21 111 117 153 20 111 118 156 19 111 119 160 18 111 120 162 17 111 121 165 16 111 122 167 15 111 123 172 14 111 124 174 13 111 125 175 12 111 126 176 11 111 128 178 10 111 129 179 9 111 130 181 8 111 131 182 7 111 132 185 6 111 133 188 5 111 134 194 4 111 135 198 3 111 136 201 2 111 137 204 1 111 138 205 0 111 139 208 0 111 140 208 0 111 140 209 0 111 140 209 0 111 141 211 0 111 141 211 255 110 0 219 254 110 0 217 254 110 0 217 254 110 0 216 253 110 0 213 252 110 0 211 251 110 0 209 250 110 0 209 249 110 0 208 248 110 0 207 247 110 0 204 246 110 0 202 245 110 0 198 244 110 0 195 243 110 0 189 242 110 0 186 241 110 0 184 240 110 0 182 239 110 0 181 238 110 0 178 237 110 0 176 236 110 0 176 235 110 0 174 234 110 0 172 233 110 0 167 232 110 0 166 231 110 0 163 230 110 0 160 229 110 0 157 228 110 0 155 227 110 0 152 226 110 0 149 224 110 0 143 223 110 0 138 222 110 0 135 221 110 0 131 220 110 0 126 219 110 0 122 218 110 0 120 217 110 0 117 216 110 0 114 215 110 0 111 214 110 0 108 213 110 0 104 212 110 0 102 211 110 0 98 210 110 0 96 209 110 0 95 208 110 0 92 207 110 0 91 206 110 0 88 205 110 0 84 204 110 0 81 203 110 0 80 202 110 0 74 201 110 0 71 200 110 0 69 199 110 0 66 198 110 0 62 197 110 0 60 196 110 0 57 195 110 0 53 194 110 0 49 193 110 0 46 191 110 0 40 190 110 0 38 189 110 0 35 188 110 0 31 187 110 0 28 186 110 0 27 185 110 0 24 184 110 0 20 183 110 0 18 182 110 0 14 181 110 0 10 180 110 0 7 179 110 0 5 178 110 0 2 177 110 0 0 176 110 0 0 175 110 0 0 174 110 0 0 173 110 0 0 172 110 0 0 171 110 0 0 170 110 0 0 169 110 0 0 168 110 0 0 167 110 0 0 166 110 0 0 165 110 0 0 164 110 0 0 163 110 0 0 162 110 0 0 161 110 0 0 160 110 0 0 158 110 0 0 157 110 0 0 156 110 0 0 155 110 0 0 154 110 0 0 153 110 0 0 152 110 0 0 151 110 0 0 150 110 0 0 149 110 0 0 148 110 0 0 147 110 0 0 146 110 0 0 145 110 0 0 144 110 0 0 143 110 0 0 142 110 0 0 141 110 1 0 140 110 1 0 139 110 2 0 138 110 2 0 137 110 3 0 136 110 4 0 135 110 5 0 134 110 6 0 133 110 7 0 132 110 8 0 131 110 9 0 130 110 10 0 129 110 11 0 128 110 12 0 127 110 13 0 125 110 14 0 124 110 15 0 123 110 16 0 122 110 17 0 121 110 18 0 120 110 19 0 119 110 20 0 118 110 21 0 117 110 22 0 116 110 24 0 115 110 25 0 114 110 26 0 113 110 27 0 112 110 28 0 111 110 29 0 110 110 30 0 109 110 31 0 108 110 32 0 107 110 33 0 106 110 34 0 105 110 35 0 104 110 36 0 103 110 37 0 102 110 38 0 101 110 39 0 100 110 40 0 99 110 41 0 98 110 42 0 97 110 43 0 96 110 44 0 95 110 45 0 94 110 46 0 92 110 47 0 91 110 48 0 90 110 49 0 89 110 50 0 88 110 51 0 87 110 52 0 86 110 53 0 85 110 54 0 84 110 55 0 83 110 57 0 82 110 58 0 81 110 59 0 80 110 60 0 79 110 61 0 78 110 62 0 77 110 63 0 76 110 64 0 75 110 65 0 74 110 66 0 73 110 67 0 72 110 68 0 71 110 69 2 70 110 70 5 69 110 71 7 68 110 72 10 67 110 73 14 66 110 74 17 65 110 75 20 64 110 76 24 63 110 77 27 62 110 78 28 61 110 79 31 59 110 80 35 58 110 81 38 57 110 82 40 56 110 83 46 55 110 84 49 54 110 85 51 53 110 86 57 52 110 87 60 51 110 88 62 50 110 90 66 49 110 91 69 48 110 92 70 47 110 93 74 46 110 94 77 45 110 95 81 44 110 96 84 43 110 97 88 42 110 98 89 41 110 99 92 40 110 100 93 39 110 101 96 38 110 102 98 37 110 103 102 36 110 104 104 35 110 105 108 34 110 106 111 33 110 107 114 32 110 108 115 31 110 109 118 30 110 110 121 29 110 111 126 28 110 112 131 26 110 113 134 25 110 114 138 24 110 115 143 23 110 116 145 22 110 117 152 21 110 118 155 20 110 119 157 19 110 120 160 18 110 121 162 17 110 123 165 16 110 124 167 15 110 125 172 14 110 126 174 13 110 127 175 12 110 128 176 11 110 129 178 10 110 130 179 9 110 131 181 8 110 132 184 7 110 133 185 6 110 134 188 5 110 135 194 4 110 136 198 3 110 137 201 2 110 138 204 1 110 139 205 0 110 140 208 0 110 141 208 0 110 141 209 0 110 142 209 0 110 142 211 0 110 142 211 255 109 0 219 254 109 0 217 254 109 0 217 254 109 0 216 253 109 0 213 252 109 0 211 251 109 0 209 250 109 0 209 249 109 0 208 248 109 0 207 247 109 0 204 246 109 0 202 245 109 0 198 244 109 0 195 243 109 0 189 242 109 0 186 241 109 0 184 240 109 0 182 239 109 0 181 238 109 0 179 237 109 0 178 236 109 0 176 235 109 0 175 234 109 0 172 233 109 0 171 232 109 0 166 231 109 0 163 230 109 0 160 229 109 0 157 228 109 0 155 227 109 0 153 226 109 0 150 224 109 0 144 223 109 0 140 222 109 0 137 221 109 0 133 220 109 0 128 219 109 0 122 218 109 0 120 217 109 0 117 216 109 0 114 215 109 0 111 214 109 0 108 213 109 0 104 212 109 0 102 211 109 0 98 210 109 0 96 209 109 0 95 208 109 0 92 207 109 0 91 206 109 0 88 205 109 0 84 204 109 0 81 203 109 0 80 202 109 0 74 201 109 0 71 200 109 0 69 199 109 0 66 198 109 0 62 197 109 0 60 196 109 0 57 195 109 0 53 194 109 0 50 193 109 0 46 191 109 0 43 190 109 0 39 189 109 0 36 188 109 0 32 187 109 0 29 186 109 0 28 185 109 0 25 184 109 0 22 183 109 0 20 182 109 0 17 181 109 0 14 180 109 0 10 179 109 0 7 178 109 0 3 177 109 0 0 176 109 0 0 175 109 0 0 174 109 0 0 173 109 0 0 172 109 0 0 171 109 0 0 170 109 0 0 169 109 0 0 168 109 0 0 167 109 0 0 166 109 0 0 165 109 0 0 164 109 0 0 163 109 0 0 162 109 0 0 161 109 0 0 160 109 0 0 158 109 0 0 157 109 0 0 156 109 0 0 155 109 0 0 154 109 0 0 153 109 0 0 152 109 0 0 151 109 0 0 150 109 0 0 149 109 0 0 148 109 0 0 147 109 0 0 146 109 0 0 145 109 0 0 144 109 0 0 143 109 0 0 142 109 1 0 141 109 2 0 140 109 2 0 139 109 3 0 138 109 3 0 137 109 4 0 136 109 5 0 135 109 6 0 134 109 7 0 133 109 9 0 132 109 10 0 131 109 10 0 130 109 11 0 129 109 12 0 128 109 13 0 127 109 14 0 125 109 15 0 124 109 17 0 123 109 18 0 122 109 18 0 121 109 19 0 120 109 20 0 119 109 21 0 118 109 22 0 117 109 24 0 116 109 25 0 115 109 26 0 114 109 27 0 113 109 28 0 112 109 29 0 111 109 30 0 110 109 31 0 109 109 32 0 108 109 34 0 107 109 35 0 106 109 35 0 105 109 36 0 104 109 37 0 103 109 38 0 102 109 39 0 101 109 40 0 100 109 42 0 99 109 43 0 98 109 43 0 97 109 44 0 96 109 45 0 95 109 46 0 94 109 47 0 92 109 48 0 91 109 50 0 90 109 51 0 89 109 51 0 88 109 52 0 87 109 53 0 86 109 54 0 85 109 55 0 84 109 57 0 83 109 58 0 82 109 59 0 81 109 60 0 80 109 61 0 79 109 62 0 78 109 63 0 77 109 64 0 76 109 65 0 75 109 67 0 74 109 68 0 73 109 68 0 72 109 69 0 71 109 70 3 70 109 71 6 69 109 72 9 68 109 73 13 67 109 75 16 66 109 76 18 65 109 76 22 64 109 77 25 63 109 78 28 62 109 79 29 61 109 80 32 59 109 81 35 58 109 83 38 57 109 84 40 56 109 84 46 55 109 85 49 54 109 86 53 53 109 87 57 52 109 88 60 51 109 90 62 50 109 91 66 49 109 92 69 48 109 93 70 47 109 94 74 46 109 95 77 45 109 96 81 44 109 97 84 43 109 98 88 42 109 100 89 41 109 101 92 40 109 101 93 39 109 102 96 38 109 103 98 37 109 104 102 36 109 105 104 35 109 106 108 34 109 108 111 33 109 109 114 32 109 109 117 31 109 110 120 30 109 111 122 29 109 112 128 28 109 113 131 26 109 114 135 25 109 116 140 24 109 117 144 23 109 117 149 22 109 118 152 21 109 119 155 20 109 120 157 19 109 121 160 18 109 123 162 17 109 124 165 16 109 125 171 15 109 126 172 14 109 127 175 13 109 128 176 12 109 129 178 11 109 130 179 10 109 131 181 9 109 133 182 8 109 134 184 7 109 134 185 6 109 135 188 5 109 136 194 4 109 137 198 3 109 138 201 2 109 139 204 1 109 141 205 0 109 141 208 0 109 142 208 0 109 143 209 0 109 143 209 0 109 143 211 0 109 143 211 255 108 0 219 254 108 0 217 254 108 0 217 254 108 0 216 253 108 0 213 252 108 0 211 251 108 0 209 250 108 0 209 249 108 0 208 248 108 0 207 247 108 0 204 246 108 0 202 245 108 0 198 244 108 0 195 243 108 0 189 242 108 0 186 241 108 0 184 240 108 0 182 239 108 0 181 238 108 0 179 237 108 0 178 236 108 0 178 235 108 0 175 234 108 0 174 233 108 0 171 232 108 0 166 231 108 0 163 230 108 0 160 229 108 0 157 228 108 0 156 227 108 0 153 226 108 0 150 224 108 0 145 223 108 0 141 222 108 0 138 221 108 0 134 220 108 0 130 219 108 0 126 218 108 0 121 217 108 0 118 216 108 0 115 215 108 0 111 214 108 0 108 213 108 0 104 212 108 0 102 211 108 0 98 210 108 0 96 209 108 0 95 208 108 0 92 207 108 0 91 206 108 0 88 205 108 0 84 204 108 0 81 203 108 0 80 202 108 0 74 201 108 0 71 200 108 0 69 199 108 0 66 198 108 0 62 197 108 0 60 196 108 0 57 195 108 0 53 194 108 0 50 193 108 0 47 191 108 0 43 190 108 0 39 189 108 0 36 188 108 0 32 187 108 0 31 186 108 0 29 185 108 0 27 184 108 0 24 183 108 0 22 182 108 0 18 181 108 0 16 180 108 0 13 179 108 0 9 178 108 0 5 177 108 0 2 176 108 0 0 175 108 0 0 174 108 0 0 173 108 0 0 172 108 0 0 171 108 0 0 170 108 0 0 169 108 0 0 168 108 0 0 167 108 0 0 166 108 0 0 165 108 0 0 164 108 0 0 163 108 0 0 162 108 0 0 161 108 0 0 160 108 0 0 158 108 0 0 157 108 0 0 156 108 0 0 155 108 0 0 154 108 0 0 153 108 0 0 152 108 0 0 151 108 0 0 150 108 0 0 149 108 0 0 148 108 0 0 147 108 0 0 146 108 0 0 145 108 0 0 144 108 0 0 143 108 1 0 142 108 2 0 141 108 2 0 140 108 3 0 139 108 4 0 138 108 4 0 137 108 5 0 136 108 6 0 135 108 7 0 134 108 9 0 133 108 10 0 132 108 11 0 131 108 12 0 130 108 12 0 129 108 13 0 128 108 14 0 127 108 15 0 125 108 17 0 124 108 18 0 123 108 19 0 122 108 20 0 121 108 20 0 120 108 21 0 119 108 22 0 118 108 24 0 117 108 25 0 116 108 26 0 115 108 27 0 114 108 28 0 113 108 29 0 112 108 30 0 111 108 31 0 110 108 32 0 109 108 34 0 108 108 35 0 107 108 36 0 106 108 37 0 105 108 37 0 104 108 38 0 103 108 39 0 102 108 40 0 101 108 42 0 100 108 43 0 99 108 44 0 98 108 45 0 97 108 45 0 96 108 46 0 95 108 47 0 94 108 48 0 92 108 50 0 91 108 51 0 90 108 52 0 89 108 53 0 88 108 53 0 87 108 54 0 86 108 55 0 85 108 57 0 84 108 58 0 83 108 59 0 82 108 60 0 81 108 61 0 80 108 62 0 79 108 63 0 78 108 64 0 77 108 65 0 76 108 67 0 75 108 68 0 74 108 69 0 73 108 70 0 72 108 70 2 71 108 71 5 70 108 72 7 69 108 73 10 68 108 75 14 67 108 76 17 66 108 77 20 65 108 78 24 64 108 78 27 63 108 79 29 62 108 80 31 61 108 81 32 59 108 83 36 58 108 84 39 57 108 85 43 56 108 86 46 55 108 86 50 54 108 87 53 53 108 88 57 52 108 90 60 51 108 91 62 50 108 92 66 49 108 93 69 48 108 94 70 47 108 95 74 46 108 96 77 45 108 97 81 44 108 98 84 43 108 100 88 42 108 101 89 41 108 102 92 40 108 103 93 39 108 103 96 38 108 104 98 37 108 105 102 36 108 106 104 35 108 108 108 34 108 109 111 33 108 110 114 32 108 111 117 31 108 111 120 30 108 112 126 29 108 113 130 28 108 114 133 26 108 116 137 25 108 117 141 24 108 118 144 23 108 119 150 22 108 119 153 21 108 120 155 20 108 121 157 19 108 123 160 18 108 124 162 17 108 125 165 16 108 126 171 15 108 127 172 14 108 128 175 13 108 129 176 12 108 130 178 11 108 131 179 10 108 133 181 9 108 134 182 8 108 135 184 7 108 136 185 6 108 136 188 5 108 137 194 4 108 138 198 3 108 139 201 2 108 141 204 1 108 142 205 0 108 143 208 0 108 143 208 0 108 144 209 0 108 144 209 0 108 144 211 0 108 144 211 255 107 0 219 254 107 0 217 254 107 0 217 254 107 0 216 253 107 0 213 252 107 0 211 251 107 0 209 250 107 0 209 249 107 0 208 248 107 0 207 247 107 0 204 246 107 0 202 245 107 0 198 244 107 0 195 243 107 0 189 242 107 0 186 241 107 0 185 240 107 0 182 239 107 0 182 238 107 0 181 237 107 0 179 236 107 0 178 235 107 0 175 234 107 0 174 233 107 0 171 232 107 0 166 231 107 0 163 230 107 0 160 229 107 0 157 228 107 0 156 227 107 0 153 226 107 0 152 224 107 0 145 223 107 0 143 222 107 0 138 221 107 0 134 220 107 0 131 219 107 0 128 218 107 0 121 217 107 0 118 216 107 0 115 215 107 0 112 214 107 0 108 213 107 0 104 212 107 0 102 211 107 0 98 210 107 0 96 209 107 0 95 208 107 0 92 207 107 0 91 206 107 0 88 205 107 0 84 204 107 0 81 203 107 0 80 202 107 0 74 201 107 0 71 200 107 0 69 199 107 0 66 198 107 0 62 197 107 0 60 196 107 0 57 195 107 0 53 194 107 0 50 193 107 0 47 191 107 0 44 190 107 0 40 189 107 0 38 188 107 0 35 187 107 0 32 186 107 0 29 185 107 0 28 184 107 0 25 183 107 0 24 182 107 0 20 181 107 0 17 180 107 0 14 179 107 0 10 178 107 0 6 177 107 0 3 176 107 0 0 175 107 0 0 174 107 0 0 173 107 0 0 172 107 0 0 171 107 0 0 170 107 0 0 169 107 0 0 168 107 0 0 167 107 0 0 166 107 0 0 165 107 0 0 164 107 0 0 163 107 0 0 162 107 0 0 161 107 0 0 160 107 0 0 158 107 0 0 157 107 0 0 156 107 0 0 155 107 0 0 154 107 0 0 153 107 0 0 152 107 0 0 151 107 0 0 150 107 0 0 149 107 0 0 148 107 0 0 147 107 0 0 146 107 0 0 145 107 0 0 144 107 0 0 143 107 1 0 142 107 2 0 141 107 3 0 140 107 4 0 139 107 5 0 138 107 5 0 137 107 6 0 136 107 7 0 135 107 8 0 134 107 10 0 133 107 11 0 132 107 12 0 131 107 13 0 130 107 13 0 129 107 14 0 128 107 15 0 127 107 16 0 125 107 18 0 124 107 19 0 123 107 20 0 122 107 21 0 121 107 21 0 120 107 22 0 119 107 23 0 118 107 25 0 117 107 26 0 116 107 27 0 115 107 28 0 114 107 29 0 113 107 30 0 112 107 31 0 111 107 32 0 110 107 33 0 109 107 35 0 108 107 36 0 107 107 37 0 106 107 38 0 105 107 38 0 104 107 39 0 103 107 40 0 102 107 41 0 101 107 43 0 100 107 44 0 99 107 45 0 98 107 46 0 97 107 46 0 96 107 47 0 95 107 48 0 94 107 49 0 92 107 51 0 91 107 52 0 90 107 53 0 89 107 54 0 88 107 54 0 87 107 55 0 86 107 56 0 85 107 58 0 84 107 59 0 83 107 60 0 82 107 61 0 81 107 62 0 80 107 63 0 79 107 64 0 78 107 65 0 77 107 66 0 76 107 68 0 75 107 69 0 74 107 70 0 73 107 71 0 72 107 71 2 71 107 72 5 70 107 73 9 69 107 74 13 68 107 76 16 67 107 77 18 66 107 78 22 65 107 79 25 64 107 79 28 63 107 80 29 62 107 81 32 61 107 82 35 59 107 84 38 58 107 85 39 57 107 86 43 56 107 87 47 55 107 87 50 54 107 88 53 53 107 89 57 52 107 91 60 51 107 92 62 50 107 93 66 49 107 94 69 48 107 95 70 47 107 96 74 46 107 97 77 45 107 98 81 44 107 99 84 43 107 101 88 42 107 102 89 41 107 103 92 40 107 104 93 39 107 104 96 38 107 105 98 37 107 106 102 36 107 107 104 35 107 109 108 34 107 110 111 33 107 111 115 32 107 112 118 31 107 112 121 30 107 113 126 29 107 114 131 28 107 115 134 26 107 117 138 25 107 118 143 24 107 119 145 23 107 120 150 22 107 120 153 21 107 121 155 20 107 122 157 19 107 124 160 18 107 125 162 17 107 126 165 16 107 127 171 15 107 128 174 14 107 129 175 13 107 130 178 12 107 131 179 11 107 132 179 10 107 134 181 9 107 135 182 8 107 136 184 7 107 137 185 6 107 137 188 5 107 138 194 4 107 139 198 3 107 140 201 2 107 142 204 1 107 143 205 0 107 144 208 0 107 144 208 0 107 145 209 0 107 145 209 0 107 145 211 0 107 145 211 255 106 0 219 254 106 0 217 254 106 0 217 254 106 0 216 253 106 0 213 252 106 0 211 251 106 0 209 250 106 0 209 249 106 0 208 248 106 0 207 247 106 0 204 246 106 0 202 245 106 0 198 244 106 0 195 243 106 0 189 242 106 0 186 241 106 0 185 240 106 0 184 239 106 0 182 238 106 0 181 237 106 0 179 236 106 0 178 235 106 0 176 234 106 0 174 233 106 0 171 232 106 0 166 231 106 0 163 230 106 0 160 229 106 0 157 228 106 0 156 227 106 0 155 226 106 0 152 224 106 0 149 223 106 0 144 222 106 0 140 221 106 0 135 220 106 0 133 219 106 0 130 218 106 0 122 217 106 0 120 216 106 0 117 215 106 0 114 214 106 0 110 213 106 0 107 212 106 0 103 211 106 0 99 210 106 0 96 209 106 0 95 208 106 0 92 207 106 0 91 206 106 0 88 205 106 0 84 204 106 0 81 203 106 0 80 202 106 0 74 201 106 0 71 200 106 0 69 199 106 0 66 198 106 0 62 197 106 0 60 196 106 0 57 195 106 0 53 194 106 0 50 193 106 0 47 191 106 0 44 190 106 0 40 189 106 0 38 188 106 0 35 187 106 0 32 186 106 0 31 185 106 0 28 184 106 0 27 183 106 0 24 182 106 0 20 181 106 0 17 180 106 0 14 179 106 0 10 178 106 0 7 177 106 0 3 176 106 0 0 175 106 0 0 174 106 0 0 173 106 0 0 172 106 0 0 171 106 0 0 170 106 0 0 169 106 0 0 168 106 0 0 167 106 0 0 166 106 0 0 165 106 0 0 164 106 0 0 163 106 0 0 162 106 0 0 161 106 0 0 160 106 0 0 158 106 0 0 157 106 0 0 156 106 0 0 155 106 0 0 154 106 0 0 153 106 0 0 152 106 0 0 151 106 0 0 150 106 0 0 149 106 0 0 148 106 0 0 147 106 0 0 146 106 0 0 145 106 0 0 144 106 1 0 143 106 2 0 142 106 3 0 141 106 4 0 140 106 5 0 139 106 6 0 138 106 6 0 137 106 7 0 136 106 8 0 135 106 9 0 134 106 10 0 133 106 12 0 132 106 13 0 131 106 14 0 130 106 14 0 129 106 15 0 128 106 16 0 127 106 17 0 125 106 18 0 124 106 20 0 123 106 21 0 122 106 22 0 121 106 22 0 120 106 23 0 119 106 24 0 118 106 26 0 117 106 27 0 116 106 28 0 115 106 29 0 114 106 30 0 113 106 31 0 112 106 32 0 111 106 33 0 110 106 34 0 109 106 35 0 108 106 37 0 107 106 38 0 106 106 39 0 105 106 39 0 104 106 40 0 103 106 41 0 102 106 42 0 101 106 43 0 100 106 45 0 99 106 46 0 98 106 47 0 97 106 47 0 96 106 48 0 95 106 49 0 94 106 50 0 92 106 51 0 91 106 53 0 90 106 54 0 89 106 55 0 88 106 55 0 87 106 56 0 86 106 57 0 85 106 59 0 84 106 60 0 83 106 61 0 82 106 62 0 81 106 63 0 80 106 64 0 79 106 65 0 78 106 66 0 77 106 67 0 76 106 68 0 75 106 70 0 74 106 71 0 73 106 72 0 72 106 72 3 71 106 73 6 70 106 74 9 69 106 75 14 68 106 76 17 67 106 78 20 66 106 79 24 65 106 80 25 64 106 80 28 63 106 81 31 62 106 82 32 61 106 83 35 59 106 84 38 58 106 86 40 57 106 87 43 56 106 88 47 55 106 88 50 54 106 89 53 53 106 90 57 52 106 92 60 51 106 93 62 50 106 94 66 49 106 95 69 48 106 96 70 47 106 97 74 46 106 98 77 45 106 99 81 44 106 100 84 43 106 101 88 42 106 103 89 41 106 104 92 40 106 105 93 39 106 105 96 38 106 106 99 37 106 107 103 36 106 108 107 35 106 109 110 34 106 111 112 33 106 112 115 32 106 113 120 31 106 113 122 30 106 114 128 29 106 115 133 28 106 116 135 26 106 117 140 25 106 119 143 24 106 120 145 23 106 121 150 22 106 121 153 21 106 122 155 20 106 123 157 19 106 125 160 18 106 126 162 17 106 127 165 16 106 128 171 15 106 129 174 14 106 130 176 13 106 131 178 12 106 132 179 11 106 133 181 10 106 134 181 9 106 136 182 8 106 137 184 7 106 138 185 6 106 138 188 5 106 139 194 4 106 140 198 3 106 141 201 2 106 142 204 1 106 144 205 0 106 144 208 0 106 145 208 0 106 146 209 0 106 146 209 0 106 146 211 0 106 146 211 255 105 0 219 254 105 0 217 254 105 0 217 254 105 0 216 253 105 0 213 252 105 0 211 251 105 0 209 250 105 0 209 249 105 0 208 248 105 0 207 247 105 0 204 246 105 0 202 245 105 0 198 244 105 0 195 243 105 0 189 242 105 0 186 241 105 0 185 240 105 0 184 239 105 0 182 238 105 0 181 237 105 0 179 236 105 0 178 235 105 0 176 234 105 0 174 233 105 0 171 232 105 0 166 231 105 0 163 230 105 0 160 229 105 0 157 228 105 0 156 227 105 0 155 226 105 0 152 224 105 0 149 223 105 0 144 222 105 0 141 221 105 0 137 220 105 0 133 219 105 0 130 218 105 0 126 217 105 0 121 216 105 0 118 215 105 0 114 214 105 0 111 213 105 0 108 212 105 0 104 211 105 0 99 210 105 0 98 209 105 0 95 208 105 0 92 207 105 0 91 206 105 0 88 205 105 0 84 204 105 0 81 203 105 0 80 202 105 0 74 201 105 0 71 200 105 0 69 199 105 0 66 198 105 0 62 197 105 0 60 196 105 0 57 195 105 0 53 194 105 0 50 193 105 0 47 191 105 0 44 190 105 0 40 189 105 0 38 188 105 0 36 187 105 0 32 186 105 0 31 185 105 0 29 184 105 0 27 183 105 0 25 182 105 0 22 181 105 0 18 180 105 0 16 179 105 0 10 178 105 0 7 177 105 0 5 176 105 0 2 175 105 0 0 174 105 0 0 173 105 0 0 172 105 0 0 171 105 0 0 170 105 0 0 169 105 0 0 168 105 0 0 167 105 0 0 166 105 0 0 165 105 0 0 164 105 0 0 163 105 0 0 162 105 0 0 161 105 0 0 160 105 0 0 158 105 0 0 157 105 0 0 156 105 0 0 155 105 0 0 154 105 0 0 153 105 0 0 152 105 0 0 151 105 0 0 150 105 0 0 149 105 0 0 148 105 0 0 147 105 0 0 146 105 0 0 145 105 1 0 144 105 1 0 143 105 2 0 142 105 3 0 141 105 4 0 140 105 5 0 139 105 6 0 138 105 7 0 137 105 8 0 136 105 9 0 135 105 10 0 134 105 11 0 133 105 12 0 132 105 13 0 131 105 14 0 130 105 15 0 129 105 16 0 128 105 17 0 127 105 18 0 125 105 19 0 124 105 20 0 123 105 21 0 122 105 22 0 121 105 23 0 120 105 24 0 119 105 25 0 118 105 27 0 117 105 28 0 116 105 29 0 115 105 30 0 114 105 31 0 113 105 32 0 112 105 33 0 111 105 34 0 110 105 35 0 109 105 36 0 108 105 37 0 107 105 38 0 106 105 39 0 105 105 40 0 104 105 41 0 103 105 42 0 102 105 43 0 101 105 44 0 100 105 45 0 99 105 46 0 98 105 47 0 97 105 48 0 96 105 49 0 95 105 50 0 94 105 51 0 92 105 52 0 91 105 53 0 90 105 54 0 89 105 55 0 88 105 56 0 87 105 57 0 86 105 58 0 85 105 60 0 84 105 61 0 83 105 62 0 82 105 63 0 81 105 64 0 80 105 65 0 79 105 66 0 78 105 67 0 77 105 68 0 76 105 69 0 75 105 70 0 74 105 71 0 73 105 72 0 72 105 73 3 71 105 74 6 70 105 75 10 69 105 76 14 68 105 77 17 67 105 78 20 66 105 79 24 65 105 80 27 64 105 81 28 63 105 82 31 62 105 83 32 61 105 84 36 59 105 85 38 58 105 86 40 57 105 87 44 56 105 88 47 55 105 89 50 54 105 90 53 53 105 91 57 52 105 93 60 51 105 94 62 50 105 95 66 49 105 96 69 48 105 97 70 47 105 98 74 46 105 99 77 45 105 100 81 44 105 101 84 43 105 102 88 42 105 103 89 41 105 104 92 40 105 105 95 39 105 106 96 38 105 107 99 37 105 108 103 36 105 109 107 35 105 110 110 34 105 111 114 33 105 112 117 32 105 113 120 31 105 114 126 30 105 115 130 29 105 116 133 28 105 117 137 26 105 118 140 25 105 119 143 24 105 120 149 23 105 121 152 22 105 122 153 21 105 123 155 20 105 124 157 19 105 126 160 18 105 127 162 17 105 128 166 16 105 129 171 15 105 130 174 14 105 131 176 13 105 132 178 12 105 133 179 11 105 134 181 10 105 135 182 9 105 136 182 8 105 137 184 7 105 138 185 6 105 139 188 5 105 140 194 4 105 141 198 3 105 142 201 2 105 143 204 1 105 144 205 0 105 145 208 0 105 146 208 0 105 146 209 0 105 147 209 0 105 147 211 0 105 147 211 255 104 0 219 254 104 0 217 254 104 0 217 254 104 0 216 253 104 0 213 252 104 0 211 251 104 0 209 250 104 0 209 249 104 0 208 248 104 0 207 247 104 0 204 246 104 0 202 245 104 0 198 244 104 0 195 243 104 0 189 242 104 0 186 241 104 0 185 240 104 0 184 239 104 0 182 238 104 0 181 237 104 0 179 236 104 0 178 235 104 0 176 234 104 0 174 233 104 0 171 232 104 0 166 231 104 0 163 230 104 0 160 229 104 0 157 228 104 0 156 227 104 0 155 226 104 0 152 224 104 0 149 223 104 0 144 222 104 0 141 221 104 0 137 220 104 0 134 219 104 0 131 218 104 0 128 217 104 0 121 216 104 0 120 215 104 0 115 214 104 0 112 213 104 0 110 212 104 0 104 211 104 0 102 210 104 0 98 209 104 0 96 208 104 0 93 207 104 0 91 206 104 0 88 205 104 0 84 204 104 0 81 203 104 0 80 202 104 0 74 201 104 0 71 200 104 0 69 199 104 0 66 198 104 0 62 197 104 0 60 196 104 0 57 195 104 0 53 194 104 0 50 193 104 0 47 191 104 0 44 190 104 0 40 189 104 0 38 188 104 0 36 187 104 0 32 186 104 0 31 185 104 0 29 184 104 0 27 183 104 0 25 182 104 0 22 181 104 0 18 180 104 0 16 179 104 0 13 178 104 0 7 177 104 0 5 176 104 0 2 175 104 0 0 174 104 0 0 173 104 0 0 172 104 0 0 171 104 0 0 170 104 0 0 169 104 0 0 168 104 0 0 167 104 0 0 166 104 0 0 165 104 0 0 164 104 0 0 163 104 0 0 162 104 0 0 161 104 0 0 160 104 0 0 158 104 0 0 157 104 0 0 156 104 0 0 155 104 0 0 154 104 0 0 153 104 0 0 152 104 0 0 151 104 0 0 150 104 0 0 149 104 0 0 148 104 0 0 147 104 0 0 146 104 1 0 145 104 1 0 144 104 2 0 143 104 3 0 142 104 4 0 141 104 5 0 140 104 6 0 139 104 7 0 138 104 8 0 137 104 9 0 136 104 10 0 135 104 11 0 134 104 12 0 133 104 13 0 132 104 14 0 131 104 15 0 130 104 16 0 129 104 17 0 128 104 18 0 127 104 19 0 125 104 20 0 124 104 21 0 123 104 22 0 122 104 23 0 121 104 24 0 120 104 25 0 119 104 26 0 118 104 28 0 117 104 29 0 116 104 30 0 115 104 31 0 114 104 32 0 113 104 33 0 112 104 34 0 111 104 35 0 110 104 36 0 109 104 37 0 108 104 38 0 107 104 39 0 106 104 40 0 105 104 41 0 104 104 42 0 103 104 43 0 102 104 44 0 101 104 45 0 100 104 46 0 99 104 47 0 98 104 48 0 97 104 49 0 96 104 50 0 95 104 51 0 94 104 52 0 92 104 53 0 91 104 54 0 90 104 55 0 89 104 56 0 88 104 57 0 87 104 58 0 86 104 59 0 85 104 61 0 84 104 62 0 83 104 63 0 82 104 64 0 81 104 65 0 80 104 66 0 79 104 67 0 78 104 68 0 77 104 69 0 76 104 70 0 75 104 71 0 74 104 72 0 73 104 73 2 72 104 74 5 71 104 75 6 70 104 76 10 69 104 77 14 68 104 78 17 67 104 79 20 66 104 80 24 65 104 81 27 64 104 82 28 63 104 83 31 62 104 84 32 61 104 85 36 59 104 86 38 58 104 87 40 57 104 88 44 56 104 89 47 55 104 90 50 54 104 91 53 53 104 92 57 52 104 94 60 51 104 95 62 50 104 96 66 49 104 97 69 48 104 98 70 47 104 99 74 46 104 100 77 45 104 101 81 44 104 102 84 43 104 103 88 42 104 104 91 41 104 105 92 40 104 106 95 39 104 107 98 38 104 108 102 37 104 109 104 36 104 110 108 35 104 111 111 34 104 112 114 33 104 113 118 32 104 114 121 31 104 115 126 30 104 116 131 29 104 117 134 28 104 118 137 26 104 119 140 25 104 120 144 24 104 121 149 23 104 122 152 22 104 123 153 21 104 124 155 20 104 125 157 19 104 127 160 18 104 128 162 17 104 129 166 16 104 130 171 15 104 131 174 14 104 132 176 13 104 133 178 12 104 134 179 11 104 135 181 10 104 136 182 9 104 137 182 8 104 138 184 7 104 139 186 6 104 140 188 5 104 141 194 4 104 142 198 3 104 143 201 2 104 144 204 1 104 145 205 0 104 146 208 0 104 147 208 0 104 147 209 0 104 148 209 0 104 148 211 0 104 148 211 255 103 0 219 254 103 0 217 254 103 0 217 254 103 0 216 253 103 0 213 252 103 0 211 251 103 0 209 250 103 0 209 249 103 0 208 248 103 0 207 247 103 0 204 246 103 0 202 245 103 0 198 244 103 0 195 243 103 0 189 242 103 0 188 241 103 0 185 240 103 0 184 239 103 0 182 238 103 0 181 237 103 0 179 236 103 0 178 235 103 0 176 234 103 0 174 233 103 0 171 232 103 0 166 231 103 0 163 230 103 0 160 229 103 0 157 228 103 0 156 227 103 0 155 226 103 0 152 224 103 0 149 223 103 0 144 222 103 0 141 221 103 0 137 220 103 0 134 219 103 0 131 218 103 0 128 217 103 0 122 216 103 0 120 215 103 0 117 214 103 0 114 213 103 0 111 212 103 0 108 211 103 0 103 210 103 0 99 209 103 0 96 208 103 0 93 207 103 0 91 206 103 0 88 205 103 0 84 204 103 0 82 203 103 0 80 202 103 0 76 201 103 0 71 200 103 0 69 199 103 0 66 198 103 0 64 197 103 0 60 196 103 0 57 195 103 0 53 194 103 0 51 193 103 0 49 191 103 0 44 190 103 0 40 189 103 0 39 188 103 0 36 187 103 0 32 186 103 0 31 185 103 0 29 184 103 0 27 183 103 0 25 182 103 0 22 181 103 0 18 180 103 0 16 179 103 0 13 178 103 0 7 177 103 0 5 176 103 0 3 175 103 0 0 174 103 0 0 173 103 0 0 172 103 0 0 171 103 0 0 170 103 0 0 169 103 0 0 168 103 0 0 167 103 0 0 166 103 0 0 165 103 0 0 164 103 0 0 163 103 0 0 162 103 0 0 161 103 0 0 160 103 0 0 158 103 0 0 157 103 0 0 156 103 0 0 155 103 0 0 154 103 0 0 153 103 0 0 152 103 0 0 151 103 0 0 150 103 0 0 149 103 0 0 148 103 0 0 147 103 1 0 146 103 1 0 145 103 2 0 144 103 3 0 143 103 4 0 142 103 5 0 141 103 6 0 140 103 7 0 139 103 8 0 138 103 9 0 137 103 10 0 136 103 11 0 135 103 12 0 134 103 13 0 133 103 14 0 132 103 15 0 131 103 16 0 130 103 17 0 129 103 18 0 128 103 19 0 127 103 20 0 125 103 21 0 124 103 22 0 123 103 23 0 122 103 24 0 121 103 25 0 120 103 26 0 119 103 27 0 118 103 29 0 117 103 30 0 116 103 31 0 115 103 32 0 114 103 33 0 113 103 34 0 112 103 35 0 111 103 36 0 110 103 37 0 109 103 38 0 108 103 39 0 107 103 40 0 106 103 41 0 105 103 42 0 104 103 43 0 103 103 44 0 102 103 45 0 101 103 46 0 100 103 47 0 99 103 48 0 98 103 49 0 97 103 50 0 96 103 51 0 95 103 52 0 94 103 53 0 92 103 54 0 91 103 55 0 90 103 56 0 89 103 57 0 88 103 58 0 87 103 59 0 86 103 60 0 85 103 62 0 84 103 63 0 83 103 64 0 82 103 65 0 81 103 66 0 80 103 67 0 79 103 68 0 78 103 69 0 77 103 70 0 76 103 71 0 75 103 72 0 74 103 73 0 73 103 74 2 72 103 75 5 71 103 76 7 70 103 77 10 69 103 78 14 68 103 79 17 67 103 80 20 66 103 81 24 65 103 82 27 64 103 83 28 63 103 84 31 62 103 85 32 61 103 86 36 59 103 87 39 58 103 88 40 57 103 89 44 56 103 90 47 55 103 91 50 54 103 92 53 53 103 93 57 52 103 95 60 51 103 96 62 50 103 97 66 49 103 98 69 48 103 99 71 47 103 100 74 46 103 101 77 45 103 102 81 44 103 103 84 43 103 104 88 42 103 105 91 41 103 106 93 40 103 107 96 39 103 108 99 38 103 109 103 37 103 110 107 36 103 111 110 35 103 112 112 34 103 113 115 33 103 114 120 32 103 115 122 31 103 116 128 30 103 117 131 29 103 118 134 28 103 119 137 26 103 120 141 25 103 121 144 24 103 122 149 23 103 123 152 22 103 124 153 21 103 125 155 20 103 126 157 19 103 128 160 18 103 129 162 17 103 130 166 16 103 131 171 15 103 132 174 14 103 133 176 13 103 134 178 12 103 135 179 11 103 136 181 10 103 137 182 9 103 138 182 8 103 139 184 7 103 140 186 6 103 141 189 5 103 142 195 4 103 143 198 3 103 144 201 2 103 145 204 1 103 146 205 0 103 147 208 0 103 148 208 0 103 148 209 0 103 148 209 0 103 149 211 0 103 149 211 255 102 0 219 254 102 0 217 254 102 0 217 254 102 0 216 253 102 0 213 252 102 0 211 251 102 0 209 250 102 0 209 249 102 0 208 248 102 0 207 247 102 0 204 246 102 0 202 245 102 0 199 244 102 0 197 243 102 0 194 242 102 0 188 241 102 0 185 240 102 0 184 239 102 0 182 238 102 0 181 237 102 0 179 236 102 0 178 235 102 0 176 234 102 0 174 233 102 0 171 232 102 0 166 231 102 0 163 230 102 0 160 229 102 0 157 228 102 0 156 227 102 0 155 226 102 0 152 224 102 0 149 223 102 0 144 222 102 0 141 221 102 0 138 220 102 0 134 219 102 0 131 218 102 0 128 217 102 0 122 216 102 0 121 215 102 0 118 214 102 0 115 213 102 0 112 212 102 0 110 211 102 0 104 210 102 0 102 209 102 0 98 208 102 0 95 207 102 0 92 206 102 0 89 205 102 0 86 204 102 0 82 203 102 0 80 202 102 0 76 201 102 0 73 200 102 0 70 199 102 0 67 198 102 0 64 197 102 0 62 196 102 0 59 195 102 0 54 194 102 0 51 193 102 0 49 191 102 0 46 190 102 0 43 189 102 0 39 188 102 0 36 187 102 0 35 186 102 0 32 185 102 0 29 184 102 0 28 183 102 0 25 182 102 0 24 181 102 0 20 180 102 0 17 179 102 0 13 178 102 0 9 177 102 0 6 176 102 0 3 175 102 0 0 174 102 0 0 173 102 0 0 172 102 0 0 171 102 0 0 170 102 0 0 169 102 0 0 168 102 0 0 167 102 0 0 166 102 0 0 165 102 0 0 164 102 0 0 163 102 0 0 162 102 0 0 161 102 0 0 160 102 0 0 158 102 0 0 157 102 0 0 156 102 0 0 155 102 0 0 154 102 0 0 153 102 0 0 152 102 0 0 151 102 0 0 150 102 0 0 149 102 1 0 148 102 1 0 147 102 2 0 146 102 2 0 145 102 3 0 144 102 4 0 143 102 5 0 142 102 6 0 141 102 7 0 140 102 8 0 139 102 9 0 138 102 10 0 137 102 11 0 136 102 12 0 135 102 13 0 134 102 14 0 133 102 15 0 132 102 16 0 131 102 17 0 130 102 18 0 129 102 19 0 128 102 20 0 127 102 21 0 125 102 22 0 124 102 24 0 123 102 25 0 122 102 26 0 121 102 27 0 120 102 28 0 119 102 29 0 118 102 30 0 117 102 31 0 116 102 32 0 115 102 33 0 114 102 34 0 113 102 35 0 112 102 36 0 111 102 37 0 110 102 38 0 109 102 39 0 108 102 40 0 107 102 41 0 106 102 42 0 105 102 43 0 104 102 44 0 103 102 45 0 102 102 46 0 101 102 47 0 100 102 48 0 99 102 49 0 98 102 50 0 97 102 51 0 96 102 52 0 95 102 53 0 94 102 54 0 92 102 55 0 91 102 57 0 90 102 58 0 89 102 59 0 88 102 60 0 87 102 61 0 86 102 62 0 85 102 63 0 84 102 64 0 83 102 65 0 82 102 66 0 81 102 67 0 80 102 68 0 79 102 69 0 78 102 70 0 77 102 71 0 76 102 72 0 75 102 73 0 74 102 74 0 73 102 75 3 72 102 76 6 71 102 77 9 70 102 78 13 69 102 79 16 68 102 80 18 67 102 81 22 66 102 82 25 65 102 83 27 64 102 84 29 63 102 85 31 62 102 86 35 61 102 87 36 59 102 88 39 58 102 90 43 57 102 91 46 56 102 92 49 55 102 93 51 54 102 94 54 53 102 95 59 52 102 96 60 51 102 97 64 50 102 98 67 49 102 99 70 48 102 100 73 47 102 101 76 46 102 102 80 45 102 103 82 44 102 104 86 43 102 105 89 42 102 106 91 41 102 107 93 40 102 108 98 39 102 109 102 38 102 110 104 37 102 111 108 36 102 112 111 35 102 113 114 34 102 114 117 33 102 115 120 32 102 116 122 31 102 117 128 30 102 118 131 29 102 119 134 28 102 120 137 26 102 121 141 25 102 123 144 24 102 124 149 23 102 125 152 22 102 126 153 21 102 127 155 20 102 128 157 19 102 129 160 18 102 130 162 17 102 131 166 16 102 132 171 15 102 133 174 14 102 134 176 13 102 135 178 12 102 136 179 11 102 137 181 10 102 138 182 9 102 139 184 8 102 140 185 7 102 141 188 6 102 142 189 5 102 143 195 4 102 144 198 3 102 145 201 2 102 146 204 1 102 147 205 0 102 148 208 0 102 149 208 0 102 149 209 0 102 150 211 0 102 150 211 0 102 150 211 255 101 0 219 254 101 0 219 254 101 0 217 254 101 0 216 253 101 0 213 252 101 0 213 251 101 0 211 250 101 0 209 249 101 0 208 248 101 0 207 247 101 0 204 246 101 0 202 245 101 0 199 244 101 0 197 243 101 0 195 242 101 0 189 241 101 0 186 240 101 0 185 239 101 0 184 238 101 0 182 237 101 0 181 236 101 0 178 235 101 0 176 234 101 0 174 233 101 0 171 232 101 0 166 231 101 0 163 230 101 0 160 229 101 0 157 228 101 0 156 227 101 0 155 226 101 0 152 224 101 0 149 223 101 0 144 222 101 0 141 221 101 0 138 220 101 0 134 219 101 0 131 218 101 0 130 217 101 0 126 216 101 0 121 215 101 0 118 214 101 0 115 213 101 0 114 212 101 0 110 211 101 0 107 210 101 0 103 209 101 0 99 208 101 0 95 207 101 0 92 206 101 0 89 205 101 0 86 204 101 0 84 203 101 0 81 202 101 0 77 201 101 0 74 200 101 0 71 199 101 0 69 198 101 0 66 197 101 0 62 196 101 0 60 195 101 0 57 194 101 0 53 193 101 0 50 191 101 0 47 190 101 0 44 189 101 0 40 188 101 0 38 187 101 0 36 186 101 0 32 185 101 0 31 184 101 0 28 183 101 0 27 182 101 0 24 181 101 0 20 180 101 0 17 179 101 0 14 178 101 0 10 177 101 0 7 176 101 0 5 175 101 0 2 174 101 0 0 173 101 0 0 172 101 0 0 171 101 0 0 170 101 0 0 169 101 0 0 168 101 0 0 167 101 0 0 166 101 0 0 165 101 0 0 164 101 0 0 163 101 0 0 162 101 0 0 161 101 0 0 160 101 0 0 158 101 0 0 157 101 0 0 156 101 0 0 155 101 0 0 154 101 0 0 153 101 0 0 152 101 0 0 151 101 0 0 150 101 1 0 149 101 2 0 148 101 2 0 147 101 3 0 146 101 3 0 145 101 4 0 144 101 5 0 143 101 6 0 142 101 7 0 141 101 9 0 140 101 10 0 139 101 10 0 138 101 11 0 137 101 12 0 136 101 13 0 135 101 14 0 134 101 15 0 133 101 17 0 132 101 18 0 131 101 18 0 130 101 19 0 129 101 20 0 128 101 21 0 127 101 22 0 125 101 24 0 124 101 25 0 123 101 26 0 122 101 27 0 121 101 28 0 120 101 29 0 119 101 30 0 118 101 31 0 117 101 32 0 116 101 34 0 115 101 35 0 114 101 35 0 113 101 36 0 112 101 37 0 111 101 38 0 110 101 39 0 109 101 40 0 108 101 42 0 107 101 43 0 106 101 43 0 105 101 44 0 104 101 45 0 103 101 46 0 102 101 47 0 101 101 48 0 100 101 50 0 99 101 51 0 98 101 51 0 97 101 52 0 96 101 53 0 95 101 54 0 94 101 55 0 92 101 57 0 91 101 58 0 90 101 59 0 89 101 60 0 88 101 61 0 87 101 62 0 86 101 63 0 85 101 64 0 84 101 65 0 83 101 67 0 82 101 68 0 81 101 68 0 80 101 69 0 79 101 70 0 78 101 71 0 77 101 72 0 76 101 73 0 75 101 75 0 74 101 76 2 73 101 76 5 72 101 77 7 71 101 78 10 70 101 79 14 69 101 80 17 68 101 81 20 67 101 83 22 66 101 84 25 65 101 84 28 64 101 85 29 63 101 86 32 62 101 87 36 61 101 88 38 59 101 90 40 58 101 91 44 57 101 92 46 56 101 93 50 55 101 94 53 54 101 95 54 53 101 96 59 52 101 97 62 51 101 98 66 50 101 100 67 49 101 101 71 48 101 101 73 47 101 102 77 46 101 103 81 45 101 104 84 44 101 105 86 43 101 106 89 42 101 108 92 41 101 109 95 40 101 109 98 39 101 110 103 38 101 111 107 37 101 112 110 36 101 113 112 35 101 114 115 34 101 116 118 33 101 117 121 32 101 117 122 31 101 118 128 30 101 119 131 29 101 120 134 28 101 121 138 26 101 123 141 25 101 124 144 24 101 125 149 23 101 126 152 22 101 127 153 21 101 128 155 20 101 129 157 19 101 130 160 18 101 131 162 17 101 133 166 16 101 134 171 15 101 134 174 14 101 135 176 13 101 136 178 12 101 137 179 11 101 138 181 10 101 139 182 9 101 141 185 8 101 142 186 7 101 142 188 6 101 143 194 5 101 144 197 4 101 145 199 3 101 146 202 2 101 147 204 1 101 149 205 0 101 149 208 0 101 150 209 0 101 151 209 0 101 151 211 0 101 151 211 0 101 151 213 255 100 0 219 254 100 0 219 254 100 0 217 254 100 0 216 253 100 0 216 252 100 0 213 251 100 0 211 250 100 0 209 249 100 0 208 248 100 0 207 247 100 0 205 246 100 0 204 245 100 0 201 244 100 0 198 243 100 0 197 242 100 0 194 241 100 0 188 240 100 0 186 239 100 0 184 238 100 0 182 237 100 0 181 236 100 0 179 235 100 0 176 234 100 0 174 233 100 0 171 232 100 0 166 231 100 0 163 230 100 0 160 229 100 0 157 228 100 0 156 227 100 0 155 226 100 0 152 224 100 0 149 223 100 0 144 222 100 0 141 221 100 0 138 220 100 0 134 219 100 0 131 218 100 0 130 217 100 0 126 216 100 0 121 215 100 0 120 214 100 0 117 213 100 0 114 212 100 0 111 211 100 0 108 210 100 0 104 209 100 0 99 208 100 0 96 207 100 0 93 206 100 0 91 205 100 0 88 204 100 0 84 203 100 0 82 202 100 0 80 201 100 0 76 200 100 0 73 199 100 0 70 198 100 0 67 197 100 0 64 196 100 0 62 195 100 0 59 194 100 0 54 193 100 0 51 191 100 0 49 190 100 0 46 189 100 0 43 188 100 0 39 187 100 0 38 186 100 0 35 185 100 0 32 184 100 0 29 183 100 0 28 182 100 0 25 181 100 0 22 180 100 0 18 179 100 0 16 178 100 0 13 177 100 0 9 176 100 0 6 175 100 0 3 174 100 0 0 173 100 0 0 172 100 0 0 171 100 0 0 170 100 0 0 169 100 0 0 168 100 0 0 167 100 0 0 166 100 0 0 165 100 0 0 164 100 0 0 163 100 0 0 162 100 0 0 161 100 0 0 160 100 0 0 158 100 0 0 157 100 0 0 156 100 0 0 155 100 0 0 154 100 0 0 153 100 0 0 152 100 0 0 151 100 1 0 150 100 2 0 149 100 2 0 148 100 3 0 147 100 4 0 146 100 4 0 145 100 5 0 144 100 6 0 143 100 7 0 142 100 9 0 141 100 10 0 140 100 11 0 139 100 12 0 138 100 12 0 137 100 13 0 136 100 14 0 135 100 15 0 134 100 17 0 133 100 18 0 132 100 19 0 131 100 20 0 130 100 20 0 129 100 21 0 128 100 22 0 127 100 24 0 125 100 25 0 124 100 26 0 123 100 27 0 122 100 28 0 121 100 29 0 120 100 30 0 119 100 31 0 118 100 32 0 117 100 34 0 116 100 35 0 115 100 36 0 114 100 37 0 113 100 37 0 112 100 38 0 111 100 39 0 110 100 40 0 109 100 42 0 108 100 43 0 107 100 44 0 106 100 45 0 105 100 45 0 104 100 46 0 103 100 47 0 102 100 48 0 101 100 50 0 100 100 51 0 99 100 52 0 98 100 53 0 97 100 53 0 96 100 54 0 95 100 55 0 94 100 57 0 92 100 58 0 91 100 59 0 90 100 60 0 89 100 61 0 88 100 62 0 87 100 63 0 86 100 64 0 85 100 65 0 84 100 67 0 83 100 68 0 82 100 69 0 81 100 70 0 80 100 70 0 79 100 71 0 78 100 72 0 77 100 73 0 76 100 75 0 75 100 76 0 74 100 77 3 73 100 78 6 72 100 78 9 71 100 79 13 70 100 80 16 69 100 81 18 68 100 83 22 67 100 84 24 66 100 85 27 65 100 86 28 64 100 86 31 63 100 87 35 62 100 88 36 61 100 90 39 59 100 91 43 58 100 92 46 57 100 93 49 56 100 94 51 55 100 95 54 54 100 96 57 53 100 97 60 52 100 98 64 51 100 100 67 50 100 101 70 49 100 102 73 48 100 103 76 47 100 103 80 46 100 104 82 45 100 105 84 44 100 106 88 43 100 108 91 42 100 109 93 41 100 110 96 40 100 111 99 39 100 111 103 38 100 112 107 37 100 113 111 36 100 114 114 35 100 116 115 34 100 117 118 33 100 118 121 32 100 119 122 31 100 119 128 30 100 120 131 29 100 121 134 28 100 123 138 26 100 124 141 25 100 125 144 24 100 126 149 23 100 127 152 22 100 128 153 21 100 129 155 20 100 130 157 19 100 131 160 18 100 133 162 17 100 134 166 16 100 135 171 15 100 136 174 14 100 136 176 13 100 137 178 12 100 138 181 11 100 139 182 10 100 141 184 9 100 142 185 8 100 143 188 7 100 144 194 6 100 144 195 5 100 145 198 4 100 146 199 3 100 147 202 2 100 149 204 1 100 150 205 0 100 151 208 0 100 151 209 0 100 152 211 0 100 152 211 0 100 152 213 0 100 152 213 255 99 0 219 254 99 0 219 254 99 0 217 254 99 0 217 253 99 0 216 252 99 0 213 251 99 0 211 250 99 0 209 249 99 0 208 248 99 0 207 247 99 0 205 246 99 0 204 245 99 0 202 244 99 0 199 243 99 0 198 242 99 0 195 241 99 0 189 240 99 0 186 239 99 0 185 238 99 0 182 237 99 0 181 236 99 0 179 235 99 0 176 234 99 0 174 233 99 0 171 232 99 0 166 231 99 0 163 230 99 0 160 229 99 0 157 228 99 0 156 227 99 0 155 226 99 0 152 224 99 0 149 223 99 0 144 222 99 0 141 221 99 0 138 220 99 0 134 219 99 0 131 218 99 0 130 217 99 0 126 216 99 0 122 215 99 0 120 214 99 0 117 213 99 0 114 212 99 0 111 211 99 0 108 210 99 0 104 209 99 0 102 208 99 0 98 207 99 0 95 206 99 0 92 205 99 0 89 204 99 0 88 203 99 0 84 202 99 0 81 201 99 0 77 200 99 0 74 199 99 0 71 198 99 0 69 197 99 0 66 196 99 0 64 195 99 0 60 194 99 0 57 193 99 0 53 191 99 0 50 190 99 0 47 189 99 0 44 188 99 0 40 187 99 0 39 186 99 0 36 185 99 0 32 184 99 0 31 183 99 0 29 182 99 0 27 181 99 0 24 180 99 0 22 179 99 0 18 178 99 0 16 177 99 0 13 176 99 0 9 175 99 0 5 174 99 0 2 173 99 0 0 172 99 0 0 171 99 0 0 170 99 0 0 169 99 0 0 168 99 0 0 167 99 0 0 166 99 0 0 165 99 0 0 164 99 0 0 163 99 0 0 162 99 0 0 161 99 0 0 160 99 0 0 158 99 0 0 157 99 0 0 156 99 0 0 155 99 0 0 154 99 0 0 153 99 0 0 152 99 0 0 151 99 1 0 150 99 2 0 149 99 3 0 148 99 4 0 147 99 5 0 146 99 5 0 145 99 6 0 144 99 7 0 143 99 8 0 142 99 10 0 141 99 11 0 140 99 12 0 139 99 13 0 138 99 13 0 137 99 14 0 136 99 15 0 135 99 16 0 134 99 18 0 133 99 19 0 132 99 20 0 131 99 21 0 130 99 21 0 129 99 22 0 128 99 23 0 127 99 25 0 125 99 26 0 124 99 27 0 123 99 28 0 122 99 29 0 121 99 30 0 120 99 31 0 119 99 32 0 118 99 33 0 117 99 35 0 116 99 36 0 115 99 37 0 114 99 38 0 113 99 38 0 112 99 39 0 111 99 40 0 110 99 41 0 109 99 43 0 108 99 44 0 107 99 45 0 106 99 46 0 105 99 46 0 104 99 47 0 103 99 48 0 102 99 49 0 101 99 51 0 100 99 52 0 99 99 53 0 98 99 54 0 97 99 54 0 96 99 55 0 95 99 56 0 94 99 58 0 92 99 59 0 91 99 60 0 90 99 61 0 89 99 62 0 88 99 63 0 87 99 64 0 86 99 65 0 85 99 66 0 84 99 68 0 83 99 69 0 82 99 70 0 81 99 71 0 80 99 71 0 79 99 72 0 78 99 73 0 77 99 74 0 76 99 76 0 75 99 77 2 74 99 78 5 73 99 79 7 72 99 79 10 71 99 80 14 70 99 81 17 69 99 82 20 68 99 84 24 67 99 85 25 66 99 86 28 65 99 87 29 64 99 87 32 63 99 88 36 62 99 89 38 61 99 91 40 59 99 92 44 58 99 93 47 57 99 94 50 56 99 95 53 55 99 96 57 54 99 97 59 53 99 98 62 52 99 99 66 51 99 101 69 50 99 102 71 49 99 103 74 48 99 104 77 47 99 104 81 46 99 105 84 45 99 106 86 44 99 107 89 43 99 109 92 42 99 110 95 41 99 111 96 40 99 112 99 39 99 112 104 38 99 113 108 37 99 114 111 36 99 115 114 35 99 117 117 34 99 118 118 33 99 119 121 32 99 120 126 31 99 120 128 30 99 121 131 29 99 122 134 28 99 124 138 26 99 125 141 25 99 126 144 24 99 127 149 23 99 128 152 22 99 129 153 21 99 130 155 20 99 131 157 19 99 132 160 18 99 134 162 17 99 135 166 16 99 136 171 15 99 137 174 14 99 137 176 13 99 138 179 12 99 139 181 11 99 140 182 10 99 142 185 9 99 143 186 8 99 144 189 7 99 145 195 6 99 145 197 5 99 146 199 4 99 147 201 3 99 148 204 2 99 150 205 1 99 151 207 0 99 152 208 0 99 152 209 0 99 153 211 0 99 153 213 0 99 153 216 0 99 153 216 255 98 0 219 254 98 0 219 254 98 0 219 254 98 0 217 253 98 0 217 252 98 0 216 251 98 0 213 250 98 0 211 249 98 0 209 248 98 0 207 247 98 0 205 246 98 0 204 245 98 0 202 244 98 0 201 243 98 0 199 242 98 0 197 241 98 0 194 240 98 0 188 239 98 0 186 238 98 0 184 237 98 0 181 236 98 0 179 235 98 0 176 234 98 0 174 233 98 0 171 232 98 0 166 231 98 0 163 230 98 0 160 229 98 0 157 228 98 0 156 227 98 0 155 226 98 0 152 224 98 0 149 223 98 0 144 222 98 0 141 221 98 0 138 220 98 0 134 219 98 0 133 218 98 0 130 217 98 0 126 216 98 0 122 215 98 0 120 214 98 0 117 213 98 0 115 212 98 0 111 211 98 0 108 210 98 0 104 209 98 0 102 208 98 0 98 207 98 0 96 206 98 0 93 205 98 0 91 204 98 0 88 203 98 0 86 202 98 0 82 201 98 0 80 200 98 0 76 199 98 0 73 198 98 0 70 197 98 0 67 196 98 0 64 195 98 0 60 194 98 0 59 193 98 0 54 191 98 0 51 190 98 0 49 189 98 0 46 188 98 0 43 187 98 0 39 186 98 0 38 185 98 0 35 184 98 0 32 183 98 0 29 182 98 0 28 181 98 0 25 180 98 0 22 179 98 0 20 178 98 0 17 177 98 0 14 176 98 0 10 175 98 0 6 174 98 0 3 173 98 0 0 172 98 0 0 171 98 0 0 170 98 0 0 169 98 0 0 168 98 0 0 167 98 0 0 166 98 0 0 165 98 0 0 164 98 0 0 163 98 0 0 162 98 0 0 161 98 0 0 160 98 0 0 158 98 0 0 157 98 0 0 156 98 0 0 155 98 0 0 154 98 0 0 153 98 0 0 152 98 1 0 151 98 2 0 150 98 3 0 149 98 4 0 148 98 5 0 147 98 6 0 146 98 6 0 145 98 7 0 144 98 8 0 143 98 9 0 142 98 10 0 141 98 12 0 140 98 13 0 139 98 14 0 138 98 14 0 137 98 15 0 136 98 16 0 135 98 17 0 134 98 18 0 133 98 20 0 132 98 21 0 131 98 22 0 130 98 22 0 129 98 23 0 128 98 24 0 127 98 26 0 125 98 27 0 124 98 28 0 123 98 29 0 122 98 30 0 121 98 31 0 120 98 32 0 119 98 33 0 118 98 34 0 117 98 35 0 116 98 37 0 115 98 38 0 114 98 39 0 113 98 39 0 112 98 40 0 111 98 41 0 110 98 42 0 109 98 43 0 108 98 45 0 107 98 46 0 106 98 47 0 105 98 47 0 104 98 48 0 103 98 49 0 102 98 50 0 101 98 51 0 100 98 53 0 99 98 54 0 98 98 55 0 97 98 55 0 96 98 56 0 95 98 57 0 94 98 59 0 92 98 60 0 91 98 61 0 90 98 62 0 89 98 63 0 88 98 64 0 87 98 65 0 86 98 66 0 85 98 67 0 84 98 68 0 83 98 70 0 82 98 71 0 81 98 72 0 80 98 72 0 79 98 73 0 78 98 74 0 77 98 75 0 76 98 76 0 75 98 78 3 74 98 79 6 73 98 80 9 72 98 80 13 71 98 81 16 70 98 82 18 69 98 83 22 68 98 84 25 67 98 86 27 66 98 87 29 65 98 88 31 64 98 88 35 63 98 89 36 62 98 90 39 61 98 92 43 59 98 93 46 58 98 94 49 57 98 95 51 56 98 96 54 55 98 97 57 54 98 98 60 53 98 99 64 52 98 100 67 51 98 101 70 50 98 103 73 49 98 104 76 48 98 105 80 47 98 105 82 46 98 106 86 45 98 107 88 44 98 108 91 43 98 109 93 42 98 111 95 41 98 112 98 40 98 113 102 39 98 113 104 38 98 114 108 37 98 115 111 36 98 116 114 35 98 117 117 34 98 119 118 33 98 120 121 32 98 121 126 31 98 121 128 30 98 122 131 29 98 123 134 28 98 125 138 26 98 126 141 25 98 127 144 24 98 128 149 23 98 129 152 22 98 130 153 21 98 131 155 20 98 132 157 19 98 133 160 18 98 134 162 17 98 136 166 16 98 137 171 15 98 138 174 14 98 138 176 13 98 139 179 12 98 140 181 11 98 141 184 10 98 142 185 9 98 144 188 8 98 145 194 7 98 146 197 6 98 146 198 5 98 147 201 4 98 148 202 3 98 149 204 2 98 150 205 1 98 152 207 0 98 152 208 0 98 153 209 0 98 154 211 0 98 154 216 0 98 154 216 0 98 154 217 255 97 0 219 254 97 0 219 254 97 0 219 254 97 0 219 253 97 0 217 252 97 0 216 251 97 0 213 250 97 0 211 249 97 0 209 248 97 0 208 247 97 0 207 246 97 0 205 245 97 0 204 244 97 0 202 243 97 0 199 242 97 0 198 241 97 0 195 240 97 0 189 239 97 0 186 238 97 0 184 237 97 0 181 236 97 0 179 235 97 0 176 234 97 0 174 233 97 0 171 232 97 0 166 231 97 0 163 230 97 0 160 229 97 0 157 228 97 0 156 227 97 0 155 226 97 0 152 224 97 0 149 223 97 0 144 222 97 0 141 221 97 0 138 220 97 0 135 219 97 0 133 218 97 0 130 217 97 0 126 216 97 0 122 215 97 0 120 214 97 0 117 213 97 0 115 212 97 0 112 211 97 0 110 210 97 0 107 209 97 0 103 208 97 0 99 207 97 0 96 206 97 0 95 205 97 0 92 204 97 0 89 203 97 0 88 202 97 0 84 201 97 0 81 200 97 0 77 199 97 0 74 198 97 0 71 197 97 0 69 196 97 0 66 195 97 0 62 194 97 0 60 193 97 0 57 191 97 0 53 190 97 0 50 189 97 0 47 188 97 0 44 187 97 0 40 186 97 0 38 185 97 0 36 184 97 0 32 183 97 0 31 182 97 0 28 181 97 0 27 180 97 0 24 179 97 0 20 178 97 0 17 177 97 0 16 176 97 0 13 175 97 0 7 174 97 0 5 173 97 0 2 172 97 0 0 171 97 0 0 170 97 0 0 169 97 0 0 168 97 0 0 167 97 0 0 166 97 0 0 165 97 0 0 164 97 0 0 163 97 0 0 162 97 0 0 161 97 0 0 160 97 0 0 158 97 0 0 157 97 0 0 156 97 0 0 155 97 0 0 154 97 0 0 153 97 1 0 152 97 1 0 151 97 2 0 150 97 3 0 149 97 4 0 148 97 5 0 147 97 6 0 146 97 7 0 145 97 8 0 144 97 9 0 143 97 10 0 142 97 11 0 141 97 12 0 140 97 13 0 139 97 14 0 138 97 15 0 137 97 16 0 136 97 17 0 135 97 18 0 134 97 19 0 133 97 20 0 132 97 21 0 131 97 22 0 130 97 23 0 129 97 24 0 128 97 25 0 127 97 27 0 125 97 28 0 124 97 29 0 123 97 30 0 122 97 31 0 121 97 32 0 120 97 33 0 119 97 34 0 118 97 35 0 117 97 36 0 116 97 37 0 115 97 38 0 114 97 39 0 113 97 40 0 112 97 41 0 111 97 42 0 110 97 43 0 109 97 44 0 108 97 45 0 107 97 46 0 106 97 47 0 105 97 48 0 104 97 49 0 103 97 50 0 102 97 51 0 101 97 52 0 100 97 53 0 99 97 54 0 98 97 55 0 97 97 56 0 96 97 57 0 95 97 58 0 94 97 60 0 92 97 61 0 91 97 62 0 90 97 63 0 89 97 64 0 88 97 65 0 87 97 66 0 86 97 67 0 85 97 68 0 84 97 69 0 83 97 70 0 82 97 71 0 81 97 72 0 80 97 73 0 79 97 74 0 78 97 75 0 77 97 76 0 76 97 77 2 75 97 78 5 74 97 79 7 73 97 80 10 72 97 81 14 71 97 82 17 70 97 83 20 69 97 84 24 68 97 85 25 67 97 86 28 66 97 87 31 65 97 88 32 64 97 89 35 63 97 90 38 62 97 91 40 61 97 93 44 59 97 94 47 58 97 95 50 57 97 96 53 56 97 97 57 55 97 98 59 54 97 99 62 53 97 100 66 52 97 101 69 51 97 102 71 50 97 103 74 49 97 104 77 48 97 105 81 47 97 106 84 46 97 107 88 45 97 108 89 44 97 109 92 43 97 110 93 42 97 111 96 41 97 112 98 40 97 113 102 39 97 114 104 38 97 115 108 37 97 116 111 36 97 117 114 35 97 118 117 34 97 119 120 33 97 120 121 32 97 121 126 31 97 122 130 30 97 123 133 29 97 124 135 28 97 126 138 26 97 127 141 25 97 128 144 24 97 129 149 23 97 130 152 22 97 131 153 21 97 132 155 20 97 133 157 19 97 134 160 18 97 135 162 17 97 136 166 16 97 137 171 15 97 138 174 14 97 139 176 13 97 140 179 12 97 141 181 11 97 142 184 10 97 143 186 9 97 144 189 8 97 145 194 7 97 146 197 6 97 147 199 5 97 148 201 4 97 149 202 3 97 150 204 2 97 151 205 1 97 152 207 0 97 153 208 0 97 154 209 0 97 154 213 0 97 155 216 0 97 155 217 0 97 155 217 255 96 0 219 254 96 0 219 254 96 0 219 254 96 0 219 253 96 0 217 252 96 0 216 251 96 0 213 250 96 0 211 249 96 0 209 248 96 0 208 247 96 0 207 246 96 0 205 245 96 0 204 244 96 0 202 243 96 0 201 242 96 0 198 241 96 0 195 240 96 0 189 239 96 0 186 238 96 0 184 237 96 0 181 236 96 0 179 235 96 0 176 234 96 0 174 233 96 0 171 232 96 0 166 231 96 0 163 230 96 0 160 229 96 0 157 228 96 0 156 227 96 0 155 226 96 0 153 224 96 0 150 223 96 0 145 222 96 0 143 221 96 0 138 220 96 0 135 219 96 0 133 218 96 0 130 217 96 0 128 216 96 0 122 215 96 0 121 214 96 0 118 213 96 0 115 212 96 0 112 211 96 0 110 210 96 0 107 209 96 0 103 208 96 0 102 207 96 0 98 206 96 0 95 205 96 0 93 204 96 0 91 203 96 0 89 202 96 0 86 201 96 0 82 200 96 0 80 199 96 0 76 198 96 0 73 197 96 0 70 196 96 0 67 195 96 0 64 194 96 0 62 193 96 0 59 191 96 0 54 190 96 0 51 189 96 0 49 188 96 0 46 187 96 0 43 186 96 0 39 185 96 0 36 184 96 0 35 183 96 0 32 182 96 0 29 181 96 0 27 180 96 0 25 179 96 0 22 178 96 0 18 177 96 0 16 176 96 0 13 175 96 0 9 174 96 0 6 173 96 0 3 172 96 0 0 171 96 0 0 170 96 0 0 169 96 0 0 168 96 0 0 167 96 0 0 166 96 0 0 165 96 0 0 164 96 0 0 163 96 0 0 162 96 0 0 161 96 0 0 160 96 0 0 158 96 0 0 157 96 0 0 156 96 0 0 155 96 0 0 154 96 1 0 153 96 1 0 152 96 2 0 151 96 3 0 150 96 4 0 149 96 5 0 148 96 6 0 147 96 7 0 146 96 8 0 145 96 9 0 144 96 10 0 143 96 11 0 142 96 12 0 141 96 13 0 140 96 14 0 139 96 15 0 138 96 16 0 137 96 17 0 136 96 18 0 135 96 19 0 134 96 20 0 133 96 21 0 132 96 22 0 131 96 23 0 130 96 24 0 129 96 25 0 128 96 26 0 127 96 28 0 125 96 29 0 124 96 30 0 123 96 31 0 122 96 32 0 121 96 33 0 120 96 34 0 119 96 35 0 118 96 36 0 117 96 37 0 116 96 38 0 115 96 39 0 114 96 40 0 113 96 41 0 112 96 42 0 111 96 43 0 110 96 44 0 109 96 45 0 108 96 46 0 107 96 47 0 106 96 48 0 105 96 49 0 104 96 50 0 103 96 51 0 102 96 52 0 101 96 53 0 100 96 54 0 99 96 55 0 98 96 56 0 97 96 57 0 96 96 58 0 95 96 59 0 94 96 61 0 92 96 62 0 91 96 63 0 90 96 64 0 89 96 65 0 88 96 66 0 87 96 67 0 86 96 68 0 85 96 69 0 84 96 70 0 83 96 71 0 82 96 72 0 81 96 73 0 80 96 74 0 79 96 75 0 78 96 76 0 77 96 77 0 76 96 78 3 75 96 79 6 74 96 80 9 73 96 81 13 72 96 82 16 71 96 83 18 70 96 84 22 69 96 85 25 68 96 86 27 67 96 87 29 66 96 88 31 65 96 89 35 64 96 90 36 63 96 91 39 62 96 92 43 61 96 94 46 59 96 95 49 58 96 96 51 57 96 97 53 56 96 98 57 55 96 99 60 54 96 100 64 53 96 101 67 52 96 102 70 51 96 103 73 50 96 104 76 49 96 105 80 48 96 106 82 47 96 107 86 46 96 108 88 45 96 109 91 44 96 110 92 43 96 111 95 42 96 112 98 41 96 113 99 40 96 114 103 39 96 115 107 38 96 116 110 37 96 117 112 36 96 118 115 35 96 119 117 34 96 120 120 33 96 121 122 32 96 122 126 31 96 123 130 30 96 124 133 29 96 125 135 28 96 127 138 26 96 128 143 25 96 129 145 24 96 130 149 23 96 131 152 22 96 132 155 21 96 133 156 20 96 134 157 19 96 135 160 18 96 136 162 17 96 137 166 16 96 138 171 15 96 139 174 14 96 140 176 13 96 141 179 12 96 142 181 11 96 143 184 10 96 144 186 9 96 145 189 8 96 146 195 7 96 147 198 6 96 148 201 5 96 149 202 4 96 150 204 3 96 151 205 2 96 152 205 1 96 153 207 0 96 154 208 0 96 155 209 0 96 155 213 0 96 156 216 0 96 156 217 0 96 156 219 255 95 0 220 254 95 0 220 254 95 0 219 254 95 0 219 253 95 0 217 252 95 0 217 251 95 0 213 250 95 0 211 249 95 0 209 248 95 0 208 247 95 0 207 246 95 0 205 245 95 0 204 244 95 0 202 243 95 0 201 242 95 0 199 241 95 0 195 240 95 0 189 239 95 0 186 238 95 0 184 237 95 0 182 236 95 0 179 235 95 0 176 234 95 0 174 233 95 0 171 232 95 0 166 231 95 0 163 230 95 0 160 229 95 0 159 228 95 0 156 227 95 0 155 226 95 0 153 224 95 0 150 223 95 0 149 222 95 0 144 221 95 0 140 220 95 0 137 219 95 0 134 218 95 0 131 217 95 0 128 216 95 0 126 215 95 0 121 214 95 0 118 213 95 0 117 212 95 0 114 211 95 0 111 210 95 0 108 209 95 0 104 208 95 0 102 207 95 0 99 206 95 0 96 205 95 0 93 204 95 0 92 203 95 0 89 202 95 0 88 201 95 0 84 200 95 0 81 199 95 0 77 198 95 0 74 197 95 0 71 196 95 0 69 195 95 0 66 194 95 0 62 193 95 0 60 191 95 0 57 190 95 0 53 189 95 0 50 188 95 0 47 187 95 0 44 186 95 0 40 185 95 0 38 184 95 0 36 183 95 0 32 182 95 0 31 181 95 0 28 180 95 0 27 179 95 0 24 178 95 0 20 177 95 0 17 176 95 0 14 175 95 0 10 174 95 0 7 173 95 0 5 172 95 0 2 171 95 0 0 170 95 0 0 169 95 0 0 168 95 0 0 167 95 0 0 166 95 0 0 165 95 0 0 164 95 0 0 163 95 0 0 162 95 0 0 161 95 0 0 160 95 0 0 158 95 0 0 157 95 0 0 156 95 0 0 155 95 1 0 154 95 1 0 153 95 2 0 152 95 3 0 151 95 4 0 150 95 5 0 149 95 6 0 148 95 7 0 147 95 8 0 146 95 9 0 145 95 10 0 144 95 11 0 143 95 12 0 142 95 13 0 141 95 14 0 140 95 15 0 139 95 16 0 138 95 17 0 137 95 18 0 136 95 19 0 135 95 20 0 134 95 21 0 133 95 22 0 132 95 23 0 131 95 24 0 130 95 25 0 129 95 26 0 128 95 27 0 127 95 29 0 125 95 30 0 124 95 31 0 123 95 32 0 122 95 33 0 121 95 34 0 120 95 35 0 119 95 36 0 118 95 37 0 117 95 38 0 116 95 39 0 115 95 40 0 114 95 41 0 113 95 42 0 112 95 43 0 111 95 44 0 110 95 45 0 109 95 46 0 108 95 47 0 107 95 48 0 106 95 49 0 105 95 50 0 104 95 51 0 103 95 52 0 102 95 53 0 101 95 54 0 100 95 55 0 99 95 56 0 98 95 57 0 97 95 58 0 96 95 59 0 95 95 60 0 94 95 62 0 92 95 63 0 91 95 64 0 90 95 65 0 89 95 66 0 88 95 67 0 87 95 68 0 86 95 69 0 85 95 70 0 84 95 71 0 83 95 72 0 82 95 73 0 81 95 74 0 80 95 75 0 79 95 76 0 78 95 77 0 77 95 78 2 76 95 79 5 75 95 80 7 74 95 81 10 73 95 82 14 72 95 83 17 71 95 84 20 70 95 85 24 69 95 86 25 68 95 87 28 67 95 88 29 66 95 89 32 65 95 90 35 64 95 91 38 63 95 92 40 62 95 93 44 61 95 95 46 59 95 96 50 58 95 97 51 57 95 98 54 56 95 99 59 55 95 100 62 54 95 101 66 53 95 102 69 52 95 103 71 51 95 104 74 50 95 105 77 49 95 106 81 48 95 107 84 47 95 108 86 46 95 109 89 45 95 110 92 44 95 111 93 43 95 112 96 42 95 113 98 41 95 114 102 40 95 115 104 39 95 116 108 38 95 117 110 37 95 118 112 36 95 119 115 35 95 120 118 34 95 121 121 33 95 122 122 32 95 123 128 31 95 124 131 30 95 125 134 29 95 126 137 28 95 128 140 26 95 129 143 25 95 130 145 24 95 131 150 23 95 132 153 22 95 133 155 21 95 134 156 20 95 135 157 19 95 136 160 18 95 137 162 17 95 138 166 16 95 139 171 15 95 140 174 14 95 141 176 13 95 142 179 12 95 143 182 11 95 144 184 10 95 145 186 9 95 146 189 8 95 147 195 7 95 148 198 6 95 149 201 5 95 150 202 4 95 151 204 3 95 152 205 2 95 153 205 1 95 154 207 0 95 155 208 0 95 156 211 0 95 157 213 0 95 157 216 0 95 157 217 0 95 157 219 255 94 0 220 254 94 0 220 254 94 0 219 254 94 0 219 253 94 0 217 252 94 0 217 251 94 0 213 250 94 0 211 249 94 0 209 248 94 0 208 247 94 0 207 246 94 0 205 245 94 0 204 244 94 0 202 243 94 0 201 242 94 0 199 241 94 0 195 240 94 0 189 239 94 0 186 238 94 0 184 237 94 0 182 236 94 0 179 235 94 0 176 234 94 0 174 233 94 0 171 232 94 0 166 231 94 0 163 230 94 0 160 229 94 0 159 228 94 0 157 227 94 0 156 226 94 0 155 224 94 0 152 223 94 0 149 222 94 0 144 221 94 0 141 220 94 0 138 219 94 0 135 218 94 0 133 217 94 0 130 216 94 0 128 215 94 0 122 214 94 0 120 213 94 0 118 212 94 0 115 211 94 0 112 210 94 0 110 209 94 0 107 208 94 0 103 207 94 0 102 206 94 0 98 205 94 0 95 204 94 0 93 203 94 0 91 202 94 0 88 201 94 0 86 200 94 0 82 199 94 0 80 198 94 0 76 197 94 0 73 196 94 0 70 195 94 0 67 194 94 0 64 193 94 0 62 191 94 0 59 190 94 0 54 189 94 0 51 188 94 0 49 187 94 0 46 186 94 0 43 185 94 0 39 184 94 0 38 183 94 0 35 182 94 0 32 181 94 0 29 180 94 0 28 179 94 0 25 178 94 0 22 177 94 0 18 176 94 0 17 175 94 0 13 174 94 0 9 173 94 0 6 172 94 0 3 171 94 0 2 170 94 0 0 169 94 0 0 168 94 0 0 167 94 0 0 166 94 0 0 165 94 0 0 164 94 0 0 163 94 0 0 162 94 0 0 161 94 0 0 160 94 0 0 158 94 0 0 157 94 1 0 156 94 1 0 155 94 2 0 154 94 2 0 153 94 3 0 152 94 4 0 151 94 5 0 150 94 6 0 149 94 7 0 148 94 8 0 147 94 9 0 146 94 10 0 145 94 11 0 144 94 12 0 143 94 13 0 142 94 14 0 141 94 15 0 140 94 16 0 139 94 17 0 138 94 18 0 137 94 19 0 136 94 20 0 135 94 21 0 134 94 22 0 133 94 24 0 132 94 25 0 131 94 26 0 130 94 27 0 129 94 28 0 128 94 29 0 127 94 30 0 125 94 31 0 124 94 32 0 123 94 33 0 122 94 34 0 121 94 35 0 120 94 36 0 119 94 37 0 118 94 38 0 117 94 39 0 116 94 40 0 115 94 41 0 114 94 42 0 113 94 43 0 112 94 44 0 111 94 45 0 110 94 46 0 109 94 47 0 108 94 48 0 107 94 49 0 106 94 50 0 105 94 51 0 104 94 52 0 103 94 53 0 102 94 54 0 101 94 55 0 100 94 57 0 99 94 58 0 98 94 59 0 97 94 60 0 96 94 61 0 95 94 62 0 94 94 63 0 92 94 64 0 91 94 65 0 90 94 66 0 89 94 67 0 88 94 68 0 87 94 69 0 86 94 70 0 85 94 71 0 84 94 72 0 83 94 73 0 82 94 74 0 81 94 75 0 80 94 76 0 79 94 77 0 78 94 78 0 77 94 79 3 76 94 80 6 75 94 81 9 74 94 82 13 73 94 83 16 72 94 84 18 71 94 85 22 70 94 86 25 69 94 87 27 68 94 88 29 67 94 90 31 66 94 91 35 65 94 92 36 64 94 93 39 63 94 94 43 62 94 95 46 61 94 96 49 59 94 97 51 58 94 98 53 57 94 99 57 56 94 100 60 55 94 101 64 54 94 102 67 53 94 103 70 52 94 104 73 51 94 105 76 50 94 106 80 49 94 107 82 48 94 108 84 47 94 109 88 46 94 110 91 45 94 111 93 44 94 112 95 43 94 113 98 42 94 114 99 41 94 115 103 40 94 116 107 39 94 117 110 38 94 118 111 37 94 119 114 36 94 120 117 35 94 121 120 34 94 123 121 33 94 124 126 32 94 125 130 31 94 126 133 30 94 127 135 29 94 128 138 28 94 129 141 26 94 130 144 25 94 131 149 24 94 132 152 23 94 133 153 22 94 134 155 21 94 135 156 20 94 136 159 19 94 137 160 18 94 138 163 17 94 139 166 16 94 140 171 15 94 141 174 14 94 142 176 13 94 143 179 12 94 144 182 11 94 145 184 10 94 146 186 9 94 147 189 8 94 148 195 7 94 149 198 6 94 150 201 5 94 151 202 4 94 152 204 3 94 153 205 2 94 154 205 1 94 156 207 0 94 157 208 0 94 157 211 0 94 158 213 0 94 158 216 0 94 158 217 0 94 158 219 255 92 0 220 254 92 0 220 254 92 0 219 254 92 0 219 253 92 0 217 252 92 0 217 251 92 0 213 250 92 0 211 249 92 0 209 248 92 0 208 247 92 0 207 246 92 0 205 245 92 0 204 244 92 0 202 243 92 0 201 242 92 0 199 241 92 0 195 240 92 0 189 239 92 0 186 238 92 0 184 237 92 0 182 236 92 0 179 235 92 0 176 234 92 0 174 233 92 0 172 232 92 0 166 231 92 0 163 230 92 0 162 229 92 0 160 228 92 0 157 227 92 0 156 226 92 0 155 224 92 0 153 223 92 0 150 222 92 0 149 221 92 0 144 220 92 0 141 219 92 0 138 218 92 0 135 217 92 0 133 216 92 0 130 215 92 0 126 214 92 0 121 213 92 0 120 212 92 0 117 211 92 0 114 210 92 0 111 209 92 0 110 208 92 0 104 207 92 0 103 206 92 0 99 205 92 0 96 204 92 0 95 203 92 0 92 202 92 0 89 201 92 0 88 200 92 0 84 199 92 0 81 198 92 0 77 197 92 0 76 196 92 0 73 195 92 0 69 194 92 0 67 193 92 0 64 191 92 0 60 190 92 0 57 189 92 0 53 188 92 0 50 187 92 0 49 186 92 0 46 185 92 0 43 184 92 0 39 183 92 0 38 182 92 0 35 181 92 0 31 180 92 0 29 179 92 0 27 178 92 0 25 177 92 0 22 176 92 0 18 175 92 0 16 174 92 0 13 173 92 0 9 172 92 0 6 171 92 0 3 170 92 0 2 169 92 0 0 168 92 0 0 167 92 0 0 166 92 0 0 165 92 0 0 164 92 0 0 163 92 0 0 162 92 0 0 161 92 0 0 160 92 0 0 158 92 1 0 157 92 2 0 156 92 2 0 155 92 3 0 154 92 3 0 153 92 4 0 152 92 5 0 151 92 6 0 150 92 7 0 149 92 9 0 148 92 10 0 147 92 10 0 146 92 11 0 145 92 12 0 144 92 13 0 143 92 14 0 142 92 15 0 141 92 17 0 140 92 18 0 139 92 18 0 138 92 19 0 137 92 20 0 136 92 21 0 135 92 22 0 134 92 24 0 133 92 25 0 132 92 26 0 131 92 27 0 130 92 28 0 129 92 29 0 128 92 30 0 127 92 31 0 125 92 32 0 124 92 34 0 123 92 35 0 122 92 35 0 121 92 36 0 120 92 37 0 119 92 38 0 118 92 39 0 117 92 40 0 116 92 42 0 115 92 43 0 114 92 43 0 113 92 44 0 112 92 45 0 111 92 46 0 110 92 47 0 109 92 48 0 108 92 50 0 107 92 51 0 106 92 51 0 105 92 52 0 104 92 53 0 103 92 54 0 102 92 55 0 101 92 57 0 100 92 58 0 99 92 59 0 98 92 60 0 97 92 61 0 96 92 62 0 95 92 63 0 94 92 64 0 92 92 65 0 91 92 67 0 90 92 68 0 89 92 68 0 88 92 69 0 87 92 70 0 86 92 71 0 85 92 72 0 84 92 73 0 83 92 75 0 82 92 76 0 81 92 76 0 80 92 77 0 79 92 78 0 78 92 79 3 77 92 80 6 76 92 81 9 75 92 83 13 74 92 84 16 73 92 84 18 72 92 85 22 71 92 86 24 70 92 87 27 69 92 88 29 68 92 90 31 67 92 91 35 66 92 92 36 65 92 93 39 64 92 94 43 63 92 95 46 62 92 96 47 61 92 97 50 59 92 98 53 58 92 100 57 57 92 101 59 56 92 101 62 55 92 102 66 54 92 103 69 53 92 104 71 52 92 105 74 51 92 106 77 50 92 108 81 49 92 109 84 48 92 109 86 47 92 110 89 46 92 111 92 45 92 112 95 44 92 113 96 43 92 114 99 42 92 116 103 41 92 117 104 40 92 117 108 39 92 118 111 38 92 119 114 37 92 120 117 36 92 121 118 35 92 123 121 34 92 124 126 33 92 125 128 32 92 126 131 31 92 127 134 30 92 128 137 29 92 129 140 28 92 130 143 26 92 131 149 25 92 133 150 24 92 134 153 23 92 134 155 22 92 135 156 21 92 136 157 20 92 137 159 19 92 138 162 18 92 139 163 17 92 141 166 16 92 142 171 15 92 142 174 14 92 143 176 13 92 144 179 12 92 145 182 11 92 146 184 10 92 147 186 9 92 149 189 8 92 150 195 7 92 150 198 6 92 151 201 5 92 152 202 4 92 153 204 3 92 154 205 2 92 156 207 1 92 157 207 0 92 158 208 0 92 159 211 0 92 159 213 0 92 159 216 0 92 160 217 0 92 160 219 255 91 0 220 254 91 0 220 254 91 0 219 254 91 0 219 253 91 0 217 252 91 0 217 251 91 0 213 250 91 0 211 249 91 0 209 248 91 0 208 247 91 0 207 246 91 0 205 245 91 0 205 244 91 0 202 243 91 0 201 242 91 0 199 241 91 0 195 240 91 0 189 239 91 0 186 238 91 0 184 237 91 0 182 236 91 0 179 235 91 0 178 234 91 0 175 233 91 0 172 232 91 0 167 231 91 0 165 230 91 0 163 229 91 0 160 228 91 0 159 227 91 0 157 226 91 0 156 224 91 0 155 223 91 0 152 222 91 0 150 221 91 0 145 220 91 0 143 219 91 0 140 218 91 0 137 217 91 0 134 216 91 0 131 215 91 0 128 214 91 0 122 213 91 0 121 212 91 0 118 211 91 0 115 210 91 0 112 209 91 0 111 208 91 0 107 207 91 0 104 206 91 0 102 205 91 0 98 204 91 0 95 203 91 0 93 202 91 0 91 201 91 0 89 200 91 0 86 199 91 0 82 198 91 0 81 197 91 0 77 196 91 0 74 195 91 0 70 194 91 0 69 193 91 0 66 191 91 0 62 190 91 0 59 189 91 0 57 188 91 0 53 187 91 0 50 186 91 0 49 185 91 0 46 184 91 0 43 183 91 0 39 182 91 0 36 181 91 0 35 180 91 0 31 179 91 0 29 178 91 0 27 177 91 0 24 176 91 0 22 175 91 0 18 174 91 0 16 173 91 0 13 172 91 0 9 171 91 0 6 170 91 0 3 169 91 0 0 168 91 0 0 167 91 0 0 166 91 0 0 165 91 0 0 164 91 0 0 163 91 0 0 162 91 0 0 161 91 0 0 160 91 1 0 158 91 2 0 157 91 2 0 156 91 3 0 155 91 4 0 154 91 4 0 153 91 5 0 152 91 6 0 151 91 7 0 150 91 9 0 149 91 10 0 148 91 11 0 147 91 12 0 146 91 12 0 145 91 13 0 144 91 14 0 143 91 15 0 142 91 17 0 141 91 18 0 140 91 19 0 139 91 20 0 138 91 20 0 137 91 21 0 136 91 22 0 135 91 24 0 134 91 25 0 133 91 26 0 132 91 27 0 131 91 28 0 130 91 29 0 129 91 30 0 128 91 31 0 127 91 32 0 125 91 34 0 124 91 35 0 123 91 36 0 122 91 37 0 121 91 37 0 120 91 38 0 119 91 39 0 118 91 40 0 117 91 42 0 116 91 43 0 115 91 44 0 114 91 45 0 113 91 45 0 112 91 46 0 111 91 47 0 110 91 48 0 109 91 50 0 108 91 51 0 107 91 52 0 106 91 53 0 105 91 53 0 104 91 54 0 103 91 55 0 102 91 57 0 101 91 58 0 100 91 59 0 99 91 60 0 98 91 61 0 97 91 62 0 96 91 63 0 95 91 64 0 94 91 65 0 92 91 67 0 91 91 68 0 90 91 69 0 89 91 70 0 88 91 70 0 87 91 71 0 86 91 72 0 85 91 73 0 84 91 75 0 83 91 76 0 82 91 77 0 81 91 78 0 80 91 78 0 79 91 79 3 78 91 80 5 77 91 81 7 76 91 83 13 75 91 84 16 74 91 85 18 73 91 86 22 72 91 86 24 71 91 87 27 70 91 88 28 69 91 90 31 68 91 91 32 67 91 92 36 66 91 93 39 65 91 94 43 64 91 95 44 63 91 96 47 62 91 97 50 61 91 98 53 59 91 100 54 58 91 101 59 57 91 102 60 56 91 103 64 55 91 103 67 54 91 104 70 53 91 105 73 52 91 106 76 51 91 108 80 50 91 109 82 49 91 110 86 48 91 111 88 47 91 111 91 46 91 112 93 45 91 113 95 44 91 114 98 43 91 116 102 42 91 117 103 41 91 118 107 40 91 119 110 39 91 119 112 38 91 120 115 37 91 121 118 36 91 123 120 35 91 124 122 34 91 125 126 33 91 126 130 32 91 127 133 31 91 128 135 30 91 129 138 29 91 130 143 28 91 131 145 26 91 133 150 25 91 134 152 24 91 135 155 23 91 136 156 22 91 136 157 21 91 137 159 20 91 138 160 19 91 139 162 18 91 141 165 17 91 142 167 16 91 143 172 15 91 144 175 14 91 144 176 13 91 145 179 12 91 146 182 11 91 147 184 10 91 149 186 9 91 150 189 8 91 151 195 7 91 152 198 6 91 152 201 5 91 153 202 4 91 154 204 3 91 156 205 2 91 157 207 1 91 158 208 0 91 159 209 0 91 160 211 0 91 161 213 0 91 161 216 0 91 161 217 0 91 161 219 255 90 0 220 254 90 0 220 254 90 0 219 254 90 0 219 253 90 0 217 252 90 0 217 251 90 0 213 250 90 0 211 249 90 0 209 248 90 0 208 247 90 0 207 246 90 0 207 245 90 0 205 244 90 0 204 243 90 0 201 242 90 0 199 241 90 0 195 240 90 0 189 239 90 0 186 238 90 0 185 237 90 0 182 236 90 0 181 235 90 0 178 234 90 0 176 233 90 0 174 232 90 0 171 231 90 0 166 230 90 0 165 229 90 0 162 228 90 0 160 227 90 0 159 226 90 0 157 224 90 0 155 223 90 0 153 222 90 0 152 221 90 0 149 220 90 0 144 219 90 0 141 218 90 0 138 217 90 0 134 216 90 0 131 215 90 0 128 214 90 0 126 213 90 0 121 212 90 0 120 211 90 0 117 210 90 0 114 209 90 0 111 208 90 0 108 207 90 0 104 206 90 0 103 205 90 0 99 204 90 0 96 203 90 0 95 202 90 0 92 201 90 0 89 200 90 0 88 199 90 0 84 198 90 0 81 197 90 0 80 196 90 0 76 195 90 0 71 194 90 0 69 193 90 0 67 191 90 0 64 190 90 0 60 189 90 0 59 188 90 0 54 187 90 0 53 186 90 0 50 185 90 0 47 184 90 0 44 183 90 0 43 182 90 0 39 181 90 0 36 180 90 0 35 179 90 0 31 178 90 0 28 177 90 0 27 176 90 0 24 175 90 0 20 174 90 0 17 173 90 0 16 172 90 0 10 171 90 0 7 170 90 0 6 169 90 0 3 168 90 0 0 167 90 0 0 166 90 0 0 165 90 0 0 164 90 0 0 163 90 0 0 162 90 0 0 161 90 0 0 160 90 1 0 158 90 2 0 157 90 3 0 156 90 4 0 155 90 5 0 154 90 5 0 153 90 6 0 152 90 7 0 151 90 8 0 150 90 10 0 149 90 11 0 148 90 12 0 147 90 13 0 146 90 13 0 145 90 14 0 144 90 15 0 143 90 16 0 142 90 18 0 141 90 19 0 140 90 20 0 139 90 21 0 138 90 21 0 137 90 22 0 136 90 23 0 135 90 25 0 134 90 26 0 133 90 27 0 132 90 28 0 131 90 29 0 130 90 30 0 129 90 31 0 128 90 32 0 127 90 33 0 125 90 35 0 124 90 36 0 123 90 37 0 122 90 38 0 121 90 38 0 120 90 39 0 119 90 40 0 118 90 41 0 117 90 43 0 116 90 44 0 115 90 45 0 114 90 46 0 113 90 46 0 112 90 47 0 111 90 48 0 110 90 49 0 109 90 51 0 108 90 52 0 107 90 53 0 106 90 54 0 105 90 54 0 104 90 55 0 103 90 56 0 102 90 58 0 101 90 59 0 100 90 60 0 99 90 61 0 98 90 62 0 97 90 63 0 96 90 64 0 95 90 65 0 94 90 66 0 92 90 68 0 91 90 69 0 90 90 70 0 89 90 71 0 88 90 71 0 87 90 72 0 86 90 73 0 85 90 74 0 84 90 76 0 83 90 77 0 82 90 78 0 81 90 79 0 80 90 79 2 79 90 80 5 78 90 81 7 77 90 82 10 76 90 84 14 75 90 85 17 74 90 86 20 73 90 87 24 72 90 87 27 71 90 88 28 70 90 89 31 69 90 91 32 68 90 92 36 67 90 93 38 66 90 94 40 65 90 95 44 64 90 96 47 63 90 97 50 62 90 98 51 61 90 99 54 59 90 101 57 58 90 102 60 57 90 103 62 56 90 104 66 55 90 104 69 54 90 105 71 53 90 106 74 52 90 107 77 51 90 109 81 50 90 110 84 49 90 111 88 48 90 112 89 47 90 112 92 46 90 113 93 45 90 114 96 44 90 115 99 43 90 117 102 42 90 118 104 41 90 119 108 40 90 120 111 39 90 120 114 38 90 121 117 37 90 122 118 36 90 124 121 35 90 125 122 34 90 126 128 33 90 127 131 32 90 128 134 31 90 129 137 30 90 130 140 29 90 131 143 28 90 132 145 26 90 134 150 25 90 135 153 24 90 136 155 23 90 137 156 22 90 137 157 21 90 138 159 20 90 139 162 19 90 140 163 18 90 142 166 17 90 143 171 16 90 144 174 15 90 145 175 14 90 145 178 13 90 146 179 12 90 147 182 11 90 148 184 10 90 150 186 9 90 151 189 8 90 152 195 7 90 153 198 6 90 153 201 5 90 154 202 4 90 155 204 3 90 157 205 2 90 158 207 1 90 159 208 0 90 160 209 0 90 161 211 0 90 162 213 0 90 162 216 0 90 162 217 0 90 162 219 255 89 0 220 254 89 0 220 254 89 0 220 254 89 0 219 253 89 0 217 252 89 0 217 251 89 0 213 250 89 0 211 249 89 0 209 248 89 0 208 247 89 0 208 246 89 0 207 245 89 0 205 244 89 0 204 243 89 0 201 242 89 0 199 241 89 0 195 240 89 0 189 239 89 0 186 238 89 0 185 237 89 0 182 236 89 0 181 235 89 0 179 234 89 0 176 233 89 0 175 232 89 0 172 231 89 0 167 230 89 0 166 229 89 0 163 228 89 0 162 227 89 0 159 226 89 0 157 224 89 0 156 223 89 0 153 222 89 0 152 221 89 0 149 220 89 0 145 219 89 0 143 218 89 0 138 217 89 0 135 216 89 0 133 215 89 0 130 214 89 0 126 213 89 0 122 212 89 0 120 211 89 0 118 210 89 0 115 209 89 0 112 208 89 0 110 207 89 0 107 206 89 0 103 205 89 0 99 204 89 0 98 203 89 0 95 202 89 0 93 201 89 0 91 200 89 0 89 199 89 0 86 198 89 0 82 197 89 0 81 196 89 0 76 195 89 0 73 194 89 0 70 193 89 0 67 191 89 0 64 190 89 0 62 189 89 0 60 188 89 0 57 187 89 0 54 186 89 0 53 185 89 0 50 184 89 0 47 183 89 0 44 182 89 0 40 181 89 0 38 180 89 0 36 179 89 0 32 178 89 0 31 177 89 0 28 176 89 0 27 175 89 0 24 174 89 0 20 173 89 0 17 172 89 0 14 171 89 0 10 170 89 0 7 169 89 0 5 168 89 0 2 167 89 0 0 166 89 0 0 165 89 0 0 164 89 0 0 163 89 0 0 162 89 0 0 161 89 1 0 160 89 2 0 158 89 3 0 157 89 4 0 156 89 5 0 155 89 6 0 154 89 6 0 153 89 7 0 152 89 8 0 151 89 9 0 150 89 10 0 149 89 12 0 148 89 13 0 147 89 14 0 146 89 14 0 145 89 15 0 144 89 16 0 143 89 17 0 142 89 18 0 141 89 20 0 140 89 21 0 139 89 22 0 138 89 22 0 137 89 23 0 136 89 24 0 135 89 26 0 134 89 27 0 133 89 28 0 132 89 29 0 131 89 30 0 130 89 31 0 129 89 32 0 128 89 33 0 127 89 34 0 125 89 35 0 124 89 37 0 123 89 38 0 122 89 39 0 121 89 39 0 120 89 40 0 119 89 41 0 118 89 42 0 117 89 43 0 116 89 45 0 115 89 46 0 114 89 47 0 113 89 47 0 112 89 48 0 111 89 49 0 110 89 50 0 109 89 51 0 108 89 53 0 107 89 54 0 106 89 55 0 105 89 55 0 104 89 56 0 103 89 57 0 102 89 59 0 101 89 60 0 100 89 61 0 99 89 62 0 98 89 63 0 97 89 64 0 96 89 65 0 95 89 66 0 94 89 67 0 92 89 68 0 91 89 70 0 90 89 71 0 89 89 72 0 88 89 72 0 87 89 73 0 86 89 74 0 85 89 75 0 84 89 76 0 83 89 78 0 82 89 79 0 81 89 80 2 80 89 80 5 79 89 81 7 78 89 82 10 77 89 83 14 76 89 84 17 75 89 86 20 74 89 87 24 73 89 88 27 72 89 88 28 71 89 89 29 70 89 90 32 69 89 92 36 68 89 93 38 67 89 94 40 66 89 95 44 65 89 96 47 64 89 97 49 63 89 98 51 62 89 99 54 61 89 100 57 59 89 101 60 58 89 103 62 57 89 104 64 56 89 105 67 55 89 105 70 54 89 106 73 53 89 107 76 52 89 108 80 51 89 109 82 50 89 111 86 49 89 112 88 48 89 113 91 47 89 113 92 46 89 114 95 45 89 115 98 44 89 116 99 43 89 117 103 42 89 119 107 41 89 120 110 40 89 121 112 39 89 121 115 38 89 122 117 37 89 123 120 36 89 125 122 35 89 126 126 34 89 127 130 33 89 128 131 32 89 129 134 31 89 130 137 30 89 131 141 29 89 132 144 28 89 133 149 26 89 134 152 25 89 136 153 24 89 137 156 23 89 138 157 22 89 138 159 21 89 139 160 20 89 140 163 19 89 141 165 18 89 142 167 17 89 144 172 16 89 145 175 15 89 146 176 14 89 146 178 13 89 147 181 12 89 148 182 11 89 149 184 10 89 150 186 9 89 152 189 8 89 153 195 7 89 154 198 6 89 154 201 5 89 155 204 4 89 156 205 3 89 158 207 2 89 159 207 1 89 160 208 0 89 161 209 0 89 162 211 0 89 163 213 0 89 163 216 0 89 163 217 0 89 163 219 255 88 0 221 254 88 0 220 254 88 0 220 254 88 0 219 253 88 0 219 252 88 0 217 251 88 0 213 250 88 0 211 249 88 0 211 248 88 0 209 247 88 0 208 246 88 0 207 245 88 0 205 244 88 0 204 243 88 0 201 242 88 0 199 241 88 0 195 240 88 0 189 239 88 0 188 238 88 0 185 237 88 0 184 236 88 0 182 235 88 0 181 234 88 0 178 233 88 0 176 232 88 0 174 231 88 0 172 230 88 0 167 229 88 0 165 228 88 0 162 227 88 0 160 226 88 0 157 224 88 0 156 223 88 0 155 222 88 0 153 221 88 0 150 220 88 0 145 219 88 0 143 218 88 0 140 217 88 0 135 216 88 0 133 215 88 0 130 214 88 0 126 213 88 0 122 212 88 0 121 211 88 0 118 210 88 0 117 209 88 0 114 208 88 0 111 207 88 0 108 206 88 0 104 205 88 0 102 204 88 0 99 203 88 0 96 202 88 0 93 201 88 0 92 200 88 0 91 199 88 0 88 198 88 0 84 197 88 0 81 196 88 0 77 195 88 0 74 194 88 0 71 193 88 0 69 191 88 0 66 190 88 0 64 189 88 0 62 188 88 0 59 187 88 0 57 186 88 0 54 185 88 0 51 184 88 0 49 183 88 0 47 182 88 0 43 181 88 0 40 180 88 0 38 179 88 0 35 178 88 0 32 177 88 0 29 176 88 0 28 175 88 0 25 174 88 0 22 173 88 0 20 172 88 0 17 171 88 0 14 170 88 0 10 169 88 0 7 168 88 0 5 167 88 0 2 166 88 0 0 165 88 0 0 164 88 0 0 163 88 0 0 162 88 1 0 161 88 1 0 160 88 2 0 158 88 3 0 157 88 4 0 156 88 5 0 155 88 6 0 154 88 7 0 153 88 8 0 152 88 9 0 151 88 10 0 150 88 11 0 149 88 12 0 148 88 13 0 147 88 14 0 146 88 15 0 145 88 16 0 144 88 17 0 143 88 18 0 142 88 19 0 141 88 20 0 140 88 21 0 139 88 22 0 138 88 23 0 137 88 24 0 136 88 25 0 135 88 27 0 134 88 28 0 133 88 29 0 132 88 30 0 131 88 31 0 130 88 32 0 129 88 33 0 128 88 34 0 127 88 35 0 125 88 36 0 124 88 37 0 123 88 38 0 122 88 39 0 121 88 40 0 120 88 41 0 119 88 42 0 118 88 43 0 117 88 44 0 116 88 45 0 115 88 46 0 114 88 47 0 113 88 48 0 112 88 49 0 111 88 50 0 110 88 51 0 109 88 52 0 108 88 53 0 107 88 54 0 106 88 55 0 105 88 56 0 104 88 57 0 103 88 58 0 102 88 60 0 101 88 61 0 100 88 62 0 99 88 63 0 98 88 64 0 97 88 65 0 96 88 66 0 95 88 67 0 94 88 68 0 92 88 69 0 91 88 70 0 90 88 71 0 89 88 72 0 88 88 73 0 87 88 74 0 86 88 75 0 85 88 76 0 84 88 77 0 83 88 78 0 82 88 79 2 81 88 80 3 80 88 81 6 79 88 82 9 78 88 83 13 77 88 84 16 76 88 85 20 75 88 86 22 74 88 87 25 73 88 88 28 72 88 89 29 71 88 90 32 70 88 91 35 69 88 93 38 68 88 94 39 67 88 95 43 66 88 96 46 65 88 97 49 64 88 98 51 63 88 99 54 62 88 100 57 61 88 101 59 59 88 102 62 58 88 103 64 57 88 104 66 56 88 105 69 55 88 106 71 54 88 107 74 53 88 108 77 52 88 109 81 51 88 110 84 50 88 111 86 49 88 112 89 48 88 113 91 47 88 114 93 46 88 115 96 45 88 116 98 44 88 117 102 43 88 118 104 42 88 119 108 41 88 120 111 40 88 121 114 39 88 122 115 38 88 123 118 37 88 124 120 36 88 126 122 35 88 127 126 34 88 128 130 33 88 129 133 32 88 130 134 31 88 131 138 30 88 132 141 29 88 133 144 28 88 134 149 26 88 135 152 25 88 136 155 24 88 137 156 23 88 138 157 22 88 139 159 21 88 140 162 20 88 141 165 19 88 142 166 18 88 143 171 17 88 144 174 16 88 145 176 15 88 146 178 14 88 147 179 13 88 148 181 12 88 149 182 11 88 150 185 10 88 151 186 9 88 152 189 8 88 153 195 7 88 154 198 6 88 155 201 5 88 156 204 4 88 157 205 3 88 159 207 2 88 160 208 1 88 161 208 0 88 162 209 0 88 163 211 0 88 163 213 0 88 164 216 0 88 164 217 0 88 164 219 255 87 0 221 254 87 0 221 254 87 0 221 254 87 0 220 253 87 0 219 252 87 0 217 251 87 0 216 250 87 0 213 249 87 0 211 248 87 0 209 247 87 0 208 246 87 0 208 245 87 0 207 244 87 0 204 243 87 0 202 242 87 0 199 241 87 0 195 240 87 0 194 239 87 0 188 238 87 0 185 237 87 0 184 236 87 0 182 235 87 0 181 234 87 0 179 233 87 0 178 232 87 0 175 231 87 0 172 230 87 0 171 229 87 0 166 228 87 0 163 227 87 0 160 226 87 0 157 224 87 0 156 223 87 0 155 222 87 0 153 221 87 0 150 220 87 0 145 219 87 0 143 218 87 0 140 217 87 0 135 216 87 0 133 215 87 0 130 214 87 0 128 213 87 0 122 212 87 0 121 211 87 0 120 210 87 0 117 209 87 0 115 208 87 0 112 207 87 0 110 206 87 0 107 205 87 0 103 204 87 0 99 203 87 0 98 202 87 0 95 201 87 0 93 200 87 0 91 199 87 0 89 198 87 0 86 197 87 0 82 196 87 0 80 195 87 0 76 194 87 0 73 193 87 0 70 191 87 0 67 190 87 0 66 189 87 0 62 188 87 0 60 187 87 0 59 186 87 0 57 185 87 0 53 184 87 0 50 183 87 0 47 182 87 0 44 181 87 0 40 180 87 0 39 179 87 0 36 178 87 0 32 177 87 0 31 176 87 0 29 175 87 0 27 174 87 0 24 173 87 0 22 172 87 0 18 171 87 0 16 170 87 0 13 169 87 0 7 168 87 0 5 167 87 0 3 166 87 0 0 165 87 0 0 164 87 0 0 163 87 1 0 162 87 1 0 161 87 2 0 160 87 3 0 158 87 4 0 157 87 5 0 156 87 6 0 155 87 7 0 154 87 8 0 153 87 9 0 152 87 10 0 151 87 11 0 150 87 12 0 149 87 13 0 148 87 14 0 147 87 15 0 146 87 16 0 145 87 17 0 144 87 18 0 143 87 19 0 142 87 20 0 141 87 21 0 140 87 22 0 139 87 23 0 138 87 24 0 137 87 25 0 136 87 26 0 135 87 28 0 134 87 29 0 133 87 30 0 132 87 31 0 131 87 32 0 130 87 33 0 129 87 34 0 128 87 35 0 127 87 36 0 125 87 37 0 124 87 38 0 123 87 39 0 122 87 40 0 121 87 41 0 120 87 42 0 119 87 43 0 118 87 44 0 117 87 45 0 116 87 46 0 115 87 47 0 114 87 48 0 113 87 49 0 112 87 50 0 111 87 51 0 110 87 52 0 109 87 53 0 108 87 54 0 107 87 55 0 106 87 56 0 105 87 57 0 104 87 58 0 103 87 59 0 102 87 61 0 101 87 62 0 100 87 63 0 99 87 64 0 98 87 65 0 97 87 66 0 96 87 67 0 95 87 68 0 94 87 69 0 92 87 70 0 91 87 71 0 90 87 72 0 89 87 73 0 88 87 74 0 87 87 75 0 86 87 76 0 85 87 77 0 84 87 78 0 83 87 79 0 82 87 80 3 81 87 81 5 80 87 82 7 79 87 83 10 78 87 84 14 77 87 85 17 76 87 86 20 75 87 87 24 74 87 88 27 73 87 89 28 72 87 90 31 71 87 91 32 70 87 92 36 69 87 94 38 68 87 95 40 67 87 96 44 66 87 97 47 65 87 98 50 64 87 99 53 63 87 100 54 62 87 101 59 61 87 102 60 59 87 103 62 58 87 104 66 57 87 105 67 56 87 106 70 55 87 107 73 54 87 108 76 53 87 109 80 52 87 110 82 51 87 111 84 50 87 112 88 49 87 113 91 48 87 114 92 47 87 115 95 46 87 116 96 45 87 117 99 44 87 118 103 43 87 119 107 42 87 120 110 41 87 121 111 40 87 122 114 39 87 123 117 38 87 124 118 37 87 125 121 36 87 127 122 35 87 128 126 34 87 129 130 33 87 130 133 32 87 131 134 31 87 132 138 30 87 133 141 29 87 134 144 28 87 135 149 26 87 136 152 25 87 137 155 24 87 138 156 23 87 139 157 22 87 140 160 21 87 141 162 20 87 142 165 19 87 143 167 18 87 144 172 17 87 145 175 16 87 146 178 15 87 147 179 14 87 148 181 13 87 149 182 12 87 150 184 11 87 151 185 10 87 152 188 9 87 153 189 8 87 154 195 7 87 155 198 6 87 156 201 5 87 157 204 4 87 158 205 3 87 160 207 2 87 161 208 1 87 162 209 0 87 163 211 0 87 164 211 0 87 164 213 0 87 165 216 0 87 165 217 0 87 165 219 255 86 0 224 254 86 0 223 254 86 0 221 254 86 0 220 253 86 0 219 252 86 0 217 251 86 0 216 250 86 0 213 249 86 0 211 248 86 0 209 247 86 0 209 246 86 0 208 245 86 0 207 244 86 0 204 243 86 0 202 242 86 0 199 241 86 0 197 240 86 0 194 239 86 0 188 238 86 0 186 237 86 0 185 236 86 0 184 235 86 0 182 234 86 0 181 233 86 0 178 232 86 0 176 231 86 0 174 230 86 0 171 229 86 0 166 228 86 0 163 227 86 0 160 226 86 0 159 224 86 0 156 223 86 0 155 222 86 0 153 221 86 0 150 220 86 0 145 219 86 0 143 218 86 0 140 217 86 0 137 216 86 0 134 215 86 0 131 214 86 0 128 213 86 0 126 212 86 0 122 211 86 0 120 210 86 0 118 209 86 0 117 208 86 0 114 207 86 0 111 206 86 0 108 205 86 0 104 204 86 0 103 203 86 0 99 202 86 0 96 201 86 0 95 200 86 0 92 199 86 0 89 198 86 0 88 197 86 0 84 196 86 0 81 195 86 0 77 194 86 0 74 193 86 0 71 191 86 0 69 190 86 0 67 189 86 0 64 188 86 0 62 187 86 0 60 186 86 0 59 185 86 0 54 184 86 0 51 183 86 0 49 182 86 0 46 181 86 0 43 180 86 0 39 179 86 0 38 178 86 0 35 177 86 0 32 176 86 0 29 175 86 0 28 174 86 0 25 173 86 0 24 172 86 0 20 171 86 0 17 170 86 0 14 169 86 0 9 168 86 0 6 167 86 0 5 166 86 0 2 165 86 0 0 164 86 1 0 163 86 1 0 162 86 2 0 161 86 3 0 160 86 4 0 158 86 5 0 157 86 6 0 156 86 7 0 155 86 8 0 154 86 9 0 153 86 10 0 152 86 11 0 151 86 12 0 150 86 13 0 149 86 14 0 148 86 15 0 147 86 16 0 146 86 17 0 145 86 18 0 144 86 19 0 143 86 20 0 142 86 21 0 141 86 22 0 140 86 23 0 139 86 24 0 138 86 25 0 137 86 26 0 136 86 27 0 135 86 29 0 134 86 30 0 133 86 31 0 132 86 32 0 131 86 33 0 130 86 34 0 129 86 35 0 128 86 36 0 127 86 37 0 125 86 38 0 124 86 39 0 123 86 40 0 122 86 41 0 121 86 42 0 120 86 43 0 119 86 44 0 118 86 45 0 117 86 46 0 116 86 47 0 115 86 48 0 114 86 49 0 113 86 50 0 112 86 51 0 111 86 52 0 110 86 53 0 109 86 54 0 108 86 55 0 107 86 56 0 106 86 57 0 105 86 58 0 104 86 59 0 103 86 60 0 102 86 62 0 101 86 63 0 100 86 64 0 99 86 65 0 98 86 66 0 97 86 67 0 96 86 68 0 95 86 69 0 94 86 70 0 92 86 71 0 91 86 72 0 90 86 73 0 89 86 74 0 88 86 75 0 87 86 76 0 86 86 77 0 85 86 78 0 84 86 79 0 83 86 80 2 82 86 81 3 81 86 82 6 80 86 83 9 79 86 84 13 78 86 85 16 77 86 86 18 76 86 87 22 75 86 88 25 74 86 89 27 73 86 90 29 72 86 91 31 71 86 92 35 70 86 93 36 69 86 95 39 68 86 96 43 67 86 97 46 66 86 98 49 65 86 99 51 64 86 100 54 63 86 101 57 62 86 102 60 61 86 103 62 59 86 104 64 58 86 105 67 57 86 106 69 56 86 107 71 55 86 108 74 54 86 109 77 53 86 110 81 52 86 111 84 51 86 112 86 50 86 113 89 49 86 114 92 48 86 115 93 47 86 116 96 46 86 117 98 45 86 118 102 44 86 119 104 43 86 120 108 42 86 121 111 41 86 122 112 40 86 123 115 39 86 124 118 38 86 125 120 37 86 126 121 36 86 128 126 35 86 129 128 34 86 130 130 33 86 131 133 32 86 132 135 31 86 133 138 30 86 134 143 29 86 135 145 28 86 136 150 26 86 137 152 25 86 138 155 24 86 139 156 23 86 140 157 22 86 141 160 21 86 142 162 20 86 143 165 19 86 144 171 18 86 145 174 17 86 146 176 16 86 147 178 15 86 148 181 14 86 149 182 13 86 150 184 12 86 151 185 11 86 152 186 10 86 153 188 9 86 154 194 8 86 155 197 7 86 156 199 6 86 157 202 5 86 158 204 4 86 159 205 3 86 161 208 2 86 162 208 1 86 163 209 0 86 164 211 0 86 165 213 0 86 165 216 0 86 165 217 0 86 166 217 0 86 166 219 255 85 0 226 254 85 0 224 254 85 0 223 254 85 0 221 253 85 0 220 252 85 0 217 251 85 0 216 250 85 0 213 249 85 0 211 248 85 0 211 247 85 0 209 246 85 0 208 245 85 0 207 244 85 0 205 243 85 0 202 242 85 0 199 241 85 0 197 240 85 0 195 239 85 0 189 238 85 0 188 237 85 0 186 236 85 0 185 235 85 0 182 234 85 0 181 233 85 0 179 232 85 0 176 231 85 0 174 230 85 0 172 229 85 0 166 228 85 0 163 227 85 0 160 226 85 0 159 224 85 0 156 223 85 0 155 222 85 0 153 221 85 0 150 220 85 0 149 219 85 0 144 218 85 0 140 217 85 0 137 216 85 0 134 215 85 0 131 214 85 0 130 213 85 0 126 212 85 0 122 211 85 0 121 210 85 0 120 209 85 0 118 208 85 0 115 207 85 0 112 206 85 0 110 205 85 0 107 204 85 0 104 203 85 0 102 202 85 0 98 201 85 0 95 200 85 0 93 199 85 0 91 198 85 0 89 197 85 0 86 196 85 0 82 195 85 0 80 194 85 0 77 193 85 0 74 191 85 0 70 190 85 0 69 189 85 0 66 188 85 0 64 187 85 0 62 186 85 0 59 185 85 0 57 184 85 0 53 183 85 0 50 182 85 0 47 181 85 0 44 180 85 0 40 179 85 0 39 178 85 0 36 177 85 0 32 176 85 0 31 175 85 0 28 174 85 0 27 173 85 0 24 172 85 0 20 171 85 0 17 170 85 0 16 169 85 0 10 168 85 0 7 167 85 0 6 166 85 1 3 165 85 1 2 164 85 2 0 163 85 2 0 162 85 3 0 161 85 4 0 160 85 5 0 158 85 6 0 157 85 7 0 156 85 8 0 155 85 9 0 154 85 10 0 153 85 11 0 152 85 12 0 151 85 13 0 150 85 14 0 149 85 15 0 148 85 16 0 147 85 17 0 146 85 18 0 145 85 19 0 144 85 20 0 143 85 21 0 142 85 22 0 141 85 24 0 140 85 25 0 139 85 26 0 138 85 27 0 137 85 28 0 136 85 29 0 135 85 30 0 134 85 31 0 133 85 32 0 132 85 33 0 131 85 34 0 130 85 35 0 129 85 36 0 128 85 37 0 127 85 38 0 125 85 39 0 124 85 40 0 123 85 41 0 122 85 42 0 121 85 43 0 120 85 44 0 119 85 45 0 118 85 46 0 117 85 47 0 116 85 48 0 115 85 49 0 114 85 50 0 113 85 51 0 112 85 52 0 111 85 53 0 110 85 54 0 109 85 55 0 108 85 57 0 107 85 58 0 106 85 59 0 105 85 60 0 104 85 61 0 103 85 62 0 102 85 63 0 101 85 64 0 100 85 65 0 99 85 66 0 98 85 67 0 97 85 68 0 96 85 69 0 95 85 70 0 94 85 71 0 92 85 72 0 91 85 73 0 90 85 74 0 89 85 75 0 88 85 76 0 87 85 77 0 86 85 78 0 85 85 79 0 84 85 80 2 83 85 81 3 82 85 82 5 81 85 83 7 80 85 84 10 79 85 85 14 78 85 86 17 77 85 87 20 76 85 88 24 75 85 90 27 74 85 91 28 73 85 92 31 72 85 93 32 71 85 94 36 70 85 95 38 69 85 96 40 68 85 97 44 67 85 98 47 66 85 99 50 65 85 100 53 64 85 101 54 63 85 102 59 62 85 103 60 61 85 104 64 59 85 105 66 58 85 106 69 57 85 107 70 56 85 108 73 55 85 109 76 54 85 110 80 53 85 111 82 52 85 112 86 51 85 113 88 50 85 114 91 49 85 115 93 48 85 116 95 47 85 117 98 46 85 118 99 45 85 119 103 44 85 120 107 43 85 121 110 42 85 123 112 41 85 124 115 40 85 125 117 39 85 126 120 38 85 127 121 37 85 128 122 36 85 129 126 35 85 130 128 34 85 131 131 33 85 132 134 32 85 133 137 31 85 134 140 30 85 135 143 29 85 136 145 28 85 137 150 26 85 138 153 25 85 139 155 24 85 140 156 23 85 141 157 22 85 142 160 21 85 143 163 20 85 144 166 19 85 145 171 18 85 146 174 17 85 147 176 16 85 148 179 15 85 149 181 14 85 150 182 13 85 151 184 12 85 152 185 11 85 153 186 10 85 154 189 9 85 156 194 8 85 157 197 7 85 158 199 6 85 159 202 5 85 160 204 4 85 161 207 3 85 162 208 2 85 163 209 1 85 164 209 0 85 165 211 0 85 166 213 0 85 166 216 0 85 167 217 0 85 167 217 0 85 167 219 255 84 0 227 254 84 0 226 254 84 0 224 254 84 0 223 253 84 0 220 252 84 0 219 251 84 0 216 250 84 0 213 249 84 0 213 248 84 0 211 247 84 0 209 246 84 0 208 245 84 0 207 244 84 0 205 243 84 0 202 242 84 0 201 241 84 0 198 240 84 0 195 239 84 0 194 238 84 0 188 237 84 0 186 236 84 0 185 235 84 0 184 234 84 0 181 233 84 0 179 232 84 0 176 231 84 0 175 230 84 0 172 229 84 0 167 228 84 0 163 227 84 0 162 226 84 0 159 224 84 0 157 223 84 0 155 222 84 0 153 221 84 0 152 220 84 0 149 219 84 0 144 218 84 0 141 217 84 0 138 216 84 0 135 215 84 0 133 214 84 0 130 213 84 0 128 212 84 0 126 211 84 0 122 210 84 0 121 209 84 0 118 208 84 0 117 207 84 0 114 206 84 0 111 205 84 0 108 204 84 0 104 203 84 0 103 202 84 0 99 201 84 0 96 200 84 0 95 199 84 0 92 198 84 0 89 197 84 0 88 196 84 0 84 195 84 0 81 194 84 0 80 193 84 0 76 191 84 0 71 190 84 0 70 189 84 0 67 188 84 0 66 187 84 0 62 186 84 0 60 185 84 0 59 184 84 0 54 183 84 0 51 182 84 0 49 181 84 0 46 180 84 0 43 179 84 0 39 178 84 0 38 177 84 0 35 176 84 0 32 175 84 0 29 174 84 0 28 173 84 0 25 172 84 0 22 171 84 0 18 170 84 0 17 169 84 0 13 168 84 0 10 167 84 1 7 166 84 2 6 165 84 2 3 164 84 3 2 163 84 3 0 162 84 4 0 161 84 5 0 160 84 6 0 158 84 7 0 157 84 9 0 156 84 10 0 155 84 10 0 154 84 11 0 153 84 12 0 152 84 13 0 151 84 14 0 150 84 15 0 149 84 17 0 148 84 18 0 147 84 18 0 146 84 19 0 145 84 20 0 144 84 21 0 143 84 22 0 142 84 24 0 141 84 25 0 140 84 26 0 139 84 27 0 138 84 28 0 137 84 29 0 136 84 30 0 135 84 31 0 134 84 32 0 133 84 34 0 132 84 35 0 131 84 35 0 130 84 36 0 129 84 37 0 128 84 38 0 127 84 39 0 125 84 40 0 124 84 42 0 123 84 43 0 122 84 43 0 121 84 44 0 120 84 45 0 119 84 46 0 118 84 47 0 117 84 48 0 116 84 50 0 115 84 51 0 114 84 51 0 113 84 52 0 112 84 53 0 111 84 54 0 110 84 55 0 109 84 57 0 108 84 58 0 107 84 59 0 106 84 60 0 105 84 61 0 104 84 62 0 103 84 63 0 102 84 64 0 101 84 65 0 100 84 67 0 99 84 68 0 98 84 68 0 97 84 69 0 96 84 70 0 95 84 71 0 94 84 72 0 92 84 73 0 91 84 75 0 90 84 76 0 89 84 76 0 88 84 77 0 87 84 78 0 86 84 79 0 85 84 80 0 84 84 81 3 83 84 83 5 82 84 84 6 81 84 84 9 80 84 85 13 79 84 86 16 78 84 87 18 77 84 88 22 76 84 90 25 75 84 91 27 74 84 92 29 73 84 93 31 72 84 94 35 71 84 95 36 70 84 96 39 69 84 97 43 68 84 98 46 67 84 100 49 66 84 101 51 65 84 101 54 64 84 102 57 63 84 103 60 62 84 104 62 61 84 105 64 59 84 106 67 58 84 108 69 57 84 109 71 56 84 109 74 55 84 110 77 54 84 111 81 53 84 112 84 52 84 113 88 51 84 114 89 50 84 116 92 49 84 117 93 48 84 117 96 47 84 118 98 46 84 119 102 45 84 120 104 44 84 121 108 43 84 123 111 42 84 124 114 41 84 125 117 40 84 126 118 39 84 127 120 38 84 128 122 37 84 129 126 36 84 130 128 35 84 131 130 34 84 133 133 33 84 134 135 32 84 134 138 31 84 135 141 30 84 136 144 29 84 137 149 28 84 138 152 26 84 139 153 25 84 141 155 24 84 142 156 23 84 142 159 22 84 143 160 21 84 144 163 20 84 145 166 19 84 146 171 18 84 147 174 17 84 149 176 16 84 150 179 15 84 150 181 14 84 151 184 13 84 152 185 12 84 153 186 11 84 154 188 10 84 156 194 9 84 157 195 8 84 158 198 7 84 159 199 6 84 160 202 5 84 161 204 4 84 162 207 3 84 163 208 2 84 164 209 1 84 166 211 0 84 166 213 0 84 167 213 0 84 168 216 0 84 168 217 0 84 168 219 0 84 168 219 255 83 0 228 254 83 0 227 254 83 0 226 254 83 0 223 253 83 0 221 252 83 0 219 251 83 0 217 250 83 0 216 249 83 0 213 248 83 0 211 247 83 0 209 246 83 0 208 245 83 0 207 244 83 0 205 243 83 0 204 242 83 0 201 241 83 0 199 240 83 0 197 239 83 0 195 238 83 0 189 237 83 0 188 236 83 0 186 235 83 0 184 234 83 0 182 233 83 0 179 232 83 0 178 231 83 0 175 230 83 0 172 229 83 0 167 228 83 0 165 227 83 0 162 226 83 0 159 224 83 0 157 223 83 0 156 222 83 0 155 221 83 0 153 220 83 0 150 219 83 0 145 218 83 0 143 217 83 0 140 216 83 0 137 215 83 0 134 214 83 0 131 213 83 0 130 212 83 0 128 211 83 0 122 210 83 0 121 209 83 0 120 208 83 0 118 207 83 0 115 206 83 0 112 205 83 0 110 204 83 0 107 203 83 0 103 202 83 0 102 201 83 0 98 200 83 0 95 199 83 0 93 198 83 0 91 197 83 0 89 196 83 0 86 195 83 0 82 194 83 0 80 193 83 0 76 191 83 0 73 190 83 0 71 189 83 0 69 188 83 0 67 187 83 0 64 186 83 0 62 185 83 0 60 184 83 0 57 183 83 0 53 182 83 0 51 181 83 0 49 180 83 0 46 179 83 0 43 178 83 0 39 177 83 0 36 176 83 0 35 175 83 0 31 174 83 0 29 173 83 0 27 172 83 0 24 171 83 0 20 170 83 0 18 169 83 0 16 168 83 1 13 167 83 2 9 166 83 2 7 165 83 3 5 164 83 4 3 163 83 4 2 162 83 5 0 161 83 6 0 160 83 7 0 158 83 9 0 157 83 10 0 156 83 11 0 155 83 12 0 154 83 12 0 153 83 13 0 152 83 14 0 151 83 15 0 150 83 17 0 149 83 18 0 148 83 19 0 147 83 20 0 146 83 20 0 145 83 21 0 144 83 22 0 143 83 24 0 142 83 25 0 141 83 26 0 140 83 27 0 139 83 28 0 138 83 29 0 137 83 30 0 136 83 31 0 135 83 32 0 134 83 34 0 133 83 35 0 132 83 36 0 131 83 37 0 130 83 37 0 129 83 38 0 128 83 39 0 127 83 40 0 125 83 42 0 124 83 43 0 123 83 44 0 122 83 45 0 121 83 45 0 120 83 46 0 119 83 47 0 118 83 48 0 117 83 50 0 116 83 51 0 115 83 52 0 114 83 53 0 113 83 53 0 112 83 54 0 111 83 55 0 110 83 57 0 109 83 58 0 108 83 59 0 107 83 60 0 106 83 61 0 105 83 62 0 104 83 63 0 103 83 64 0 102 83 65 0 101 83 67 0 100 83 68 0 99 83 69 0 98 83 70 0 97 83 70 0 96 83 71 0 95 83 72 0 94 83 73 0 92 83 75 0 91 83 76 0 90 83 77 0 89 83 78 0 88 83 78 0 87 83 79 0 86 83 80 0 85 83 81 3 84 83 83 5 83 83 84 6 82 83 85 9 81 83 86 13 80 83 86 14 79 83 87 18 78 83 88 20 77 83 90 24 76 83 91 27 75 83 92 28 74 83 93 31 73 83 94 32 72 83 95 36 71 83 96 39 70 83 97 40 69 83 98 44 68 83 100 47 67 83 101 50 66 83 102 53 65 83 103 57 64 83 103 60 63 83 104 62 62 83 105 64 61 83 106 67 59 83 108 69 58 83 109 70 57 83 110 73 56 83 111 76 55 83 111 80 54 83 112 82 53 83 113 86 52 83 114 88 51 83 116 91 50 83 117 92 49 83 118 95 48 83 119 96 47 83 119 99 46 83 120 103 45 83 121 107 44 83 123 110 43 83 124 112 42 83 125 115 41 83 126 117 40 83 127 120 39 83 128 121 38 83 129 122 37 83 130 128 36 83 131 130 35 83 133 131 34 83 134 134 33 83 135 137 32 83 136 140 31 83 136 143 30 83 137 145 29 83 138 150 28 83 139 152 26 83 141 155 25 83 142 156 24 83 143 157 23 83 144 159 22 83 144 160 21 83 145 163 20 83 146 166 19 83 147 171 18 83 149 174 17 83 150 176 16 83 151 179 15 83 152 181 14 83 152 184 13 83 153 185 12 83 154 188 11 83 156 189 10 83 157 195 9 83 158 197 8 83 159 199 7 83 160 201 6 83 161 204 5 83 162 205 4 83 163 207 3 83 164 208 2 83 166 209 1 83 167 211 0 83 168 213 0 83 168 216 0 83 169 216 0 83 169 217 0 83 169 219 0 83 169 219 255 82 0 228 254 82 0 227 254 82 0 226 254 82 0 223 253 82 0 221 252 82 0 220 251 82 0 217 250 82 0 216 249 82 0 216 248 82 0 213 247 82 0 211 246 82 0 209 245 82 0 208 244 82 0 205 243 82 0 204 242 82 0 202 241 82 0 201 240 82 0 198 239 82 0 197 238 82 0 194 237 82 0 189 236 82 0 186 235 82 0 184 234 82 0 182 233 82 0 181 232 82 0 178 231 82 0 175 230 82 0 172 229 82 0 167 228 82 0 165 227 82 0 163 226 82 0 160 224 82 0 159 223 82 0 157 222 82 0 156 221 82 0 153 220 82 0 152 219 82 0 150 218 82 0 145 217 82 0 143 216 82 0 140 215 82 0 135 214 82 0 133 213 82 0 131 212 82 0 130 211 82 0 126 210 82 0 122 209 82 0 121 208 82 0 118 207 82 0 117 206 82 0 114 205 82 0 111 204 82 0 108 203 82 0 104 202 82 0 102 201 82 0 99 200 82 0 96 199 82 0 93 198 82 0 92 197 82 0 89 196 82 0 88 195 82 0 84 194 82 0 81 193 82 0 77 191 82 0 74 190 82 0 73 189 82 0 70 188 82 0 69 187 82 0 67 186 82 0 66 185 82 0 62 184 82 0 60 183 82 0 57 182 82 0 53 181 82 0 50 180 82 0 47 179 82 0 46 178 82 0 43 177 82 0 39 176 82 0 36 175 82 0 32 174 82 0 31 173 82 0 28 172 82 0 27 171 82 0 24 170 82 0 20 169 82 0 18 168 82 1 16 167 82 2 13 166 82 3 10 165 82 4 7 164 82 5 6 163 82 5 3 162 82 6 2 161 82 7 0 160 82 8 0 158 82 10 0 157 82 11 0 156 82 12 0 155 82 13 0 154 82 13 0 153 82 14 0 152 82 15 0 151 82 16 0 150 82 18 0 149 82 19 0 148 82 20 0 147 82 21 0 146 82 21 0 145 82 22 0 144 82 23 0 143 82 25 0 142 82 26 0 141 82 27 0 140 82 28 0 139 82 29 0 138 82 30 0 137 82 31 0 136 82 32 0 135 82 33 0 134 82 35 0 133 82 36 0 132 82 37 0 131 82 38 0 130 82 38 0 129 82 39 0 128 82 40 0 127 82 41 0 125 82 43 0 124 82 44 0 123 82 45 0 122 82 46 0 121 82 46 0 120 82 47 0 119 82 48 0 118 82 49 0 117 82 51 0 116 82 52 0 115 82 53 0 114 82 54 0 113 82 54 0 112 82 55 0 111 82 56 0 110 82 58 0 109 82 59 0 108 82 60 0 107 82 61 0 106 82 62 0 105 82 63 0 104 82 64 0 103 82 65 0 102 82 66 0 101 82 68 0 100 82 69 0 99 82 70 0 98 82 71 0 97 82 71 0 96 82 72 0 95 82 73 0 94 82 74 0 92 82 76 0 91 82 77 0 90 82 78 0 89 82 79 0 88 82 79 0 87 82 80 0 86 82 81 3 85 82 82 5 84 82 84 7 83 82 85 9 82 82 86 13 81 82 87 14 80 82 87 17 79 82 88 20 78 82 89 24 77 82 91 27 76 82 92 28 75 82 93 31 74 82 94 32 73 82 95 36 72 82 96 38 71 82 97 40 70 82 98 44 69 82 99 47 68 82 101 50 67 82 102 53 66 82 103 57 65 82 104 59 64 82 104 62 63 82 105 66 62 82 106 67 61 82 107 69 59 82 109 70 58 82 110 73 57 82 111 74 56 82 112 77 55 82 112 81 54 82 113 84 53 82 114 88 52 82 115 89 51 82 117 92 50 82 118 93 49 82 119 96 48 82 120 98 47 82 120 102 46 82 121 104 45 82 122 108 44 82 124 111 43 82 125 114 42 82 126 117 41 82 127 118 40 82 128 121 39 82 129 122 38 82 130 126 37 82 131 128 36 82 132 131 35 82 134 133 34 82 135 135 33 82 136 138 32 82 137 141 31 82 137 144 30 82 138 149 29 82 139 152 28 82 140 153 26 82 142 156 25 82 143 157 24 82 144 159 23 82 145 160 22 82 145 162 21 82 146 165 20 82 147 167 19 82 148 172 18 82 150 175 17 82 151 176 16 82 152 179 15 82 153 182 14 82 153 184 13 82 154 186 12 82 155 188 11 82 157 194 10 82 158 197 9 82 159 198 8 82 160 201 7 82 161 202 6 82 162 204 5 82 163 205 4 82 164 207 3 82 165 208 2 82 167 209 1 82 168 211 0 82 169 213 0 82 169 216 0 82 170 217 0 82 170 217 0 82 170 219 0 82 170 219 255 81 0 230 254 81 0 228 254 81 0 226 254 81 0 223 253 81 0 221 252 81 0 220 251 81 0 219 250 81 0 217 249 81 0 216 248 81 0 213 247 81 0 211 246 81 0 209 245 81 0 208 244 81 0 207 243 81 0 205 242 81 0 204 241 81 0 202 240 81 0 199 239 81 0 198 238 81 0 195 237 81 0 189 236 81 0 186 235 81 0 185 234 81 0 182 233 81 0 181 232 81 0 178 231 81 0 176 230 81 0 174 229 81 0 171 228 81 0 166 227 81 0 163 226 81 0 162 224 81 0 160 223 81 0 157 222 81 0 156 221 81 0 155 220 81 0 153 219 81 0 150 218 81 0 149 217 81 0 144 216 81 0 141 215 81 0 137 214 81 0 134 213 81 0 133 212 81 0 130 211 81 0 128 210 81 0 126 209 81 0 122 208 81 0 120 207 81 0 118 206 81 0 115 205 81 0 112 204 81 0 110 203 81 0 107 202 81 0 103 201 81 0 99 200 81 0 98 199 81 0 95 198 81 0 93 197 81 0 91 196 81 0 89 195 81 0 86 194 81 0 82 193 81 0 80 191 81 0 76 190 81 0 74 189 81 0 73 188 81 0 71 187 81 0 69 186 81 0 67 185 81 0 66 184 81 0 62 183 81 0 60 182 81 0 57 181 81 0 53 180 81 0 50 179 81 0 47 178 81 0 44 177 81 0 43 176 81 0 39 175 81 0 36 174 81 0 32 173 81 0 31 172 81 0 28 171 81 0 25 170 81 0 24 169 81 1 20 168 81 2 18 167 81 3 16 166 81 4 13 165 81 5 10 164 81 6 9 163 81 6 6 162 81 7 3 161 81 8 2 160 81 9 0 158 81 10 0 157 81 12 0 156 81 13 0 155 81 14 0 154 81 14 0 153 81 15 0 152 81 16 0 151 81 17 0 150 81 18 0 149 81 20 0 148 81 21 0 147 81 22 0 146 81 22 0 145 81 23 0 144 81 24 0 143 81 26 0 142 81 27 0 141 81 28 0 140 81 29 0 139 81 30 0 138 81 31 0 137 81 32 0 136 81 33 0 135 81 34 0 134 81 35 0 133 81 37 0 132 81 38 0 131 81 39 0 130 81 39 0 129 81 40 0 128 81 41 0 127 81 42 0 125 81 43 0 124 81 45 0 123 81 46 0 122 81 47 0 121 81 47 0 120 81 48 0 119 81 49 0 118 81 50 0 117 81 51 0 116 81 53 0 115 81 54 0 114 81 55 0 113 81 55 0 112 81 56 0 111 81 57 0 110 81 59 0 109 81 60 0 108 81 61 0 107 81 62 0 106 81 63 0 105 81 64 0 104 81 65 0 103 81 66 0 102 81 67 0 101 81 68 0 100 81 70 0 99 81 71 0 98 81 72 0 97 81 72 0 96 81 73 0 95 81 74 0 94 81 75 0 92 81 76 0 91 81 78 0 90 81 79 0 89 81 80 0 88 81 80 2 87 81 81 3 86 81 82 6 85 81 83 7 84 81 84 10 83 81 86 13 82 81 87 16 81 81 88 17 80 81 88 20 79 81 89 24 78 81 90 25 77 81 92 28 76 81 93 29 75 81 94 32 74 81 95 35 73 81 96 38 72 81 97 40 71 81 98 44 70 81 99 47 69 81 100 50 68 81 101 51 67 81 103 54 66 81 104 59 65 81 105 62 64 81 105 66 63 81 106 67 62 81 107 69 61 81 108 70 59 81 109 73 58 81 111 74 57 81 112 76 56 81 113 80 55 81 113 82 54 81 114 84 53 81 115 88 52 81 116 91 51 81 117 92 50 81 119 95 49 81 120 96 48 81 121 99 47 81 121 103 46 81 122 107 45 81 123 110 44 81 125 111 43 81 126 115 42 81 127 117 41 81 128 120 40 81 129 122 39 81 130 126 38 81 131 128 37 81 132 130 36 81 133 133 35 81 134 134 34 81 136 137 33 81 137 140 32 81 138 143 31 81 138 145 30 81 139 150 29 81 140 153 28 81 141 155 26 81 142 156 25 81 144 157 24 81 145 159 23 81 146 162 22 81 146 163 21 81 147 166 20 81 148 171 19 81 149 172 18 81 150 175 17 81 152 178 16 81 153 179 15 81 154 182 14 81 154 184 13 81 155 186 12 81 156 189 11 81 158 195 10 81 159 198 9 81 160 199 8 81 161 201 7 81 162 204 6 81 163 205 5 81 164 207 4 81 165 208 3 81 166 209 2 81 167 211 1 81 169 213 0 81 169 216 0 81 170 217 0 81 171 217 0 81 171 219 0 81 171 219 0 81 171 219 255 80 0 230 254 80 0 228 254 80 0 226 254 80 0 223 253 80 0 221 252 80 0 220 251 80 0 219 250 80 0 217 249 80 0 216 248 80 0 213 247 80 0 211 246 80 0 209 245 80 0 208 244 80 0 207 243 80 0 205 242 80 0 205 241 80 0 202 240 80 0 201 239 80 0 198 238 80 0 195 237 80 0 189 236 80 0 186 235 80 0 185 234 80 0 182 233 80 0 181 232 80 0 179 231 80 0 176 230 80 0 175 229 80 0 172 228 80 0 167 227 80 0 165 226 80 0 163 224 80 0 160 223 80 0 159 222 80 0 157 221 80 0 156 220 80 0 153 219 80 0 152 218 80 0 149 217 80 0 144 216 80 0 143 215 80 0 138 214 80 0 135 213 80 0 134 212 80 0 131 211 80 0 130 210 80 0 128 209 80 0 122 208 80 0 121 207 80 0 118 206 80 0 117 205 80 0 114 204 80 0 111 203 80 0 108 202 80 0 104 201 80 0 102 200 80 0 99 199 80 0 96 198 80 0 93 197 80 0 92 196 80 0 91 195 80 0 88 194 80 0 84 193 80 0 82 191 80 0 80 190 80 0 76 189 80 0 74 188 80 0 73 187 80 0 71 186 80 0 70 185 80 0 69 184 80 0 66 183 80 0 62 182 80 0 59 181 80 0 57 180 80 0 53 179 80 0 50 178 80 0 47 177 80 0 44 176 80 0 40 175 80 0 38 174 80 0 36 173 80 0 32 172 80 0 29 171 80 0 28 170 80 1 27 169 80 1 24 168 80 2 20 167 80 3 18 166 80 4 17 165 80 5 14 164 80 6 13 163 80 7 9 162 80 8 7 161 80 9 5 160 80 10 2 158 80 11 0 157 80 12 0 156 80 13 0 155 80 14 0 154 80 15 0 153 80 16 0 152 80 17 0 151 80 18 0 150 80 19 0 149 80 20 0 148 80 21 0 147 80 22 0 146 80 23 0 145 80 24 0 144 80 25 0 143 80 27 0 142 80 28 0 141 80 29 0 140 80 30 0 139 80 31 0 138 80 32 0 137 80 33 0 136 80 34 0 135 80 35 0 134 80 36 0 133 80 37 0 132 80 38 0 131 80 39 0 130 80 40 0 129 80 41 0 128 80 42 0 127 80 43 0 125 80 44 0 124 80 45 0 123 80 46 0 122 80 47 0 121 80 48 0 120 80 49 0 119 80 50 0 118 80 51 0 117 80 52 0 116 80 53 0 115 80 54 0 114 80 55 0 113 80 56 0 112 80 57 0 111 80 58 0 110 80 60 0 109 80 61 0 108 80 62 0 107 80 63 0 106 80 64 0 105 80 65 0 104 80 66 0 103 80 67 0 102 80 68 0 101 80 69 0 100 80 70 0 99 80 71 0 98 80 72 0 97 80 73 0 96 80 74 0 95 80 75 0 94 80 76 0 92 80 77 0 91 80 78 0 90 80 79 0 89 80 80 2 88 80 81 5 87 80 82 6 86 80 83 9 85 80 84 10 84 80 85 14 83 80 86 16 82 80 87 18 81 80 88 20 80 80 89 24 79 80 90 25 78 80 91 28 77 80 93 29 76 80 94 32 75 80 95 35 74 80 96 38 73 80 97 40 72 80 98 44 71 80 99 47 70 80 100 50 69 80 101 51 68 80 102 54 67 80 103 59 66 80 104 62 65 80 105 66 64 80 106 67 63 80 107 70 62 80 108 71 61 80 109 73 59 80 110 74 58 80 111 76 57 80 112 80 56 80 113 81 55 80 114 84 54 80 115 86 53 80 116 89 52 80 117 92 51 80 118 93 50 80 119 96 49 80 120 98 48 80 121 102 47 80 122 104 46 80 123 108 45 80 124 111 44 80 126 112 43 80 127 117 42 80 128 118 41 80 129 121 40 80 130 122 39 80 131 128 38 80 132 130 37 80 133 131 36 80 134 133 35 80 135 135 34 80 136 138 33 80 137 141 32 80 138 144 31 80 139 149 30 80 140 152 29 80 141 153 28 80 142 155 26 80 143 157 25 80 144 159 24 80 145 160 23 80 146 163 22 80 147 165 21 80 148 167 20 80 149 172 19 80 150 174 18 80 151 176 17 80 152 178 16 80 153 181 15 80 154 182 14 80 155 184 13 80 156 186 12 80 157 189 11 80 159 195 10 80 160 198 9 80 161 201 8 80 162 202 7 80 163 204 6 80 164 205 5 80 165 207 4 80 166 208 3 80 167 209 2 80 168 211 1 80 169 213 0 80 170 216 0 80 171 217 0 80 171 219 0 80 172 219 0 80 172 219 0 80 172 219 255 79 0 230 254 79 0 228 254 79 0 226 254 79 0 224 253 79 0 221 252 79 0 220 251 79 0 219 250 79 0 217 249 79 0 216 248 79 0 213 247 79 0 211 246 79 0 211 245 79 0 209 244 79 0 208 243 79 0 207 242 79 0 205 241 79 0 204 240 79 0 201 239 79 0 199 238 79 0 195 237 79 0 189 236 79 0 188 235 79 0 185 234 79 0 184 233 79 0 182 232 79 0 179 231 79 0 178 230 79 0 176 229 79 0 174 228 79 0 171 227 79 0 167 226 79 0 165 224 79 0 162 223 79 0 160 222 79 0 157 221 79 0 156 220 79 0 155 219 79 0 153 218 79 0 150 217 79 0 145 216 79 0 143 215 79 0 140 214 79 0 137 213 79 0 135 212 79 0 133 211 79 0 131 210 79 0 130 209 79 0 126 208 79 0 122 207 79 0 120 206 79 0 118 205 79 0 115 204 79 0 112 203 79 0 110 202 79 0 107 201 79 0 103 200 79 0 102 199 79 0 98 198 79 0 96 197 79 0 93 196 79 0 92 195 79 0 89 194 79 0 88 193 79 0 84 191 79 0 82 190 79 0 80 189 79 0 77 188 79 0 76 187 79 0 74 186 79 0 73 185 79 0 70 184 79 0 67 183 79 0 66 182 79 0 62 181 79 0 59 180 79 0 54 179 79 0 53 178 79 0 50 177 79 0 47 176 79 0 44 175 79 0 40 174 79 0 39 173 79 0 36 172 79 0 32 171 79 1 31 170 79 1 28 169 79 2 27 168 79 3 24 167 79 4 22 166 79 5 20 165 79 6 17 164 79 7 16 163 79 8 14 162 79 9 10 161 79 10 9 160 79 11 6 158 79 12 3 157 79 13 0 156 79 14 0 155 79 15 0 154 79 16 0 153 79 17 0 152 79 18 0 151 79 19 0 150 79 20 0 149 79 21 0 148 79 22 0 147 79 23 0 146 79 24 0 145 79 25 0 144 79 26 0 143 79 28 0 142 79 29 0 141 79 30 0 140 79 31 0 139 79 32 0 138 79 33 0 137 79 34 0 136 79 35 0 135 79 36 0 134 79 37 0 133 79 38 0 132 79 39 0 131 79 40 0 130 79 41 0 129 79 42 0 128 79 43 0 127 79 44 0 125 79 45 0 124 79 46 0 123 79 47 0 122 79 48 0 121 79 49 0 120 79 50 0 119 79 51 0 118 79 52 0 117 79 53 0 116 79 54 0 115 79 55 0 114 79 56 0 113 79 57 0 112 79 58 0 111 79 59 0 110 79 61 0 109 79 62 0 108 79 63 0 107 79 64 0 106 79 65 0 105 79 66 0 104 79 67 0 103 79 68 0 102 79 69 0 101 79 70 0 100 79 71 0 99 79 72 0 98 79 73 0 97 79 74 0 96 79 75 0 95 79 76 0 94 79 77 0 92 79 78 0 91 79 79 0 90 79 80 3 89 79 81 6 88 79 82 7 87 79 83 10 86 79 84 13 85 79 85 16 84 79 86 17 83 79 87 18 82 79 88 22 81 79 89 24 80 79 90 27 79 79 91 28 78 79 92 29 77 79 94 32 76 79 95 36 75 79 96 38 74 79 97 40 73 79 98 44 72 79 99 47 71 79 100 49 70 79 101 51 69 79 102 54 68 79 103 59 67 79 104 60 66 79 105 64 65 79 106 67 64 79 107 70 63 79 108 73 62 79 109 74 61 79 110 76 59 79 111 77 58 79 112 80 57 79 113 81 56 79 114 84 55 79 115 86 54 79 116 89 53 79 117 91 52 79 118 93 51 79 119 95 50 79 120 98 49 79 121 102 48 79 122 103 47 79 123 107 46 79 124 110 45 79 125 112 44 79 127 115 43 79 128 118 42 79 129 120 41 79 130 122 40 79 131 126 39 79 132 128 38 79 133 131 37 79 134 133 36 79 135 134 35 79 136 137 34 79 137 140 33 79 138 143 32 79 139 145 31 79 140 150 30 79 141 152 29 79 142 155 28 79 143 156 26 79 144 157 25 79 145 160 24 79 146 162 23 79 147 165 22 79 148 166 21 79 149 171 20 79 150 174 19 79 151 176 18 79 152 178 17 79 153 179 16 79 154 181 15 79 155 182 14 79 156 185 13 79 157 186 12 79 158 189 11 79 160 195 10 79 161 198 9 79 162 201 8 79 163 204 7 79 164 205 6 79 165 207 5 79 166 208 4 79 167 208 3 79 168 209 2 79 169 211 1 79 170 213 0 79 171 216 0 79 172 217 0 79 172 219 0 79 173 219 0 79 173 219 0 79 173 219 255 78 0 230 254 78 0 228 254 78 0 226 254 78 0 224 253 78 0 221 252 78 0 220 251 78 0 219 250 78 0 217 249 78 0 217 248 78 0 216 247 78 0 213 246 78 0 211 245 78 0 209 244 78 0 208 243 78 0 208 242 78 0 207 241 78 0 204 240 78 0 202 239 78 0 199 238 78 0 197 237 78 0 189 236 78 0 188 235 78 0 185 234 78 0 184 233 78 0 182 232 78 0 181 231 78 0 179 230 78 0 178 229 78 0 175 228 78 0 172 227 78 0 171 226 78 0 166 224 78 0 163 223 78 0 160 222 78 0 159 221 78 0 156 220 78 0 155 219 78 0 153 218 78 0 152 217 78 0 149 216 78 0 144 215 78 0 141 214 78 0 138 213 78 0 137 212 78 0 134 211 78 0 133 210 78 0 131 209 78 0 128 208 78 0 126 207 78 0 121 206 78 0 120 205 78 0 117 204 78 0 114 203 78 0 111 202 78 0 108 201 78 0 104 200 78 0 103 199 78 0 99 198 78 0 98 197 78 0 96 196 78 0 93 195 78 0 92 194 78 0 89 193 78 0 88 191 78 0 84 190 78 0 82 189 78 0 81 188 78 0 80 187 78 0 77 186 78 0 74 185 78 0 73 184 78 0 70 183 78 0 67 182 78 0 64 181 78 0 60 180 78 0 59 179 78 0 54 178 78 0 53 177 78 0 50 176 78 0 47 175 78 0 44 174 78 0 40 173 78 0 39 172 78 1 36 171 78 1 32 170 78 2 31 169 78 3 28 168 78 4 27 167 78 5 25 166 78 6 24 165 78 7 20 164 78 8 18 163 78 9 17 162 78 10 14 161 78 11 13 160 78 12 9 158 78 13 6 157 78 14 5 156 78 15 2 155 78 16 0 154 78 17 0 153 78 18 0 152 78 19 0 151 78 20 0 150 78 21 0 149 78 22 0 148 78 23 0 147 78 24 0 146 78 25 0 145 78 26 0 144 78 27 0 143 78 29 0 142 78 30 0 141 78 31 0 140 78 32 0 139 78 33 0 138 78 34 0 137 78 35 0 136 78 36 0 135 78 37 0 134 78 38 0 133 78 39 0 132 78 40 0 131 78 41 0 130 78 42 0 129 78 43 0 128 78 44 0 127 78 45 0 125 78 46 0 124 78 47 0 123 78 48 0 122 78 49 0 121 78 50 0 120 78 51 0 119 78 52 0 118 78 53 0 117 78 54 0 116 78 55 0 115 78 56 0 114 78 57 0 113 78 58 0 112 78 59 0 111 78 60 0 110 78 62 0 109 78 63 0 108 78 64 0 107 78 65 0 106 78 66 0 105 78 67 0 104 78 68 0 103 78 69 0 102 78 70 0 101 78 71 0 100 78 72 0 99 78 73 0 98 78 74 0 97 78 75 0 96 78 76 0 95 78 77 0 94 78 78 0 92 78 79 2 91 78 80 3 90 78 81 6 89 78 82 9 88 78 83 10 87 78 84 14 86 78 85 16 85 78 86 18 84 78 87 20 83 78 88 22 82 78 89 25 81 78 90 27 80 78 91 28 79 78 92 31 78 78 93 32 77 78 95 35 76 78 96 38 75 78 97 40 74 78 98 44 73 78 99 47 72 78 100 50 71 78 101 51 70 78 102 54 69 78 103 57 68 78 104 60 67 78 105 62 66 78 106 66 65 78 107 69 64 78 108 71 63 78 109 74 62 78 110 76 61 78 111 77 59 78 112 81 58 78 113 82 57 78 114 84 56 78 115 86 55 78 116 89 54 78 117 91 53 78 118 93 52 78 119 95 51 78 120 96 50 78 121 99 49 78 122 103 48 78 123 104 47 78 124 108 46 78 125 111 45 78 126 114 44 78 128 117 43 78 129 120 42 78 130 121 41 78 131 126 40 78 132 128 39 78 133 130 38 78 134 131 37 78 135 134 36 78 136 135 35 78 137 138 34 78 138 141 33 78 139 144 32 78 140 149 31 78 141 150 30 78 142 153 29 78 143 155 28 78 144 156 26 78 145 157 25 78 146 160 24 78 147 162 23 78 148 165 22 78 149 167 21 78 150 172 20 78 151 175 19 78 152 176 18 78 153 179 17 78 154 181 16 78 155 182 15 78 156 184 14 78 157 185 13 78 158 188 12 78 159 189 11 78 161 195 10 78 162 199 9 78 163 201 8 78 164 204 7 78 165 205 6 78 166 207 5 78 167 208 4 78 168 209 3 78 169 211 2 78 170 211 1 78 171 213 0 78 172 217 0 78 173 217 0 78 173 219 0 78 173 219 0 78 174 220 0 78 174 220 255 77 0 230 254 77 0 228 254 77 0 226 254 77 0 224 253 77 0 221 252 77 0 220 251 77 0 219 250 77 0 217 249 77 0 217 248 77 0 216 247 77 0 213 246 77 0 211 245 77 0 209 244 77 0 209 243 77 0 208 242 77 0 207 241 77 0 205 240 77 0 202 239 77 0 199 238 77 0 197 237 77 0 194 236 77 0 188 235 77 0 186 234 77 0 185 233 77 0 184 232 77 0 182 231 77 0 181 230 77 0 179 229 77 0 176 228 77 0 174 227 77 0 171 226 77 0 166 224 77 0 163 223 77 0 160 222 77 0 159 221 77 0 157 220 77 0 155 219 77 0 153 218 77 0 152 217 77 0 150 216 77 0 145 215 77 0 143 214 77 0 141 213 77 0 138 212 77 0 135 211 77 0 134 210 77 0 131 209 77 0 130 208 77 0 126 207 77 0 122 206 77 0 120 205 77 0 118 204 77 0 115 203 77 0 112 202 77 0 110 201 77 0 107 200 77 0 104 199 77 0 103 198 77 0 99 197 77 0 98 196 77 0 95 195 77 0 93 194 77 0 92 193 77 0 89 191 77 0 88 190 77 0 86 189 77 0 82 188 77 0 81 187 77 0 80 186 77 0 77 185 77 0 74 184 77 0 71 183 77 0 69 182 77 0 66 181 77 0 62 180 77 0 60 179 77 0 57 178 77 0 54 177 77 0 53 176 77 0 50 175 77 0 47 174 77 1 44 173 77 1 40 172 77 2 38 171 77 2 36 170 77 3 32 169 77 4 31 168 77 5 29 167 77 6 27 166 77 7 25 165 77 8 24 164 77 9 22 163 77 10 20 162 77 11 17 161 77 12 16 160 77 13 13 158 77 14 9 157 77 15 7 156 77 16 5 155 77 17 2 154 77 18 0 153 77 19 0 152 77 20 0 151 77 21 0 150 77 22 0 149 77 24 0 148 77 25 0 147 77 26 0 146 77 27 0 145 77 28 0 144 77 29 0 143 77 30 0 142 77 31 0 141 77 32 0 140 77 33 0 139 77 34 0 138 77 35 0 137 77 36 0 136 77 37 0 135 77 38 0 134 77 39 0 133 77 40 0 132 77 41 0 131 77 42 0 130 77 43 0 129 77 44 0 128 77 45 0 127 77 46 0 125 77 47 0 124 77 48 0 123 77 49 0 122 77 50 0 121 77 51 0 120 77 52 0 119 77 53 0 118 77 54 0 117 77 55 0 116 77 57 0 115 77 58 0 114 77 59 0 113 77 60 0 112 77 61 0 111 77 62 0 110 77 63 0 109 77 64 0 108 77 65 0 107 77 66 0 106 77 67 0 105 77 68 0 104 77 69 0 103 77 70 0 102 77 71 0 101 77 72 0 100 77 73 0 99 77 74 0 98 77 75 0 97 77 76 0 96 77 77 0 95 77 78 0 94 77 79 2 92 77 80 5 91 77 81 7 90 77 82 9 89 77 83 13 88 77 84 14 87 77 85 17 86 77 86 18 85 77 87 22 84 77 88 24 83 77 90 25 82 77 91 27 81 77 92 28 80 77 93 31 79 77 94 32 78 77 95 35 77 77 96 38 76 77 97 40 75 77 98 44 74 77 99 47 73 77 100 49 72 77 101 51 71 77 102 53 70 77 103 57 69 77 104 59 68 77 105 62 67 77 106 64 66 77 107 67 65 77 108 70 64 77 109 73 63 77 110 76 62 77 111 77 61 77 112 81 59 77 113 82 58 77 114 84 57 77 115 86 56 77 116 89 55 77 117 91 54 77 118 93 53 77 119 95 52 77 120 96 51 77 121 99 50 77 123 102 49 77 124 104 48 77 125 107 47 77 126 110 46 77 127 112 45 77 128 115 44 77 129 118 43 77 130 120 42 77 131 122 41 77 132 126 40 77 133 130 39 77 134 131 38 77 135 133 37 77 136 135 36 77 137 138 35 77 138 140 34 77 139 143 33 77 140 145 32 77 141 149 31 77 142 152 30 77 143 153 29 77 144 155 28 77 145 156 26 77 146 159 25 77 147 160 24 77 148 163 23 77 149 166 22 77 150 171 21 77 151 174 20 77 152 176 19 77 153 178 18 77 154 179 17 77 156 181 16 77 157 184 15 77 158 184 14 77 159 186 13 77 160 188 12 77 161 194 11 77 162 197 10 77 163 199 9 77 164 202 8 77 165 204 7 77 166 207 6 77 167 208 5 77 168 208 4 77 169 209 3 77 170 211 2 77 171 213 1 77 172 213 0 77 173 217 0 77 174 217 0 77 174 219 0 77 175 219 0 77 175 220 0 77 175 220 255 76 0 230 254 76 0 228 254 76 0 226 254 76 0 224 253 76 0 221 252 76 0 220 251 76 0 219 250 76 0 217 249 76 0 217 248 76 0 216 247 76 0 213 246 76 0 211 245 76 0 209 244 76 0 209 243 76 0 208 242 76 0 207 241 76 0 205 240 76 0 202 239 76 0 199 238 76 0 197 237 76 0 194 236 76 0 189 235 76 0 188 234 76 0 185 233 76 0 185 232 76 0 184 231 76 0 181 230 76 0 179 229 76 0 178 228 76 0 175 227 76 0 172 226 76 0 167 224 76 0 165 223 76 0 162 222 76 0 159 221 76 0 157 220 76 0 156 219 76 0 155 218 76 0 153 217 76 0 152 216 76 0 149 215 76 0 145 214 76 0 143 213 76 0 140 212 76 0 137 211 76 0 135 210 76 0 133 209 76 0 131 208 76 0 128 207 76 0 126 206 76 0 121 205 76 0 118 204 76 0 117 203 76 0 114 202 76 0 111 201 76 0 108 200 76 0 107 199 76 0 104 198 76 0 102 197 76 0 99 196 76 0 98 195 76 0 95 194 76 0 93 193 76 0 92 191 76 0 89 190 76 0 88 189 76 0 86 188 76 0 84 187 76 0 81 186 76 0 80 185 76 0 76 184 76 0 71 183 76 0 70 182 76 0 67 181 76 0 64 180 76 0 62 179 76 0 60 178 76 0 57 177 76 0 54 176 76 0 53 175 76 1 50 174 76 2 47 173 76 2 44 172 76 3 40 171 76 3 39 170 76 4 36 169 76 5 35 168 76 6 31 167 76 7 29 166 76 9 28 165 76 10 25 164 76 10 24 163 76 11 22 162 76 12 20 161 76 13 17 160 76 14 16 158 76 15 13 157 76 17 10 156 76 18 7 155 76 18 5 154 76 19 3 153 76 20 0 152 76 21 0 151 76 22 0 150 76 24 0 149 76 25 0 148 76 26 0 147 76 27 0 146 76 28 0 145 76 29 0 144 76 30 0 143 76 31 0 142 76 32 0 141 76 34 0 140 76 35 0 139 76 35 0 138 76 36 0 137 76 37 0 136 76 38 0 135 76 39 0 134 76 40 0 133 76 42 0 132 76 43 0 131 76 43 0 130 76 44 0 129 76 45 0 128 76 46 0 127 76 47 0 125 76 48 0 124 76 50 0 123 76 51 0 122 76 51 0 121 76 52 0 120 76 53 0 119 76 54 0 118 76 55 0 117 76 57 0 116 76 58 0 115 76 59 0 114 76 60 0 113 76 61 0 112 76 62 0 111 76 63 0 110 76 64 0 109 76 65 0 108 76 67 0 107 76 68 0 106 76 68 0 105 76 69 0 104 76 70 0 103 76 71 0 102 76 72 0 101 76 73 0 100 76 75 0 99 76 76 0 98 76 76 0 97 76 77 0 96 76 78 0 95 76 79 3 94 76 80 5 92 76 81 7 91 76 83 10 90 76 84 13 89 76 84 16 88 76 85 17 87 76 86 18 86 76 87 22 85 76 88 24 84 76 90 25 83 76 91 27 82 76 92 29 81 76 93 31 80 76 94 32 79 76 95 36 78 76 96 38 77 76 97 40 76 76 98 44 75 76 100 47 74 76 101 49 73 76 101 51 72 76 102 54 71 76 103 57 70 76 104 59 69 76 105 60 68 76 106 64 67 76 108 66 66 76 109 69 65 76 109 71 64 76 110 74 63 76 111 77 62 76 112 81 61 76 113 82 59 76 114 86 58 76 116 88 57 76 117 89 56 76 117 91 55 76 118 93 54 76 119 95 53 76 120 96 52 76 121 99 51 76 123 102 50 76 124 103 49 76 125 107 48 76 126 108 47 76 127 111 46 76 128 114 45 76 129 117 44 76 130 118 43 76 131 121 42 76 133 122 41 76 134 128 40 76 134 130 39 76 135 133 38 76 136 134 37 76 137 137 36 76 138 140 35 76 139 141 34 76 141 144 33 76 142 149 32 76 142 150 31 76 143 152 30 76 144 155 29 76 145 156 28 76 146 157 26 76 147 159 25 76 149 162 24 76 150 165 23 76 150 167 22 76 151 172 21 76 152 174 20 76 153 176 19 76 154 179 18 76 156 181 17 76 157 182 16 76 158 184 15 76 159 185 14 76 160 186 13 76 161 189 12 76 162 194 11 76 163 197 10 76 164 199 9 76 166 202 8 76 167 205 7 76 167 207 6 76 168 208 5 76 169 209 4 76 170 209 3 76 171 211 2 76 172 213 1 76 174 216 0 76 174 217 0 76 175 217 0 76 176 219 0 76 176 219 0 76 176 220 0 76 176 220 255 75 0 230 254 75 0 228 254 75 0 226 254 75 0 224 253 75 0 221 252 75 0 220 251 75 0 219 250 75 0 217 249 75 0 217 248 75 0 216 247 75 0 213 246 75 0 211 245 75 0 211 244 75 0 209 243 75 0 208 242 75 0 207 241 75 0 205 240 75 0 202 239 75 0 201 238 75 0 198 237 75 0 195 236 75 0 194 235 75 0 188 234 75 0 186 233 75 0 185 232 75 0 184 231 75 0 182 230 75 0 179 229 75 0 178 228 75 0 175 227 75 0 172 226 75 0 171 224 75 0 165 223 75 0 163 222 75 0 160 221 75 0 159 220 75 0 156 219 75 0 156 218 75 0 153 217 75 0 152 216 75 0 150 215 75 0 149 214 75 0 144 213 75 0 141 212 75 0 138 211 75 0 135 210 75 0 134 209 75 0 131 208 75 0 130 207 75 0 126 206 75 0 122 205 75 0 120 204 75 0 118 203 75 0 115 202 75 0 112 201 75 0 110 200 75 0 108 199 75 0 107 198 75 0 103 197 75 0 102 196 75 0 99 195 75 0 96 194 75 0 95 193 75 0 93 191 75 0 91 190 75 0 89 189 75 0 88 188 75 0 86 187 75 0 82 186 75 0 81 185 75 0 77 184 75 0 73 183 75 0 70 182 75 0 69 181 75 0 66 180 75 0 64 179 75 0 62 178 75 0 59 177 75 0 57 176 75 1 54 175 75 2 53 174 75 2 50 173 75 3 47 172 75 4 44 171 75 4 43 170 75 5 39 169 75 6 36 168 75 7 35 167 75 9 31 166 75 10 29 165 75 11 28 164 75 12 25 163 75 12 24 162 75 13 22 161 75 14 18 160 75 15 17 158 75 17 16 157 75 18 13 156 75 19 10 155 75 20 7 154 75 20 5 153 75 21 3 152 75 22 0 151 75 24 0 150 75 25 0 149 75 26 0 148 75 27 0 147 75 28 0 146 75 29 0 145 75 30 0 144 75 31 0 143 75 32 0 142 75 34 0 141 75 35 0 140 75 36 0 139 75 37 0 138 75 37 0 137 75 38 0 136 75 39 0 135 75 40 0 134 75 42 0 133 75 43 0 132 75 44 0 131 75 45 0 130 75 45 0 129 75 46 0 128 75 47 0 127 75 48 0 125 75 50 0 124 75 51 0 123 75 52 0 122 75 53 0 121 75 53 0 120 75 54 0 119 75 55 0 118 75 57 0 117 75 58 0 116 75 59 0 115 75 60 0 114 75 61 0 113 75 62 0 112 75 63 0 111 75 64 0 110 75 65 0 109 75 67 0 108 75 68 0 107 75 69 0 106 75 70 0 105 75 70 0 104 75 71 0 103 75 72 0 102 75 73 0 101 75 75 0 100 75 76 0 99 75 77 0 98 75 78 0 97 75 78 0 96 75 79 3 95 75 80 5 94 75 81 7 92 75 83 10 91 75 84 13 90 75 85 14 89 75 86 17 88 75 86 18 87 75 87 20 86 75 88 24 85 75 90 25 84 75 91 27 83 75 92 29 82 75 93 31 81 75 94 32 80 75 95 36 79 75 96 38 78 75 97 40 77 75 98 44 76 75 100 47 75 75 101 50 74 75 102 51 73 75 103 54 72 75 103 57 71 75 104 59 70 75 105 60 69 75 106 62 68 75 108 64 67 75 109 67 66 75 110 70 65 75 111 73 64 75 111 76 63 75 112 80 62 75 113 82 61 75 114 84 59 75 116 88 58 75 117 89 57 75 118 91 56 75 119 93 55 75 119 95 54 75 120 96 53 75 121 98 52 75 123 102 51 75 124 103 50 75 125 104 49 75 126 108 48 75 127 110 47 75 128 112 46 75 129 115 45 75 130 117 44 75 131 120 43 75 133 122 42 75 134 126 41 75 135 128 40 75 136 131 39 75 136 133 38 75 137 135 37 75 138 138 36 75 139 141 35 75 141 143 34 75 142 145 33 75 143 150 32 75 144 152 31 75 144 153 30 75 145 155 29 75 146 156 28 75 147 157 26 75 149 160 25 75 150 163 24 75 151 165 23 75 152 167 22 75 152 172 21 75 153 175 20 75 154 178 19 75 156 179 18 75 157 181 17 75 158 184 16 75 159 185 15 75 160 186 14 75 161 188 13 75 162 194 12 75 163 195 11 75 164 198 10 75 166 199 9 75 167 202 8 75 168 205 7 75 169 207 6 75 169 208 5 75 170 209 4 75 171 209 3 75 172 211 2 75 174 213 1 75 175 216 0 75 176 217 0 75 176 217 0 75 177 219 0 75 177 219 0 75 177 220 0 75 177 220 255 74 0 230 254 74 0 228 254 74 0 226 254 74 0 224 253 74 0 221 252 74 0 220 251 74 0 219 250 74 0 217 249 74 0 217 248 74 0 216 247 74 0 213 246 74 0 211 245 74 0 211 244 74 0 209 243 74 0 208 242 74 0 207 241 74 0 205 240 74 0 204 239 74 0 201 238 74 0 199 237 74 0 197 236 74 0 195 235 74 0 189 234 74 0 188 233 74 0 186 232 74 0 184 231 74 0 182 230 74 0 181 229 74 0 178 228 74 0 175 227 74 0 174 226 74 0 171 224 74 0 166 223 74 0 165 222 74 0 162 221 74 0 159 220 74 0 157 219 74 0 156 218 74 0 155 217 74 0 153 216 74 0 152 215 74 0 150 214 74 0 145 213 74 0 143 212 74 0 140 211 74 0 137 210 74 0 134 209 74 0 133 208 74 0 130 207 74 0 128 206 74 0 126 205 74 0 121 204 74 0 118 203 74 0 117 202 74 0 114 201 74 0 111 200 74 0 110 199 74 0 108 198 74 0 104 197 74 0 103 196 74 0 102 195 74 0 98 194 74 0 96 193 74 0 95 191 74 0 92 190 74 0 91 189 74 0 89 188 74 0 88 187 74 0 84 186 74 0 82 185 74 0 80 184 74 0 74 183 74 0 73 182 74 0 70 181 74 0 67 180 74 0 66 179 74 0 62 178 74 0 60 177 74 0 59 176 74 1 57 175 74 2 54 174 74 3 51 173 74 4 50 172 74 5 47 171 74 5 44 170 74 6 40 169 74 7 39 168 74 8 36 167 74 10 35 166 74 11 31 165 74 12 29 164 74 13 27 163 74 13 25 162 74 14 24 161 74 15 20 160 74 16 18 158 74 18 17 157 74 19 16 156 74 20 13 155 74 21 10 154 74 21 7 153 74 22 6 152 74 23 3 151 74 25 2 150 74 26 0 149 74 27 0 148 74 28 0 147 74 29 0 146 74 30 0 145 74 31 0 144 74 32 0 143 74 33 0 142 74 35 0 141 74 36 0 140 74 37 0 139 74 38 0 138 74 38 0 137 74 39 0 136 74 40 0 135 74 41 0 134 74 43 0 133 74 44 0 132 74 45 0 131 74 46 0 130 74 46 0 129 74 47 0 128 74 48 0 127 74 49 0 125 74 51 0 124 74 52 0 123 74 53 0 122 74 54 0 121 74 54 0 120 74 55 0 119 74 56 0 118 74 58 0 117 74 59 0 116 74 60 0 115 74 61 0 114 74 62 0 113 74 63 0 112 74 64 0 111 74 65 0 110 74 66 0 109 74 68 0 108 74 69 0 107 74 70 0 106 74 71 0 105 74 71 0 104 74 72 0 103 74 73 0 102 74 74 0 101 74 76 0 100 74 77 0 99 74 78 0 98 74 79 0 97 74 79 3 96 74 80 5 95 74 81 7 94 74 82 9 92 74 84 13 91 74 85 14 90 74 86 17 89 74 87 18 88 74 87 20 87 74 88 22 86 74 89 25 85 74 91 27 84 74 92 28 83 74 93 31 82 74 94 32 81 74 95 35 80 74 96 38 79 74 97 40 78 74 98 44 77 74 99 46 76 74 101 49 75 74 102 51 74 74 103 53 73 74 104 57 72 74 104 59 71 74 105 60 70 74 106 62 69 74 107 64 68 74 109 67 67 74 110 69 66 74 111 71 65 74 112 74 64 74 112 77 63 74 113 81 62 74 114 84 61 74 115 86 59 74 117 89 58 74 118 91 57 74 119 92 56 74 120 93 55 74 120 96 54 74 121 98 53 74 122 99 52 74 124 103 51 74 125 104 50 74 126 107 49 74 127 110 48 74 128 111 47 74 129 114 46 74 130 117 45 74 131 118 44 74 132 121 43 74 134 122 42 74 135 128 41 74 136 130 40 74 137 131 39 74 137 134 38 74 138 135 37 74 139 138 36 74 140 141 35 74 142 144 34 74 143 149 33 74 144 152 32 74 145 153 31 74 145 155 30 74 146 156 29 74 147 157 28 74 148 159 26 74 150 162 25 74 151 163 24 74 152 166 23 74 153 171 22 74 153 174 21 74 154 175 20 74 155 178 19 74 157 179 18 74 158 182 17 74 159 184 16 74 160 185 15 74 161 188 14 74 162 189 13 74 163 194 12 74 164 197 11 74 165 198 10 74 167 201 9 74 168 204 8 74 169 205 7 74 170 207 6 74 170 208 5 74 171 209 4 74 172 209 3 74 173 211 2 74 175 213 1 74 176 216 0 74 177 217 0 74 177 217 0 74 178 219 0 74 178 219 0 74 178 220 0 74 178 220 255 73 0 230 254 73 0 228 254 73 0 226 254 73 0 224 253 73 0 223 252 73 0 220 251 73 0 219 250 73 0 219 249 73 0 217 248 73 0 216 247 73 0 213 246 73 0 211 245 73 0 211 244 73 0 209 243 73 0 208 242 73 0 207 241 73 0 205 240 73 0 204 239 73 0 202 238 73 0 199 237 73 0 198 236 73 0 197 235 73 0 194 234 73 0 189 233 73 0 186 232 73 0 185 231 73 0 182 230 73 0 181 229 73 0 178 228 73 0 176 227 73 0 174 226 73 0 172 224 73 0 167 223 73 0 166 222 73 0 163 221 73 0 160 220 73 0 159 219 73 0 157 218 73 0 156 217 73 0 155 216 73 0 153 215 73 0 150 214 73 0 149 213 73 0 144 212 73 0 141 211 73 0 138 210 73 0 135 209 73 0 133 208 73 0 131 207 73 0 130 206 73 0 126 205 73 0 122 204 73 0 120 203 73 0 118 202 73 0 115 201 73 0 114 200 73 0 111 199 73 0 110 198 73 0 107 197 73 0 104 196 73 0 102 195 73 0 99 194 73 0 98 193 73 0 96 191 73 0 95 190 73 0 92 189 73 0 91 188 73 0 89 187 73 0 86 186 73 0 84 185 73 0 81 184 73 0 77 183 73 0 74 182 73 0 71 181 73 0 69 180 73 0 67 179 73 0 66 178 73 0 62 177 73 1 60 176 73 2 59 175 73 3 57 174 73 4 54 173 73 5 51 172 73 6 50 171 73 6 47 170 73 7 44 169 73 8 40 168 73 9 39 167 73 10 36 166 73 12 35 165 73 13 31 164 73 14 29 163 73 14 27 162 73 15 25 161 73 16 24 160 73 17 20 158 73 18 18 157 73 20 17 156 73 21 16 155 73 22 13 154 73 22 10 153 73 23 9 152 73 24 6 151 73 26 5 150 73 27 3 149 73 28 2 148 73 29 0 147 73 30 0 146 73 31 0 145 73 32 0 144 73 33 0 143 73 34 0 142 73 35 0 141 73 37 0 140 73 38 0 139 73 39 0 138 73 39 0 137 73 40 0 136 73 41 0 135 73 42 0 134 73 43 0 133 73 45 0 132 73 46 0 131 73 47 0 130 73 47 0 129 73 48 0 128 73 49 0 127 73 50 0 125 73 51 0 124 73 53 0 123 73 54 0 122 73 55 0 121 73 55 0 120 73 56 0 119 73 57 0 118 73 59 0 117 73 60 0 116 73 61 0 115 73 62 0 114 73 63 0 113 73 64 0 112 73 65 0 111 73 66 0 110 73 67 0 109 73 68 0 108 73 70 0 107 73 71 0 106 73 72 0 105 73 72 0 104 73 73 0 103 73 74 0 102 73 75 0 101 73 76 0 100 73 78 0 99 73 79 2 98 73 80 3 97 73 80 6 96 73 81 7 95 73 82 10 94 73 83 13 92 73 84 16 91 73 86 17 90 73 87 18 89 73 88 20 88 73 88 22 87 73 89 24 86 73 90 27 85 73 92 28 84 73 93 31 83 73 94 32 82 73 95 36 81 73 96 38 80 73 97 40 79 73 98 44 78 73 99 46 77 73 100 49 76 73 101 51 75 73 103 54 74 73 104 57 73 73 105 59 72 73 105 60 71 73 106 62 70 73 107 64 69 73 108 67 68 73 109 69 67 73 111 71 66 73 112 74 65 73 113 77 64 73 113 80 63 73 114 82 62 73 115 86 61 73 116 88 59 73 117 91 58 73 119 92 57 73 120 93 56 73 121 95 55 73 121 98 54 73 122 99 53 73 123 102 52 73 125 104 51 73 126 107 50 73 127 108 49 73 128 111 48 73 129 112 47 73 130 115 46 73 131 118 45 73 132 120 44 73 133 122 43 73 134 126 42 73 136 128 41 73 137 131 40 73 138 133 39 73 138 135 38 73 139 137 37 73 140 140 36 73 141 143 35 73 142 145 34 73 144 150 33 73 145 152 32 73 146 153 31 73 146 155 30 73 147 157 29 73 148 159 28 73 149 160 26 73 150 163 25 73 152 166 24 73 153 167 23 73 154 172 22 73 154 174 21 73 155 175 20 73 156 178 19 73 158 179 18 73 159 182 17 73 160 184 16 73 161 186 15 73 162 188 14 73 163 194 13 73 164 195 12 73 165 198 11 73 166 199 10 73 167 202 9 73 169 204 8 73 170 205 7 73 171 207 6 73 171 208 5 73 172 209 4 73 173 209 3 73 174 211 2 73 175 213 1 73 177 216 0 73 177 217 0 73 178 217 0 73 179 219 0 73 179 220 0 73 179 220 0 73 179 220 255 72 0 230 254 72 0 228 254 72 0 227 254 72 0 224 253 72 0 223 252 72 0 221 251 72 0 220 250 72 0 219 249 72 0 217 248 72 0 216 247 72 0 213 246 72 0 211 245 72 0 211 244 72 0 209 243 72 0 208 242 72 0 207 241 72 0 205 240 72 0 204 239 72 0 202 238 72 0 201 237 72 0 199 236 72 0 198 235 72 0 195 234 72 0 189 233 72 0 188 232 72 0 185 231 72 0 182 230 72 0 181 229 72 0 179 228 72 0 176 227 72 0 175 226 72 0 174 224 72 0 171 223 72 0 167 222 72 0 165 221 72 0 162 220 72 0 160 219 72 0 157 218 72 0 156 217 72 0 155 216 72 0 153 215 72 0 152 214 72 0 149 213 72 0 145 212 72 0 143 211 72 0 140 210 72 0 137 209 72 0 134 208 72 0 133 207 72 0 131 206 72 0 128 205 72 0 126 204 72 0 121 203 72 0 120 202 72 0 117 201 72 0 115 200 72 0 112 199 72 0 111 198 72 0 108 197 72 0 107 196 72 0 103 195 72 0 102 194 72 0 99 193 72 0 96 191 72 0 95 190 72 0 93 189 72 0 92 188 72 0 91 187 72 0 88 186 72 0 86 185 72 0 82 184 72 0 80 183 72 0 77 182 72 0 74 181 72 0 71 180 72 0 69 179 72 0 67 178 72 1 64 177 72 1 62 176 72 2 60 175 72 3 59 174 72 4 57 173 72 5 54 172 72 6 51 171 72 7 49 170 72 8 47 169 72 9 44 168 72 10 40 167 72 11 39 166 72 12 36 165 72 13 32 164 72 14 31 163 72 15 29 162 72 16 27 161 72 17 25 160 72 18 24 158 72 19 20 157 72 20 18 156 72 21 17 155 72 22 16 154 72 23 14 153 72 24 10 152 72 25 9 151 72 27 6 150 72 28 5 149 72 29 3 148 72 30 2 147 72 31 0 146 72 32 0 145 72 33 0 144 72 34 0 143 72 35 0 142 72 36 0 141 72 37 0 140 72 38 0 139 72 39 0 138 72 40 0 137 72 41 0 136 72 42 0 135 72 43 0 134 72 44 0 133 72 45 0 132 72 46 0 131 72 47 0 130 72 48 0 129 72 49 0 128 72 50 0 127 72 51 0 125 72 52 0 124 72 53 0 123 72 54 0 122 72 55 0 121 72 56 0 120 72 57 0 119 72 58 0 118 72 60 0 117 72 61 0 116 72 62 0 115 72 63 0 114 72 64 0 113 72 65 0 112 72 66 0 111 72 67 0 110 72 68 0 109 72 69 0 108 72 70 0 107 72 71 0 106 72 72 0 105 72 73 0 104 72 74 0 103 72 75 0 102 72 76 0 101 72 77 2 100 72 78 3 99 72 79 5 98 72 80 6 97 72 81 7 96 72 82 10 95 72 83 14 94 72 84 16 92 72 85 17 91 72 86 18 90 72 87 20 89 72 88 22 88 72 89 24 87 72 90 27 86 72 91 28 85 72 93 31 84 72 94 32 83 72 95 36 82 72 96 38 81 72 97 40 80 72 98 43 79 72 99 46 78 72 100 49 77 72 101 51 76 72 102 53 75 72 103 57 74 72 104 59 73 72 105 60 72 72 106 62 71 72 107 64 70 72 108 67 69 72 109 69 68 72 110 71 67 72 111 74 66 72 112 76 65 72 113 80 64 72 114 82 63 72 115 86 62 72 116 88 61 72 117 89 59 72 118 92 58 72 119 93 57 72 120 95 56 72 121 96 55 72 122 98 54 72 123 99 53 72 124 103 52 72 126 104 51 72 127 108 50 72 128 110 49 72 129 112 48 72 130 114 47 72 131 117 46 72 132 120 45 72 133 121 44 72 134 122 43 72 135 128 42 72 136 130 41 72 137 131 40 72 138 134 39 72 139 135 38 72 140 138 37 72 141 141 36 72 142 144 35 72 143 149 34 72 144 150 33 72 145 153 32 72 146 155 31 72 147 156 30 72 148 157 29 72 149 159 28 72 150 162 26 72 151 165 25 72 152 167 24 72 153 171 23 72 154 174 22 72 155 175 21 72 156 176 20 72 157 178 19 72 159 181 18 72 160 182 17 72 161 185 16 72 162 186 15 72 163 189 14 72 164 194 13 72 165 197 12 72 166 199 11 72 167 201 10 72 168 202 9 72 169 204 8 72 170 205 7 72 171 207 6 72 172 208 5 72 173 209 4 72 174 211 3 72 175 211 2 72 176 213 1 72 177 216 0 72 178 217 0 72 179 219 0 72 179 219 0 72 180 220 0 72 180 220 0 72 180 221 255 71 0 230 254 71 0 228 254 71 0 227 254 71 0 226 253 71 0 223 252 71 0 221 251 71 0 220 250 71 0 219 249 71 0 217 248 71 0 216 247 71 0 216 246 71 0 213 245 71 0 211 244 71 0 209 243 71 0 208 242 71 0 208 241 71 0 207 240 71 0 205 239 71 0 204 238 71 0 202 237 71 0 201 236 71 0 198 235 71 0 195 234 71 0 194 233 71 0 188 232 71 0 185 231 71 0 182 230 71 0 181 229 71 0 179 228 71 0 178 227 71 0 176 226 71 0 175 224 71 0 172 223 71 0 171 222 71 0 166 221 71 0 163 220 71 0 160 219 71 0 159 218 71 0 156 217 71 0 155 216 71 0 153 215 71 0 152 214 71 0 150 213 71 0 145 212 71 0 144 211 71 0 141 210 71 0 138 209 71 0 135 208 71 0 134 207 71 0 131 206 71 0 130 205 71 0 126 204 71 0 122 203 71 0 121 202 71 0 118 201 71 0 117 200 71 0 114 199 71 0 112 198 71 0 110 197 71 0 108 196 71 0 104 195 71 0 103 194 71 0 99 193 71 0 98 191 71 0 96 190 71 0 95 189 71 0 93 188 71 0 92 187 71 0 89 186 71 0 88 185 71 0 84 184 71 0 82 183 71 0 80 182 71 0 77 181 71 0 74 180 71 0 71 179 71 1 69 178 71 1 67 177 71 2 64 176 71 3 62 175 71 4 60 174 71 5 59 173 71 6 57 172 71 7 53 171 71 8 50 170 71 9 49 169 71 10 46 168 71 11 44 167 71 12 40 166 71 13 39 165 71 14 36 164 71 15 32 163 71 16 31 162 71 17 28 161 71 18 27 160 71 19 25 158 71 20 22 157 71 21 20 156 71 22 18 155 71 23 17 154 71 24 16 153 71 25 14 152 71 26 13 151 71 28 9 150 71 29 7 149 71 30 5 148 71 31 3 147 71 32 2 146 71 33 2 145 71 34 0 144 71 35 0 143 71 36 0 142 71 37 0 141 71 38 0 140 71 39 0 139 71 40 0 138 71 41 0 137 71 42 0 136 71 43 0 135 71 44 0 134 71 45 0 133 71 46 0 132 71 47 0 131 71 48 0 130 71 49 0 129 71 50 0 128 71 51 0 127 71 52 0 125 71 53 0 124 71 54 0 123 71 55 0 122 71 56 0 121 71 57 0 120 71 58 0 119 71 59 0 118 71 61 0 117 71 62 0 116 71 63 0 115 71 64 0 114 71 65 0 113 71 66 0 112 71 67 0 111 71 68 0 110 71 69 0 109 71 70 0 108 71 71 0 107 71 72 0 106 71 73 0 105 71 74 0 104 71 75 0 103 71 76 0 102 71 77 2 101 71 78 3 100 71 79 5 99 71 80 6 98 71 81 9 97 71 82 10 96 71 83 14 95 71 84 16 94 71 85 17 92 71 86 18 91 71 87 20 90 71 88 22 89 71 89 24 88 71 90 27 87 71 91 28 86 71 92 31 85 71 94 32 84 71 95 35 83 71 96 38 82 71 97 40 81 71 98 43 80 71 99 46 79 71 100 49 78 71 101 50 77 71 102 53 76 71 103 54 75 71 104 59 74 71 105 60 73 71 106 62 72 71 107 64 71 71 108 66 70 71 109 69 69 71 110 71 68 71 111 73 67 71 112 76 66 71 113 80 65 71 114 81 64 71 115 84 63 71 116 88 62 71 117 89 61 71 118 91 59 71 119 93 58 71 120 95 57 71 121 96 56 71 122 98 55 71 123 99 54 71 124 102 53 71 125 104 52 71 127 107 51 71 128 110 50 71 129 111 49 71 130 114 48 71 131 115 47 71 132 118 46 71 133 120 45 71 134 122 44 71 135 126 43 71 136 130 42 71 137 131 41 71 138 133 40 71 139 135 39 71 140 137 38 71 141 140 37 71 142 143 36 71 143 145 35 71 144 149 34 71 145 152 33 71 146 153 32 71 147 155 31 71 148 156 30 71 149 157 29 71 150 160 28 71 151 163 26 71 152 166 25 71 153 167 24 71 154 172 23 71 155 174 22 71 156 176 21 71 157 178 20 71 158 179 19 71 160 181 18 71 161 182 17 71 162 185 16 71 163 186 15 71 164 189 14 71 165 195 13 71 166 198 12 71 167 199 11 71 168 202 10 71 169 204 9 71 170 205 8 71 171 207 7 71 172 207 6 71 173 208 5 71 174 209 4 71 175 211 3 71 176 213 2 71 177 213 1 71 178 216 0 71 179 217 0 71 180 219 0 71 180 220 0 71 181 221 0 71 181 221 0 71 181 221 255 70 0 230 254 70 0 228 254 70 0 227 254 70 0 226 253 70 0 224 252 70 0 223 251 70 0 221 250 70 0 220 249 70 0 219 248 70 0 217 247 70 0 216 246 70 0 213 245 70 0 211 244 70 0 211 243 70 0 209 242 70 0 208 241 70 0 207 240 70 0 205 239 70 0 204 238 70 0 202 237 70 0 201 236 70 0 199 235 70 0 197 234 70 0 194 233 70 0 188 232 70 0 185 231 70 0 184 230 70 0 182 229 70 0 179 228 70 0 178 227 70 0 176 226 70 0 175 224 70 0 174 223 70 0 171 222 70 0 166 221 70 0 163 220 70 0 162 219 70 0 159 218 70 0 157 217 70 0 156 216 70 0 155 215 70 0 153 214 70 0 152 213 70 0 149 212 70 0 145 211 70 0 143 210 70 0 140 209 70 0 137 208 70 0 134 207 70 0 133 206 70 0 131 205 70 0 128 204 70 0 126 203 70 0 121 202 70 0 120 201 70 0 117 200 70 0 115 199 70 0 114 198 70 0 111 197 70 0 110 196 70 0 107 195 70 0 104 194 70 0 102 193 70 0 99 191 70 0 98 190 70 0 96 189 70 0 95 188 70 0 92 187 70 0 91 186 70 0 89 185 70 0 88 184 70 0 84 183 70 0 82 182 70 0 80 181 70 0 76 180 70 1 74 179 70 1 71 178 70 2 69 177 70 3 67 176 70 4 64 175 70 5 62 174 70 6 60 173 70 7 57 172 70 8 54 171 70 9 51 170 70 10 50 169 70 11 49 168 70 12 46 167 70 13 44 166 70 14 40 165 70 15 39 164 70 16 36 163 70 17 35 162 70 18 31 161 70 19 29 160 70 20 27 158 70 21 25 157 70 22 24 156 70 23 22 155 70 24 20 154 70 25 18 153 70 26 17 152 70 27 14 151 70 29 13 150 70 30 9 149 70 31 7 148 70 32 6 147 70 33 5 146 70 34 3 145 70 35 2 144 70 36 2 143 70 37 0 142 70 38 0 141 70 39 0 140 70 40 0 139 70 41 0 138 70 42 0 137 70 43 0 136 70 44 0 135 70 45 0 134 70 46 0 133 70 47 0 132 70 48 0 131 70 49 0 130 70 50 0 129 70 51 0 128 70 52 0 127 70 53 0 125 70 54 0 124 70 55 0 123 70 56 0 122 70 57 0 121 70 58 0 120 70 59 0 119 70 60 0 118 70 62 0 117 70 63 0 116 70 64 0 115 70 65 0 114 70 66 0 113 70 67 0 112 70 68 0 111 70 69 0 110 70 70 0 109 70 71 0 108 70 72 0 107 70 73 0 106 70 74 0 105 70 75 2 104 70 76 2 103 70 77 3 102 70 78 5 101 70 79 5 100 70 80 7 99 70 81 9 98 70 82 13 97 70 83 14 96 70 84 17 95 70 85 18 94 70 86 20 92 70 87 22 91 70 88 24 90 70 89 25 89 70 90 27 88 70 91 28 87 70 92 31 86 70 93 32 85 70 95 36 84 70 96 38 83 70 97 40 82 70 98 43 81 70 99 46 80 70 100 47 79 70 101 50 78 70 102 51 77 70 103 54 76 70 104 57 75 70 105 60 74 70 106 62 73 70 107 64 72 70 108 66 71 70 109 69 70 70 110 71 69 70 111 73 68 70 112 76 67 70 113 80 66 70 114 82 65 70 115 84 64 70 116 86 63 70 117 89 62 70 118 91 61 70 119 92 59 70 120 93 58 70 121 95 57 70 122 98 56 70 123 99 55 70 124 102 54 70 125 103 53 70 126 107 52 70 128 110 51 70 129 111 50 70 130 112 49 70 131 115 48 70 132 117 47 70 133 118 46 70 134 121 45 70 135 122 44 70 136 128 43 70 137 130 42 70 138 133 41 70 139 134 40 70 140 137 39 70 141 140 38 70 142 141 37 70 143 144 36 70 144 149 35 70 145 150 34 70 146 152 33 70 147 155 32 70 148 155 31 70 149 156 30 70 150 159 29 70 151 160 28 70 152 163 26 70 153 166 25 70 154 171 24 70 155 174 23 70 156 175 22 70 157 176 21 70 158 178 20 70 159 179 19 70 161 181 18 70 162 182 17 70 163 185 16 70 164 188 15 70 165 189 14 70 166 195 13 70 167 198 12 70 168 201 11 70 169 202 10 70 170 204 9 70 171 205 8 70 172 207 7 70 173 208 6 70 174 209 5 70 175 209 4 70 176 211 3 70 177 213 2 70 178 216 1 70 179 217 0 70 180 219 0 70 181 220 0 70 181 221 0 70 181 221 0 70 182 223 0 70 182 224 255 69 0 230 254 69 0 230 254 69 0 228 254 69 0 227 253 69 0 226 252 69 0 224 251 69 0 223 250 69 0 220 249 69 0 219 248 69 0 217 247 69 0 217 246 69 0 216 245 69 0 213 244 69 0 211 243 69 0 209 242 69 0 208 241 69 0 207 240 69 0 205 239 69 0 205 238 69 0 204 237 69 0 202 236 69 0 199 235 69 0 197 234 69 0 194 233 69 0 188 232 69 0 186 231 69 0 184 230 69 0 182 229 69 0 181 228 69 0 179 227 69 0 178 226 69 0 176 224 69 0 174 223 69 0 172 222 69 0 167 221 69 0 165 220 69 0 162 219 69 0 159 218 69 0 157 217 69 0 156 216 69 0 155 215 69 0 153 214 69 0 152 213 69 0 150 212 69 0 149 211 69 0 144 210 69 0 141 209 69 0 138 208 69 0 135 207 69 0 134 206 69 0 131 205 69 0 130 204 69 0 126 203 69 0 122 202 69 0 120 201 69 0 118 200 69 0 117 199 69 0 115 198 69 0 114 197 69 0 111 196 69 0 110 195 69 0 107 194 69 0 103 193 69 0 102 191 69 0 99 190 69 0 96 189 69 0 95 188 69 0 93 187 69 0 92 186 69 0 91 185 69 0 89 184 69 0 86 183 69 0 84 182 69 1 82 181 69 1 80 180 69 2 76 179 69 2 74 178 69 3 71 177 69 4 69 176 69 5 67 175 69 6 64 174 69 7 62 173 69 8 59 172 69 9 57 171 69 10 53 170 69 11 51 169 69 12 50 168 69 13 47 167 69 14 46 166 69 15 44 165 69 16 40 164 69 17 39 163 69 18 36 162 69 19 32 161 69 20 31 160 69 21 29 158 69 22 27 157 69 24 25 156 69 25 24 155 69 26 22 154 69 27 22 153 69 28 20 152 69 29 17 151 69 30 16 150 69 31 13 149 69 32 10 148 69 33 7 147 69 34 6 146 69 35 5 145 69 36 5 144 69 37 3 143 69 38 3 142 69 39 2 141 69 40 0 140 69 41 0 139 69 42 0 138 69 43 0 137 69 44 0 136 69 45 0 135 69 46 0 134 69 47 0 133 69 48 0 132 69 49 0 131 69 50 0 130 69 51 0 129 69 52 0 128 69 53 0 127 69 54 0 125 69 55 0 124 69 57 0 123 69 58 0 122 69 59 0 121 69 60 0 120 69 61 0 119 69 62 0 118 69 63 0 117 69 64 0 116 69 65 0 115 69 66 0 114 69 67 0 113 69 68 0 112 69 69 0 111 69 70 0 110 69 71 0 109 69 72 0 108 69 73 0 107 69 74 2 106 69 75 3 105 69 76 3 104 69 77 5 103 69 78 5 102 69 79 6 101 69 80 7 100 69 81 9 99 69 82 13 98 69 83 14 97 69 84 17 96 69 85 18 95 69 86 20 94 69 87 22 92 69 88 24 91 69 90 25 90 69 91 27 89 69 92 28 88 69 93 31 87 69 94 32 86 69 95 36 85 69 96 38 84 69 97 40 83 69 98 43 82 69 99 46 81 69 100 47 80 69 101 50 79 69 102 51 78 69 103 53 77 69 104 57 76 69 105 59 75 69 106 62 74 69 107 64 73 69 108 66 72 69 109 69 71 69 110 70 70 69 111 73 69 69 112 76 68 69 113 80 67 69 114 81 66 69 115 84 65 69 116 86 64 69 117 88 63 69 118 91 62 69 119 92 61 69 120 93 59 69 121 95 58 69 123 96 57 69 124 98 56 69 125 102 55 69 126 103 54 69 127 104 53 69 128 108 52 69 129 111 51 69 130 112 50 69 131 114 49 69 132 117 48 69 133 118 47 69 134 120 46 69 135 122 45 69 136 126 44 69 137 128 43 69 138 131 42 69 139 133 41 69 140 135 40 69 141 138 39 69 142 141 38 69 143 143 37 69 144 145 36 69 145 150 35 69 146 152 34 69 147 153 33 69 148 155 32 69 149 156 31 69 150 157 30 69 151 159 29 69 152 162 28 69 153 163 26 69 154 167 25 69 156 172 24 69 157 174 23 69 158 176 22 69 159 178 21 69 160 179 20 69 161 181 19 69 162 182 18 69 163 184 17 69 164 185 16 69 165 188 15 69 166 189 14 69 167 195 13 69 168 198 12 69 169 201 11 69 170 202 10 69 171 204 9 69 172 205 8 69 173 207 7 69 174 208 6 69 175 209 5 69 176 211 4 69 177 213 3 69 178 216 2 69 179 216 1 69 180 217 0 69 181 219 0 69 182 220 0 69 182 221 0 69 183 223 0 69 183 224 0 69 183 226 255 68 0 230 254 68 0 230 254 68 0 230 254 68 0 228 253 68 0 227 252 68 0 226 251 68 0 223 250 68 0 221 249 68 0 220 248 68 0 219 247 68 0 217 246 68 0 216 245 68 0 213 244 68 0 211 243 68 0 209 242 68 0 208 241 68 0 207 240 68 0 207 239 68 0 205 238 68 0 204 237 68 0 202 236 68 0 199 235 68 0 197 234 68 0 194 233 68 0 189 232 68 0 186 231 68 0 184 230 68 0 184 229 68 0 182 228 68 0 181 227 68 0 179 226 68 0 178 224 68 0 175 223 68 0 172 222 68 0 167 221 68 0 165 220 68 0 162 219 68 0 159 218 68 0 157 217 68 0 156 216 68 0 156 215 68 0 155 214 68 0 153 213 68 0 152 212 68 0 150 211 68 0 145 210 68 0 143 209 68 0 140 208 68 0 137 207 68 0 134 206 68 0 133 205 68 0 130 204 68 0 128 203 68 0 122 202 68 0 121 201 68 0 120 200 68 0 118 199 68 0 117 198 68 0 114 197 68 0 112 196 68 0 110 195 68 0 108 194 68 0 104 193 68 0 103 191 68 0 99 190 68 0 98 189 68 0 96 188 68 0 95 187 68 0 92 186 68 0 91 185 68 0 89 184 68 0 88 183 68 1 86 182 68 2 84 181 68 2 81 180 68 3 80 179 68 3 76 178 68 4 73 177 68 5 71 176 68 6 69 175 68 7 66 174 68 9 64 173 68 10 60 172 68 10 59 171 68 11 54 170 68 12 53 169 68 13 51 168 68 14 50 167 68 15 49 166 68 17 46 165 68 18 44 164 68 18 40 163 68 19 39 162 68 20 36 161 68 21 32 160 68 22 31 158 68 24 28 157 68 25 27 156 68 26 27 155 68 27 25 154 68 28 24 153 68 29 22 152 68 30 20 151 68 31 17 150 68 32 16 149 68 34 13 148 68 35 10 147 68 35 9 146 68 36 7 145 68 37 6 144 68 38 6 143 68 39 5 142 68 40 3 141 68 42 2 140 68 43 2 139 68 43 0 138 68 44 0 137 68 45 0 136 68 46 0 135 68 47 0 134 68 48 0 133 68 50 0 132 68 51 0 131 68 51 0 130 68 52 0 129 68 53 0 128 68 54 0 127 68 55 0 125 68 57 0 124 68 58 0 123 68 59 0 122 68 60 0 121 68 61 0 120 68 62 0 119 68 63 0 118 68 64 0 117 68 65 0 116 68 67 0 115 68 68 0 114 68 68 0 113 68 69 0 112 68 70 0 111 68 71 0 110 68 72 0 109 68 73 2 108 68 75 2 107 68 76 3 106 68 76 5 105 68 77 6 104 68 78 6 103 68 79 7 102 68 80 9 101 68 81 10 100 68 83 13 99 68 84 16 98 68 84 17 97 68 85 18 96 68 86 22 95 68 87 24 94 68 88 25 92 68 90 25 91 68 91 27 90 68 92 28 89 68 93 31 88 68 94 32 87 68 95 35 86 68 96 38 85 68 97 40 84 68 98 43 83 68 100 46 82 68 101 47 81 68 101 49 80 68 102 51 79 68 103 53 78 68 104 54 77 68 105 59 76 68 106 60 75 68 108 64 74 68 109 66 73 68 109 69 72 68 110 70 71 68 111 73 70 68 112 76 69 68 113 77 68 68 114 81 67 68 116 82 66 68 117 86 65 68 117 88 64 68 118 89 63 68 119 91 62 68 120 92 61 68 121 93 59 68 123 96 58 68 124 98 57 68 125 99 56 68 126 102 55 68 127 104 54 68 128 107 53 68 129 110 52 68 130 112 51 68 131 114 50 68 133 115 49 68 134 118 48 68 134 120 47 68 135 121 46 68 136 122 45 68 137 126 44 68 138 130 43 68 139 131 42 68 141 134 41 68 142 137 40 68 142 140 39 68 143 143 38 68 144 144 37 68 145 149 36 68 146 152 35 68 147 153 34 68 149 155 33 68 150 155 32 68 150 156 31 68 151 157 30 68 152 159 29 68 153 162 28 68 154 165 26 68 156 167 25 68 157 172 24 68 158 175 23 68 159 176 22 68 160 178 21 68 161 179 20 68 162 181 19 68 163 182 18 68 164 184 17 68 166 185 16 68 167 188 15 68 167 194 14 68 168 195 13 68 169 199 12 68 170 201 11 68 171 204 10 68 172 205 9 68 174 207 8 68 175 207 7 68 175 208 6 68 176 209 5 68 177 211 4 68 178 213 3 68 179 216 2 68 180 217 1 68 182 219 0 68 182 220 0 68 183 221 0 68 184 223 0 68 184 224 0 68 184 226 0 68 184 227 255 67 0 230 254 67 0 230 254 67 0 230 254 67 0 228 253 67 0 227 252 67 0 226 251 67 0 224 250 67 0 221 249 67 0 220 248 67 0 219 247 67 0 217 246 67 0 216 245 67 0 213 244 67 0 211 243 67 0 209 242 67 0 208 241 67 0 208 240 67 0 207 239 67 0 205 238 67 0 204 237 67 0 202 236 67 0 199 235 67 0 197 234 67 0 195 233 67 0 189 232 67 0 186 231 67 0 185 230 67 0 184 229 67 0 182 228 67 0 181 227 67 0 179 226 67 0 178 224 67 0 175 223 67 0 172 222 67 0 167 221 67 0 165 220 67 0 162 219 67 0 160 218 67 0 159 217 67 0 157 216 67 0 156 215 67 0 155 214 67 0 153 213 67 0 153 212 67 0 150 211 67 0 145 210 67 0 144 209 67 0 141 208 67 0 138 207 67 0 135 206 67 0 133 205 67 0 131 204 67 0 128 203 67 0 126 202 67 0 122 201 67 0 121 200 67 0 120 199 67 0 118 198 67 0 115 197 67 0 114 196 67 0 111 195 67 0 110 194 67 0 107 193 67 0 104 191 67 0 102 190 67 0 99 189 67 0 98 188 67 0 96 187 67 0 93 186 67 0 92 185 67 0 91 184 67 1 89 183 67 2 88 182 67 2 86 181 67 3 82 180 67 4 81 179 67 4 80 178 67 5 76 177 67 6 73 176 67 7 71 175 67 9 69 174 67 10 66 173 67 11 64 172 67 12 60 171 67 12 57 170 67 13 54 169 67 14 53 168 67 15 51 167 67 17 50 166 67 18 49 165 67 19 46 164 67 20 44 163 67 20 40 162 67 21 39 161 67 22 36 160 67 24 32 158 67 25 31 157 67 26 29 156 67 27 28 155 67 28 27 154 67 29 25 153 67 30 24 152 67 31 22 151 67 32 20 150 67 34 18 149 67 35 16 148 67 36 14 147 67 37 13 146 67 37 10 145 67 38 9 144 67 39 9 143 67 40 7 142 67 42 6 141 67 43 5 140 67 44 3 139 67 45 2 138 67 45 2 137 67 46 0 136 67 47 0 135 67 48 0 134 67 50 0 133 67 51 0 132 67 52 0 131 67 53 0 130 67 53 0 129 67 54 0 128 67 55 0 127 67 57 0 125 67 58 0 124 67 59 0 123 67 60 0 122 67 61 0 121 67 62 0 120 67 63 0 119 67 64 0 118 67 65 0 117 67 67 0 116 67 68 0 115 67 69 0 114 67 70 0 113 67 70 0 112 67 71 0 111 67 72 2 110 67 73 2 109 67 75 3 108 67 76 5 107 67 77 6 106 67 78 7 105 67 78 7 104 67 79 9 103 67 80 10 102 67 81 13 101 67 83 14 100 67 84 16 99 67 85 17 98 67 86 20 97 67 86 22 96 67 87 24 95 67 88 25 94 67 90 27 92 67 91 28 91 67 92 29 90 67 93 31 89 67 94 32 88 67 95 36 87 67 96 38 86 67 97 40 85 67 98 44 84 67 100 46 83 67 101 47 82 67 102 50 81 67 103 51 80 67 103 53 79 67 104 54 78 67 105 57 77 67 106 60 76 67 108 62 75 67 109 66 74 67 110 69 73 67 111 71 72 67 111 73 71 67 112 76 70 67 113 77 69 67 114 81 68 67 116 82 67 67 117 84 66 67 118 88 65 67 119 89 64 67 119 91 63 67 120 92 62 67 121 93 61 67 123 95 59 67 124 98 58 67 125 99 57 67 126 102 56 67 127 103 55 67 128 107 54 67 129 108 53 67 130 111 52 67 131 114 51 67 133 115 50 67 134 117 49 67 135 120 48 67 136 121 47 67 136 122 46 67 137 126 45 67 138 128 44 67 139 130 43 67 141 133 42 67 142 134 41 67 143 137 40 67 144 140 39 67 144 143 38 67 145 145 37 67 146 150 36 67 147 152 35 67 149 153 34 67 150 155 33 67 151 156 32 67 152 157 31 67 152 157 30 67 153 160 29 67 154 162 28 67 156 165 26 67 157 167 25 67 158 172 24 67 159 175 23 67 160 178 22 67 161 179 21 67 162 181 20 67 163 182 19 67 164 184 18 67 166 185 17 67 167 186 16 67 168 188 15 67 169 194 14 67 169 197 13 67 170 199 12 67 171 202 11 67 172 204 10 67 174 205 9 67 175 207 8 67 176 208 7 67 177 208 6 67 177 209 5 67 178 211 4 67 179 213 3 67 180 216 2 67 182 217 1 67 183 219 0 67 184 220 0 67 184 221 0 67 185 223 0 67 185 226 0 67 185 227 0 67 185 228 255 66 0 230 254 66 0 230 254 66 0 230 254 66 0 230 253 66 0 228 252 66 0 226 251 66 0 224 250 66 0 221 249 66 0 220 248 66 0 219 247 66 0 217 246 66 0 216 245 66 0 216 244 66 0 213 243 66 0 211 242 66 0 209 241 66 0 208 240 66 0 207 239 66 0 207 238 66 0 205 237 66 0 202 236 66 0 201 235 66 0 198 234 66 0 195 233 66 0 194 232 66 0 188 231 66 0 186 230 66 0 185 229 66 0 184 228 66 0 182 227 66 0 181 226 66 0 178 224 66 0 176 223 66 0 174 222 66 0 171 221 66 0 166 220 66 0 163 219 66 0 162 218 66 0 159 217 66 0 157 216 66 0 157 215 66 0 156 214 66 0 155 213 66 0 153 212 66 0 152 211 66 0 149 210 66 0 145 209 66 0 143 208 66 0 138 207 66 0 137 206 66 0 134 205 66 0 133 204 66 0 130 203 66 0 128 202 66 0 126 201 66 0 122 200 66 0 121 199 66 0 120 198 66 0 117 197 66 0 115 196 66 0 112 195 66 0 110 194 66 0 108 193 66 0 107 191 66 0 103 190 66 0 102 189 66 0 99 188 66 0 98 187 66 0 96 186 66 0 93 185 66 0 92 184 66 1 91 183 66 2 89 182 66 3 88 181 66 4 84 180 66 5 82 179 66 5 81 178 66 6 80 177 66 7 76 176 66 8 74 175 66 10 71 174 66 11 69 173 66 12 66 172 66 13 62 171 66 13 60 170 66 14 59 169 66 15 57 168 66 16 53 167 66 18 53 166 66 19 50 165 66 20 49 164 66 21 47 163 66 21 44 162 66 22 40 161 66 23 39 160 66 25 36 158 66 26 35 157 66 27 31 156 66 28 29 155 66 29 28 154 66 30 27 153 66 31 27 152 66 32 25 151 66 33 24 150 66 35 22 149 66 36 18 148 66 37 17 147 66 38 16 146 66 38 14 145 66 39 14 144 66 40 13 143 66 41 10 142 66 43 9 141 66 44 7 140 66 45 6 139 66 46 5 138 66 46 5 137 66 47 3 136 66 48 3 135 66 49 3 134 66 51 3 133 66 52 3 132 66 53 3 131 66 54 3 130 66 54 3 129 66 55 3 128 66 56 3 127 66 58 3 125 66 59 3 124 66 60 3 123 66 61 3 122 66 62 3 121 66 63 3 120 66 64 3 119 66 65 3 118 66 66 3 117 66 68 3 116 66 69 3 115 66 70 3 114 66 71 3 113 66 71 3 112 66 72 3 111 66 73 5 110 66 74 5 109 66 76 6 108 66 77 6 107 66 78 7 106 66 79 9 105 66 79 10 104 66 80 13 103 66 81 14 102 66 82 16 101 66 84 17 100 66 85 18 99 66 86 20 98 66 87 24 97 66 87 25 96 66 88 27 95 66 89 27 94 66 91 28 92 66 92 29 91 66 93 31 90 66 94 32 89 66 95 36 88 66 96 38 87 66 97 40 86 66 98 44 85 66 99 46 84 66 101 49 83 66 102 50 82 66 103 51 81 66 104 53 80 66 104 54 79 66 105 59 78 66 106 60 77 66 107 62 76 66 109 66 75 66 110 69 74 66 111 71 73 66 112 73 72 66 112 76 71 66 113 77 70 66 114 81 69 66 115 82 68 66 117 84 67 66 118 86 66 66 119 88 65 66 120 91 64 66 120 92 63 66 121 93 62 66 122 95 61 66 124 98 59 66 125 99 58 66 126 102 57 66 127 103 56 66 128 104 55 66 129 108 54 66 130 110 53 66 131 112 52 66 132 114 51 66 134 117 50 66 135 118 49 66 136 121 48 66 137 122 47 66 137 126 46 66 138 128 45 66 139 130 44 66 140 131 43 66 142 134 42 66 143 135 41 66 144 138 40 66 145 141 39 66 145 144 38 66 146 149 37 66 147 152 36 66 148 153 35 66 150 155 34 66 151 156 33 66 152 156 32 66 153 157 31 66 153 159 30 66 154 160 29 66 155 163 28 66 157 166 26 66 158 171 25 66 159 174 24 66 160 175 23 66 161 178 22 66 162 179 21 66 163 181 20 66 164 184 19 66 165 185 18 66 167 186 17 66 168 188 16 66 169 189 15 66 170 195 14 66 170 197 13 66 171 199 12 66 172 202 11 66 173 204 10 66 175 207 9 66 176 207 8 66 177 208 7 66 178 209 6 66 178 211 5 66 179 211 4 66 180 213 3 66 181 216 2 66 183 217 1 66 184 219 0 66 185 220 0 66 185 221 0 66 186 223 0 66 186 226 0 66 186 227 0 66 186 228 255 65 0 231 254 65 0 231 254 65 0 230 254 65 0 230 253 65 0 228 252 65 0 227 251 65 0 224 250 65 0 223 249 65 0 220 248 65 0 219 247 65 0 217 246 65 0 217 245 65 0 216 244 65 0 213 243 65 0 211 242 65 0 209 241 65 0 208 240 65 0 208 239 65 0 207 238 65 0 205 237 65 0 204 236 65 0 201 235 65 0 198 234 65 0 197 233 65 0 194 232 65 0 189 231 65 0 188 230 65 0 186 229 65 0 184 228 65 0 182 227 65 0 181 226 65 0 179 224 65 0 176 223 65 0 175 222 65 0 172 221 65 0 167 220 65 0 165 219 65 0 162 218 65 0 160 217 65 0 159 216 65 0 157 215 65 0 156 214 65 0 155 213 65 0 153 212 65 0 152 211 65 0 150 210 65 0 145 209 65 0 143 208 65 0 140 207 65 0 138 206 65 0 135 205 65 0 134 204 65 0 131 203 65 0 130 202 65 0 128 201 65 0 126 200 65 0 122 199 65 0 121 198 65 0 118 197 65 0 117 196 65 0 114 195 65 0 111 194 65 0 110 193 65 0 107 191 65 0 104 190 65 0 103 189 65 0 102 188 65 0 99 187 65 0 98 186 65 0 96 185 65 1 93 184 65 2 92 183 65 3 91 182 65 4 88 181 65 5 86 180 65 6 84 179 65 6 82 178 65 7 81 177 65 8 80 176 65 9 76 175 65 10 74 174 65 12 71 173 65 13 69 172 65 14 66 171 65 14 62 170 65 15 60 169 65 16 59 168 65 17 57 167 65 18 54 166 65 20 53 165 65 21 51 164 65 22 50 163 65 22 47 162 65 23 44 161 65 24 43 160 65 26 39 158 65 27 36 157 65 28 35 156 65 29 32 155 65 30 31 154 65 31 29 153 65 32 28 152 65 33 27 151 65 34 25 150 65 35 24 149 65 37 22 148 65 38 20 147 65 39 18 146 65 39 18 145 65 40 17 144 65 41 16 143 65 42 14 142 65 43 13 141 65 45 10 140 65 46 9 139 65 47 7 138 65 47 7 137 65 48 6 136 65 49 6 135 65 50 6 134 65 51 6 133 65 53 5 132 65 54 5 131 65 55 5 130 65 55 5 129 65 56 5 128 65 57 5 127 65 59 5 125 65 60 5 124 65 61 5 123 65 62 5 122 65 63 5 121 65 64 5 120 65 65 5 119 65 66 5 118 65 67 5 117 65 68 5 116 65 70 5 115 65 71 6 114 65 72 6 113 65 72 6 112 65 73 6 111 65 74 7 110 65 75 7 109 65 76 9 108 65 78 10 107 65 79 10 106 65 80 14 105 65 80 16 104 65 81 16 103 65 82 17 102 65 83 18 101 65 84 20 100 65 86 22 99 65 87 24 98 65 88 25 97 65 88 27 96 65 89 28 95 65 90 29 94 65 92 29 92 65 93 31 91 65 94 32 90 65 95 36 89 65 96 38 88 65 97 40 87 65 98 44 86 65 99 47 85 65 100 49 84 65 101 51 83 65 103 53 82 65 104 54 81 65 105 57 80 65 105 59 79 65 106 60 78 65 107 62 77 65 108 66 76 65 109 69 75 65 111 70 74 65 112 73 73 65 113 76 72 65 113 80 71 65 114 81 70 65 115 82 69 65 116 84 68 65 117 86 67 65 119 88 66 65 120 89 65 65 121 91 64 65 121 93 63 65 122 95 62 65 123 96 61 65 125 99 59 65 126 102 58 65 127 103 57 65 128 104 56 65 129 107 55 65 130 110 54 65 131 111 53 65 132 114 52 65 133 115 51 65 134 118 50 65 136 120 49 65 137 122 48 65 138 126 47 65 138 128 46 65 139 130 45 65 140 131 44 65 141 133 43 65 142 135 42 65 144 137 41 65 145 140 40 65 146 143 39 65 146 145 38 65 147 149 37 65 148 152 36 65 149 153 35 65 150 155 34 65 152 156 33 65 153 157 32 65 154 159 31 65 154 160 30 65 155 162 29 65 156 165 28 65 158 166 26 65 159 171 25 65 160 174 24 65 161 176 23 65 162 178 22 65 163 181 21 65 164 182 20 65 165 184 19 65 166 185 18 65 167 186 17 65 169 189 16 65 170 194 15 65 171 195 14 65 171 198 13 65 172 201 12 65 173 202 11 65 174 205 10 65 175 207 9 65 177 208 8 65 178 208 7 65 179 209 6 65 179 211 5 65 180 213 4 65 181 216 3 65 182 217 2 65 183 217 1 65 185 219 0 65 185 220 0 65 186 221 0 65 187 224 0 65 187 226 0 65 187 228 0 65 187 230 255 64 0 231 254 64 0 231 254 64 0 230 254 64 0 230 253 64 0 228 252 64 0 227 251 64 0 224 250 64 0 223 249 64 0 220 248 64 0 219 247 64 0 217 246 64 0 217 245 64 0 216 244 64 0 213 243 64 0 211 242 64 0 209 241 64 0 209 240 64 0 208 239 64 0 207 238 64 0 205 237 64 0 204 236 64 0 202 235 64 0 199 234 64 0 198 233 64 0 195 232 64 0 194 231 64 0 188 230 64 0 186 229 64 0 185 228 64 0 184 227 64 0 181 226 64 0 179 224 64 0 178 223 64 0 175 222 64 0 174 221 64 0 171 220 64 0 166 219 64 0 163 218 64 0 162 217 64 0 159 216 64 0 157 215 64 0 156 214 64 0 155 213 64 0 155 212 64 0 153 211 64 0 150 210 64 0 149 209 64 0 144 208 64 0 141 207 64 0 140 206 64 0 137 205 64 0 135 204 64 0 133 203 64 0 131 202 64 0 130 201 64 0 128 200 64 0 126 199 64 0 122 198 64 0 120 197 64 0 118 196 64 0 115 195 64 0 112 194 64 0 111 193 64 0 110 191 64 0 107 190 64 0 104 189 64 0 103 188 64 0 102 187 64 0 99 186 64 1 98 185 64 1 95 184 64 2 93 183 64 3 92 182 64 4 89 181 64 5 88 180 64 6 86 179 64 7 86 178 64 8 84 177 64 9 82 176 64 10 80 175 64 11 76 174 64 12 74 173 64 13 71 172 64 14 69 171 64 15 66 170 64 16 64 169 64 17 62 168 64 18 60 167 64 19 59 166 64 20 57 165 64 21 54 164 64 22 51 163 64 23 50 162 64 24 47 161 64 25 44 160 64 27 43 158 64 28 39 157 64 29 36 156 64 30 35 155 64 31 32 154 64 32 31 153 64 33 31 152 64 34 29 151 64 35 28 150 64 36 27 149 64 37 25 148 64 38 25 147 64 39 24 146 64 40 22 145 64 41 20 144 64 42 18 143 64 43 17 142 64 44 16 141 64 45 14 140 64 46 14 139 64 47 13 138 64 48 10 137 64 49 10 136 64 50 10 135 64 51 9 134 64 52 9 133 64 53 9 132 64 54 9 131 64 55 9 130 64 56 9 129 64 57 9 128 64 58 9 127 64 60 9 125 64 61 9 124 64 62 9 123 64 63 9 122 64 64 9 121 64 65 9 120 64 66 9 119 64 67 9 118 64 68 9 117 64 69 9 116 64 70 9 115 64 71 9 114 64 72 9 113 64 73 9 112 64 74 10 111 64 75 10 110 64 76 13 109 64 77 13 108 64 78 14 107 64 79 16 106 64 80 17 105 64 81 18 104 64 82 20 103 64 83 22 102 64 84 24 101 64 85 24 100 64 86 25 99 64 87 27 98 64 88 28 97 64 89 29 96 64 90 31 95 64 91 31 94 64 93 32 92 64 94 35 91 64 95 36 90 64 96 38 89 64 97 40 88 64 98 44 87 64 99 47 86 64 100 49 85 64 101 51 84 64 102 53 83 64 103 57 82 64 104 59 81 64 105 60 80 64 106 62 79 64 107 64 78 64 108 66 77 64 109 69 76 64 110 71 75 64 111 73 74 64 112 76 73 64 113 80 72 64 114 81 71 64 115 82 70 64 116 84 69 64 117 86 68 64 118 88 67 64 119 89 66 64 120 91 65 64 121 93 64 64 122 95 63 64 123 96 62 64 124 99 61 64 126 102 59 64 127 103 58 64 128 104 57 64 129 107 56 64 130 108 55 64 131 111 54 64 132 112 53 64 133 115 52 64 134 117 51 64 135 120 50 64 136 121 49 64 137 126 48 64 138 128 47 64 139 130 46 64 140 131 45 64 141 133 44 64 142 134 43 64 143 137 42 64 144 140 41 64 145 141 40 64 146 144 39 64 147 149 38 64 148 150 37 64 149 152 36 64 150 155 35 64 151 155 34 64 152 156 33 64 153 157 32 64 154 159 31 64 155 162 30 64 156 163 29 64 157 166 28 64 159 167 26 64 160 172 25 64 161 175 24 64 162 178 23 64 163 179 22 64 164 181 21 64 165 182 20 64 166 185 19 64 167 186 18 64 168 188 17 64 169 189 16 64 170 195 15 64 171 197 14 64 172 199 13 64 173 201 12 64 174 204 11 64 175 205 10 64 176 207 9 64 177 208 8 64 178 209 7 64 179 209 6 64 180 211 5 64 181 213 4 64 182 216 3 64 183 217 2 64 184 217 1 64 185 219 0 64 186 220 0 64 187 221 0 64 187 224 0 64 188 226 0 64 188 228 0 64 188 230 255 63 0 231 254 63 0 231 254 63 0 230 254 63 0 230 253 63 0 228 252 63 0 227 251 63 0 224 250 63 0 223 249 63 0 220 248 63 0 219 247 63 0 217 246 63 0 217 245 63 0 216 244 63 0 213 243 63 0 211 242 63 0 209 241 63 0 209 240 63 0 208 239 63 0 207 238 63 0 205 237 63 0 204 236 63 0 202 235 63 0 201 234 63 0 199 233 63 0 197 232 63 0 195 231 63 0 189 230 63 0 188 229 63 0 185 228 63 0 184 227 63 0 182 226 63 0 181 224 63 0 179 223 63 0 176 222 63 0 175 221 63 0 172 220 63 0 167 219 63 0 166 218 63 0 163 217 63 0 160 216 63 0 159 215 63 0 157 214 63 0 156 213 63 0 155 212 63 0 153 211 63 0 152 210 63 0 150 209 63 0 149 208 63 0 144 207 63 0 141 206 63 0 140 205 63 0 137 204 63 0 135 203 63 0 134 202 63 0 131 201 63 0 130 200 63 0 128 199 63 0 126 198 63 0 121 197 63 0 120 196 63 0 117 195 63 0 115 194 63 0 112 193 63 0 111 191 63 0 110 190 63 0 107 189 63 0 104 188 63 0 103 187 63 1 102 186 63 1 99 185 63 2 98 184 63 3 95 183 63 4 93 182 63 5 92 181 63 6 91 180 63 7 89 179 63 8 88 178 63 9 86 177 63 10 84 176 63 11 82 175 63 12 80 174 63 13 77 173 63 14 74 172 63 15 71 171 63 16 69 170 63 17 67 169 63 18 66 168 63 19 64 167 63 20 62 166 63 21 60 165 63 22 59 164 63 23 54 163 63 24 53 162 63 25 50 161 63 26 47 160 63 28 46 158 63 29 43 157 63 30 39 156 63 31 38 155 63 32 36 154 63 33 35 153 63 34 35 152 63 35 32 151 63 36 31 150 63 37 29 149 63 38 29 148 63 39 28 147 63 40 27 146 63 41 25 145 63 42 24 144 63 43 22 143 63 44 22 142 63 45 20 141 63 46 18 140 63 47 18 139 63 48 17 138 63 49 16 137 63 50 16 136 63 51 14 135 63 52 14 134 63 53 14 133 63 54 13 132 63 55 13 131 63 56 13 130 63 57 13 129 63 58 13 128 63 59 13 127 63 61 13 125 63 62 13 124 63 63 13 123 63 64 13 122 63 65 13 121 63 66 13 120 63 67 13 119 63 68 13 118 63 69 13 117 63 70 13 116 63 71 13 115 63 72 13 114 63 73 14 113 63 74 14 112 63 75 16 111 63 76 16 110 63 77 17 109 63 78 17 108 63 79 18 107 63 80 20 106 63 81 20 105 63 82 22 104 63 83 24 103 63 84 25 102 63 85 27 101 63 86 28 100 63 87 28 99 63 88 29 98 63 89 31 97 63 90 32 96 63 91 35 95 63 92 35 94 63 94 36 92 63 95 38 91 63 96 39 90 63 97 40 89 63 98 44 88 63 99 47 87 63 100 50 86 63 101 51 85 63 102 54 84 63 103 57 83 63 104 60 82 63 105 62 81 63 106 64 80 63 107 66 79 63 108 67 78 63 109 69 77 63 110 71 76 63 111 74 75 63 112 76 74 63 113 80 73 63 114 82 72 63 115 84 71 63 116 86 70 63 117 88 69 63 118 88 68 63 119 89 67 63 120 91 66 63 121 93 65 63 122 95 64 63 123 96 63 63 124 99 62 63 125 102 61 63 127 103 59 63 128 104 58 63 129 107 57 63 130 108 56 63 131 111 55 63 132 112 54 63 133 114 53 63 134 117 52 63 135 120 51 63 136 121 50 63 137 122 49 63 138 128 48 63 139 130 47 63 140 131 46 63 141 133 45 63 142 134 44 63 143 137 43 63 144 138 42 63 145 141 41 63 146 143 40 63 147 145 39 63 148 150 38 63 149 152 37 63 150 153 36 63 151 155 35 63 152 156 34 63 153 157 33 63 154 159 32 63 155 160 31 63 156 162 30 63 157 165 29 63 158 167 28 63 160 172 26 63 161 175 25 63 162 176 24 63 163 178 23 63 164 181 22 63 165 182 21 63 166 184 20 63 167 185 19 63 168 186 18 63 169 189 17 63 170 194 16 63 171 197 15 63 172 198 14 63 173 201 13 63 174 202 12 63 175 204 11 63 176 205 10 63 177 207 9 63 178 208 8 63 179 209 7 63 180 209 6 63 181 211 5 63 182 213 4 63 183 216 3 63 184 217 2 63 185 217 1 63 186 219 0 63 187 220 0 63 188 221 0 63 188 224 0 63 189 226 0 63 189 228 0 63 189 230 255 62 0 231 254 62 0 231 254 62 0 230 254 62 0 230 253 62 0 228 252 62 0 227 251 62 0 224 250 62 0 223 249 62 0 220 248 62 0 219 247 62 0 217 246 62 0 217 245 62 0 216 244 62 0 213 243 62 0 211 242 62 0 211 241 62 0 209 240 62 0 208 239 62 0 208 238 62 0 207 237 62 0 205 236 62 0 204 235 62 0 202 234 62 0 201 233 62 0 198 232 62 0 197 231 62 0 194 230 62 0 188 229 62 0 186 228 62 0 185 227 62 0 182 226 62 0 181 224 62 0 179 223 62 0 178 222 62 0 176 221 62 0 174 220 62 0 171 219 62 0 166 218 62 0 165 217 62 0 162 216 62 0 159 215 62 0 157 214 62 0 156 213 62 0 156 212 62 0 155 211 62 0 153 210 62 0 152 209 62 0 150 208 62 0 145 207 62 0 143 206 62 0 141 205 62 0 138 204 62 0 137 203 62 0 135 202 62 0 133 201 62 0 131 200 62 0 130 199 62 0 126 198 62 0 122 197 62 0 121 196 62 0 118 195 62 0 117 194 62 0 115 193 62 0 112 191 62 0 111 190 62 0 110 189 62 0 107 188 62 1 104 187 62 1 103 186 62 2 102 185 62 3 99 184 62 4 96 183 62 5 95 182 62 6 93 181 62 7 92 180 62 8 91 179 62 9 89 178 62 10 88 177 62 11 86 176 62 12 84 175 62 13 82 174 62 14 80 173 62 15 77 172 62 16 74 171 62 17 71 170 62 18 70 169 62 19 67 168 62 20 66 167 62 21 64 166 62 22 62 165 62 23 60 164 62 24 59 163 62 25 57 162 62 26 53 161 62 27 50 160 62 29 47 158 62 30 46 157 62 31 43 156 62 32 40 155 62 33 39 154 62 34 38 153 62 35 38 152 62 36 36 151 62 37 35 150 62 38 32 149 62 39 31 148 62 40 31 147 62 41 29 146 62 42 28 145 62 43 27 144 62 44 27 143 62 45 25 142 62 46 24 141 62 47 22 140 62 48 22 139 62 49 20 138 62 50 20 137 62 51 18 136 62 52 18 135 62 53 17 134 62 54 17 133 62 55 16 132 62 56 16 131 62 57 16 130 62 58 16 129 62 59 16 128 62 60 16 127 62 62 16 125 62 63 16 124 62 64 16 123 62 65 16 122 62 66 16 121 62 67 16 120 62 68 16 119 62 69 16 118 62 70 16 117 62 71 16 116 62 72 16 115 62 73 17 114 62 74 17 113 62 75 17 112 62 76 18 111 62 77 20 110 62 78 20 109 62 79 22 108 62 80 22 107 62 81 24 106 62 82 25 105 62 83 25 104 62 84 27 103 62 85 28 102 62 86 29 101 62 87 31 100 62 88 31 99 62 89 32 98 62 90 35 97 62 91 36 96 62 92 36 95 62 93 38 94 62 95 39 92 62 96 40 91 62 97 43 90 62 98 44 89 62 99 47 88 62 100 50 87 62 101 51 86 62 102 54 85 62 103 59 84 62 104 60 83 62 105 62 82 62 106 64 81 62 107 66 80 62 108 67 79 62 109 70 78 62 110 71 77 62 111 74 76 62 112 77 75 62 113 80 74 62 114 82 73 62 115 84 72 62 116 86 71 62 117 88 70 62 118 89 69 62 119 91 68 62 120 91 67 62 121 93 66 62 122 95 65 62 123 96 64 62 124 98 63 62 125 102 62 62 126 103 61 62 128 104 59 62 129 107 58 62 130 108 57 62 131 110 56 62 132 112 55 62 133 114 54 62 134 117 53 62 135 118 52 62 136 121 51 62 137 122 50 62 138 126 49 62 139 130 48 62 140 131 47 62 141 133 46 62 142 134 45 62 143 137 44 62 144 138 43 62 145 141 42 62 146 143 41 62 147 145 40 62 148 149 39 62 149 150 38 62 150 153 37 62 151 155 36 62 152 155 35 62 153 156 34 62 154 157 33 62 155 159 32 62 156 160 31 62 157 163 30 62 158 166 29 62 159 171 28 62 161 174 26 62 162 176 25 62 163 178 24 62 164 179 23 62 165 181 22 62 166 182 21 62 167 184 20 62 168 186 19 62 169 188 18 62 170 194 17 62 171 195 16 62 172 198 15 62 173 199 14 62 174 201 13 62 175 204 12 62 176 205 11 62 177 205 10 62 178 207 9 62 179 208 8 62 180 209 7 62 181 211 6 62 182 211 5 62 183 213 4 62 184 216 3 62 185 217 2 62 186 217 1 62 187 219 0 62 188 220 0 62 189 221 0 62 190 224 0 62 190 226 0 62 190 228 0 62 190 230 255 61 0 231 254 61 0 231 254 61 0 230 254 61 0 230 253 61 0 228 252 61 0 227 251 61 0 224 250 61 0 223 249 61 0 220 248 61 0 219 247 61 0 217 246 61 0 217 245 61 0 216 244 61 0 213 243 61 0 211 242 61 0 211 241 61 0 209 240 61 0 208 239 61 0 208 238 61 0 207 237 61 0 205 236 61 0 204 235 61 0 202 234 61 0 201 233 61 0 199 232 61 0 197 231 61 0 194 230 61 0 189 229 61 0 186 228 61 0 185 227 61 0 184 226 61 0 182 224 61 0 181 223 61 0 179 222 61 0 178 221 61 0 175 220 61 0 172 219 61 0 167 218 61 0 165 217 61 0 162 216 61 0 160 215 61 0 159 214 61 0 157 213 61 0 156 212 61 0 155 211 61 0 155 210 61 0 153 209 61 0 152 208 61 0 149 207 61 0 144 206 61 0 143 205 61 0 140 204 61 0 138 203 61 0 137 202 61 0 134 201 61 0 133 200 61 0 131 199 61 0 128 198 61 0 126 197 61 0 122 196 61 0 121 195 61 0 118 194 61 0 117 193 61 0 115 191 61 0 112 190 61 1 111 189 61 1 110 188 61 2 107 187 61 2 104 186 61 3 103 185 61 4 102 184 61 5 99 183 61 6 96 182 61 7 95 181 61 8 93 180 61 9 92 179 61 10 91 178 61 11 89 177 61 12 88 176 61 13 86 175 61 14 84 174 61 15 82 173 61 16 80 172 61 17 77 171 61 18 74 170 61 19 73 169 61 20 70 168 61 21 69 167 61 22 67 166 61 24 66 165 61 25 64 164 61 26 62 163 61 27 59 162 61 28 57 161 61 29 53 160 61 30 50 158 61 31 49 157 61 32 46 156 61 33 44 155 61 34 43 154 61 35 40 153 61 36 40 152 61 37 39 151 61 38 38 150 61 39 36 149 61 40 35 148 61 41 32 147 61 42 32 146 61 43 31 145 61 44 29 144 61 45 28 143 61 46 28 142 61 47 27 141 61 48 27 140 61 49 25 139 61 50 24 138 61 51 24 137 61 52 22 136 61 53 22 135 61 54 20 134 61 55 20 133 61 57 18 132 61 58 18 131 61 59 18 130 61 60 18 129 61 61 18 128 61 62 18 127 61 63 18 125 61 64 18 124 61 65 18 123 61 66 18 122 61 67 18 121 61 68 18 120 61 69 18 119 61 70 18 118 61 71 18 117 61 72 18 116 61 73 18 115 61 74 20 114 61 75 20 113 61 76 20 112 61 77 22 111 61 78 24 110 61 79 24 109 61 80 25 108 61 81 25 107 61 82 27 106 61 83 28 105 61 84 28 104 61 85 29 103 61 86 31 102 61 87 32 101 61 88 32 100 61 90 35 99 61 91 36 98 61 92 36 97 61 93 38 96 61 94 40 95 61 95 40 94 61 96 43 92 61 97 44 91 61 98 46 90 61 99 47 89 61 100 50 88 61 101 53 87 61 102 54 86 61 103 59 85 61 104 60 84 61 105 62 83 61 106 66 82 61 107 67 81 61 108 69 80 61 109 70 79 61 110 71 78 61 111 74 77 61 112 76 76 61 113 80 75 61 114 82 74 61 115 84 73 61 116 86 72 61 117 88 71 61 118 89 70 61 119 91 69 61 120 92 68 61 121 93 67 61 123 95 66 61 124 96 65 61 125 98 64 61 126 102 63 61 127 103 62 61 128 104 61 61 129 107 59 61 130 108 58 61 131 111 57 61 132 112 56 61 133 114 55 61 134 117 54 61 135 118 53 61 136 120 52 61 137 122 51 61 138 126 50 61 139 128 49 61 140 131 48 61 141 133 47 61 142 134 46 61 143 137 45 61 144 138 44 61 145 140 43 61 146 143 42 61 147 144 41 61 148 149 40 61 149 150 39 61 150 152 38 61 151 153 37 61 152 155 36 61 153 156 35 61 154 157 34 61 156 157 33 61 157 160 32 61 158 162 31 61 159 165 30 61 160 167 29 61 161 172 28 61 162 175 26 61 163 176 25 61 164 179 24 61 165 181 23 61 166 182 22 61 167 184 21 61 168 185 20 61 169 186 19 61 170 189 18 61 171 194 17 61 172 197 16 61 173 199 15 61 174 201 14 61 175 202 13 61 176 204 12 61 177 205 11 61 178 207 10 61 179 208 9 61 180 208 8 61 181 209 7 61 182 211 6 61 183 211 5 61 184 213 4 61 185 216 3 61 186 217 2 61 187 217 1 61 189 219 0 61 190 220 0 61 190 221 0 61 191 224 0 61 191 226 0 61 191 228 0 61 191 230 255 59 0 231 254 59 0 231 254 59 0 230 254 59 0 230 253 59 0 228 252 59 0 227 251 59 0 224 250 59 0 223 249 59 0 221 248 59 0 220 247 59 0 219 246 59 0 217 245 59 0 216 244 59 0 213 243 59 0 211 242 59 0 211 241 59 0 209 240 59 0 208 239 59 0 208 238 59 0 207 237 59 0 205 236 59 0 205 235 59 0 204 234 59 0 202 233 59 0 199 232 59 0 198 231 59 0 195 230 59 0 194 229 59 0 188 228 59 0 186 227 59 0 185 226 59 0 184 224 59 0 182 223 59 0 181 222 59 0 178 221 59 0 176 220 59 0 174 219 59 0 171 218 59 0 166 217 59 0 163 216 59 0 162 215 59 0 159 214 59 0 157 213 59 0 157 212 59 0 156 211 59 0 155 210 59 0 153 209 59 0 152 208 59 0 150 207 59 0 149 206 59 0 144 205 59 0 143 204 59 0 140 203 59 0 138 202 59 0 137 201 59 0 134 200 59 0 133 199 59 0 130 198 59 0 128 197 59 0 126 196 59 0 122 195 59 0 121 194 59 0 118 193 59 0 117 191 59 1 115 190 59 2 112 189 59 2 111 188 59 3 110 187 59 3 107 186 59 4 104 185 59 5 103 184 59 6 102 183 59 7 99 182 59 9 98 181 59 10 95 180 59 10 93 179 59 11 92 178 59 12 91 177 59 13 91 176 59 14 89 175 59 15 86 174 59 17 84 173 59 18 82 172 59 18 80 171 59 19 77 170 59 20 74 169 59 21 73 168 59 22 71 167 59 24 69 166 59 25 67 165 59 26 66 164 59 27 64 163 59 28 62 162 59 29 59 161 59 30 57 160 59 31 53 158 59 32 51 157 59 34 50 156 59 35 49 155 59 35 47 154 59 36 46 153 59 37 44 152 59 38 43 151 59 39 40 150 59 40 39 149 59 42 38 148 59 43 36 147 59 43 36 146 59 44 35 145 59 45 32 144 59 46 31 143 59 47 31 142 59 48 29 141 59 50 29 140 59 51 28 139 59 51 27 138 59 52 27 137 59 53 25 136 59 54 24 135 59 55 24 134 59 57 24 133 59 58 22 132 59 59 22 131 59 60 22 130 59 61 22 129 59 62 22 128 59 63 22 127 59 64 22 125 59 65 22 124 59 67 22 123 59 68 22 122 59 68 22 121 59 69 22 120 59 70 22 119 59 71 22 118 59 72 22 117 59 73 22 116 59 75 22 115 59 76 24 114 59 76 24 113 59 77 24 112 59 78 25 111 59 79 27 110 59 80 27 109 59 81 28 108 59 83 29 107 59 84 29 106 59 84 31 105 59 85 31 104 59 86 32 103 59 87 35 102 59 88 36 101 59 90 36 100 59 91 38 99 59 92 39 98 59 93 40 97 59 94 43 96 59 95 44 95 59 96 46 94 59 97 47 92 59 98 49 91 59 100 49 90 59 101 50 89 59 101 53 88 59 102 54 87 59 103 59 86 59 104 60 85 59 105 64 84 59 106 66 83 59 108 67 82 59 109 69 81 59 109 70 80 59 110 73 79 59 111 74 78 59 112 77 77 59 113 80 76 59 114 82 75 59 116 84 74 59 117 86 73 59 117 88 72 59 118 89 71 59 119 91 70 59 120 92 69 59 121 93 68 59 123 95 67 59 124 98 66 59 125 99 65 59 126 102 64 59 127 103 63 59 128 104 62 59 129 107 61 59 130 108 59 59 131 111 58 59 133 112 57 59 134 114 56 59 134 117 55 59 135 118 54 59 136 120 53 59 137 121 52 59 138 126 51 59 139 128 50 59 141 130 49 59 142 133 48 59 142 134 47 59 143 135 46 59 144 138 45 59 145 140 44 59 146 143 43 59 147 144 42 59 149 145 41 59 150 150 40 59 150 152 39 59 151 153 38 59 152 155 37 59 153 156 36 59 154 157 35 59 156 157 34 59 157 159 33 59 158 160 32 59 159 163 31 59 160 165 30 59 161 171 29 59 162 174 28 59 163 175 26 59 164 178 25 59 166 181 24 59 167 182 23 59 167 184 22 59 168 185 21 59 169 186 20 59 170 188 19 59 171 189 18 59 172 195 17 59 174 197 16 59 175 199 15 59 175 201 14 59 176 204 13 59 177 204 12 59 178 205 11 59 179 207 10 59 180 208 9 59 182 208 8 59 183 209 7 59 183 211 6 59 184 211 5 59 185 213 4 59 186 216 3 59 187 217 2 59 189 219 1 59 190 219 0 59 191 221 0 59 192 223 0 59 192 224 0 59 192 226 0 59 193 228 0 59 193 230 255 58 0 231 254 58 0 231 254 58 0 230 254 58 0 230 253 58 0 228 252 58 0 227 251 58 0 226 250 58 0 223 249 58 0 221 248 58 0 220 247 58 0 219 246 58 0 217 245 58 0 216 244 58 0 213 243 58 0 213 242 58 0 211 241 58 0 209 240 58 0 209 239 58 0 208 238 58 0 207 237 58 0 205 236 58 0 205 235 58 0 204 234 58 0 202 233 58 0 201 232 58 0 198 231 58 0 197 230 58 0 194 229 58 0 189 228 58 0 188 227 58 0 186 226 58 0 185 224 58 0 182 223 58 0 181 222 58 0 179 221 58 0 176 220 58 0 175 219 58 0 172 218 58 0 167 217 58 0 165 216 58 0 162 215 58 0 160 214 58 0 159 213 58 0 157 212 58 0 157 211 58 0 156 210 58 0 155 209 58 0 153 208 58 0 152 207 58 0 150 206 58 0 145 205 58 0 144 204 58 0 143 203 58 0 140 202 58 0 138 201 58 0 135 200 58 0 134 199 58 0 131 198 58 0 130 197 58 0 128 196 58 0 126 195 58 0 122 194 58 0 121 193 58 1 118 191 58 2 117 190 58 2 115 189 58 3 112 188 58 4 111 187 58 4 110 186 58 5 107 185 58 6 104 184 58 7 103 183 58 9 102 182 58 10 99 181 58 11 98 180 58 12 96 179 58 12 95 178 58 13 92 177 58 14 92 176 58 15 91 175 58 17 89 174 58 18 88 173 58 19 84 172 58 20 82 171 58 20 81 170 58 21 77 169 58 22 74 168 58 24 73 167 58 25 71 166 58 26 70 165 58 27 67 164 58 28 66 163 58 29 64 162 58 30 62 161 58 31 59 160 58 32 57 158 58 34 54 157 58 35 51 156 58 36 51 155 58 37 50 154 58 37 49 153 58 38 47 152 58 39 46 151 58 40 44 150 58 42 43 149 58 43 40 148 58 44 39 147 58 45 38 146 58 45 38 145 58 46 36 144 58 47 35 143 58 48 32 142 58 50 32 141 58 51 31 140 58 52 31 139 58 53 29 138 58 53 28 137 58 54 28 136 58 55 27 135 58 57 27 134 58 58 25 133 58 59 25 132 58 60 25 131 58 61 25 130 58 62 25 129 58 63 25 128 58 64 25 127 58 65 25 125 58 67 25 124 58 68 25 123 58 69 25 122 58 70 25 121 58 70 25 120 58 71 25 119 58 72 25 118 58 73 25 117 58 75 25 116 58 76 25 115 58 77 25 114 58 78 25 113 58 78 27 112 58 79 27 111 58 80 28 110 58 81 29 109 58 83 31 108 58 84 31 107 58 85 32 106 58 86 32 105 58 86 35 104 58 87 36 103 58 88 36 102 58 90 38 101 58 91 39 100 58 92 40 99 58 93 40 98 58 94 43 97 58 95 44 96 58 96 47 95 58 97 49 94 58 98 50 92 58 100 51 91 58 101 51 90 58 102 53 89 58 103 57 88 58 103 59 87 58 104 60 86 58 105 64 85 58 106 66 84 58 108 67 83 58 109 69 82 58 110 71 81 58 111 73 80 58 111 74 79 58 112 77 78 58 113 80 77 58 114 82 76 58 116 84 75 58 117 86 74 58 118 88 73 58 119 89 72 58 119 91 71 58 120 92 70 58 121 93 69 58 123 95 68 58 124 98 67 58 125 99 66 58 126 102 65 58 127 103 64 58 128 104 63 58 129 107 62 58 130 108 61 58 131 111 59 58 133 112 58 58 134 114 57 58 135 117 56 58 136 118 55 58 136 120 54 58 137 121 53 58 138 122 52 58 139 126 51 58 141 130 50 58 142 131 49 58 143 134 48 58 144 135 47 58 144 138 46 58 145 140 45 58 146 143 44 58 147 144 43 58 149 145 42 58 150 149 41 58 151 150 40 58 152 153 39 58 152 155 38 58 153 155 37 58 154 156 36 58 156 157 35 58 157 159 34 58 158 160 33 58 159 162 32 58 160 163 31 58 161 166 30 58 162 171 29 58 163 174 28 58 164 176 26 58 166 179 25 58 167 181 24 58 168 182 23 58 169 184 22 58 169 185 21 58 170 186 20 58 171 189 19 58 172 194 18 58 174 197 17 58 175 198 16 58 176 201 15 58 177 202 14 58 177 204 13 58 178 205 12 58 179 205 11 58 180 207 10 58 182 208 9 58 183 209 8 58 184 209 7 58 185 211 6 58 185 213 5 58 186 213 4 58 187 216 3 58 189 217 2 58 190 219 1 58 191 220 0 58 192 221 0 58 193 223 0 58 194 224 0 58 194 227 0 58 194 228 0 58 194 230 255 57 0 231 254 57 0 231 254 57 0 230 254 57 0 230 253 57 0 228 252 57 0 227 251 57 0 226 250 57 0 224 249 57 0 223 248 57 0 221 247 57 0 220 246 57 0 219 245 57 0 217 244 57 0 216 243 57 0 213 242 57 0 211 241 57 0 211 240 57 0 209 239 57 0 208 238 57 0 207 237 57 0 207 236 57 0 205 235 57 0 204 234 57 0 202 233 57 0 201 232 57 0 199 231 57 0 198 230 57 0 195 229 57 0 194 228 57 0 188 227 57 0 186 226 57 0 185 224 57 0 184 223 57 0 182 222 57 0 179 221 57 0 178 220 57 0 175 219 57 0 174 218 57 0 171 217 57 0 166 216 57 0 163 215 57 0 162 214 57 0 160 213 57 0 159 212 57 0 157 211 57 0 156 210 57 0 156 209 57 0 155 208 57 0 152 207 57 0 150 206 57 0 149 205 57 0 145 204 57 0 144 203 57 0 143 202 57 0 140 201 57 0 138 200 57 0 135 199 57 0 133 198 57 0 131 197 57 0 128 196 57 0 126 195 57 0 122 194 57 0 121 193 57 1 120 191 57 2 118 190 57 3 117 189 57 4 115 188 57 5 112 187 57 5 111 186 57 6 110 185 57 7 107 184 57 8 104 183 57 10 103 182 57 11 102 181 57 12 99 180 57 13 98 179 57 13 96 178 57 14 93 177 57 15 92 176 57 16 91 175 57 18 89 174 57 19 88 173 57 20 86 172 57 21 84 171 57 21 82 170 57 22 81 169 57 23 77 168 57 25 74 167 57 26 73 166 57 27 71 165 57 28 70 164 57 29 67 163 57 30 66 162 57 31 64 161 57 32 62 160 57 33 60 158 57 35 57 157 57 36 54 156 57 37 53 155 57 38 53 154 57 38 51 153 57 39 50 152 57 40 49 151 57 41 46 150 57 43 46 149 57 44 44 148 57 45 43 147 57 46 40 146 57 46 39 145 57 47 38 144 57 48 36 143 57 49 36 142 57 51 35 141 57 52 32 140 57 53 32 139 57 54 31 138 57 54 31 137 57 55 29 136 57 56 28 135 57 58 28 134 57 59 28 133 57 60 27 132 57 61 27 131 57 62 27 130 57 63 27 129 57 64 27 128 57 65 27 127 57 66 27 125 57 68 27 124 57 69 27 123 57 70 27 122 57 71 27 121 57 71 27 120 57 72 27 119 57 73 27 118 57 74 27 117 57 76 27 116 57 77 27 115 57 78 28 114 57 79 28 113 57 79 28 112 57 80 29 111 57 81 31 110 57 82 31 109 57 84 32 108 57 85 32 107 57 86 35 106 57 87 35 105 57 87 36 104 57 88 38 103 57 89 39 102 57 91 40 101 57 92 43 100 57 93 43 99 57 94 44 98 57 95 46 97 57 96 47 96 57 97 49 95 57 98 51 94 57 99 51 92 57 101 53 91 57 102 54 90 57 103 57 89 57 104 59 88 57 104 60 87 57 105 64 86 57 106 66 85 57 107 67 84 57 109 69 83 57 110 70 82 57 111 73 81 57 112 74 80 57 112 77 79 57 113 80 78 57 114 82 77 57 115 84 76 57 117 86 75 57 118 88 74 57 119 89 73 57 120 91 72 57 120 92 71 57 121 93 70 57 122 95 69 57 124 96 68 57 125 99 67 57 126 102 66 57 127 103 65 57 128 104 64 57 129 107 63 57 130 108 62 57 131 110 61 57 132 112 59 57 134 114 58 57 135 117 57 57 136 118 56 57 137 120 55 57 137 121 54 57 138 122 53 57 139 126 52 57 140 128 51 57 142 130 50 57 143 133 49 57 144 135 48 57 145 137 47 57 145 140 46 57 146 141 45 57 147 144 44 57 148 145 43 57 150 149 42 57 151 150 41 57 152 152 40 57 153 153 39 57 153 155 38 57 154 156 37 57 155 157 36 57 157 159 35 57 158 160 34 57 159 162 33 57 160 163 32 57 161 166 31 57 162 167 30 57 163 172 29 57 164 175 28 57 165 178 26 57 167 179 25 57 168 181 24 57 169 182 23 57 170 185 22 57 170 186 21 57 171 188 20 57 172 194 19 57 173 195 18 57 175 197 17 57 176 199 16 57 177 201 15 57 178 202 14 57 178 204 13 57 179 205 12 57 180 207 11 57 181 207 10 57 183 208 9 57 184 209 8 57 185 211 7 57 186 211 6 57 186 213 5 57 187 216 4 57 188 217 3 57 190 219 2 57 191 219 1 57 192 220 0 57 193 223 0 57 194 224 0 57 195 226 0 57 195 227 0 57 195 228 0 57 195 230 255 56 0 231 254 56 0 231 254 56 0 230 254 56 0 230 253 56 0 228 252 56 0 228 251 56 0 227 250 56 0 226 249 56 0 224 248 56 0 221 247 56 0 220 246 56 0 219 245 56 0 217 244 56 0 216 243 56 0 216 242 56 0 213 241 56 0 211 240 56 0 209 239 56 0 208 238 56 0 208 237 56 0 207 236 56 0 207 235 56 0 205 234 56 0 204 233 56 0 202 232 56 0 201 231 56 0 199 230 56 0 197 229 56 0 195 228 56 0 189 227 56 0 188 226 56 0 186 224 56 0 184 223 56 0 182 222 56 0 181 221 56 0 178 220 56 0 176 219 56 0 175 218 56 0 172 217 56 0 167 216 56 0 166 215 56 0 163 214 56 0 162 213 56 0 160 212 56 0 159 211 56 0 157 210 56 0 156 209 56 0 155 208 56 0 153 207 56 0 152 206 56 0 150 205 56 0 149 204 56 0 145 203 56 0 144 202 56 0 143 201 56 0 140 200 56 0 137 199 56 0 135 198 56 0 133 197 56 0 130 196 56 0 128 195 56 0 126 194 56 1 122 193 56 2 121 191 56 3 120 190 56 4 118 189 56 5 117 188 56 6 115 187 56 6 112 186 56 7 111 185 56 8 110 184 56 9 107 183 56 10 104 182 56 12 103 181 56 13 102 180 56 14 99 179 56 14 98 178 56 15 96 177 56 16 95 176 56 17 92 175 56 18 91 174 56 20 89 173 56 21 88 172 56 22 86 171 56 22 84 170 56 23 82 169 56 24 81 168 56 26 77 167 56 27 76 166 56 28 73 165 56 29 71 164 56 30 70 163 56 31 69 162 56 32 66 161 56 33 64 160 56 34 62 158 56 35 60 157 56 37 59 156 56 38 57 155 56 39 54 154 56 39 53 153 56 40 53 152 56 41 50 151 56 42 49 150 56 43 47 149 56 45 47 148 56 46 46 147 56 47 44 146 56 47 43 145 56 48 40 144 56 49 39 143 56 50 38 142 56 51 38 141 56 53 36 140 56 54 36 139 56 55 35 138 56 55 32 137 56 56 32 136 56 57 31 135 56 59 31 134 56 60 29 133 56 61 29 132 56 62 29 131 56 63 29 130 56 64 29 129 56 65 29 128 56 66 29 127 56 67 29 125 56 68 29 124 56 70 29 123 56 71 29 122 56 72 29 121 56 72 29 120 56 73 29 119 56 74 29 118 56 75 29 117 56 76 29 116 56 78 29 115 56 79 29 114 56 80 29 113 56 80 31 112 56 81 32 111 56 82 32 110 56 83 35 109 56 84 36 108 56 86 36 107 56 87 36 106 56 88 38 105 56 88 39 104 56 89 40 103 56 90 43 102 56 92 44 101 56 93 44 100 56 94 46 99 56 95 47 98 56 96 49 97 56 97 50 96 56 98 51 95 56 99 53 94 56 100 54 92 56 101 57 91 56 103 59 90 56 104 60 89 56 105 62 88 56 105 64 87 56 106 66 86 56 107 67 85 56 108 69 84 56 109 70 83 56 111 73 82 56 112 74 81 56 113 77 80 56 113 80 79 56 114 82 78 56 115 84 77 56 116 86 76 56 117 88 75 56 119 89 74 56 120 91 73 56 121 92 72 56 121 93 71 56 122 95 70 56 123 98 69 56 125 99 68 56 126 102 67 56 127 103 66 56 128 104 65 56 129 107 64 56 130 108 63 56 131 111 62 56 132 112 61 56 133 114 59 56 134 117 58 56 136 118 57 56 137 120 56 56 138 121 55 56 138 122 54 56 139 126 53 56 140 128 52 56 141 130 51 56 142 133 50 56 144 134 49 56 145 137 48 56 146 140 47 56 146 141 46 56 147 144 45 56 148 145 44 56 149 149 43 56 150 150 42 56 152 152 41 56 153 153 40 56 154 155 39 56 154 156 38 56 155 157 37 56 156 159 36 56 158 160 35 56 159 162 34 56 160 163 33 56 161 165 32 56 162 167 31 56 163 172 30 56 164 174 29 56 165 176 28 56 166 178 26 56 167 181 25 56 169 182 24 56 170 184 23 56 171 185 22 56 171 188 21 56 172 189 20 56 173 194 19 56 174 197 18 56 175 198 17 56 177 199 16 56 178 202 15 56 179 204 14 56 179 205 13 56 180 205 12 56 181 207 11 56 182 208 10 56 183 208 9 56 185 209 8 56 186 211 7 56 187 213 6 56 187 216 5 56 188 216 4 56 189 217 3 56 191 219 2 56 192 220 1 56 193 221 0 56 194 223 0 56 195 226 0 56 196 227 0 56 196 228 0 56 196 228 0 56 196 230 255 55 0 231 254 55 0 231 254 55 0 230 254 55 0 230 253 55 0 230 252 55 0 228 251 55 0 227 250 55 0 226 249 55 0 224 248 55 0 223 247 55 0 221 246 55 0 220 245 55 0 219 244 55 0 217 243 55 0 216 242 55 0 213 241 55 0 211 240 55 0 211 239 55 0 209 238 55 0 208 237 55 0 208 236 55 0 207 235 55 0 205 234 55 0 204 233 55 0 204 232 55 0 202 231 55 0 199 230 55 0 198 229 55 0 197 228 55 0 194 227 55 0 189 226 55 0 186 224 55 0 185 223 55 0 182 222 55 0 181 221 55 0 179 220 55 0 178 219 55 0 176 218 55 0 174 217 55 0 172 216 55 0 167 215 55 0 165 214 55 0 163 213 55 0 162 212 55 0 160 211 55 0 159 210 55 0 157 209 55 0 156 208 55 0 155 207 55 0 153 206 55 0 152 205 55 0 150 204 55 0 149 203 55 0 145 202 55 0 144 201 55 0 141 200 55 0 140 199 55 0 137 198 55 0 134 197 55 0 131 196 55 0 130 195 55 1 128 194 55 1 126 193 55 2 122 191 55 3 121 190 55 4 120 189 55 5 118 188 55 6 117 187 55 7 115 186 55 8 112 185 55 9 111 184 55 10 110 183 55 11 107 182 55 12 104 181 55 13 103 180 55 14 102 179 55 15 99 178 55 16 98 177 55 17 96 176 55 18 95 175 55 19 92 174 55 20 91 173 55 21 89 172 55 22 88 171 55 23 86 170 55 24 84 169 55 25 82 168 55 27 81 167 55 28 77 166 55 29 76 165 55 30 73 164 55 31 71 163 55 32 70 162 55 33 67 161 55 34 66 160 55 35 64 158 55 36 62 157 55 37 60 156 55 38 60 155 55 39 59 154 55 40 57 153 55 41 54 152 55 42 53 151 55 43 51 150 55 44 50 149 55 45 49 148 55 46 47 147 55 47 46 146 55 48 44 145 55 49 43 144 55 50 43 143 55 51 40 142 55 52 39 141 55 53 39 140 55 54 38 139 55 55 36 138 55 56 36 137 55 57 35 136 55 58 32 135 55 60 32 134 55 61 32 133 55 62 32 132 55 63 32 131 55 64 32 130 55 65 32 129 55 66 32 128 55 67 32 127 55 68 32 125 55 69 32 124 55 70 32 123 55 71 32 122 55 72 32 121 55 73 32 120 55 74 32 119 55 75 32 118 55 76 32 117 55 77 32 116 55 78 32 115 55 79 32 114 55 80 32 113 55 81 32 112 55 82 35 111 55 83 36 110 55 84 36 109 55 85 38 108 55 86 39 107 55 87 39 106 55 88 40 105 55 89 40 104 55 90 43 103 55 91 44 102 55 93 46 101 55 94 47 100 55 95 49 99 55 96 50 98 55 97 51 97 55 98 53 96 55 99 54 95 55 100 57 94 55 101 59 92 55 102 59 91 55 103 60 90 55 104 62 89 55 105 64 88 55 106 66 87 55 107 67 86 55 108 69 85 55 109 71 84 55 110 73 83 55 111 74 82 55 112 77 81 55 113 80 80 55 114 82 79 55 115 84 78 55 116 86 77 55 117 88 76 55 118 89 75 55 119 91 74 55 120 92 73 55 121 93 72 55 122 95 71 55 123 98 70 55 124 99 69 55 126 102 68 55 127 103 67 55 128 104 66 55 129 107 65 55 130 108 64 55 131 111 63 55 132 112 62 55 133 114 61 55 134 117 59 55 135 118 58 55 136 120 57 55 137 121 56 55 138 122 55 55 139 126 54 55 140 128 53 55 141 130 52 55 142 131 51 55 143 134 50 55 144 135 49 55 145 138 48 55 146 141 47 55 147 143 46 55 148 145 45 55 149 149 44 55 150 150 43 55 151 152 42 55 152 153 41 55 153 155 40 55 154 156 39 55 155 157 38 55 156 157 37 55 157 160 36 55 159 162 35 55 160 163 34 55 161 165 33 55 162 167 32 55 163 171 31 55 164 174 30 55 165 176 29 55 166 178 28 55 167 179 26 55 168 181 25 55 169 182 24 55 170 184 23 55 171 186 22 55 172 188 21 55 173 194 20 55 174 195 19 55 175 198 18 55 176 199 17 55 177 201 16 55 178 202 15 55 179 204 14 55 180 205 13 55 181 207 12 55 182 207 11 55 183 208 10 55 184 209 9 55 185 211 8 55 186 211 7 55 187 213 6 55 188 216 5 55 189 217 4 55 190 219 3 55 192 220 2 55 193 221 1 55 194 223 0 55 195 224 0 55 196 226 0 55 196 227 0 55 197 228 0 55 197 230 0 55 197 230 255 54 0 231 254 54 0 231 254 54 0 230 254 54 0 230 253 54 0 230 252 54 0 230 251 54 0 228 250 54 0 227 249 54 0 226 248 54 0 223 247 54 0 221 246 54 0 220 245 54 0 219 244 54 0 217 243 54 0 217 242 54 0 216 241 54 0 213 240 54 0 211 239 54 0 209 238 54 0 209 237 54 0 208 236 54 0 207 235 54 0 207 234 54 0 205 233 54 0 204 232 54 0 202 231 54 0 201 230 54 0 199 229 54 0 197 228 54 0 195 227 54 0 189 226 54 0 186 224 54 0 185 223 54 0 184 222 54 0 182 221 54 0 181 220 54 0 179 219 54 0 178 218 54 0 175 217 54 0 174 216 54 0 171 215 54 0 167 214 54 0 165 213 54 0 163 212 54 0 162 211 54 0 160 210 54 0 159 209 54 0 157 208 54 0 156 207 54 0 155 206 54 0 153 205 54 0 152 204 54 0 150 203 54 0 149 202 54 0 145 201 54 0 143 200 54 0 141 199 54 0 138 198 54 0 135 197 54 0 133 196 54 1 131 195 54 1 130 194 54 2 128 193 54 3 126 191 54 4 122 190 54 5 121 189 54 6 120 188 54 7 118 187 54 8 117 186 54 9 115 185 54 10 112 184 54 11 111 183 54 12 110 182 54 13 107 181 54 14 104 180 54 15 103 179 54 16 102 178 54 17 99 177 54 18 98 176 54 19 96 175 54 20 93 174 54 21 92 173 54 22 91 172 54 23 89 171 54 24 88 170 54 25 88 169 54 26 84 168 54 28 82 167 54 29 81 166 54 30 77 165 54 31 76 164 54 32 73 163 54 33 71 162 54 34 70 161 54 35 69 160 54 36 66 158 54 37 64 157 54 38 64 156 54 39 62 155 54 40 60 154 54 41 59 153 54 42 57 152 54 43 54 151 54 44 54 150 54 45 53 149 54 46 51 148 54 47 50 147 54 48 49 146 54 49 47 145 54 50 46 144 54 51 44 143 54 52 44 142 54 53 43 141 54 54 40 140 54 55 40 139 54 56 39 138 54 57 38 137 54 58 36 136 54 59 36 135 54 61 35 134 54 62 35 133 54 63 35 132 54 64 35 131 54 65 35 130 54 66 35 129 54 67 35 128 54 68 35 127 54 69 35 125 54 70 35 124 54 71 35 123 54 72 35 122 54 73 35 121 54 74 35 120 54 75 35 119 54 76 35 118 54 77 35 117 54 78 35 116 54 79 35 115 54 80 35 114 54 81 35 113 54 82 36 112 54 83 36 111 54 84 38 110 54 85 39 109 54 86 40 108 54 87 40 107 54 88 43 106 54 89 43 105 54 90 44 104 54 91 46 103 54 92 47 102 54 94 49 101 54 95 50 100 54 96 51 99 54 97 51 98 54 98 53 97 54 99 54 96 54 100 57 95 54 101 59 94 54 102 60 92 54 103 62 91 54 104 62 90 54 105 64 89 54 106 66 88 54 107 67 87 54 108 69 86 54 109 70 85 54 110 73 84 54 111 74 83 54 112 77 82 54 113 80 81 54 114 82 80 54 115 84 79 54 116 86 78 54 117 88 77 54 118 89 76 54 119 91 75 54 120 92 74 54 121 93 73 54 122 95 72 54 123 98 71 54 124 99 70 54 125 102 69 54 127 103 68 54 128 104 67 54 129 107 66 54 130 108 65 54 131 110 64 54 132 112 63 54 133 114 62 54 134 117 61 54 135 118 59 54 136 120 58 54 137 121 57 54 138 122 56 54 139 126 55 54 140 128 54 54 141 128 53 54 142 131 52 54 143 133 51 54 144 134 50 54 145 137 49 54 146 140 48 54 147 143 47 54 148 144 46 54 149 149 45 54 150 150 44 54 151 150 43 54 152 152 42 54 153 153 41 54 154 155 40 54 155 156 39 54 156 157 38 54 157 159 37 54 158 160 36 54 160 163 35 54 161 165 34 54 162 166 33 54 163 171 32 54 164 172 31 54 165 175 30 54 166 176 29 54 167 179 28 54 168 181 26 54 169 182 25 54 170 184 24 54 171 185 23 54 172 186 22 54 173 189 21 54 174 194 20 54 175 197 19 54 176 198 18 54 177 201 17 54 178 202 16 54 179 204 15 54 180 205 14 54 181 205 13 54 182 207 12 54 183 208 11 54 184 209 10 54 185 209 9 54 186 211 8 54 187 213 7 54 188 213 6 54 189 216 5 54 190 217 4 54 191 219 3 54 193 220 2 54 194 221 1 54 195 223 0 54 196 226 0 54 197 227 0 54 197 228 0 54 198 230 0 54 198 230 0 54 198 230 255 53 0 231 254 53 0 231 254 53 0 231 254 53 0 230 253 53 0 230 252 53 0 230 251 53 0 228 250 53 0 227 249 53 0 226 248 53 0 224 247 53 0 221 246 53 0 220 245 53 0 219 244 53 0 219 243 53 0 217 242 53 0 216 241 53 0 213 240 53 0 211 239 53 0 211 238 53 0 209 237 53 0 208 236 53 0 208 235 53 0 207 234 53 0 205 233 53 0 204 232 53 0 204 231 53 0 202 230 53 0 199 229 53 0 198 228 53 0 195 227 53 0 194 226 53 0 188 224 53 0 186 223 53 0 185 222 53 0 184 221 53 0 182 220 53 0 181 219 53 0 179 218 53 0 176 217 53 0 175 216 53 0 172 215 53 0 171 214 53 0 166 213 53 0 165 212 53 0 163 211 53 0 162 210 53 0 159 209 53 0 157 208 53 0 156 207 53 0 155 206 53 0 153 205 53 0 152 204 53 0 152 203 53 0 150 202 53 0 149 201 53 0 144 200 53 0 143 199 53 0 140 198 53 0 137 197 53 1 134 196 53 1 133 195 53 2 131 194 53 3 130 193 53 4 128 191 53 5 126 190 53 6 122 189 53 7 121 188 53 8 120 187 53 9 118 186 53 10 117 185 53 11 115 184 53 12 112 183 53 13 111 182 53 14 110 181 53 15 107 180 53 16 104 179 53 17 103 178 53 18 102 177 53 19 99 176 53 20 98 175 53 21 96 174 53 22 95 173 53 23 93 172 53 24 92 171 53 25 91 170 53 26 89 169 53 27 88 168 53 29 86 167 53 30 82 166 53 31 81 165 53 32 77 164 53 33 76 163 53 34 73 162 53 35 71 161 53 36 70 160 53 37 69 158 53 38 67 157 53 39 66 156 53 40 64 155 53 41 64 154 53 42 62 153 53 43 60 152 53 44 59 151 53 45 57 150 53 46 54 149 53 47 53 148 53 48 51 147 53 49 51 146 53 50 50 145 53 51 49 144 53 52 47 143 53 53 46 142 53 54 46 141 53 55 44 140 53 56 44 139 53 57 43 138 53 58 40 137 53 59 39 136 53 60 39 135 53 62 38 134 53 63 38 133 53 64 38 132 53 65 38 131 53 66 38 130 53 67 38 129 53 68 38 128 53 69 38 127 53 70 38 125 53 71 38 124 53 72 38 123 53 73 38 122 53 74 38 121 53 75 38 120 53 76 38 119 53 77 38 118 53 78 38 117 53 79 38 116 53 80 38 115 53 81 38 114 53 82 38 113 53 83 39 112 53 84 39 111 53 85 40 110 53 86 43 109 53 87 44 108 53 88 44 107 53 89 46 106 53 90 46 105 53 91 47 104 53 92 49 103 53 93 49 102 53 95 50 101 53 96 51 100 53 97 53 99 53 98 54 98 53 99 57 97 53 100 59 96 53 101 60 95 53 102 62 94 53 103 62 92 53 104 64 91 53 105 66 90 53 106 67 89 53 107 69 88 53 108 70 87 53 109 71 86 53 110 73 85 53 111 74 84 53 112 77 83 53 113 80 82 53 114 82 81 53 115 84 80 53 116 88 79 53 117 89 78 53 118 91 77 53 119 91 76 53 120 92 75 53 121 93 74 53 122 96 73 53 123 98 72 53 124 99 71 53 125 102 70 53 126 103 69 53 128 104 68 53 129 107 67 53 130 108 66 53 131 111 65 53 132 112 64 53 133 114 63 53 134 117 62 53 135 118 61 53 136 120 59 53 137 121 58 53 138 122 57 53 139 126 56 53 140 128 55 53 141 130 54 53 142 131 53 53 143 133 52 53 144 134 51 53 145 135 50 53 146 138 49 53 147 141 48 53 148 144 47 53 149 145 46 53 150 150 45 53 151 152 44 53 152 152 43 53 153 153 42 53 154 155 41 53 155 156 40 53 156 157 39 53 157 159 38 53 158 160 37 53 159 163 36 53 161 165 35 53 162 166 34 53 163 171 33 53 164 172 32 53 165 174 31 53 166 176 30 53 167 178 29 53 168 179 28 53 169 181 26 53 170 184 25 53 171 185 24 53 172 186 23 53 173 188 22 53 174 189 21 53 175 195 20 53 176 198 19 53 177 199 18 53 178 201 17 53 179 202 16 53 180 204 15 53 181 205 14 53 182 207 13 53 183 207 12 53 184 208 11 53 185 209 10 53 186 209 9 53 187 211 8 53 188 213 7 53 189 216 6 53 190 217 5 53 191 217 4 53 192 219 3 53 194 220 2 53 195 221 1 53 196 224 0 53 197 226 0 53 198 227 0 53 198 228 0 53 198 230 0 53 199 230 0 53 199 230 255 52 0 231 254 52 0 231 254 52 0 231 254 52 0 231 253 52 0 230 252 52 0 230 251 52 0 230 250 52 0 228 249 52 0 227 248 52 0 224 247 52 0 223 246 52 0 221 245 52 0 220 244 52 0 219 243 52 0 217 242 52 0 216 241 52 0 213 240 52 0 213 239 52 0 211 238 52 0 209 237 52 0 209 236 52 0 208 235 52 0 207 234 52 0 205 233 52 0 205 232 52 0 204 231 52 0 202 230 52 0 201 229 52 0 198 228 52 0 197 227 52 0 194 226 52 0 189 224 52 0 186 223 52 0 185 222 52 0 184 221 52 0 182 220 52 0 181 219 52 0 179 218 52 0 178 217 52 0 176 216 52 0 174 215 52 0 172 214 52 0 171 213 52 0 166 212 52 0 165 211 52 0 163 210 52 0 160 209 52 0 159 208 52 0 157 207 52 0 156 206 52 0 155 205 52 0 153 204 52 0 152 203 52 0 152 202 52 0 150 201 52 0 145 200 52 0 144 199 52 1 141 198 52 1 138 197 52 2 137 196 52 2 134 195 52 3 133 194 52 4 131 193 52 5 130 191 52 6 128 190 52 7 126 189 52 8 122 188 52 9 121 187 52 10 120 186 52 11 118 185 52 12 117 184 52 13 115 183 52 14 112 182 52 15 111 181 52 16 110 180 52 17 108 179 52 18 107 178 52 19 104 177 52 20 103 176 52 21 102 175 52 22 98 174 52 24 96 173 52 25 95 172 52 26 93 171 52 27 92 170 52 28 91 169 52 29 89 168 52 30 88 167 52 31 86 166 52 32 84 165 52 33 81 164 52 34 80 163 52 35 76 162 52 36 74 161 52 37 73 160 52 38 71 158 52 39 70 157 52 40 69 156 52 41 67 155 52 42 66 154 52 43 64 153 52 44 64 152 52 45 62 151 52 46 60 150 52 47 59 149 52 48 57 148 52 49 54 147 52 50 53 146 52 51 51 145 52 52 51 144 52 53 50 143 52 54 50 142 52 55 49 141 52 57 47 140 52 58 47 139 52 59 46 138 52 60 44 137 52 61 43 136 52 62 43 135 52 63 40 134 52 64 40 133 52 65 40 132 52 66 40 131 52 67 40 130 52 68 40 129 52 69 40 128 52 70 40 127 52 71 40 125 52 72 40 124 52 73 40 123 52 74 40 122 52 75 40 121 52 76 40 120 52 77 40 119 52 78 40 118 52 79 40 117 52 80 40 116 52 81 40 115 52 82 40 114 52 83 40 113 52 84 43 112 52 85 43 111 52 86 44 110 52 87 46 109 52 88 47 108 52 90 47 107 52 91 49 106 52 92 49 105 52 93 50 104 52 94 50 103 52 95 51 102 52 96 53 101 52 97 54 100 52 98 57 99 52 99 59 98 52 100 60 97 52 101 60 96 52 102 62 95 52 103 64 94 52 104 66 92 52 105 67 91 52 106 69 90 52 107 69 89 52 108 70 88 52 109 71 87 52 110 73 86 52 111 76 85 52 112 77 84 52 113 81 83 52 114 82 82 52 115 86 81 52 116 88 80 52 117 89 79 52 118 91 78 52 119 92 77 52 120 93 76 52 121 95 75 52 123 96 74 52 124 98 73 52 125 99 72 52 126 103 71 52 127 104 70 52 128 107 69 52 129 108 68 52 130 108 67 52 131 111 66 52 132 112 65 52 133 114 64 52 134 117 63 52 135 118 62 52 136 120 61 52 137 121 59 52 138 122 58 52 139 126 57 52 140 128 56 52 141 130 55 52 142 131 54 52 143 133 53 52 144 134 52 52 145 135 51 52 146 138 50 52 147 140 49 52 148 143 48 52 149 145 47 52 150 149 46 52 151 150 45 52 152 152 44 52 153 153 43 52 154 155 42 52 156 156 41 52 157 157 40 52 158 159 39 52 159 160 38 52 160 162 37 52 161 165 36 52 162 166 35 52 163 167 34 52 164 172 33 52 165 174 32 52 166 175 31 52 167 176 30 52 168 179 29 52 169 181 28 52 170 182 26 52 171 184 25 52 172 185 24 52 173 186 23 52 174 189 22 52 175 194 21 52 176 197 20 52 177 198 19 52 178 201 18 52 179 202 17 52 180 204 16 52 181 205 15 52 182 205 14 52 183 207 13 52 184 208 12 52 185 208 11 52 186 209 10 52 187 211 9 52 189 211 8 52 190 213 7 52 191 216 6 52 192 217 5 52 193 217 4 52 194 219 3 52 195 220 2 52 196 221 1 52 197 224 0 52 198 226 0 52 199 228 0 52 199 230 0 52 200 230 0 52 200 230 0 52 200 230 255 51 0 234 254 51 0 231 254 51 0 231 254 51 0 231 253 51 0 231 252 51 0 230 251 51 0 230 250 51 0 228 249 51 0 227 248 51 0 224 247 51 0 223 246 51 0 221 245 51 0 220 244 51 0 219 243 51 0 217 242 51 0 217 241 51 0 216 240 51 0 213 239 51 0 211 238 51 0 211 237 51 0 209 236 51 0 208 235 51 0 207 234 51 0 207 233 51 0 205 232 51 0 204 231 51 0 202 230 51 0 201 229 51 0 199 228 51 0 198 227 51 0 195 226 51 0 194 224 51 0 188 223 51 0 186 222 51 0 185 221 51 0 184 220 51 0 182 219 51 0 181 218 51 0 178 217 51 0 176 216 51 0 175 215 51 0 174 214 51 0 172 213 51 0 171 212 51 0 166 211 51 0 165 210 51 0 162 209 51 0 160 208 51 0 159 207 51 0 157 206 51 0 156 205 51 0 155 204 51 0 153 203 51 0 152 202 51 0 150 201 51 0 149 200 51 1 145 199 51 2 143 198 51 2 140 197 51 3 138 196 51 3 137 195 51 4 135 194 51 5 134 193 51 6 133 191 51 7 130 190 51 9 128 189 51 10 126 188 51 10 122 187 51 11 121 186 51 12 120 185 51 13 118 184 51 14 117 183 51 15 115 182 51 17 112 181 51 18 111 180 51 18 110 179 51 19 108 178 51 20 107 177 51 21 104 176 51 22 103 175 51 24 102 174 51 25 99 173 51 26 96 172 51 27 95 171 51 28 93 170 51 29 93 169 51 30 92 168 51 31 91 167 51 32 89 166 51 34 86 165 51 35 84 164 51 35 81 163 51 36 80 162 51 37 77 161 51 38 74 160 51 39 74 158 51 40 73 157 51 42 71 156 51 43 70 155 51 43 69 154 51 44 67 153 51 45 66 152 51 46 64 151 51 47 62 150 51 48 62 149 51 50 60 148 51 51 59 147 51 51 57 146 51 52 54 145 51 53 53 144 51 54 53 143 51 55 51 142 51 57 51 141 51 58 50 140 51 59 50 139 51 60 49 138 51 61 47 137 51 62 46 136 51 63 46 135 51 64 46 134 51 65 44 133 51 67 44 132 51 68 44 131 51 68 44 130 51 69 44 129 51 70 44 128 51 71 44 127 51 72 44 125 51 73 44 124 51 75 43 123 51 76 44 122 51 76 44 121 51 77 44 120 51 78 44 119 51 79 44 118 51 80 44 117 51 81 44 116 51 83 44 115 51 84 44 114 51 84 46 113 51 85 46 112 51 86 46 111 51 87 47 110 51 88 49 109 51 90 50 108 51 91 50 107 51 92 51 106 51 93 51 105 51 94 53 104 51 95 53 103 51 96 54 102 51 97 57 101 51 98 59 100 51 100 59 99 51 101 60 98 51 101 62 97 51 102 64 96 51 103 66 95 51 104 67 94 51 105 69 92 51 106 70 91 51 108 71 90 51 109 71 89 51 109 73 88 51 110 74 87 51 111 76 86 51 112 80 85 51 113 81 84 51 114 82 83 51 116 86 82 51 117 88 81 51 117 89 80 51 118 91 79 51 119 92 78 51 120 93 77 51 121 95 76 51 123 96 75 51 124 98 74 51 125 102 73 51 126 103 72 51 127 104 71 51 128 107 70 51 129 108 69 51 130 110 68 51 131 111 67 51 133 112 66 51 134 114 65 51 134 117 64 51 135 118 63 51 136 120 62 51 137 121 61 51 138 122 59 51 139 126 58 51 141 128 57 51 142 130 56 51 142 131 55 51 143 134 54 51 144 134 53 51 145 135 52 51 146 138 51 51 147 140 50 51 149 141 49 51 150 144 48 51 150 149 47 51 151 150 46 51 152 152 45 51 153 153 44 51 154 155 43 51 156 156 42 51 157 157 41 51 158 159 40 51 159 160 39 51 160 162 38 51 161 165 37 51 162 166 36 51 163 167 35 51 164 172 34 51 166 174 33 51 167 175 32 51 167 176 31 51 168 178 30 51 169 179 29 51 170 181 28 51 171 184 26 51 172 185 25 51 174 186 24 51 175 188 23 51 175 194 22 51 176 195 21 51 177 197 20 51 178 199 19 51 179 201 18 51 180 202 17 51 182 204 16 51 183 205 15 51 183 207 14 51 184 207 13 51 185 208 12 51 186 209 11 51 187 209 10 51 189 211 9 51 190 213 8 51 191 216 7 51 192 216 6 51 193 217 5 51 194 219 4 51 195 219 3 51 196 220 2 51 197 223 1 51 199 224 0 51 199 227 0 51 200 228 0 51 201 230 0 51 201 230 0 51 201 231 0 51 201 231 255 50 0 234 254 50 0 234 254 50 0 234 254 50 0 231 253 50 0 231 252 50 0 230 251 50 0 230 250 50 0 228 249 50 0 227 248 50 0 224 247 50 0 223 246 50 0 221 245 50 0 220 244 50 0 219 243 50 0 219 242 50 0 217 241 50 0 216 240 50 0 216 239 50 0 213 238 50 0 211 237 50 0 209 236 50 0 209 235 50 0 208 234 50 0 207 233 50 0 205 232 50 0 205 231 50 0 204 230 50 0 202 229 50 0 201 228 50 0 198 227 50 0 197 226 50 0 195 224 50 0 189 223 50 0 188 222 50 0 186 221 50 0 184 220 50 0 182 219 50 0 181 218 50 0 179 217 50 0 178 216 50 0 176 215 50 0 175 214 50 0 174 213 50 0 172 212 50 0 171 211 50 0 166 210 50 0 165 209 50 0 162 208 50 0 160 207 50 0 157 206 50 0 156 205 50 0 155 204 50 0 155 203 50 0 153 202 50 0 152 201 50 1 150 200 50 2 149 199 50 2 144 198 50 3 143 197 50 4 141 196 50 4 140 195 50 5 138 194 50 6 137 193 50 7 134 191 50 9 133 190 50 10 131 189 50 11 128 188 50 12 126 187 50 12 122 186 50 13 121 185 50 14 120 184 50 15 118 183 50 17 117 182 50 18 115 181 50 19 114 180 50 20 112 179 50 20 111 178 50 21 110 177 50 22 108 176 50 24 107 175 50 25 104 174 50 26 102 173 50 27 99 172 50 28 98 171 50 29 96 170 50 30 95 169 50 31 93 168 50 32 92 167 50 34 91 166 50 35 89 165 50 36 88 164 50 37 84 163 50 37 82 162 50 38 81 161 50 39 80 160 50 40 77 158 50 42 76 157 50 43 74 156 50 44 73 155 50 45 71 154 50 45 71 153 50 46 70 152 50 47 67 151 50 48 66 150 50 50 64 149 50 51 64 148 50 52 62 147 50 53 60 146 50 53 59 145 50 54 57 144 50 55 57 143 50 57 54 142 50 58 54 141 50 59 53 140 50 60 53 139 50 61 51 138 50 62 50 137 50 63 50 136 50 64 50 135 50 65 49 134 50 67 49 133 50 68 49 132 50 69 49 131 50 70 49 130 50 70 49 129 50 71 49 128 50 72 47 127 50 73 47 125 50 75 47 124 50 76 47 123 50 77 47 122 50 78 47 121 50 78 47 120 50 79 49 119 50 80 49 118 50 81 49 117 50 83 49 116 50 84 49 115 50 85 49 114 50 86 49 113 50 86 50 112 50 87 50 111 50 88 50 110 50 90 51 109 50 91 53 108 50 92 53 107 50 93 54 106 50 94 54 105 50 95 57 104 50 96 57 103 50 97 59 102 50 98 60 101 50 100 62 100 50 101 62 99 50 102 64 98 50 103 66 97 50 103 67 96 50 104 69 95 50 105 70 94 50 106 71 92 50 108 73 91 50 109 74 90 50 110 76 89 50 111 77 88 50 111 80 87 50 112 80 86 50 113 82 85 50 114 84 84 50 116 86 83 50 117 89 82 50 118 91 81 50 119 92 80 50 119 93 79 50 120 95 78 50 121 96 77 50 123 98 76 50 124 99 75 50 125 102 74 50 126 103 73 50 127 107 72 50 128 108 71 50 129 110 70 50 130 111 69 50 131 112 68 50 133 112 67 50 134 115 66 50 135 117 65 50 136 118 64 50 136 120 63 50 137 121 62 50 138 122 61 50 139 126 59 50 141 128 58 50 142 130 57 50 143 133 56 50 144 134 55 50 144 135 54 50 145 137 53 50 146 138 52 50 147 140 51 50 149 141 50 50 150 144 49 50 151 145 48 50 152 150 47 50 152 152 46 50 153 153 45 50 154 155 44 50 156 155 43 50 157 156 42 50 158 157 41 50 159 159 40 50 160 162 39 50 161 163 38 50 162 166 37 50 163 167 36 50 164 171 35 50 166 174 34 50 167 175 33 50 168 176 32 50 169 178 31 50 169 179 30 50 170 181 29 50 171 182 28 50 172 184 26 50 174 185 25 50 175 188 24 50 176 189 23 50 177 194 22 50 177 197 21 50 178 198 20 50 179 201 19 50 180 202 18 50 182 204 17 50 183 205 16 50 184 205 15 50 185 207 14 50 185 208 13 50 186 208 12 50 187 209 11 50 189 211 10 50 190 213 9 50 191 213 8 50 192 216 7 50 193 217 6 50 194 217 5 50 195 219 4 50 196 220 3 50 197 220 2 50 199 223 1 50 200 224 0 50 201 227 0 50 201 228 0 50 202 230 0 50 202 230 0 50 202 231 0 50 202 231 255 49 0 235 254 49 0 235 254 49 0 234 254 49 0 234 253 49 0 231 252 49 0 231 251 49 0 230 250 49 0 228 249 49 0 227 248 49 0 226 247 49 0 223 246 49 0 221 245 49 0 220 244 49 0 219 243 49 0 219 242 49 0 217 241 49 0 217 240 49 0 216 239 49 0 213 238 49 0 211 237 49 0 211 236 49 0 209 235 49 0 208 234 49 0 208 233 49 0 207 232 49 0 205 231 49 0 204 230 49 0 204 229 49 0 202 228 49 0 199 227 49 0 198 226 49 0 197 224 49 0 194 223 49 0 188 222 49 0 186 221 49 0 185 220 49 0 182 219 49 0 182 218 49 0 179 217 49 0 179 216 49 0 178 215 49 0 176 214 49 0 175 213 49 0 174 212 49 0 172 211 49 0 167 210 49 0 166 209 49 0 163 208 49 0 162 207 49 0 159 206 49 0 157 205 49 0 156 204 49 0 155 203 49 0 155 202 49 0 153 201 49 1 152 200 49 2 150 199 49 3 149 198 49 4 144 197 49 5 144 196 49 5 143 195 49 6 141 194 49 7 140 193 49 8 137 191 49 10 135 190 49 11 133 189 49 12 131 188 49 13 128 187 49 13 126 186 49 14 122 185 49 15 121 184 49 16 120 183 49 18 118 182 49 19 117 181 49 20 115 180 49 21 114 179 49 21 114 178 49 22 112 177 49 23 111 176 49 25 110 175 49 26 107 174 49 27 104 173 49 28 103 172 49 29 102 171 49 30 99 170 49 31 98 169 49 32 96 168 49 33 95 167 49 35 93 166 49 36 92 165 49 37 89 164 49 38 88 163 49 38 86 162 49 39 84 161 49 40 82 160 49 41 81 158 49 43 80 157 49 44 80 156 49 45 77 155 49 46 76 154 49 46 74 153 49 47 73 152 49 48 71 151 49 49 70 150 49 51 69 149 49 52 67 148 49 53 66 147 49 54 64 146 49 54 62 145 49 55 60 144 49 56 60 143 49 58 59 142 49 59 59 141 49 60 57 140 49 61 57 139 49 62 57 138 49 63 54 137 49 64 54 136 49 65 53 135 49 66 53 134 49 68 53 133 49 69 53 132 49 70 53 131 49 71 53 130 49 71 53 129 49 72 51 128 49 73 51 127 49 74 51 125 49 76 50 124 49 77 50 123 49 78 50 122 49 79 51 121 49 79 51 120 49 80 51 119 49 81 53 118 49 82 53 117 49 84 53 116 49 85 53 115 49 86 53 114 49 87 53 113 49 87 53 112 49 88 54 111 49 89 54 110 49 91 54 109 49 92 57 108 49 93 57 107 49 94 59 106 49 95 59 105 49 96 60 104 49 97 60 103 49 98 62 102 49 99 64 101 49 101 66 100 49 102 67 99 49 103 69 98 49 104 70 97 49 104 71 96 49 105 73 95 49 106 74 94 49 107 76 92 49 109 77 91 49 110 77 90 49 111 80 89 49 112 81 88 49 112 82 87 49 113 84 86 49 114 86 85 49 115 88 84 49 117 89 83 49 118 91 82 49 119 93 81 49 120 95 80 49 120 96 79 49 121 98 78 49 122 99 77 49 124 102 76 49 125 103 75 49 126 104 74 49 127 107 73 49 128 110 72 49 129 111 71 49 130 112 70 49 131 112 69 49 132 114 68 49 134 115 67 49 135 117 66 49 136 118 65 49 137 120 64 49 137 121 63 49 138 122 62 49 139 126 61 49 140 128 59 49 142 131 58 49 143 133 57 49 144 134 56 49 145 137 55 49 145 138 54 49 146 140 53 49 147 141 52 49 148 143 51 49 150 144 50 49 151 145 49 49 152 150 48 49 153 152 47 49 153 153 46 49 154 155 45 49 155 155 44 49 157 156 43 49 158 157 42 49 159 159 41 49 160 160 40 49 161 163 39 49 162 166 38 49 163 167 37 49 164 171 36 49 165 172 35 49 167 174 34 49 168 175 33 49 169 176 32 49 170 178 31 49 170 179 30 49 171 181 29 49 172 182 28 49 173 184 26 49 175 186 25 49 176 188 24 49 177 194 23 49 178 195 22 49 178 198 21 49 179 199 20 49 180 201 19 49 181 202 18 49 183 204 17 49 184 205 16 49 185 207 15 49 186 207 14 49 186 208 13 49 187 209 12 49 188 211 11 49 190 211 10 49 191 213 9 49 192 216 8 49 193 217 7 49 194 217 6 49 195 219 5 49 196 219 4 49 197 220 3 49 198 221 2 49 200 223 1 49 201 224 0 49 202 227 0 49 202 228 0 49 203 230 0 49 203 230 0 49 203 231 0 49 203 231 255 48 0 238 254 48 0 235 254 48 0 235 254 48 0 234 253 48 0 231 252 48 0 231 251 48 0 230 250 48 0 228 249 48 0 227 248 48 0 226 247 48 0 224 246 48 0 223 245 48 0 221 244 48 0 220 243 48 0 219 242 48 0 219 241 48 0 217 240 48 0 217 239 48 0 216 238 48 0 213 237 48 0 211 236 48 0 209 235 48 0 209 234 48 0 208 233 48 0 207 232 48 0 207 231 48 0 205 230 48 0 204 229 48 0 202 228 48 0 201 227 48 0 199 226 48 0 198 224 48 0 195 223 48 0 189 222 48 0 186 221 48 0 185 220 48 0 184 219 48 0 182 218 48 0 181 217 48 0 179 216 48 0 178 215 48 0 176 214 48 0 175 213 48 0 174 212 48 0 172 211 48 0 171 210 48 0 167 209 48 0 165 208 48 0 162 207 48 0 160 206 48 0 159 205 48 0 157 204 48 0 156 203 48 0 155 202 48 1 155 201 48 2 153 200 48 3 152 199 48 4 150 198 48 5 149 197 48 6 145 196 48 6 144 195 48 7 143 194 48 8 141 193 48 9 140 191 48 10 137 190 48 12 135 189 48 13 133 188 48 14 131 187 48 14 128 186 48 15 126 185 48 16 122 184 48 17 121 183 48 18 120 182 48 20 118 181 48 21 118 180 48 22 117 179 48 22 115 178 48 23 114 177 48 24 112 176 48 26 111 175 48 27 110 174 48 28 108 173 48 29 107 172 48 30 103 171 48 31 102 170 48 32 102 169 48 33 99 168 48 34 98 167 48 35 95 166 48 37 93 165 48 38 92 164 48 39 91 163 48 39 89 162 48 40 88 161 48 41 86 160 48 42 86 158 48 43 84 157 48 45 82 156 48 46 81 155 48 47 80 154 48 47 77 153 48 48 76 152 48 49 74 151 48 50 73 150 48 51 71 149 48 53 70 148 48 54 69 147 48 55 67 146 48 55 66 145 48 56 64 144 48 57 64 143 48 59 62 142 48 60 62 141 48 61 60 140 48 62 60 139 48 63 60 138 48 64 59 137 48 65 59 136 48 66 59 135 48 67 59 134 48 68 59 133 48 70 57 132 48 71 57 131 48 72 57 130 48 72 57 129 48 73 54 128 48 74 54 127 48 75 54 125 48 76 53 124 48 78 53 123 48 79 53 122 48 80 53 121 48 80 54 120 48 81 54 119 48 82 54 118 48 83 57 117 48 84 57 116 48 86 57 115 48 87 57 114 48 88 59 113 48 88 59 112 48 89 59 111 48 90 59 110 48 92 60 109 48 93 60 108 48 94 60 107 48 95 60 106 48 96 62 105 48 97 62 104 48 98 64 103 48 99 66 102 48 100 67 101 48 101 69 100 48 103 70 99 48 104 71 98 48 105 73 97 48 105 74 96 48 106 76 95 48 107 77 94 48 108 80 92 48 109 81 91 48 111 82 90 48 112 82 89 48 113 84 88 48 113 86 87 48 114 88 86 48 115 89 85 48 116 91 84 48 117 92 83 48 119 93 82 48 120 95 81 48 121 96 80 48 121 98 79 48 122 99 78 48 123 102 77 48 125 103 76 48 126 104 75 48 127 108 74 48 128 110 73 48 129 111 72 48 130 112 71 48 131 114 70 48 132 115 69 48 133 117 68 48 134 117 67 48 136 118 66 48 137 120 65 48 138 121 64 48 138 122 63 48 139 126 62 48 140 128 61 48 141 130 59 48 142 133 58 48 144 134 57 48 145 137 56 48 146 138 55 48 146 141 54 48 147 143 53 48 148 144 52 48 149 145 51 48 150 149 50 48 152 150 49 48 153 152 48 48 154 153 47 48 154 153 46 48 155 155 45 48 156 156 44 48 158 157 43 48 159 159 42 48 160 160 41 48 161 162 40 48 162 165 39 48 163 166 38 48 164 171 37 48 165 172 36 48 166 174 35 48 167 175 34 48 169 176 33 48 170 178 32 48 171 179 31 48 171 181 30 48 172 182 29 48 173 184 28 48 174 185 26 48 175 186 25 48 177 189 24 48 178 194 23 48 179 197 22 48 179 199 21 48 180 201 20 48 181 202 19 48 182 204 18 48 183 205 17 48 185 205 16 48 186 207 15 48 187 208 14 48 187 209 13 48 188 209 12 48 189 211 11 48 191 213 10 48 192 216 9 48 193 216 8 48 194 217 7 48 195 219 6 48 196 219 5 48 197 220 4 48 198 220 3 48 199 221 2 48 200 224 1 48 202 226 0 48 202 227 0 48 203 228 0 48 204 230 0 48 204 230 0 48 204 231 0 48 204 231 255 47 0 238 254 47 0 238 254 47 0 235 254 47 0 234 253 47 0 234 252 47 0 231 251 47 0 230 250 47 0 228 249 47 0 228 248 47 0 227 247 47 0 224 246 47 0 223 245 47 0 221 244 47 0 220 243 47 0 220 242 47 0 219 241 47 0 219 240 47 0 217 239 47 0 216 238 47 0 213 237 47 0 211 236 47 0 211 235 47 0 209 234 47 0 208 233 47 0 208 232 47 0 207 231 47 0 205 230 47 0 205 229 47 0 204 228 47 0 202 227 47 0 201 226 47 0 198 224 47 0 195 223 47 0 189 222 47 0 188 221 47 0 185 220 47 0 184 219 47 0 184 218 47 0 182 217 47 0 181 216 47 0 179 215 47 0 178 214 47 0 176 213 47 0 175 212 47 0 174 211 47 0 172 210 47 0 171 209 47 0 166 208 47 0 163 207 47 0 162 206 47 0 159 205 47 0 157 204 47 0 156 203 47 1 156 202 47 1 155 201 47 2 155 200 47 3 153 199 47 4 152 198 47 5 150 197 47 6 149 196 47 7 149 195 47 8 145 194 47 9 144 193 47 10 141 191 47 11 140 190 47 12 137 189 47 13 135 188 47 14 133 187 47 15 130 186 47 16 128 185 47 17 126 184 47 18 122 183 47 19 121 182 47 20 120 181 47 21 120 180 47 22 118 179 47 23 117 178 47 24 115 177 47 25 115 176 47 27 114 175 47 28 111 174 47 29 110 173 47 30 108 172 47 31 107 171 47 32 104 170 47 33 103 169 47 34 102 168 47 35 99 167 47 36 98 166 47 37 96 165 47 38 95 164 47 39 93 163 47 40 92 162 47 41 91 161 47 42 89 160 47 43 89 158 47 44 86 157 47 45 86 156 47 46 84 155 47 47 82 154 47 48 81 153 47 49 80 152 47 50 77 151 47 51 76 150 47 52 74 149 47 53 73 148 47 54 71 147 47 55 70 146 47 56 69 145 47 57 67 144 47 58 66 143 47 60 66 142 47 61 64 141 47 62 64 140 47 63 64 139 47 64 64 138 47 65 64 137 47 66 64 136 47 67 62 135 47 68 62 134 47 69 62 133 47 70 60 132 47 71 60 131 47 72 60 130 47 73 59 129 47 74 59 128 47 75 59 127 47 76 57 125 47 77 57 124 47 78 57 123 47 79 57 122 47 80 57 121 47 81 57 120 47 82 59 119 47 83 59 118 47 84 59 117 47 85 60 116 47 86 60 115 47 87 60 114 47 88 62 113 47 89 62 112 47 90 62 111 47 91 64 110 47 93 64 109 47 94 64 108 47 95 64 107 47 96 64 106 47 97 66 105 47 98 66 104 47 99 67 103 47 100 69 102 47 101 70 101 47 102 71 100 47 103 73 99 47 104 74 98 47 105 76 97 47 106 77 96 47 107 80 95 47 108 80 94 47 109 81 92 47 110 82 91 47 111 84 90 47 112 86 89 47 113 88 88 47 114 89 87 47 115 91 86 47 116 92 85 47 117 93 84 47 118 93 83 47 119 95 82 47 120 98 81 47 121 99 80 47 122 102 79 47 123 103 78 47 124 104 77 47 126 107 76 47 127 108 75 47 128 110 74 47 129 111 73 47 130 112 72 47 131 115 71 47 132 115 70 47 133 117 69 47 134 118 68 47 135 120 67 47 136 120 66 47 137 121 65 47 138 122 64 47 139 126 63 47 140 128 62 47 141 130 61 47 142 133 59 47 143 134 58 47 144 137 57 47 145 140 56 47 146 141 55 47 147 143 54 47 148 144 53 47 149 145 52 47 150 149 51 47 151 150 50 47 152 152 49 47 153 153 48 47 154 153 47 47 155 155 46 47 156 156 45 47 157 156 44 47 159 157 43 47 160 159 42 47 161 160 41 47 162 163 40 47 163 166 39 47 164 167 38 47 165 171 37 47 166 174 36 47 167 175 35 47 168 175 34 47 169 176 33 47 170 179 32 47 171 179 31 47 172 181 30 47 173 182 29 47 174 184 28 47 175 185 26 47 176 188 25 47 177 189 24 47 178 195 23 47 179 198 22 47 180 199 21 47 181 201 20 47 182 202 19 47 183 204 18 47 184 205 17 47 185 207 16 47 186 207 15 47 187 208 14 47 188 209 13 47 189 211 12 47 190 211 11 47 192 213 10 47 193 216 9 47 194 217 8 47 195 217 7 47 196 219 6 47 197 220 5 47 198 220 4 47 199 221 3 47 200 223 2 47 201 224 1 47 202 226 0 47 203 228 0 47 204 228 0 47 204 230 0 47 205 230 0 47 205 231 0 47 205 231 255 46 0 239 254 46 0 238 254 46 0 235 254 46 0 234 253 46 0 234 252 46 0 231 251 46 0 230 250 46 0 230 249 46 0 228 248 46 0 227 247 46 0 226 246 46 0 224 245 46 0 223 244 46 0 221 243 46 0 220 242 46 0 220 241 46 0 219 240 46 0 217 239 46 0 216 238 46 0 213 237 46 0 213 236 46 0 211 235 46 0 209 234 46 0 208 233 46 0 208 232 46 0 207 231 46 0 205 230 46 0 205 229 46 0 204 228 46 0 202 227 46 0 201 226 46 0 198 224 46 0 195 223 46 0 194 222 46 0 188 221 46 0 186 220 46 0 185 219 46 0 184 218 46 0 182 217 46 0 181 216 46 0 179 215 46 0 178 214 46 0 176 213 46 0 175 212 46 0 174 211 46 0 172 210 46 0 171 209 46 0 167 208 46 0 165 207 46 0 162 206 46 0 160 205 46 0 159 204 46 1 157 203 46 1 156 202 46 2 156 201 46 3 155 200 46 4 155 199 46 5 153 198 46 6 152 197 46 7 152 196 46 8 150 195 46 9 149 194 46 10 145 193 46 11 144 191 46 12 141 190 46 13 140 189 46 14 137 188 46 15 134 187 46 16 133 186 46 17 130 185 46 18 128 184 46 19 126 183 46 20 122 182 46 21 121 181 46 22 121 180 46 23 120 179 46 24 118 178 46 25 118 177 46 26 117 176 46 28 115 175 46 29 114 174 46 30 112 173 46 31 111 172 46 32 108 171 46 33 107 170 46 34 104 169 46 35 103 168 46 36 102 167 46 37 99 166 46 38 98 165 46 39 96 164 46 40 95 163 46 41 93 162 46 42 93 161 46 43 92 160 46 44 91 158 46 45 89 157 46 46 88 156 46 47 86 155 46 48 84 154 46 49 82 153 46 50 81 152 46 51 81 151 46 52 80 150 46 53 77 149 46 54 76 148 46 55 76 147 46 56 74 146 46 57 73 145 46 58 70 144 46 59 70 143 46 61 69 142 46 62 69 141 46 63 67 140 46 64 67 139 46 65 67 138 46 66 67 137 46 67 67 136 46 68 66 135 46 69 66 134 46 70 64 133 46 71 64 132 46 72 62 131 46 73 62 130 46 74 62 129 46 75 60 128 46 76 60 127 46 77 60 125 46 78 60 124 46 79 59 123 46 80 59 122 46 81 60 121 46 82 60 120 46 83 60 119 46 84 60 118 46 85 62 117 46 86 62 116 46 87 64 115 46 88 64 114 46 89 66 113 46 90 66 112 46 91 67 111 46 92 67 110 46 94 67 109 46 95 67 108 46 96 67 107 46 97 67 106 46 98 69 105 46 99 69 104 46 100 70 103 46 101 71 102 46 102 74 101 46 103 74 100 46 104 76 99 46 105 77 98 46 106 80 97 46 107 80 96 46 108 81 95 46 109 82 94 46 110 84 92 46 111 86 91 46 112 88 90 46 113 89 89 46 114 91 88 46 115 92 87 46 116 93 86 46 117 93 85 46 118 95 84 46 119 96 83 46 120 98 82 46 121 99 81 46 122 102 80 46 123 103 79 46 124 104 78 46 125 107 77 46 127 108 76 46 128 111 75 46 129 112 74 46 130 114 73 46 131 115 72 46 132 117 71 46 133 117 70 46 134 118 69 46 135 120 68 46 136 121 67 46 137 121 66 46 138 122 65 46 139 126 64 46 140 128 63 46 141 130 62 46 142 131 61 46 143 134 59 46 144 137 58 46 145 140 57 46 146 141 56 46 147 143 55 46 148 145 54 46 149 149 53 46 150 150 52 46 151 150 51 46 152 152 50 46 153 153 49 46 154 155 48 46 155 155 47 46 156 156 46 46 157 156 45 46 158 157 44 46 160 159 43 46 161 160 42 46 162 162 41 46 163 165 40 46 164 166 39 46 165 171 38 46 166 172 37 46 167 174 36 46 168 175 35 46 169 176 34 46 170 178 33 46 171 179 32 46 172 181 31 46 173 182 30 46 174 184 29 46 175 185 28 46 176 186 26 46 177 188 25 46 178 194 24 46 179 195 23 46 180 198 22 46 181 201 21 46 182 202 20 46 183 204 19 46 184 205 18 46 185 205 17 46 186 207 16 46 187 208 15 46 188 208 14 46 189 209 13 46 190 211 12 46 191 213 11 46 193 213 10 46 194 216 9 46 195 217 8 46 196 219 7 46 197 219 6 46 198 220 5 46 199 221 4 46 200 223 3 46 201 224 2 46 202 226 1 46 203 227 0 46 204 228 0 46 205 230 0 46 205 230 0 46 206 230 0 46 206 231 0 46 206 231 255 45 0 239 254 45 0 238 254 45 0 238 254 45 0 235 253 45 0 234 252 45 0 231 251 45 0 230 250 45 0 230 249 45 0 230 248 45 0 228 247 45 0 227 246 45 0 226 245 45 0 224 244 45 0 221 243 45 0 221 242 45 0 220 241 45 0 219 240 45 0 217 239 45 0 217 238 45 0 216 237 45 0 213 236 45 0 211 235 45 0 209 234 45 0 209 233 45 0 208 232 45 0 207 231 45 0 207 230 45 0 205 229 45 0 204 228 45 0 202 227 45 0 201 226 45 0 199 224 45 0 197 223 45 0 194 222 45 0 189 221 45 0 186 220 45 0 186 219 45 0 185 218 45 0 184 217 45 0 182 216 45 0 181 215 45 0 178 214 45 0 176 213 45 0 176 212 45 0 175 211 45 0 174 210 45 0 172 209 45 0 167 208 45 0 166 207 45 0 163 206 45 0 162 205 45 1 160 204 45 1 159 203 45 2 157 202 45 3 156 201 45 4 156 200 45 5 155 199 45 6 155 198 45 7 153 197 45 8 152 196 45 9 152 195 45 10 150 194 45 11 149 193 45 12 145 191 45 13 143 190 45 14 141 189 45 15 138 188 45 16 135 187 45 17 133 186 45 18 131 185 45 19 130 184 45 20 128 183 45 21 126 182 45 22 122 181 45 23 121 180 45 24 121 179 45 25 120 178 45 26 118 177 45 27 118 176 45 29 117 175 45 30 115 174 45 31 114 173 45 32 112 172 45 33 111 171 45 34 110 170 45 35 107 169 45 36 104 168 45 37 103 167 45 38 102 166 45 39 99 165 45 40 98 164 45 41 98 163 45 42 96 162 45 43 95 161 45 44 93 160 45 45 93 158 45 46 91 157 45 47 89 156 45 48 88 155 45 49 86 154 45 50 84 153 45 51 84 152 45 52 82 151 45 53 81 150 45 54 81 149 45 55 80 148 45 56 77 147 45 57 76 146 45 58 74 145 45 59 73 144 45 60 71 143 45 62 71 142 45 63 70 141 45 64 70 140 45 65 70 139 45 66 70 138 45 67 70 137 45 68 69 136 45 69 69 135 45 70 67 134 45 71 67 133 45 72 66 132 45 73 64 131 45 74 64 130 45 75 64 129 45 76 62 128 45 77 62 127 45 78 62 125 45 79 62 124 45 80 62 123 45 81 62 122 45 82 62 121 45 83 62 120 45 84 62 119 45 85 62 118 45 86 64 117 45 87 64 116 45 88 66 115 45 89 66 114 45 90 67 113 45 91 69 112 45 92 69 111 45 93 70 110 45 95 70 109 45 96 70 108 45 97 70 107 45 98 70 106 45 99 71 105 45 100 71 104 45 101 73 103 45 102 74 102 45 103 76 101 45 104 77 100 45 105 80 99 45 106 81 98 45 107 81 97 45 108 82 96 45 109 84 95 45 110 84 94 45 111 86 92 45 112 88 91 45 113 89 90 45 114 91 89 45 115 92 88 45 116 93 87 45 117 95 86 45 118 96 85 45 119 96 84 45 120 98 83 45 121 99 82 45 122 102 81 45 123 103 80 45 124 104 79 45 125 107 78 45 126 108 77 45 128 111 76 45 129 112 75 45 130 114 74 45 131 115 73 45 132 117 72 45 133 118 71 45 134 118 70 45 135 120 69 45 136 121 68 45 137 121 67 45 138 122 66 45 139 126 65 45 140 128 64 45 141 130 63 45 142 131 62 45 143 133 61 45 144 135 59 45 145 138 58 45 146 141 57 45 147 143 56 45 148 145 55 45 149 149 54 45 150 150 53 45 151 152 52 45 152 152 51 45 153 153 50 45 154 155 49 45 155 155 48 45 156 156 47 45 157 156 46 45 158 157 45 45 159 159 44 45 161 160 43 45 162 162 42 45 163 163 41 45 164 165 40 45 165 167 39 45 166 171 38 45 167 174 37 45 168 175 36 45 169 176 35 45 170 176 34 45 171 178 33 45 172 179 32 45 173 181 31 45 174 182 30 45 175 185 29 45 176 185 28 45 177 186 26 45 178 189 25 45 179 194 24 45 180 195 23 45 181 198 22 45 182 201 21 45 183 202 20 45 184 204 19 45 185 205 18 45 186 205 17 45 187 207 16 45 188 208 15 45 189 208 14 45 190 209 13 45 191 211 12 45 192 213 11 45 194 216 10 45 195 217 9 45 196 217 8 45 197 219 7 45 198 220 6 45 199 220 5 45 200 221 4 45 201 223 3 45 202 226 2 45 203 227 1 45 204 228 0 45 205 230 0 45 206 230 0 45 206 230 0 45 206 230 0 45 207 231 0 45 207 231 255 44 0 239 254 44 0 238 254 44 0 238 254 44 0 235 253 44 0 234 252 44 0 231 251 44 0 231 250 44 0 230 249 44 0 230 248 44 0 228 247 44 0 228 246 44 0 226 245 44 0 224 244 44 0 223 243 44 0 221 242 44 0 220 241 44 0 219 240 44 0 217 239 44 0 217 238 44 0 216 237 44 0 213 236 44 0 211 235 44 0 209 234 44 0 209 233 44 0 208 232 44 0 207 231 44 0 207 230 44 0 205 229 44 0 204 228 44 0 202 227 44 0 201 226 44 0 199 224 44 0 197 223 44 0 194 222 44 0 189 221 44 0 188 220 44 0 186 219 44 0 185 218 44 0 184 217 44 0 182 216 44 0 181 215 44 0 179 214 44 0 178 213 44 0 176 212 44 0 175 211 44 0 174 210 44 0 172 209 44 0 171 208 44 0 166 207 44 1 165 206 44 1 163 205 44 2 162 204 44 2 160 203 44 3 159 202 44 4 157 201 44 5 156 200 44 6 156 199 44 7 155 198 44 8 155 197 44 9 153 196 44 10 152 195 44 11 152 194 44 12 150 193 44 13 149 191 44 14 144 190 44 15 143 189 44 16 140 188 44 17 137 187 44 18 134 186 44 19 133 185 44 20 131 184 44 21 130 183 44 22 128 182 44 24 126 181 44 25 122 180 44 26 122 179 44 27 121 178 44 28 120 177 44 29 120 176 44 30 118 175 44 31 117 174 44 32 115 173 44 33 114 172 44 34 112 171 44 35 111 170 44 36 110 169 44 37 107 168 44 38 104 167 44 39 104 166 44 40 102 165 44 41 102 164 44 42 99 163 44 43 98 162 44 44 96 161 44 45 96 160 44 46 95 158 44 47 93 157 44 48 92 156 44 49 91 155 44 50 89 154 44 51 88 153 44 52 86 152 44 53 84 151 44 54 84 150 44 55 82 149 44 57 82 148 44 58 81 147 44 59 80 146 44 60 77 145 44 61 76 144 44 62 74 143 44 63 74 142 44 64 74 141 44 65 73 140 44 66 73 139 44 67 73 138 44 68 73 137 44 69 71 136 44 70 70 135 44 71 69 134 44 72 69 133 44 73 67 132 44 74 66 131 44 75 66 130 44 76 66 129 44 77 66 128 44 78 66 127 44 79 66 125 44 80 64 124 44 81 64 123 44 82 64 122 44 83 64 121 44 84 66 120 44 85 66 119 44 86 66 118 44 87 66 117 44 88 66 116 44 90 67 115 44 91 67 114 44 92 69 113 44 93 70 112 44 94 71 111 44 95 73 110 44 96 73 109 44 97 73 108 44 98 73 107 44 99 74 106 44 100 74 105 44 101 74 104 44 102 76 103 44 103 77 102 44 104 80 101 44 105 81 100 44 106 82 99 44 107 82 98 44 108 84 97 44 109 84 96 44 110 86 95 44 111 88 94 44 112 88 92 44 113 91 91 44 114 92 90 44 115 93 89 44 116 95 88 44 117 95 87 44 118 96 86 44 119 98 85 44 120 99 84 44 121 99 83 44 123 102 82 44 124 103 81 44 125 104 80 44 126 107 79 44 127 110 78 44 128 111 77 44 129 112 76 44 130 114 75 44 131 115 74 44 132 117 73 44 133 118 72 44 134 120 71 44 135 120 70 44 136 121 69 44 137 122 68 44 138 122 67 44 139 126 66 44 140 128 65 44 141 130 64 44 142 131 63 44 143 133 62 44 144 134 61 44 145 137 59 44 146 140 58 44 147 143 57 44 148 144 56 44 149 149 55 44 150 150 54 44 151 150 53 44 152 152 52 44 153 153 51 44 154 155 50 44 156 155 49 44 157 156 48 44 158 156 47 44 159 157 46 44 160 159 45 44 161 159 44 44 162 160 43 44 163 163 42 44 164 165 41 44 165 166 40 44 166 171 39 44 167 172 38 44 168 174 37 44 169 175 36 44 170 176 35 44 171 178 34 44 172 179 33 44 173 181 32 44 174 182 31 44 175 184 30 44 176 185 29 44 177 186 28 44 178 188 26 44 179 189 25 44 180 194 24 44 181 197 23 44 182 198 22 44 183 201 21 44 184 202 20 44 185 204 19 44 186 205 18 44 187 205 17 44 189 207 16 44 190 208 15 44 191 208 14 44 192 209 13 44 193 211 12 44 194 213 11 44 195 216 10 44 196 217 9 44 197 217 8 44 198 219 7 44 199 220 6 44 200 221 5 44 201 221 4 44 202 224 3 44 203 226 2 44 204 227 1 44 205 228 0 44 206 230 0 44 207 230 0 44 207 230 0 44 208 230 0 44 208 231 0 44 208 231 255 43 0 239 254 43 0 238 254 43 0 238 254 43 0 235 253 43 0 234 252 43 0 231 251 43 0 231 250 43 0 230 249 43 0 230 248 43 0 230 247 43 0 228 246 43 0 227 245 43 0 226 244 43 0 223 243 43 0 221 242 43 0 220 241 43 0 219 240 43 0 217 239 43 0 217 238 43 0 216 237 43 0 213 236 43 0 211 235 43 0 209 234 43 0 209 233 43 0 208 232 43 0 207 231 43 0 207 230 43 0 205 229 43 0 204 228 43 0 202 227 43 0 201 226 43 0 199 224 43 0 197 223 43 0 195 222 43 0 189 221 43 0 188 220 43 0 186 219 43 0 186 218 43 0 184 217 43 0 182 216 43 0 181 215 43 0 179 214 43 0 179 213 43 0 178 212 43 0 176 211 43 0 175 210 43 0 174 209 43 0 172 208 43 1 171 207 43 2 166 206 43 2 165 205 43 3 163 204 43 3 162 203 43 4 160 202 43 5 159 201 43 6 157 200 43 7 156 199 43 9 156 198 43 10 155 197 43 10 155 196 43 11 153 195 43 12 153 194 43 13 152 193 43 14 150 191 43 15 149 190 43 17 144 189 43 18 141 188 43 18 140 187 43 19 137 186 43 20 134 185 43 21 133 184 43 22 131 183 43 24 130 182 43 25 130 181 43 26 128 180 43 27 126 179 43 28 122 178 43 29 121 177 43 30 121 176 43 31 120 175 43 32 118 174 43 34 117 173 43 35 117 172 43 35 114 171 43 36 112 170 43 37 111 169 43 38 110 168 43 39 108 167 43 40 107 166 43 42 104 165 43 43 103 164 43 43 102 163 43 44 102 162 43 45 99 161 43 46 98 160 43 47 96 158 43 48 95 157 43 50 93 156 43 51 92 155 43 51 91 154 43 52 89 153 43 53 89 152 43 54 88 151 43 55 88 150 43 57 86 149 43 58 86 148 43 59 84 147 43 60 82 146 43 61 81 145 43 62 80 144 43 63 80 143 43 64 77 142 43 65 77 141 43 67 77 140 43 68 77 139 43 68 76 138 43 69 76 137 43 70 74 136 43 71 73 135 43 72 71 134 43 73 70 133 43 75 70 132 43 76 69 131 43 76 69 130 43 77 69 129 43 78 69 128 43 79 69 127 43 80 69 125 43 81 69 124 43 83 69 123 43 84 69 122 43 84 69 121 43 85 69 120 43 86 69 119 43 87 69 118 43 88 69 117 43 90 69 116 43 91 69 115 43 92 70 114 43 93 71 113 43 94 73 112 43 95 74 111 43 96 76 110 43 97 76 109 43 98 77 108 43 100 77 107 43 101 77 106 43 101 77 105 43 102 80 104 43 103 80 103 43 104 81 102 43 105 82 101 43 106 84 100 43 108 84 99 43 109 86 98 43 109 86 97 43 110 88 96 43 111 89 95 43 112 89 94 43 113 91 92 43 114 92 91 43 116 93 90 43 117 95 89 43 117 96 88 43 118 98 87 43 119 99 86 43 120 99 85 43 121 102 84 43 123 103 83 43 124 104 82 43 125 107 81 43 126 108 80 43 127 110 79 43 128 111 78 43 129 112 77 43 130 114 76 43 131 115 75 43 133 117 74 43 134 118 73 43 134 120 72 43 135 121 71 43 136 121 70 43 137 122 69 43 138 126 68 43 139 128 67 43 141 130 66 43 142 130 65 43 142 131 64 43 143 133 63 43 144 134 62 43 145 137 61 43 146 138 59 43 147 141 58 43 149 144 57 43 150 145 56 43 150 150 55 43 151 152 54 43 152 152 53 43 153 153 52 43 154 155 51 43 156 155 50 43 157 156 49 43 158 156 48 43 159 157 47 43 160 159 46 43 161 160 45 43 162 160 44 43 163 163 43 43 164 165 42 43 166 166 41 43 167 167 40 43 167 172 39 43 168 174 38 43 169 175 37 43 170 176 36 43 171 178 35 43 172 178 34 43 174 179 33 43 175 181 32 43 175 182 31 43 176 184 30 43 177 185 29 43 178 186 28 43 179 188 26 43 180 189 25 43 182 195 24 43 183 197 23 43 183 199 22 43 184 201 21 43 185 202 20 43 186 204 19 43 187 205 18 43 189 205 17 43 190 207 16 43 191 208 15 43 192 209 14 43 193 209 13 43 194 211 12 43 195 213 11 43 196 216 10 43 197 217 9 43 199 217 8 43 200 219 7 43 200 220 6 43 201 221 5 43 202 223 4 43 203 224 3 43 204 227 2 43 205 228 1 43 207 230 0 43 207 230 0 43 208 230 0 43 209 231 0 43 209 231 0 43 209 231 0 43 209 231 255 42 0 239 254 42 0 238 254 42 0 238 254 42 0 235 253 42 0 234 252 42 0 231 251 42 0 231 250 42 0 231 249 42 0 230 248 42 0 230 247 42 0 228 246 42 0 227 245 42 0 226 244 42 0 224 243 42 0 223 242 42 0 221 241 42 0 220 240 42 0 219 239 42 0 217 238 42 0 216 237 42 0 213 236 42 0 211 235 42 0 211 234 42 0 209 233 42 0 208 232 42 0 208 231 42 0 207 230 42 0 205 229 42 0 205 228 42 0 204 227 42 0 202 226 42 0 199 224 42 0 198 223 42 0 195 222 42 0 194 221 42 0 189 220 42 0 188 219 42 0 186 218 42 0 185 217 42 0 184 216 42 0 182 215 42 0 181 214 42 0 179 213 42 0 178 212 42 0 178 211 42 0 176 210 42 0 175 209 42 1 174 208 42 2 172 207 42 2 171 206 42 3 166 205 42 4 165 204 42 4 163 203 42 5 162 202 42 6 160 201 42 7 159 200 42 9 157 199 42 10 156 198 42 11 156 197 42 12 156 196 42 12 155 195 42 13 155 194 42 14 153 193 42 15 152 191 42 17 150 190 42 18 145 189 42 19 144 188 42 20 141 187 42 20 138 186 42 21 137 185 42 22 135 184 42 24 134 183 42 25 133 182 42 26 131 181 42 27 130 180 42 28 130 179 42 29 128 178 42 30 126 177 42 31 122 176 42 32 121 175 42 34 121 174 42 35 120 173 42 36 118 172 42 37 117 171 42 37 115 170 42 38 114 169 42 39 112 168 42 40 111 167 42 42 110 166 42 43 108 165 42 44 107 164 42 45 104 163 42 45 103 162 42 46 103 161 42 47 102 160 42 48 99 158 42 50 98 157 42 51 96 156 42 52 95 155 42 53 93 154 42 53 92 153 42 54 91 152 42 55 91 151 42 57 89 150 42 58 89 149 42 59 88 148 42 60 86 147 42 61 86 146 42 62 84 145 42 63 84 144 42 64 82 143 42 65 82 142 42 67 81 141 42 68 81 140 42 69 81 139 42 70 80 138 42 70 80 137 42 71 77 136 42 72 76 135 42 73 74 134 42 75 73 133 42 76 73 132 42 77 71 131 42 78 71 130 42 78 71 129 42 79 71 128 42 80 71 127 42 81 71 125 42 83 71 124 42 84 71 123 42 85 71 122 42 86 71 121 42 86 71 120 42 87 71 119 42 88 71 118 42 90 71 117 42 91 71 116 42 92 71 115 42 93 73 114 42 94 74 113 42 95 76 112 42 96 77 111 42 97 80 110 42 98 80 109 42 100 81 108 42 101 81 107 42 102 81 106 42 103 82 105 42 103 82 104 42 104 82 103 42 105 84 102 42 106 86 101 42 108 86 100 42 109 88 99 42 110 88 98 42 111 89 97 42 111 91 96 42 112 91 95 42 113 92 94 42 114 93 92 42 116 95 91 42 117 96 90 42 118 98 89 42 119 99 88 42 119 102 87 42 120 102 86 42 121 103 85 42 123 104 84 42 124 107 83 42 125 107 82 42 126 108 81 42 127 110 80 42 128 111 79 42 129 114 78 42 130 115 77 42 131 117 76 42 133 118 75 42 134 120 74 42 135 120 73 42 136 121 72 42 136 122 71 42 137 126 70 42 138 128 69 42 139 128 68 42 141 130 67 42 142 131 66 42 143 133 65 42 144 134 64 42 144 135 63 42 145 137 62 42 146 138 61 42 147 141 59 42 149 144 58 42 150 145 57 42 151 149 56 42 152 152 55 42 152 153 54 42 153 153 53 42 154 155 52 42 156 155 51 42 157 156 50 42 158 156 49 42 159 157 48 42 160 159 47 42 161 159 46 42 162 160 45 42 163 163 44 42 164 165 43 42 166 166 42 42 167 167 41 42 168 172 40 42 169 174 39 42 169 175 38 42 170 176 37 42 171 176 36 42 172 178 35 42 174 179 34 42 175 181 33 42 176 182 32 42 177 184 31 42 177 185 30 42 178 186 29 42 179 188 28 42 180 189 26 42 182 194 25 42 183 195 24 42 184 197 23 42 185 199 22 42 185 201 21 42 186 202 20 42 187 204 19 42 189 205 18 42 190 207 17 42 191 207 16 42 192 208 15 42 193 209 14 42 194 209 13 42 195 211 12 42 196 213 11 42 197 216 10 42 199 217 9 42 200 219 8 42 201 219 7 42 202 220 6 42 202 223 5 42 203 224 4 42 204 226 3 42 205 227 2 42 207 228 1 42 208 230 0 42 209 230 0 42 209 231 0 42 210 231 0 42 210 231 0 42 210 231 0 42 210 231 255 41 0 239 254 41 0 239 254 41 0 238 254 41 0 235 253 41 0 234 252 41 0 234 251 41 0 231 250 41 0 231 249 41 0 230 248 41 0 230 247 41 0 228 246 41 0 228 245 41 0 227 244 41 0 224 243 41 0 223 242 41 0 221 241 41 0 220 240 41 0 219 239 41 0 217 238 41 0 216 237 41 0 213 236 41 0 213 235 41 0 211 234 41 0 209 233 41 0 209 232 41 0 208 231 41 0 207 230 41 0 207 229 41 0 205 228 41 0 204 227 41 0 202 226 41 0 201 224 41 0 198 223 41 0 197 222 41 0 195 221 41 0 194 220 41 0 188 219 41 0 188 218 41 0 185 217 41 0 185 216 41 0 184 215 41 0 182 214 41 0 181 213 41 0 179 212 41 0 178 211 41 0 176 210 41 0 176 209 41 1 175 208 41 2 174 207 41 3 172 206 41 4 167 205 41 5 166 204 41 5 165 203 41 6 163 202 41 7 162 201 41 8 159 200 41 10 159 199 41 11 157 198 41 12 157 197 41 13 156 196 41 13 156 195 41 14 155 194 41 15 155 193 41 16 153 191 41 18 152 190 41 19 149 189 41 20 145 188 41 21 143 187 41 21 141 186 41 22 140 185 41 23 138 184 41 25 137 183 41 26 135 182 41 27 134 181 41 28 134 180 41 29 133 179 41 30 131 178 41 31 130 177 41 32 128 176 41 33 126 175 41 35 122 174 41 36 121 173 41 37 120 172 41 38 120 171 41 38 118 170 41 39 117 169 41 40 114 168 41 41 112 167 41 43 112 166 41 44 111 165 41 45 110 164 41 46 108 163 41 46 107 162 41 47 104 161 41 48 104 160 41 49 103 158 41 51 102 157 41 52 99 156 41 53 98 155 41 54 96 154 41 54 95 153 41 55 93 152 41 56 92 151 41 58 92 150 41 59 91 149 41 60 91 148 41 61 89 147 41 62 89 146 41 63 88 145 41 64 88 144 41 65 86 143 41 66 86 142 41 68 84 141 41 69 84 140 41 70 84 139 41 71 82 138 41 71 82 137 41 72 81 136 41 73 80 135 41 74 77 134 41 76 77 133 41 77 76 132 41 78 76 131 41 79 76 130 41 79 76 129 41 80 76 128 41 81 76 127 41 82 76 125 41 84 76 124 41 85 76 123 41 86 76 122 41 87 76 121 41 87 76 120 41 88 76 119 41 89 76 118 41 91 76 117 41 92 76 116 41 93 76 115 41 94 76 114 41 95 77 113 41 96 80 112 41 97 81 111 41 98 81 110 41 99 82 109 41 101 84 108 41 102 84 107 41 103 84 106 41 104 86 105 41 104 86 104 41 105 88 103 41 106 88 102 41 107 88 101 41 109 89 100 41 110 89 99 41 111 91 98 41 112 92 97 41 112 92 96 41 113 93 95 41 114 95 94 41 115 95 92 41 117 96 91 41 118 98 90 41 119 99 89 41 120 102 88 41 120 103 87 41 121 104 86 41 122 107 85 41 124 108 84 41 125 108 83 41 126 110 82 41 127 111 81 41 128 112 80 41 129 114 79 41 130 115 78 41 131 117 77 41 132 118 76 41 134 120 75 41 135 121 74 41 136 122 73 41 137 126 72 41 137 128 71 41 138 128 70 41 139 130 69 41 140 131 68 41 142 133 67 41 143 134 66 41 144 135 65 41 145 137 64 41 145 138 63 41 146 140 62 41 147 141 61 41 148 143 59 41 150 145 58 41 151 149 57 41 152 152 56 41 153 153 55 41 153 155 54 41 154 155 53 41 155 156 52 41 157 156 51 41 158 157 50 41 159 157 49 41 160 159 48 41 161 159 47 41 162 160 46 41 163 163 45 41 164 165 44 41 165 166 43 41 167 167 42 41 168 172 41 41 169 174 40 41 170 175 39 41 170 176 38 41 171 176 37 41 172 178 36 41 173 179 35 41 175 181 34 41 176 182 33 41 177 182 32 41 178 184 31 41 178 185 30 41 179 186 29 41 180 188 28 41 181 189 26 41 183 195 25 41 184 197 24 41 185 198 23 41 186 201 22 41 186 202 21 41 187 204 20 41 188 205 19 41 190 205 18 41 191 207 17 41 192 208 16 41 193 208 15 41 194 209 14 41 195 211 13 41 196 213 12 41 197 213 11 41 198 216 10 41 200 217 9 41 201 219 8 41 202 220 7 41 203 221 6 41 203 223 5 41 204 224 4 41 205 226 3 41 206 228 2 41 208 228 1 41 209 230 0 41 210 230 0 41 210 231 0 41 211 231 0 41 211 231 0 41 211 231 0 41 211 234 255 40 0 239 254 40 0 239 254 40 0 238 254 40 0 235 253 40 0 235 252 40 0 234 251 40 0 234 250 40 0 231 249 40 0 231 248 40 0 230 247 40 0 230 246 40 0 228 245 40 0 227 244 40 0 226 243 40 0 224 242 40 0 223 241 40 0 221 240 40 0 220 239 40 0 219 238 40 0 217 237 40 0 216 236 40 0 213 235 40 0 213 234 40 0 211 233 40 0 209 232 40 0 208 231 40 0 208 230 40 0 207 229 40 0 205 228 40 0 205 227 40 0 204 226 40 0 202 224 40 0 199 223 40 0 198 222 40 0 197 221 40 0 194 220 40 0 189 219 40 0 188 218 40 0 186 217 40 0 185 216 40 0 185 215 40 0 184 214 40 0 182 213 40 0 181 212 40 0 179 211 40 0 178 210 40 1 178 209 40 2 176 208 40 3 175 207 40 4 174 206 40 5 172 205 40 6 167 204 40 6 166 203 40 7 165 202 40 8 163 201 40 9 162 200 40 10 160 199 40 12 159 198 40 13 157 197 40 14 157 196 40 14 157 195 40 15 156 194 40 16 156 193 40 17 155 191 40 18 153 190 40 20 152 189 40 21 150 188 40 22 145 187 40 22 144 186 40 23 143 185 40 24 141 184 40 26 141 183 40 27 140 182 40 28 138 181 40 29 137 180 40 30 135 179 40 31 134 178 40 32 133 177 40 33 131 176 40 34 130 175 40 35 128 174 40 37 126 173 40 38 122 172 40 39 121 171 40 39 120 170 40 40 118 169 40 41 117 168 40 42 115 167 40 43 115 166 40 45 114 165 40 46 112 164 40 47 111 163 40 47 111 162 40 48 110 161 40 49 108 160 40 50 107 158 40 51 104 157 40 53 103 156 40 54 102 155 40 55 99 154 40 55 98 153 40 56 96 152 40 57 95 151 40 59 95 150 40 60 93 149 40 61 92 148 40 62 92 147 40 63 92 146 40 64 91 145 40 65 91 144 40 66 89 143 40 67 89 142 40 68 88 141 40 70 88 140 40 71 88 139 40 72 86 138 40 72 86 137 40 73 84 136 40 74 82 135 40 75 82 134 40 76 81 133 40 78 81 132 40 79 81 131 40 80 81 130 40 80 81 129 40 81 81 128 40 82 81 127 40 83 81 125 40 84 81 124 40 86 81 123 40 87 81 122 40 88 81 121 40 88 81 120 40 89 81 119 40 90 81 118 40 92 81 117 40 93 81 116 40 94 81 115 40 95 81 114 40 96 82 113 40 97 82 112 40 98 84 111 40 99 86 110 40 100 86 109 40 101 86 108 40 103 88 107 40 104 88 106 40 105 89 105 40 105 89 104 40 106 91 103 40 107 91 102 40 108 91 101 40 109 92 100 40 111 92 99 40 112 93 98 40 113 93 97 40 113 95 96 40 114 96 95 40 115 98 94 40 116 98 92 40 117 99 91 40 119 103 90 40 120 104 89 40 121 107 88 40 121 108 87 40 122 110 86 40 123 110 85 40 125 111 84 40 126 112 83 40 127 114 82 40 128 114 81 40 129 115 80 40 130 117 79 40 131 118 78 40 132 120 77 40 133 121 76 40 134 122 75 40 136 126 74 40 137 128 73 40 138 130 72 40 138 131 71 40 139 131 70 40 140 134 69 40 141 135 68 40 142 137 67 40 144 138 66 40 145 140 65 40 146 140 64 40 146 141 63 40 147 143 62 40 148 144 61 40 149 145 59 40 150 150 58 40 152 152 57 40 153 153 56 40 154 155 55 40 154 156 54 40 155 156 53 40 156 156 52 40 158 157 51 40 159 157 50 40 160 159 49 40 161 160 48 40 162 160 47 40 163 163 46 40 164 165 45 40 165 166 44 40 166 167 43 40 167 172 42 40 169 174 41 40 170 175 40 40 171 176 39 40 171 178 38 40 172 178 37 40 173 179 36 40 174 181 35 40 175 182 34 40 177 182 33 40 178 184 32 40 179 185 31 40 179 186 30 40 180 188 29 40 181 189 28 40 182 194 26 40 183 197 25 40 185 198 24 40 186 199 23 40 187 201 22 40 187 204 21 40 188 204 20 40 189 205 19 40 191 207 18 40 192 208 17 40 193 208 16 40 194 209 15 40 195 211 14 40 196 211 13 40 197 213 12 40 198 216 11 40 199 217 10 40 200 219 9 40 202 219 8 40 203 220 7 40 204 223 6 40 204 224 5 40 205 226 4 40 206 227 3 40 207 228 2 40 208 230 1 40 210 230 0 40 210 231 0 40 211 231 0 40 212 231 0 40 212 234 0 40 212 234 0 40 212 234 255 39 0 239 254 39 0 239 254 39 0 239 254 39 0 238 253 39 0 235 252 39 0 235 251 39 0 234 250 39 0 231 249 39 0 231 248 39 0 230 247 39 0 230 246 39 0 228 245 39 0 228 244 39 0 227 243 39 0 226 242 39 0 224 241 39 0 221 240 39 0 220 239 39 0 219 238 39 0 217 237 39 0 216 236 39 0 216 235 39 0 213 234 39 0 211 233 39 0 211 232 39 0 209 231 39 0 208 230 39 0 208 229 39 0 207 228 39 0 205 227 39 0 204 226 39 0 202 224 39 0 201 223 39 0 199 222 39 0 198 221 39 0 197 220 39 0 194 219 39 0 189 218 39 0 188 217 39 0 186 216 39 0 185 215 39 0 185 214 39 0 184 213 39 0 182 212 39 0 181 211 39 1 179 210 39 1 178 209 39 2 178 208 39 3 176 207 39 4 175 206 39 5 174 205 39 6 172 204 39 7 167 203 39 8 166 202 39 9 165 201 39 10 163 200 39 11 162 199 39 12 160 198 39 13 159 197 39 14 159 196 39 15 157 195 39 16 157 194 39 17 157 193 39 18 156 191 39 19 155 190 39 20 153 189 39 21 152 188 39 22 150 187 39 23 149 186 39 24 149 185 39 25 145 184 39 27 144 183 39 28 143 182 39 29 141 181 39 30 140 180 39 31 138 179 39 32 137 178 39 33 135 177 39 34 134 176 39 35 133 175 39 36 131 174 39 37 130 173 39 38 128 172 39 39 126 171 39 40 122 170 39 41 121 169 39 42 120 168 39 43 118 167 39 44 118 166 39 45 117 165 39 46 115 164 39 47 114 163 39 48 114 162 39 49 112 161 39 50 111 160 39 51 110 158 39 52 108 157 39 53 107 156 39 54 103 155 39 55 102 154 39 56 99 153 39 57 99 152 39 58 98 151 39 60 96 150 39 61 96 149 39 62 95 148 39 63 95 147 39 64 93 146 39 65 93 145 39 66 93 144 39 67 92 143 39 68 92 142 39 69 91 141 39 70 91 140 39 71 89 139 39 72 89 138 39 73 88 137 39 74 88 136 39 75 88 135 39 76 86 134 39 77 86 133 39 78 86 132 39 79 86 131 39 80 86 130 39 81 86 129 39 82 86 128 39 83 86 127 39 84 86 125 39 85 86 124 39 86 86 123 39 87 86 122 39 88 86 121 39 89 86 120 39 90 86 119 39 91 86 118 39 93 86 117 39 94 86 116 39 95 86 115 39 96 86 114 39 97 86 113 39 98 86 112 39 99 88 111 39 100 88 110 39 101 89 109 39 102 89 108 39 103 89 107 39 104 91 106 39 105 91 105 39 106 92 104 39 107 92 103 39 108 93 102 39 109 93 101 39 110 95 100 39 111 95 99 39 112 96 98 39 113 96 97 39 114 98 96 39 115 99 95 39 116 99 94 39 117 102 92 39 118 103 91 39 119 104 90 39 120 107 89 39 121 110 88 39 122 111 87 39 123 112 86 39 124 112 85 39 126 114 84 39 127 115 83 39 128 117 82 39 129 117 81 39 130 118 80 39 131 120 79 39 132 121 78 39 133 122 77 39 134 126 76 39 135 128 75 39 136 128 74 39 137 130 73 39 138 131 72 39 139 133 71 39 140 134 70 39 141 137 69 39 142 138 68 39 143 140 67 39 144 141 66 39 145 143 65 39 146 144 64 39 147 145 63 39 148 145 62 39 149 149 61 39 150 150 59 39 151 152 58 39 152 153 57 39 153 155 56 39 154 156 55 39 155 156 54 39 156 157 53 39 157 157 52 39 159 159 51 39 160 159 50 39 161 160 49 39 162 162 48 39 163 163 47 39 164 165 46 39 165 166 45 39 166 167 44 39 167 171 43 39 168 174 42 39 169 175 41 39 170 176 40 39 171 178 39 39 172 178 38 39 173 179 37 39 174 181 36 39 175 182 35 39 176 182 34 39 177 184 33 39 178 185 32 39 179 186 31 39 180 188 30 39 181 189 29 39 182 194 28 39 183 195 26 39 184 198 25 39 185 199 24 39 186 201 23 39 187 202 22 39 188 204 21 39 189 205 20 39 190 207 19 39 192 208 18 39 193 208 17 39 194 209 16 39 195 211 15 39 196 211 14 39 197 213 13 39 198 216 12 39 199 216 11 39 200 217 10 39 201 219 9 39 202 220 8 39 203 221 7 39 204 223 6 39 205 226 5 39 206 227 4 39 207 228 3 39 208 228 2 39 209 230 1 39 210 230 0 39 211 231 0 39 212 231 0 39 212 234 0 39 213 234 0 39 213 235 0 39 213 235 255 38 0 239 254 38 0 239 254 38 0 239 254 38 0 238 253 38 0 238 252 38 0 235 251 38 0 234 250 38 0 231 249 38 0 231 248 38 0 230 247 38 0 230 246 38 0 230 245 38 0 228 244 38 0 228 243 38 0 227 242 38 0 224 241 38 0 223 240 38 0 221 239 38 0 220 238 38 0 219 237 38 0 217 236 38 0 216 235 38 0 216 234 38 0 213 233 38 0 211 232 38 0 211 231 38 0 209 230 38 0 208 229 38 0 208 228 38 0 207 227 38 0 205 226 38 0 204 224 38 0 202 223 38 0 201 222 38 0 199 221 38 0 198 220 38 0 197 219 38 0 194 218 38 0 189 217 38 0 188 216 38 0 186 215 38 0 185 214 38 0 184 213 38 0 184 212 38 1 182 211 38 1 181 210 38 2 179 209 38 3 178 208 38 4 176 207 38 5 176 206 38 6 175 205 38 7 174 204 38 8 172 203 38 9 167 202 38 10 166 201 38 11 165 200 38 12 163 199 38 13 162 198 38 14 160 197 38 15 159 196 38 16 159 195 38 17 157 194 38 18 157 193 38 19 157 191 38 20 156 190 38 21 155 189 38 22 155 188 38 23 153 187 38 24 152 186 38 25 150 185 38 26 150 184 38 28 149 183 38 29 145 182 38 30 144 181 38 31 143 180 38 32 141 179 38 33 140 178 38 34 138 177 38 35 135 176 38 36 134 175 38 37 133 174 38 38 131 173 38 39 130 172 38 40 128 171 38 41 126 170 38 42 126 169 38 43 122 168 38 44 121 167 38 45 120 166 38 46 118 165 38 47 118 164 38 48 117 163 38 49 115 162 38 50 114 161 38 51 114 160 38 52 112 158 38 53 110 157 38 54 108 156 38 55 107 155 38 56 104 154 38 57 103 153 38 58 102 152 38 59 99 151 38 61 99 150 38 62 98 149 38 63 98 148 38 64 98 147 38 65 96 146 38 66 96 145 38 67 95 144 38 68 95 143 38 69 93 142 38 70 92 141 38 71 92 140 38 72 92 139 38 73 91 138 38 74 91 137 38 75 91 136 38 76 91 135 38 77 89 134 38 78 89 133 38 79 89 132 38 80 89 131 38 81 89 130 38 82 89 129 38 83 89 128 38 84 89 127 38 85 89 125 38 86 89 124 38 87 89 123 38 88 89 122 38 89 89 121 38 90 89 120 38 91 89 119 38 92 89 118 38 94 89 117 38 95 89 116 38 96 89 115 38 97 89 114 38 98 89 113 38 99 91 112 38 100 91 111 38 101 91 110 38 102 91 109 38 103 91 108 38 104 92 107 38 105 92 106 38 106 93 105 38 107 93 104 38 108 95 103 38 109 96 102 38 110 96 101 38 111 96 100 38 112 98 99 38 113 98 98 38 114 99 97 38 115 99 96 38 116 102 95 38 117 103 94 38 118 104 92 38 119 107 91 38 120 108 90 38 121 110 89 38 122 111 88 38 123 112 87 38 124 114 86 38 125 115 85 38 127 117 84 38 128 117 83 38 129 118 82 38 130 120 81 38 131 121 80 38 132 122 79 38 133 122 78 38 134 126 77 38 135 128 76 38 136 130 75 38 137 131 74 38 138 133 73 38 139 134 72 38 140 135 71 38 141 137 70 38 142 140 69 38 143 141 68 38 144 143 67 38 145 144 66 38 146 145 65 38 147 149 64 38 148 149 63 38 149 150 62 38 150 152 61 38 151 153 59 38 152 153 58 38 153 155 57 38 154 156 56 38 155 156 55 38 156 157 54 38 157 157 53 38 158 159 52 38 160 159 51 38 161 160 50 38 162 162 49 38 163 163 48 38 164 165 47 38 165 166 46 38 166 167 45 38 167 171 44 38 168 174 43 38 169 175 42 38 170 176 41 38 171 176 40 38 172 178 39 38 173 179 38 38 174 181 37 38 175 182 36 38 176 182 35 38 177 184 34 38 178 185 33 38 179 186 32 38 180 188 31 38 181 189 30 38 182 194 29 38 183 195 28 38 184 198 26 38 185 199 25 38 186 201 24 38 187 202 23 38 188 204 22 38 189 205 21 38 190 207 20 38 191 207 19 38 193 208 18 38 194 209 17 38 195 211 16 38 196 211 15 38 197 213 14 38 198 216 13 38 199 216 12 38 200 217 11 38 201 219 10 38 202 219 9 38 203 220 8 38 204 223 7 38 205 224 6 38 206 226 5 38 207 227 4 38 208 228 3 38 209 230 2 38 210 230 1 38 211 230 0 38 212 231 0 38 213 231 0 38 213 234 0 38 214 235 0 38 214 238 0 38 214 238 255 37 0 239 254 37 0 239 254 37 0 239 254 37 0 239 253 37 0 238 252 37 0 235 251 37 0 235 250 37 0 234 249 37 0 231 248 37 0 231 247 37 0 230 246 37 0 230 245 37 0 230 244 37 0 228 243 37 0 227 242 37 0 226 241 37 0 223 240 37 0 221 239 37 0 220 238 37 0 219 237 37 0 219 236 37 0 217 235 37 0 216 234 37 0 216 233 37 0 213 232 37 0 211 231 37 0 211 230 37 0 209 229 37 0 208 228 37 0 207 227 37 0 207 226 37 0 205 224 37 0 204 223 37 0 202 222 37 0 201 221 37 0 199 220 37 0 198 219 37 0 197 218 37 0 195 217 37 0 189 216 37 0 188 215 37 0 186 214 37 0 185 213 37 1 185 212 37 1 184 211 37 2 182 210 37 3 181 209 37 4 179 208 37 5 178 207 37 6 178 206 37 7 176 205 37 8 175 204 37 9 174 203 37 10 172 202 37 11 171 201 37 12 166 200 37 13 165 199 37 14 163 198 37 15 162 197 37 16 160 196 37 17 160 195 37 18 159 194 37 19 159 193 37 20 157 191 37 21 157 190 37 22 156 189 37 23 156 188 37 24 155 187 37 25 153 186 37 26 153 185 37 27 152 184 37 29 150 183 37 30 150 182 37 31 149 181 37 32 145 180 37 33 144 179 37 34 143 178 37 35 140 177 37 36 138 176 37 37 137 175 37 38 135 174 37 39 134 173 37 40 133 172 37 41 131 171 37 42 130 170 37 43 128 169 37 44 126 168 37 45 122 167 37 46 122 166 37 47 121 165 37 48 120 164 37 49 120 163 37 50 118 162 37 51 117 161 37 52 115 160 37 53 114 158 37 54 112 157 37 55 111 156 37 56 110 155 37 57 108 154 37 58 104 153 37 59 104 152 37 60 103 151 37 62 102 150 37 63 102 149 37 64 102 148 37 65 99 147 37 66 99 146 37 67 99 145 37 68 98 144 37 69 96 143 37 70 96 142 37 71 95 141 37 72 95 140 37 73 93 139 37 74 93 138 37 75 93 137 37 76 93 136 37 77 93 135 37 78 93 134 37 79 93 133 37 80 93 132 37 81 93 131 37 82 93 130 37 83 93 129 37 84 93 128 37 85 93 127 37 86 93 125 37 87 93 124 37 88 93 123 37 89 93 122 37 90 93 121 37 91 93 120 37 92 93 119 37 93 93 118 37 95 93 117 37 96 93 116 37 97 93 115 37 98 93 114 37 99 93 113 37 100 93 112 37 101 93 111 37 102 93 110 37 103 93 109 37 104 93 108 37 105 93 107 37 106 95 106 37 107 95 105 37 108 96 104 37 109 98 103 37 110 98 102 37 111 99 101 37 112 99 100 37 113 102 99 37 114 102 98 37 115 102 97 37 116 103 96 37 117 104 95 37 118 104 94 37 119 108 92 37 120 110 91 37 121 111 90 37 122 112 89 37 123 114 88 37 124 115 87 37 125 117 86 37 126 118 85 37 128 118 84 37 129 120 83 37 130 121 82 37 131 122 81 37 132 122 80 37 133 126 79 37 134 128 78 37 135 130 77 37 136 131 76 37 137 133 75 37 138 134 74 37 139 135 73 37 140 137 72 37 141 138 71 37 142 140 70 37 143 141 69 37 144 144 68 37 145 145 67 37 146 149 66 37 147 149 65 37 148 150 64 37 149 152 63 37 150 153 62 37 151 153 61 37 152 155 59 37 153 156 58 37 154 156 57 37 155 157 56 37 156 157 55 37 157 159 54 37 158 159 53 37 159 160 52 37 161 160 51 37 162 162 50 37 163 163 49 37 164 165 48 37 165 166 47 37 166 167 46 37 167 172 45 37 168 174 44 37 169 175 43 37 170 176 42 37 171 176 41 37 172 178 40 37 173 179 39 37 174 181 38 37 175 182 37 37 176 184 36 37 177 184 35 37 178 185 34 37 179 186 33 37 180 188 32 37 181 189 31 37 182 194 30 37 183 195 29 37 184 198 28 37 185 199 26 37 186 201 25 37 187 202 24 37 188 204 23 37 189 205 22 37 190 207 21 37 191 207 20 37 192 208 19 37 194 209 18 37 195 209 17 37 196 211 16 37 197 213 15 37 198 216 14 37 199 216 13 37 200 217 12 37 201 217 11 37 202 219 10 37 203 220 9 37 204 221 8 37 205 223 7 37 206 224 6 37 207 227 5 37 208 228 4 37 209 230 3 37 210 230 2 37 211 230 1 37 212 231 0 37 213 231 0 37 214 234 0 37 214 234 0 37 214 235 0 37 215 238 0 37 215 238 255 36 0 239 254 36 0 239 254 36 0 239 254 36 0 239 253 36 0 238 252 36 0 238 251 36 0 235 250 36 0 234 249 36 0 231 248 36 0 231 247 36 0 231 246 36 0 230 245 36 0 230 244 36 0 228 243 36 0 228 242 36 0 226 241 36 0 224 240 36 0 223 239 36 0 221 238 36 0 220 237 36 0 219 236 36 0 219 235 36 0 217 234 36 0 216 233 36 0 216 232 36 0 213 231 36 0 211 230 36 0 209 229 36 0 209 228 36 0 208 227 36 0 208 226 36 0 207 224 36 0 205 223 36 0 204 222 36 0 202 221 36 0 201 220 36 0 199 219 36 0 198 218 36 0 197 217 36 0 195 216 36 0 189 215 36 1 188 214 36 1 186 213 36 2 185 212 36 2 185 211 36 3 184 210 36 4 182 209 36 5 181 208 36 6 179 207 36 7 178 206 36 8 178 205 36 9 176 204 36 10 175 203 36 11 174 202 36 12 172 201 36 13 171 200 36 14 167 199 36 15 166 198 36 16 163 197 36 17 163 196 36 18 162 195 36 19 160 194 36 20 160 193 36 21 159 191 36 22 159 190 36 24 157 189 36 25 156 188 36 26 156 187 36 27 155 186 36 28 155 185 36 29 153 184 36 30 153 183 36 31 152 182 36 32 150 181 36 33 149 180 36 34 145 179 36 35 144 178 36 36 143 177 36 37 141 176 36 38 140 175 36 39 137 174 36 40 135 173 36 41 134 172 36 42 133 171 36 43 133 170 36 44 131 169 36 45 130 168 36 46 128 167 36 47 126 166 36 48 122 165 36 49 122 164 36 50 121 163 36 51 120 162 36 52 118 161 36 53 118 160 36 54 117 158 36 55 115 157 36 57 112 156 36 58 111 155 36 59 110 154 36 60 108 153 36 61 107 152 36 62 107 151 36 63 104 150 36 64 104 149 36 65 104 148 36 66 103 147 36 67 103 146 36 68 102 145 36 69 102 144 36 70 99 143 36 71 98 142 36 72 98 141 36 73 96 140 36 74 96 139 36 75 96 138 36 76 96 137 36 77 96 136 36 78 96 135 36 79 96 134 36 80 96 133 36 81 96 132 36 82 96 131 36 83 96 130 36 84 96 129 36 85 96 128 36 86 96 127 36 87 96 125 36 88 96 124 36 90 96 123 36 91 96 122 36 92 96 121 36 93 96 120 36 94 96 119 36 95 96 118 36 96 96 117 36 97 96 116 36 98 96 115 36 99 96 114 36 100 96 113 36 101 96 112 36 102 96 111 36 103 96 110 36 104 96 109 36 105 96 108 36 106 96 107 36 107 96 106 36 108 98 105 36 109 99 104 36 110 99 103 36 111 102 102 36 112 103 101 36 113 103 100 36 114 104 99 36 115 104 98 36 116 104 97 36 117 107 96 36 118 107 95 36 119 108 94 36 120 110 92 36 121 111 91 36 123 112 90 36 124 114 89 36 125 117 88 36 126 118 87 36 127 118 86 36 128 120 85 36 129 121 84 36 130 121 83 36 131 122 82 36 132 126 81 36 133 128 80 36 134 128 79 36 135 130 78 36 136 131 77 36 137 133 76 36 138 134 75 36 139 135 74 36 140 137 73 36 141 138 72 36 142 140 71 36 143 143 70 36 144 144 69 36 145 145 68 36 146 149 67 36 147 150 66 36 148 152 65 36 149 152 64 36 150 153 63 36 151 155 62 36 152 155 61 36 153 156 59 36 154 156 58 36 156 157 57 36 157 159 56 36 158 159 55 36 159 160 54 36 160 160 53 36 161 162 52 36 162 162 51 36 163 163 50 36 164 165 49 36 165 167 48 36 166 171 47 36 167 172 46 36 168 174 45 36 169 175 44 36 170 176 43 36 171 178 42 36 172 178 41 36 173 179 40 36 174 181 39 36 175 182 38 36 176 182 37 36 177 184 36 36 178 185 35 36 179 186 34 36 180 188 33 36 181 189 32 36 182 194 31 36 183 195 30 36 184 198 29 36 185 199 28 36 186 201 26 36 187 202 25 36 189 204 24 36 190 205 23 36 191 207 22 36 192 207 21 36 193 208 20 36 194 209 19 36 195 209 18 36 196 211 17 36 197 213 16 36 198 216 15 36 199 216 14 36 200 217 13 36 201 219 12 36 202 219 11 36 203 220 10 36 204 220 9 36 205 221 8 36 206 224 7 36 207 226 6 36 208 227 5 36 209 228 4 36 210 230 3 36 211 230 2 36 212 231 1 36 213 231 0 36 214 231 0 36 215 234 0 36 215 235 0 36 216 238 0 36 216 238 0 36 216 239 255 35 0 240 254 35 0 240 254 35 0 239 254 35 0 239 253 35 0 239 252 35 0 238 251 35 0 235 250 35 0 234 249 35 0 234 248 35 0 231 247 35 0 231 246 35 0 231 245 35 0 230 244 35 0 230 243 35 0 228 242 35 0 227 241 35 0 224 240 35 0 223 239 35 0 221 238 35 0 220 237 35 0 220 236 35 0 219 235 35 0 217 234 35 0 217 233 35 0 216 232 35 0 213 231 35 0 211 230 35 0 211 229 35 0 209 228 35 0 208 227 35 0 208 226 35 0 207 224 35 0 207 223 35 0 205 222 35 0 204 221 35 0 202 220 35 0 201 219 35 0 199 218 35 0 198 217 35 0 197 216 35 1 195 215 35 2 189 214 35 2 188 213 35 3 186 212 35 3 185 211 35 4 184 210 35 5 184 209 35 6 182 208 35 7 181 207 35 9 179 206 35 10 179 205 35 10 178 204 35 11 176 203 35 12 175 202 35 13 174 201 35 14 172 200 35 15 171 199 35 17 167 198 35 18 166 197 35 18 165 196 35 19 163 195 35 20 163 194 35 21 162 193 35 22 160 191 35 24 159 190 35 25 159 189 35 26 157 188 35 27 156 187 35 28 156 186 35 29 155 185 35 30 155 184 35 31 153 183 35 32 153 182 35 34 152 181 35 35 150 180 35 35 149 179 35 36 145 178 35 37 144 177 35 38 143 176 35 39 141 175 35 40 140 174 35 42 138 173 35 43 137 172 35 43 135 171 35 44 134 170 35 45 133 169 35 46 131 168 35 47 130 167 35 48 128 166 35 50 126 165 35 51 126 164 35 51 122 163 35 52 121 162 35 53 120 161 35 54 120 160 35 55 118 158 35 57 117 157 35 58 115 156 35 59 114 155 35 60 112 154 35 61 111 153 35 62 110 152 35 63 108 151 35 64 108 150 35 65 108 149 35 67 107 148 35 68 107 147 35 68 107 146 35 69 104 145 35 70 104 144 35 71 103 143 35 72 102 142 35 73 99 141 35 75 99 140 35 76 98 139 35 76 98 138 35 77 98 137 35 78 98 136 35 79 98 135 35 80 98 134 35 81 98 133 35 83 98 132 35 84 98 131 35 84 98 130 35 85 98 129 35 86 98 128 35 87 98 127 35 88 98 125 35 90 98 124 35 91 98 123 35 92 98 122 35 93 98 121 35 94 98 120 35 95 98 119 35 96 98 118 35 97 98 117 35 98 98 116 35 100 98 115 35 101 98 114 35 101 98 113 35 102 98 112 35 103 98 111 35 104 98 110 35 105 98 109 35 106 98 108 35 108 98 107 35 109 99 106 35 109 102 105 35 110 102 104 35 111 103 103 35 112 104 102 35 113 107 101 35 114 107 100 35 116 107 99 35 117 108 98 35 117 108 97 35 118 108 96 35 119 110 95 35 120 111 94 35 121 112 92 35 123 114 91 35 124 115 90 35 125 117 89 35 126 118 88 35 127 120 87 35 128 120 86 35 129 121 85 35 130 122 84 35 131 126 83 35 133 126 82 35 134 128 81 35 134 130 80 35 135 131 79 35 136 133 78 35 137 134 77 35 138 135 76 35 139 137 75 35 141 138 74 35 142 138 73 35 142 141 72 35 143 143 71 35 144 144 70 35 145 145 69 35 146 149 68 35 147 150 67 35 149 152 66 35 150 152 65 35 150 153 64 35 151 155 63 35 152 155 62 35 153 156 61 35 154 156 59 35 156 157 58 35 157 159 57 35 158 159 56 35 159 160 55 35 160 162 54 35 161 162 53 35 162 163 52 35 163 165 51 35 164 166 50 35 166 167 49 35 167 171 48 35 167 172 47 35 168 174 46 35 169 175 45 35 170 176 44 35 171 178 43 35 172 178 42 35 174 179 41 35 175 181 40 35 175 182 39 35 176 182 38 35 177 184 37 35 178 185 36 35 179 186 35 35 180 188 34 35 182 189 33 35 183 194 32 35 183 195 31 35 184 197 30 35 185 199 29 35 186 201 28 35 187 202 26 35 189 204 25 35 190 205 24 35 191 207 23 35 192 207 22 35 193 208 21 35 194 208 20 35 195 209 19 35 196 211 18 35 197 211 17 35 199 213 16 35 200 216 15 35 200 217 14 35 201 217 13 35 202 219 12 35 203 220 11 35 204 220 10 35 205 221 9 35 207 223 8 35 208 224 7 35 208 226 6 35 209 228 5 35 210 228 4 35 211 230 3 35 212 230 2 35 213 231 1 35 215 231 0 35 215 234 0 35 216 234 0 35 217 235 0 35 217 238 0 35 217 239 0 35 217 239 255 34 0 240 254 34 0 240 254 34 0 239 254 34 0 239 253 34 0 239 252 34 0 238 251 34 0 235 250 34 0 235 249 34 0 234 248 34 0 234 247 34 0 231 246 34 0 231 245 34 0 230 244 34 0 230 243 34 0 228 242 34 0 227 241 34 0 226 240 34 0 224 239 34 0 223 238 34 0 221 237 34 0 220 236 34 0 219 235 34 0 219 234 34 0 217 233 34 0 216 232 34 0 216 231 34 0 213 230 34 0 211 229 34 0 209 228 34 0 209 227 34 0 208 226 34 0 208 224 34 0 207 223 34 0 207 222 34 0 205 221 34 0 204 220 34 0 202 219 34 0 201 218 34 0 199 217 34 1 198 216 34 2 197 215 34 2 195 214 34 3 189 213 34 4 188 212 34 4 186 211 34 5 185 210 34 6 184 209 34 7 184 208 34 9 182 207 34 10 181 206 34 11 179 205 34 12 179 204 34 12 178 203 34 13 176 202 34 14 176 201 34 15 175 200 34 17 174 199 34 18 172 198 34 19 171 197 34 20 167 196 34 20 166 195 34 21 165 194 34 22 163 193 34 24 163 191 34 25 162 190 34 26 160 189 34 27 159 188 34 28 157 187 34 29 156 186 34 30 156 185 34 31 155 184 34 32 155 183 34 34 153 182 34 35 153 181 34 36 152 180 34 37 150 179 34 37 149 178 34 38 145 177 34 39 144 176 34 40 143 175 34 42 141 174 34 43 140 173 34 44 140 172 34 45 138 171 34 45 137 170 34 46 135 169 34 47 134 168 34 48 133 167 34 50 131 166 34 51 130 165 34 52 128 164 34 53 126 163 34 53 122 162 34 54 122 161 34 55 121 160 34 57 120 158 34 58 118 157 34 59 117 156 34 60 115 155 34 61 114 154 34 62 112 153 34 63 111 152 34 64 111 151 34 65 111 150 34 67 111 149 34 68 110 148 34 69 110 147 34 70 110 146 34 70 108 145 34 71 108 144 34 72 107 143 34 73 104 142 34 75 103 141 34 76 102 140 34 77 102 139 34 78 102 138 34 78 102 137 34 79 102 136 34 80 102 135 34 81 102 134 34 83 102 133 34 84 102 132 34 85 102 131 34 86 102 130 34 86 102 129 34 87 102 128 34 88 102 127 34 90 102 125 34 91 102 124 34 92 102 123 34 93 102 122 34 94 102 121 34 95 102 120 34 96 102 119 34 97 102 118 34 98 102 117 34 100 102 116 34 101 102 115 34 102 102 114 34 103 102 113 34 103 102 112 34 104 102 111 34 105 102 110 34 106 102 109 34 108 102 108 34 109 102 107 34 110 103 106 34 111 104 105 34 111 107 104 34 112 107 103 34 113 108 102 34 114 110 101 34 116 110 100 34 117 110 99 34 118 110 98 34 119 111 97 34 119 111 96 34 120 111 95 34 121 112 94 34 123 114 92 34 124 115 91 34 125 117 90 34 126 118 89 34 127 120 88 34 128 121 87 34 129 121 86 34 130 122 85 34 131 126 84 34 133 128 83 34 134 130 82 34 135 130 81 34 136 131 80 34 136 133 79 34 137 135 78 34 138 137 77 34 139 138 76 34 141 140 75 34 142 140 74 34 143 141 73 34 144 143 72 34 144 144 71 34 145 145 70 34 146 149 69 34 147 150 68 34 149 152 67 34 150 152 66 34 151 153 65 34 152 155 64 34 152 155 63 34 153 156 62 34 154 156 61 34 156 157 59 34 157 159 58 34 158 160 57 34 159 160 56 34 160 162 55 34 161 163 54 34 162 165 53 34 163 166 52 34 164 166 51 34 166 167 50 34 167 171 49 34 168 174 48 34 169 175 47 34 169 175 46 34 170 176 45 34 171 178 44 34 172 178 43 34 174 179 42 34 175 181 41 34 176 182 40 34 177 182 39 34 177 184 38 34 178 185 37 34 179 186 36 34 180 188 35 34 182 189 34 34 183 194 33 34 184 195 32 34 185 197 31 34 185 199 30 34 186 201 29 34 187 202 28 34 189 204 26 34 190 205 25 34 191 207 24 34 192 207 23 34 193 208 22 34 194 208 21 34 195 209 20 34 196 209 19 34 197 211 18 34 199 213 17 34 200 213 16 34 201 216 15 34 202 217 14 34 202 219 13 34 203 219 12 34 204 220 11 34 205 221 10 34 207 223 9 34 208 224 8 34 209 226 7 34 210 227 6 34 210 228 5 34 211 230 4 34 212 230 3 34 213 231 2 34 215 231 1 34 216 231 0 34 217 234 0 34 217 235 0 34 218 235 0 34 218 238 0 34 218 239 0 34 218 239 255 33 0 240 254 33 0 240 254 33 0 239 254 33 0 239 253 33 0 239 252 33 0 239 251 33 0 238 250 33 0 235 249 33 0 235 248 33 0 234 247 33 0 231 246 33 0 231 245 33 0 230 244 33 0 230 243 33 0 230 242 33 0 228 241 33 0 227 240 33 0 226 239 33 0 224 238 33 0 221 237 33 0 220 236 33 0 220 235 33 0 219 234 33 0 217 233 33 0 217 232 33 0 216 231 33 0 213 230 33 0 211 229 33 0 211 228 33 0 209 227 33 0 209 226 33 0 208 224 33 0 208 223 33 0 207 222 33 0 207 221 33 0 205 220 33 0 204 219 33 0 202 218 33 0 201 217 33 1 199 216 33 2 198 215 33 3 197 214 33 4 194 213 33 5 189 212 33 5 188 211 33 6 186 210 33 7 185 209 33 8 185 208 33 10 184 207 33 11 182 206 33 12 181 205 33 13 181 204 33 13 179 203 33 14 179 202 33 15 178 201 33 16 176 200 33 18 176 199 33 19 174 198 33 20 172 197 33 21 172 196 33 21 171 195 33 22 167 194 33 23 166 193 33 25 165 191 33 26 163 190 33 27 162 189 33 28 160 188 33 29 159 187 33 30 157 186 33 31 157 185 33 32 156 184 33 33 155 183 33 35 155 182 33 36 153 181 33 37 153 180 33 38 152 179 33 38 150 178 33 39 149 177 33 40 145 176 33 41 145 175 33 43 144 174 33 44 143 173 33 45 143 172 33 46 141 171 33 46 140 170 33 47 138 169 33 48 135 168 33 49 134 167 33 51 133 166 33 52 131 165 33 53 130 164 33 54 128 163 33 54 128 162 33 55 126 161 33 56 122 160 33 58 121 158 33 59 121 157 33 60 120 156 33 61 118 155 33 62 117 154 33 63 115 153 33 64 114 152 33 65 114 151 33 66 114 150 33 68 114 149 33 69 114 148 33 70 112 147 33 71 112 146 33 71 112 145 33 72 111 144 33 73 110 143 33 74 108 142 33 76 107 141 33 77 104 140 33 78 104 139 33 79 104 138 33 79 104 137 33 80 104 136 33 81 104 135 33 82 104 134 33 84 104 133 33 85 104 132 33 86 104 131 33 87 104 130 33 87 104 129 33 88 104 128 33 89 104 127 33 91 104 125 33 92 104 124 33 93 104 123 33 94 104 122 33 95 104 121 33 96 104 120 33 97 104 119 33 98 104 118 33 99 104 117 33 101 104 116 33 102 104 115 33 103 104 114 33 104 104 113 33 104 104 112 33 105 104 111 33 106 104 110 33 107 104 109 33 109 104 108 33 110 104 107 33 111 107 106 33 112 108 105 33 112 110 104 33 113 111 103 33 114 111 102 33 115 112 101 33 117 112 100 33 118 112 99 33 119 114 98 33 120 114 97 33 120 114 96 33 121 114 95 33 122 115 94 33 124 117 92 33 125 118 91 33 126 120 90 33 127 121 89 33 128 121 88 33 129 122 87 33 130 126 86 33 131 128 85 33 132 128 84 33 134 130 83 33 135 131 82 33 136 133 81 33 137 134 80 33 137 135 79 33 138 138 78 33 139 140 77 33 140 141 76 33 142 141 75 33 143 143 74 33 144 144 73 33 145 144 72 33 145 145 71 33 146 149 70 33 147 150 69 33 148 152 68 33 150 152 67 33 151 153 66 33 152 155 65 33 153 155 64 33 153 156 63 33 154 156 62 33 155 157 61 33 157 159 59 33 158 160 58 33 159 162 57 33 160 163 56 33 161 165 55 33 162 166 54 33 163 167 53 33 164 167 52 33 165 171 51 33 167 172 50 33 168 174 49 33 169 175 48 33 170 176 47 33 170 178 46 33 171 178 45 33 172 179 44 33 173 179 43 33 175 181 42 33 176 182 41 33 177 182 40 33 178 184 39 33 178 185 38 33 179 186 37 33 180 188 36 33 181 189 35 33 183 194 34 33 184 195 33 33 185 198 32 33 186 199 31 33 186 201 30 33 187 202 29 33 188 204 28 33 190 205 26 33 191 207 25 33 192 207 24 33 193 208 23 33 194 208 22 33 195 209 21 33 196 209 20 33 197 211 19 33 198 211 18 33 200 213 17 33 201 216 16 33 202 217 15 33 203 217 14 33 203 219 13 33 204 220 12 33 205 220 11 33 206 221 10 33 208 224 9 33 209 226 8 33 210 227 7 33 211 228 6 33 211 228 5 33 212 230 4 33 213 230 3 33 214 231 2 33 216 231 1 33 217 234 0 33 218 234 0 33 218 235 0 33 219 238 0 33 219 238 0 33 219 239 0 33 219 239 255 32 0 240 254 32 0 240 254 32 0 239 254 32 0 239 253 32 0 239 252 32 0 239 251 32 0 238 250 32 0 238 249 32 0 235 248 32 0 234 247 32 0 231 246 32 0 231 245 32 0 231 244 32 0 230 243 32 0 230 242 32 0 228 241 32 0 227 240 32 0 226 239 32 0 224 238 32 0 223 237 32 0 221 236 32 0 220 235 32 0 219 234 32 0 219 233 32 0 217 232 32 0 216 231 32 0 213 230 32 0 213 229 32 0 211 228 32 0 211 227 32 0 209 226 32 0 209 224 32 0 208 223 32 0 208 222 32 0 207 221 32 0 205 220 32 0 205 219 32 0 204 218 32 1 202 217 32 2 201 216 32 3 199 215 32 4 198 214 32 5 197 213 32 6 194 212 32 6 189 211 32 7 188 210 32 8 186 209 32 9 185 208 32 10 184 207 32 12 184 206 32 13 182 205 32 14 181 204 32 14 181 203 32 15 179 202 32 16 179 201 32 17 178 200 32 18 178 199 32 20 176 198 32 21 175 197 32 22 174 196 32 22 172 195 32 23 171 194 32 24 167 193 32 26 166 191 32 27 165 190 32 28 163 189 32 29 162 188 32 30 160 187 32 31 159 186 32 32 157 185 32 33 156 184 32 34 156 183 32 35 155 182 32 37 155 181 32 38 153 180 32 39 153 179 32 39 152 178 32 40 150 177 32 41 150 176 32 42 149 175 32 43 145 174 32 45 145 173 32 46 144 172 32 47 143 171 32 47 143 170 32 48 140 169 32 49 138 168 32 50 137 167 32 51 135 166 32 53 133 165 32 54 131 164 32 55 131 163 32 55 130 162 32 56 128 161 32 57 126 160 32 59 126 158 32 60 122 157 32 61 121 156 32 62 121 155 32 63 118 154 32 64 118 153 32 65 117 152 32 66 117 151 32 67 115 150 32 68 115 149 32 70 115 148 32 71 115 147 32 72 115 146 32 72 114 145 32 73 114 144 32 74 112 143 32 75 111 142 32 76 110 141 32 78 108 140 32 79 108 139 32 80 107 138 32 80 107 137 32 81 107 136 32 82 107 135 32 83 107 134 32 84 107 133 32 86 107 132 32 87 107 131 32 88 107 130 32 88 107 129 32 89 107 128 32 90 107 127 32 92 107 125 32 93 107 124 32 94 107 123 32 95 107 122 32 96 107 121 32 97 107 120 32 98 107 119 32 99 107 118 32 100 107 117 32 101 107 116 32 103 107 115 32 104 107 114 32 105 107 113 32 105 107 112 32 106 107 111 32 107 107 110 32 108 107 109 32 109 108 108 32 111 108 107 32 112 110 106 32 113 111 105 32 113 112 104 32 114 114 103 32 115 114 102 32 116 115 101 32 117 115 100 32 119 115 99 32 120 115 98 32 121 115 97 32 121 117 96 32 122 117 95 32 123 118 94 32 125 118 92 32 126 121 91 32 127 121 90 32 128 122 89 32 129 126 88 32 130 126 87 32 131 128 86 32 132 130 85 32 133 130 84 32 134 131 83 32 136 133 82 32 137 134 81 32 138 135 80 32 138 138 79 32 139 140 78 32 140 141 77 32 141 143 76 32 142 144 75 32 144 145 74 32 145 145 73 32 146 149 72 32 146 149 71 32 147 150 70 32 148 152 69 32 149 152 68 32 150 153 67 32 152 155 66 32 153 155 65 32 154 156 64 32 154 156 63 32 155 157 62 32 156 159 61 32 158 160 59 32 159 162 58 32 160 163 57 32 161 165 56 32 162 166 55 32 163 167 54 32 164 171 53 32 165 172 52 32 166 174 51 32 167 175 50 32 169 176 49 32 170 178 48 32 171 178 47 32 171 179 46 32 172 179 45 32 173 181 44 32 174 181 43 32 175 182 42 32 177 182 41 32 178 184 40 32 179 185 39 32 179 186 38 32 180 188 37 32 181 189 36 32 182 194 35 32 183 195 34 32 185 197 33 32 186 199 32 32 187 201 31 32 187 202 30 32 188 204 29 32 189 205 28 32 191 205 26 32 192 207 25 32 193 208 24 32 194 208 23 32 195 209 22 32 196 209 21 32 197 209 20 32 198 211 19 32 199 213 18 32 200 213 17 32 202 216 16 32 203 217 15 32 204 219 14 32 204 219 13 32 205 220 12 32 206 221 11 32 207 223 10 32 208 224 9 32 210 226 8 32 211 227 7 32 212 228 6 32 212 230 5 32 213 230 4 32 214 230 3 32 215 231 2 32 216 231 1 32 218 234 0 32 218 235 0 32 219 238 0 32 220 238 0 32 220 239 0 32 220 239 0 32 220 239 255 31 0 240 254 31 0 240 254 31 0 239 254 31 0 239 253 31 0 239 252 31 0 239 251 31 0 239 250 31 0 238 249 31 0 235 248 31 0 234 247 31 0 234 246 31 0 231 245 31 0 231 244 31 0 230 243 31 0 230 242 31 0 230 241 31 0 228 240 31 0 227 239 31 0 226 238 31 0 223 237 31 0 221 236 31 0 220 235 31 0 219 234 31 0 219 233 31 0 217 232 31 0 216 231 31 0 216 230 31 0 213 229 31 0 213 228 31 0 211 227 31 0 211 226 31 0 209 224 31 0 209 223 31 0 208 222 31 0 207 221 31 0 207 220 31 0 205 219 31 1 204 218 31 1 204 217 31 2 202 216 31 3 201 215 31 4 199 214 31 5 198 213 31 6 197 212 31 7 194 211 31 8 189 210 31 9 188 209 31 10 186 208 31 11 185 207 31 12 184 206 31 13 184 205 31 14 182 204 31 15 181 203 31 16 181 202 31 17 181 201 31 18 179 200 31 19 179 199 31 20 178 198 31 21 176 197 31 22 175 196 31 23 175 195 31 24 174 194 31 25 172 193 31 27 171 191 31 28 166 190 31 29 165 189 31 30 163 188 31 31 162 187 31 32 160 186 31 33 159 185 31 34 157 184 31 35 156 183 31 36 156 182 31 37 155 181 31 38 155 180 31 39 153 179 31 40 153 178 31 41 152 177 31 42 152 176 31 43 150 175 31 44 150 174 31 45 149 173 31 46 149 172 31 47 145 171 31 48 144 170 31 49 143 169 31 50 141 168 31 51 138 167 31 52 137 166 31 53 135 165 31 54 134 164 31 55 133 163 31 56 131 162 31 57 130 161 31 58 130 160 31 60 128 158 31 61 126 157 31 62 126 156 31 63 122 155 31 64 121 154 31 65 120 153 31 66 120 152 31 67 118 151 31 68 118 150 31 69 118 149 31 70 118 148 31 71 118 147 31 72 117 146 31 73 117 145 31 74 115 144 31 75 114 143 31 76 114 142 31 77 112 141 31 78 111 140 31 79 111 139 31 80 110 138 31 81 110 137 31 82 110 136 31 83 110 135 31 84 110 134 31 85 110 133 31 86 110 132 31 87 110 131 31 88 110 130 31 89 110 129 31 90 110 128 31 91 110 127 31 93 110 125 31 94 110 124 31 95 110 123 31 96 110 122 31 97 110 121 31 98 110 120 31 99 110 119 31 100 110 118 31 101 110 117 31 102 110 116 31 103 110 115 31 104 110 114 31 105 110 113 31 106 110 112 31 107 110 111 31 108 110 110 31 109 110 109 31 110 111 108 31 111 111 107 31 112 112 106 31 113 114 105 31 114 114 104 31 115 115 103 31 116 117 102 31 117 117 101 31 118 118 100 31 119 118 99 31 120 118 98 31 121 118 97 31 122 118 96 31 123 120 95 31 124 120 94 31 126 121 92 31 127 122 91 31 128 126 90 31 129 126 89 31 130 128 88 31 131 130 87 31 132 130 86 31 133 131 85 31 134 133 84 31 135 134 83 31 136 135 82 31 137 137 81 31 138 138 80 31 139 140 79 31 140 143 78 31 141 144 77 31 142 145 76 31 143 149 75 31 144 149 74 31 145 150 73 31 146 150 72 31 147 152 71 31 148 152 70 31 149 153 69 31 150 153 68 31 151 155 67 31 152 155 66 31 153 156 65 31 154 156 64 31 155 157 63 31 156 159 62 31 157 160 61 31 159 162 59 31 160 163 58 31 161 165 57 31 162 166 56 31 163 167 55 31 164 171 54 31 165 172 53 31 166 174 52 31 167 175 51 31 168 176 50 31 169 178 49 31 170 179 48 31 171 179 47 31 172 181 46 31 173 181 45 31 174 181 44 31 175 182 43 31 176 184 42 31 177 184 41 31 178 185 40 31 179 186 39 31 180 188 38 31 181 189 37 31 182 194 36 31 183 195 35 31 184 197 34 31 185 199 33 31 186 201 32 31 187 202 31 31 188 202 30 31 189 204 29 31 190 205 28 31 192 207 26 31 193 207 25 31 194 208 24 31 195 209 23 31 196 209 22 31 197 211 21 31 198 211 20 31 199 211 19 31 200 213 18 31 201 216 17 31 202 216 16 31 203 217 15 31 204 219 14 31 205 219 13 31 206 220 12 31 207 221 11 31 208 223 10 31 209 226 9 31 210 227 8 31 211 228 7 31 212 230 6 31 213 230 5 31 214 230 4 31 215 231 3 31 216 231 2 31 217 234 1 31 218 234 0 31 219 235 0 31 220 238 0 31 220 239 0 31 221 239 0 31 221 239 0 31 221 239 255 30 0 240 254 30 0 240 254 30 0 239 254 30 0 239 253 30 0 239 252 30 0 239 251 30 0 239 250 30 0 238 249 30 0 235 248 30 0 235 247 30 0 234 246 30 0 231 245 30 0 231 244 30 0 230 243 30 0 230 242 30 0 230 241 30 0 228 240 30 0 228 239 30 0 226 238 30 0 224 237 30 0 223 236 30 0 221 235 30 0 220 234 30 0 219 233 30 0 219 232 30 0 217 231 30 0 216 230 30 0 216 229 30 0 213 228 30 0 213 227 30 0 211 226 30 0 211 224 30 0 209 223 30 0 208 222 30 0 208 221 30 0 207 220 30 1 205 219 30 1 205 218 30 2 204 217 30 3 204 216 30 4 202 215 30 5 201 214 30 6 199 213 30 7 198 212 30 8 197 211 30 9 194 210 30 10 189 209 30 11 188 208 30 12 186 207 30 13 185 206 30 14 185 205 30 15 184 204 30 16 182 203 30 17 182 202 30 18 181 201 30 19 181 200 30 20 179 199 30 21 179 198 30 22 178 197 30 23 178 196 30 24 176 195 30 25 175 194 30 26 174 193 30 28 172 191 30 29 171 190 30 30 166 189 30 31 165 188 30 32 163 187 30 33 162 186 30 34 160 185 30 35 159 184 30 36 157 183 30 37 157 182 30 38 156 181 30 39 155 180 30 40 155 179 30 41 155 178 30 42 153 177 30 43 153 176 30 44 152 175 30 45 152 174 30 46 152 173 30 47 150 172 30 48 149 171 30 49 149 170 30 50 145 169 30 51 143 168 30 52 141 167 30 53 140 166 30 54 138 165 30 55 135 164 30 56 134 163 30 57 133 162 30 58 133 161 30 59 131 160 30 61 131 158 30 62 130 157 30 63 128 156 30 64 128 155 30 65 126 154 30 66 122 153 30 67 121 152 30 68 121 151 30 69 121 150 30 70 121 149 30 71 120 148 30 72 120 147 30 73 120 146 30 74 118 145 30 75 118 144 30 76 117 143 30 77 115 142 30 78 115 141 30 79 114 140 30 80 114 139 30 81 114 138 30 82 114 137 30 83 114 136 30 84 114 135 30 85 114 134 30 86 114 133 30 87 114 132 30 88 114 131 30 89 114 130 30 90 114 129 30 91 114 128 30 92 114 127 30 94 114 125 30 95 114 124 30 96 114 123 30 97 114 122 30 98 114 121 30 99 114 120 30 100 114 119 30 101 114 118 30 102 114 117 30 103 114 116 30 104 114 115 30 105 114 114 30 106 114 113 30 107 114 112 30 108 114 111 30 109 114 110 30 110 114 109 30 111 114 108 30 112 114 107 30 113 114 106 30 114 115 105 30 115 117 104 30 116 117 103 30 117 118 102 30 118 120 101 30 119 120 100 30 120 120 99 30 121 121 98 30 122 121 97 30 123 121 96 30 124 121 95 30 125 122 94 30 127 126 92 30 128 126 91 30 129 128 90 30 130 130 89 30 131 131 88 30 132 131 87 30 133 133 86 30 134 133 85 30 135 134 84 30 136 135 83 30 137 137 82 30 138 140 81 30 139 141 80 30 140 143 79 30 141 144 78 30 142 145 77 30 143 149 76 30 144 150 75 30 145 150 74 30 146 152 73 30 147 152 72 30 148 153 71 30 149 153 70 30 150 155 69 30 151 155 68 30 152 155 67 30 153 156 66 30 154 157 65 30 155 157 64 30 156 159 63 30 157 160 62 30 158 162 61 30 160 163 59 30 161 165 58 30 162 166 57 30 163 167 56 30 164 172 55 30 165 174 54 30 166 175 53 30 167 176 52 30 168 176 51 30 169 178 50 30 170 179 49 30 171 179 48 30 172 181 47 30 173 181 46 30 174 182 45 30 175 182 44 30 176 184 43 30 177 184 42 30 178 185 41 30 179 186 40 30 180 188 39 30 181 189 38 30 182 194 37 30 183 195 36 30 184 198 35 30 185 199 34 30 186 201 33 30 187 202 32 30 188 202 31 30 189 204 30 30 190 205 29 30 191 205 28 30 193 207 26 30 194 208 25 30 195 208 24 30 196 209 23 30 197 209 22 30 198 211 21 30 199 211 20 30 200 213 19 30 201 216 18 30 202 216 17 30 203 217 16 30 204 219 15 30 205 219 14 30 206 220 13 30 207 221 12 30 208 223 11 30 209 224 10 30 210 226 9 30 211 227 8 30 212 228 7 30 213 230 6 30 214 230 5 30 215 230 4 30 216 231 3 30 217 231 2 30 218 234 1 30 219 234 0 30 220 235 0 30 221 238 0 30 221 239 0 30 222 239 0 30 222 239 0 30 222 239 255 29 0 240 254 29 0 240 254 29 0 240 254 29 0 240 253 29 0 240 252 29 0 239 251 29 0 239 250 29 0 238 249 29 0 238 248 29 0 235 247 29 0 234 246 29 0 231 245 29 0 231 244 29 0 231 243 29 0 231 242 29 0 230 241 29 0 230 240 29 0 228 239 29 0 227 238 29 0 224 237 29 0 223 236 29 0 221 235 29 0 220 234 29 0 220 233 29 0 219 232 29 0 217 231 29 0 217 230 29 0 216 229 29 0 216 228 29 0 213 227 29 0 213 226 29 0 211 224 29 0 209 223 29 0 209 222 29 0 208 221 29 1 207 220 29 1 207 219 29 2 205 218 29 3 205 217 29 4 204 216 29 5 204 215 29 6 202 214 29 7 201 213 29 8 199 212 29 9 198 211 29 10 197 210 29 11 194 209 29 12 189 208 29 13 188 207 29 14 186 206 29 15 185 205 29 16 185 204 29 17 184 203 29 18 182 202 29 19 182 201 29 20 181 200 29 21 181 199 29 22 179 198 29 23 179 197 29 24 178 196 29 25 178 195 29 26 176 194 29 27 175 193 29 29 174 191 29 30 172 190 29 31 171 189 29 32 166 188 29 33 165 187 29 34 163 186 29 35 162 185 29 36 160 184 29 37 159 183 29 38 157 182 29 39 157 181 29 40 156 180 29 41 156 179 29 42 155 178 29 43 155 177 29 44 155 176 29 45 153 175 29 46 153 174 29 47 153 173 29 48 152 172 29 49 150 171 29 50 150 170 29 51 149 169 29 52 145 168 29 53 144 167 29 54 143 166 29 55 140 165 29 56 138 164 29 57 137 163 29 58 135 162 29 59 134 161 29 60 134 160 29 62 133 158 29 63 131 157 29 64 131 156 29 65 130 155 29 66 128 154 29 67 126 153 29 68 126 152 29 69 122 151 29 70 122 150 29 71 122 149 29 72 122 148 29 73 121 147 29 74 121 146 29 75 120 145 29 76 118 144 29 77 118 143 29 78 117 142 29 79 117 141 29 80 117 140 29 81 115 139 29 82 115 138 29 83 115 137 29 84 115 136 29 85 115 135 29 86 115 134 29 87 115 133 29 88 115 132 29 89 115 131 29 90 115 130 29 91 115 129 29 92 115 128 29 93 115 127 29 95 115 125 29 96 115 124 29 97 115 123 29 98 115 122 29 99 115 121 29 100 115 120 29 101 115 119 29 102 115 118 29 103 115 117 29 104 115 116 29 105 115 115 29 106 115 114 29 107 115 113 29 108 115 112 29 109 115 111 29 110 115 110 29 111 115 109 29 112 115 108 29 113 117 107 29 114 117 106 29 115 117 105 29 116 118 104 29 117 118 103 29 118 120 102 29 119 121 101 29 120 121 100 29 121 121 99 29 122 122 98 29 123 122 97 29 124 122 96 29 125 126 95 29 126 126 94 29 128 128 92 29 129 130 91 29 130 131 90 29 131 131 89 29 132 133 88 29 133 134 87 29 134 134 86 29 135 135 85 29 136 137 84 29 137 138 83 29 138 140 82 29 139 141 81 29 140 144 80 29 141 145 79 29 142 149 78 29 143 150 77 29 144 150 76 29 145 152 75 29 146 152 74 29 147 153 73 29 148 153 72 29 149 155 71 29 150 155 70 29 151 155 69 29 152 156 68 29 153 156 67 29 154 157 66 29 155 157 65 29 156 159 64 29 157 160 63 29 158 162 62 29 159 163 61 29 161 165 59 29 162 166 58 29 163 171 57 29 164 172 56 29 165 174 55 29 166 175 54 29 167 176 53 29 168 176 52 29 169 178 51 29 170 179 50 29 171 179 49 29 172 181 48 29 173 181 47 29 174 182 46 29 175 182 45 29 176 184 44 29 177 184 43 29 178 185 42 29 179 186 41 29 180 188 40 29 181 189 39 29 182 194 38 29 183 195 37 29 184 198 36 29 185 199 35 29 186 201 34 29 187 202 33 29 188 202 32 29 189 204 31 29 190 204 30 29 191 205 29 29 192 207 28 29 194 207 26 29 195 208 25 29 196 209 24 29 197 209 23 29 198 211 22 29 199 213 21 29 200 213 20 29 201 216 19 29 202 216 18 29 203 217 17 29 204 217 16 29 205 219 15 29 206 220 14 29 207 220 13 29 208 221 12 29 209 223 11 29 210 224 10 29 211 227 9 29 212 228 8 29 213 230 7 29 214 230 6 29 215 231 5 29 216 231 4 29 217 231 3 29 218 231 2 29 219 234 1 29 220 235 0 29 221 238 0 29 222 238 0 29 223 239 0 29 223 239 0 29 223 240 0 29 223 240 255 28 0 240 254 28 0 240 254 28 0 240 254 28 0 240 253 28 0 240 252 28 0 239 251 28 0 239 250 28 0 238 249 28 0 238 248 28 0 235 247 28 0 234 246 28 0 231 245 28 0 231 244 28 0 231 243 28 0 231 242 28 0 230 241 28 0 230 240 28 0 228 239 28 0 227 238 28 0 226 237 28 0 224 236 28 0 223 235 28 0 221 234 28 0 220 233 28 0 220 232 28 0 219 231 28 0 217 230 28 0 217 229 28 0 216 228 28 0 216 227 28 0 213 226 28 0 213 224 28 0 211 223 28 1 209 222 28 1 208 221 28 2 208 220 28 2 207 219 28 3 205 218 28 4 205 217 28 5 205 216 28 6 204 215 28 7 204 214 28 8 202 213 28 9 201 212 28 10 199 211 28 11 198 210 28 12 197 209 28 13 195 208 28 14 189 207 28 15 188 206 28 16 186 205 28 17 185 204 28 18 185 203 28 19 184 202 28 20 182 201 28 21 182 200 28 22 181 199 28 24 181 198 28 25 181 197 28 26 179 196 28 27 178 195 28 28 178 194 28 29 176 193 28 30 175 191 28 31 174 190 28 32 172 189 28 33 171 188 28 34 166 187 28 35 165 186 28 36 163 185 28 37 162 184 28 38 160 183 28 39 159 182 28 40 157 181 28 41 157 180 28 42 157 179 28 43 156 178 28 44 156 177 28 45 156 176 28 46 155 175 28 47 155 174 28 48 153 173 28 49 153 172 28 50 152 171 28 51 152 170 28 52 150 169 28 53 149 168 28 54 145 167 28 55 144 166 28 57 143 165 28 58 141 164 28 59 140 163 28 60 138 162 28 61 137 161 28 62 137 160 28 63 135 158 28 64 134 157 28 65 133 156 28 66 131 155 28 67 130 154 28 68 130 153 28 69 128 152 28 70 128 151 28 71 128 150 28 72 126 149 28 73 126 148 28 74 122 147 28 75 122 146 28 76 121 145 28 77 121 144 28 78 120 143 28 79 120 142 28 80 120 141 28 81 118 140 28 82 118 139 28 83 118 138 28 84 118 137 28 85 118 136 28 86 118 135 28 87 118 134 28 88 118 133 28 90 118 132 28 91 118 131 28 92 118 130 28 93 118 129 28 94 118 128 28 95 118 127 28 96 118 125 28 97 118 124 28 98 118 123 28 99 118 122 28 100 118 121 28 101 118 120 28 102 118 119 28 103 118 118 28 104 118 117 28 105 118 116 28 106 118 115 28 107 118 114 28 108 118 113 28 109 118 112 28 110 118 111 28 111 118 110 28 112 118 109 28 113 118 108 28 114 118 107 28 115 120 106 28 116 120 105 28 117 120 104 28 118 121 103 28 119 121 102 28 120 122 101 28 121 122 100 28 123 126 99 28 124 126 98 28 125 128 97 28 126 128 96 28 127 128 95 28 128 130 94 28 129 130 92 28 130 131 91 28 131 133 90 28 132 134 89 28 133 135 88 28 134 137 87 28 135 137 86 28 136 138 85 28 137 140 84 28 138 141 83 28 139 143 82 28 140 144 81 28 141 145 80 28 142 149 79 28 143 150 78 28 144 152 77 28 145 152 76 28 146 153 75 28 147 153 74 28 148 155 73 28 149 155 72 28 150 156 71 28 151 156 70 28 152 156 69 28 153 157 68 28 154 157 67 28 156 157 66 28 157 159 65 28 158 160 64 28 159 162 63 28 160 163 62 28 161 165 61 28 162 166 59 28 163 171 58 28 164 172 57 28 165 174 56 28 166 175 55 28 167 176 54 28 168 178 53 28 169 178 52 28 170 179 51 28 171 179 50 28 172 181 49 28 173 181 48 28 174 182 47 28 175 182 46 28 176 184 45 28 177 184 44 28 178 185 43 28 179 186 42 28 180 188 41 28 181 189 40 28 182 194 39 28 183 195 38 28 184 198 37 28 185 199 36 28 186 201 35 28 187 202 34 28 189 202 33 28 190 204 32 28 191 204 31 28 192 205 30 28 193 205 29 28 194 207 28 28 195 208 26 28 196 208 25 28 197 209 24 28 198 211 23 28 199 211 22 28 200 213 21 28 201 216 20 28 202 216 19 28 203 217 18 28 204 217 17 28 205 219 16 28 206 219 15 28 207 220 14 28 208 221 13 28 209 223 12 28 210 224 11 28 211 226 10 28 212 227 9 28 213 228 8 28 214 230 7 28 215 230 6 28 216 231 5 28 217 231 4 28 218 231 3 28 219 231 2 28 220 234 1 28 222 235 0 28 223 238 0 28 223 238 0 28 224 239 0 28 224 239 0 28 224 240 0 28 224 240 255 26 0 240 254 26 0 240 254 26 0 240 254 26 0 240 253 26 0 240 252 26 0 239 251 26 0 239 250 26 0 238 249 26 0 238 248 26 0 235 247 26 0 234 246 26 0 231 245 26 0 231 244 26 0 231 243 26 0 231 242 26 0 230 241 26 0 230 240 26 0 230 239 26 0 228 238 26 0 227 237 26 0 226 236 26 0 224 235 26 0 223 234 26 0 221 233 26 0 220 232 26 0 220 231 26 0 219 230 26 0 219 229 26 0 217 228 26 0 216 227 26 0 216 226 26 0 213 224 26 1 211 223 26 2 211 222 26 2 209 221 26 3 208 220 26 3 208 219 26 4 207 218 26 5 207 217 26 6 205 216 26 7 205 215 26 9 204 214 26 10 204 213 26 10 202 212 26 11 201 211 26 12 199 210 26 13 198 209 26 14 197 208 26 15 195 207 26 17 194 206 26 18 189 205 26 18 188 204 26 19 186 203 26 20 185 202 26 21 184 201 26 22 184 200 26 24 182 199 26 25 182 198 26 26 181 197 26 27 181 196 26 28 179 195 26 29 179 194 26 30 178 193 26 31 176 191 26 32 175 190 26 34 174 189 26 35 172 188 26 35 171 187 26 36 167 186 26 37 166 185 26 38 163 184 26 39 162 183 26 40 160 182 26 42 160 181 26 43 159 180 26 43 159 179 26 44 159 178 26 45 157 177 26 46 157 176 26 47 157 175 26 48 156 174 26 50 155 173 26 51 155 172 26 51 153 171 26 52 153 170 26 53 152 169 26 54 152 168 26 55 150 167 26 57 149 166 26 58 145 165 26 59 144 164 26 60 143 163 26 61 141 162 26 62 140 161 26 63 140 160 26 64 138 158 26 65 137 157 26 67 135 156 26 68 134 155 26 68 133 154 26 69 133 153 26 70 131 152 26 71 131 151 26 72 130 150 26 73 130 149 26 75 128 148 26 76 128 147 26 76 126 146 26 77 126 145 26 78 122 144 26 79 122 143 26 80 122 142 26 81 122 141 26 83 121 140 26 84 121 139 26 84 121 138 26 85 121 137 26 86 121 136 26 87 121 135 26 88 121 134 26 90 121 133 26 91 121 132 26 92 121 131 26 93 121 130 26 94 121 129 26 95 121 128 26 96 121 127 26 97 121 125 26 98 121 124 26 100 121 123 26 101 121 122 26 101 121 121 26 102 121 120 26 103 121 119 26 104 121 118 26 105 121 117 26 106 121 116 26 108 121 115 26 109 121 114 26 109 121 113 26 110 121 112 26 111 121 111 26 112 121 110 26 113 121 109 26 114 121 108 26 116 121 107 26 117 122 106 26 117 122 105 26 118 122 104 26 119 122 103 26 120 126 102 26 121 126 101 26 123 128 100 26 124 128 99 26 125 130 98 26 126 130 97 26 127 131 96 26 128 131 95 26 129 133 94 26 130 133 92 26 131 134 91 26 133 135 90 26 134 137 89 26 134 138 88 26 135 140 87 26 136 140 86 26 137 141 85 26 138 143 84 26 139 144 83 26 141 145 82 26 142 149 81 26 142 150 80 26 143 152 79 26 144 152 78 26 145 153 77 26 146 153 76 26 147 155 75 26 149 155 74 26 150 156 73 26 150 156 72 26 151 157 71 26 152 157 70 26 153 159 69 26 154 159 68 26 156 159 67 26 157 160 66 26 158 160 65 26 159 162 64 26 160 163 63 26 161 165 62 26 162 167 61 26 163 171 59 26 164 172 58 26 166 174 57 26 167 175 56 26 167 176 55 26 168 178 54 26 169 179 53 26 170 179 52 26 171 181 51 26 172 181 50 26 174 182 49 26 175 182 48 26 175 182 47 26 176 184 46 26 177 185 45 26 178 186 44 26 179 186 43 26 180 188 42 26 182 189 41 26 183 194 40 26 183 197 39 26 184 198 38 26 185 199 37 26 186 201 36 26 187 202 35 26 189 204 34 26 190 204 33 26 191 205 32 26 192 205 31 26 193 205 30 26 194 207 29 26 195 207 28 26 196 208 26 26 197 209 25 26 199 211 24 26 200 211 23 26 200 213 22 26 201 216 21 26 202 216 20 26 203 217 19 26 204 217 18 26 205 219 17 26 207 219 16 26 208 220 15 26 208 221 14 26 209 223 13 26 210 224 12 26 211 226 11 26 212 227 10 26 213 228 9 26 215 230 8 26 216 230 7 26 216 230 6 26 217 231 5 26 218 231 4 26 219 231 3 26 220 231 2 26 222 234 1 26 223 235 0 26 224 238 0 26 225 238 0 26 225 239 0 26 225 239 0 26 226 240 0 26 226 240 255 25 0 240 254 25 0 240 254 25 0 240 254 25 0 240 253 25 0 240 252 25 0 239 251 25 0 239 250 25 0 238 249 25 0 238 248 25 0 235 247 25 0 234 246 25 0 234 245 25 0 231 244 25 0 231 243 25 0 231 242 25 0 230 241 25 0 230 240 25 0 230 239 25 0 228 238 25 0 228 237 25 0 227 236 25 0 226 235 25 0 224 234 25 0 223 233 25 0 221 232 25 0 220 231 25 0 220 230 25 0 219 229 25 0 219 228 25 0 217 227 25 0 217 226 25 1 216 224 25 2 213 223 25 2 211 222 25 3 211 221 25 4 209 220 25 4 208 219 25 5 208 218 25 6 207 217 25 7 207 216 25 9 205 215 25 10 205 214 25 11 205 213 25 12 204 212 25 12 202 211 25 13 201 210 25 14 199 209 25 15 198 208 25 17 197 207 25 18 195 206 25 19 194 205 25 20 189 204 25 20 188 203 25 21 186 202 25 22 185 201 25 24 185 200 25 25 184 199 25 26 182 198 25 27 182 197 25 28 182 196 25 29 181 195 25 30 181 194 25 31 179 193 25 32 178 191 25 34 176 190 25 35 175 189 25 36 174 188 25 37 172 187 25 37 171 186 25 38 167 185 25 39 166 184 25 40 165 183 25 42 163 182 25 43 162 181 25 44 162 180 25 45 160 179 25 45 160 178 25 46 160 177 25 47 159 176 25 48 159 175 25 50 157 174 25 51 156 173 25 52 156 172 25 53 155 171 25 53 155 170 25 54 155 169 25 55 153 168 25 57 153 167 25 58 152 166 25 59 150 165 25 60 149 164 25 61 145 163 25 62 144 162 25 63 144 161 25 64 143 160 25 65 141 158 25 67 140 157 25 68 138 156 25 69 137 155 25 70 135 154 25 70 134 153 25 71 134 152 25 72 134 151 25 73 133 150 25 75 133 149 25 76 131 148 25 77 131 147 25 78 130 146 25 78 130 145 25 79 128 144 25 80 128 143 25 81 128 142 25 83 128 141 25 84 128 140 25 85 126 139 25 86 126 138 25 86 126 137 25 87 122 136 25 88 122 135 25 90 122 134 25 91 122 133 25 92 122 132 25 93 122 131 25 94 122 130 25 95 122 129 25 96 122 128 25 97 122 127 25 98 122 125 25 100 122 124 25 101 122 123 25 102 122 122 25 103 122 121 25 103 122 120 25 104 122 119 25 105 122 118 25 106 122 117 25 108 122 116 25 109 122 115 25 110 122 114 25 111 122 113 25 111 122 112 25 112 122 111 25 113 126 110 25 114 126 109 25 116 126 108 25 117 128 107 25 118 128 106 25 119 128 105 25 119 128 104 25 120 128 103 25 121 130 102 25 123 130 101 25 124 131 100 25 125 131 99 25 126 133 98 25 127 133 97 25 128 134 96 25 129 134 95 25 130 134 94 25 131 135 92 25 133 137 91 25 134 138 90 25 135 140 89 25 136 141 88 25 136 143 87 25 137 143 86 25 138 144 85 25 139 145 84 25 141 149 83 25 142 150 82 25 143 152 81 25 144 152 80 25 144 153 79 25 145 155 78 25 146 155 77 25 147 155 76 25 149 155 75 25 150 156 74 25 151 157 73 25 152 157 72 25 152 159 71 25 153 160 70 25 154 160 69 25 156 160 68 25 157 162 67 25 158 162 66 25 159 163 65 25 160 163 64 25 161 166 63 25 162 167 62 25 163 171 61 25 164 172 59 25 166 174 58 25 167 175 57 25 168 176 56 25 169 178 55 25 169 179 54 25 170 181 53 25 171 181 52 25 172 182 51 25 174 182 50 25 175 182 49 25 176 184 48 25 177 184 47 25 177 185 46 25 178 186 45 25 179 188 44 25 180 189 43 25 182 194 42 25 183 195 41 25 184 197 40 25 185 198 39 25 185 199 38 25 186 201 37 25 187 202 36 25 189 204 35 25 190 204 34 25 191 205 33 25 192 205 32 25 193 205 31 25 194 207 30 25 195 207 29 25 196 208 28 25 197 209 26 25 199 209 25 25 200 211 24 25 201 213 23 25 202 216 22 25 202 216 21 25 203 217 20 25 204 217 19 25 205 219 18 25 207 220 17 25 208 220 16 25 209 221 15 25 210 223 14 25 210 224 13 25 211 226 12 25 212 227 11 25 213 228 10 25 215 228 9 25 216 230 8 25 217 230 7 25 218 230 6 25 218 231 5 25 219 231 4 25 220 231 3 25 222 231 2 25 223 234 1 25 224 235 0 25 225 238 0 25 226 238 0 25 227 239 0 25 227 239 0 25 227 240 0 25 227 240 255 24 0 240 254 24 0 240 254 24 0 240 254 24 0 240 253 24 0 240 252 24 0 239 251 24 0 239 250 24 0 239 249 24 0 238 248 24 0 235 247 24 0 235 246 24 0 234 245 24 0 234 244 24 0 231 243 24 0 231 242 24 0 231 241 24 0 230 240 24 0 230 239 24 0 230 238 24 0 228 237 24 0 228 236 24 0 227 235 24 0 226 234 24 0 224 233 24 0 223 232 24 0 221 231 24 0 220 230 24 0 220 229 24 0 219 228 24 0 217 227 24 0 217 226 24 1 216 224 24 2 216 223 24 3 213 222 24 4 211 221 24 5 211 220 24 5 209 219 24 6 208 218 24 7 208 217 24 8 207 216 24 10 207 215 24 11 207 214 24 12 205 213 24 13 205 212 24 13 204 211 24 14 202 210 24 15 201 209 24 16 199 208 24 18 198 207 24 19 197 206 24 20 197 205 24 21 195 204 24 21 194 203 24 22 189 202 24 23 188 201 24 25 186 200 24 26 185 199 24 27 184 198 24 28 184 197 24 29 184 196 24 30 182 195 24 31 182 194 24 32 181 193 24 33 179 191 24 35 179 190 24 36 178 189 24 37 176 188 24 38 175 187 24 38 174 186 24 39 172 185 24 40 167 184 24 41 166 183 24 43 165 182 24 44 165 181 24 45 163 180 24 46 163 179 24 46 163 178 24 47 163 177 24 48 162 176 24 49 160 175 24 51 159 174 24 52 157 173 24 53 157 172 24 54 156 171 24 54 156 170 24 55 156 169 24 56 155 168 24 58 155 167 24 59 153 166 24 60 152 165 24 61 150 164 24 62 150 163 24 63 149 162 24 64 145 161 24 65 145 160 24 66 144 158 24 68 143 157 24 69 141 156 24 70 140 155 24 71 138 154 24 71 138 153 24 72 137 152 24 73 137 151 24 74 135 150 24 76 135 149 24 77 135 148 24 78 134 147 24 79 134 146 24 79 133 145 24 80 133 144 24 81 133 143 24 82 133 142 24 84 131 141 24 85 131 140 24 86 130 139 24 87 130 138 24 87 128 137 24 88 128 136 24 89 128 135 24 91 128 134 24 92 128 133 24 93 128 132 24 94 128 131 24 95 128 130 24 96 128 129 24 97 128 128 24 98 128 127 24 99 128 125 24 101 128 124 24 102 128 123 24 103 128 122 24 104 128 121 24 104 128 120 24 105 128 119 24 106 128 118 24 107 128 117 24 109 128 116 24 110 128 115 24 111 128 114 24 112 128 113 24 112 128 112 24 113 128 111 24 114 128 110 24 115 130 109 24 117 130 108 24 118 131 107 24 119 131 106 24 120 133 105 24 120 133 104 24 121 133 103 24 122 133 102 24 124 134 101 24 125 134 100 24 126 134 99 24 127 135 98 24 128 135 97 24 129 137 96 24 130 137 95 24 131 138 94 24 132 138 92 24 134 140 91 24 135 141 90 24 136 143 89 24 137 144 88 24 137 145 87 24 138 145 86 24 139 149 85 24 140 150 84 24 142 150 83 24 143 152 82 24 144 153 81 24 145 155 80 24 145 155 79 24 146 156 78 24 147 156 77 24 148 156 76 24 150 157 75 24 151 157 74 24 152 159 73 24 153 160 72 24 153 162 71 24 154 162 70 24 155 163 69 24 157 163 68 24 158 163 67 24 159 165 66 24 160 165 65 24 161 166 64 24 162 167 63 24 163 171 62 24 164 174 61 24 165 175 59 24 167 176 58 24 168 178 57 24 169 178 56 24 170 179 55 24 170 181 54 24 171 182 53 24 172 182 52 24 173 184 51 24 175 184 50 24 176 184 49 24 177 185 48 24 178 185 47 24 178 186 46 24 179 189 45 24 180 194 44 24 181 195 43 24 183 195 42 24 184 197 41 24 185 198 40 24 186 199 39 24 186 201 38 24 187 202 37 24 188 204 36 24 190 205 35 24 191 205 34 24 192 205 33 24 193 207 32 24 194 207 31 24 195 207 30 24 196 208 29 24 197 209 28 24 198 209 26 24 200 211 25 24 201 213 24 24 202 216 23 24 203 216 22 24 203 217 21 24 204 217 20 24 205 219 19 24 206 219 18 24 208 220 17 24 209 221 16 24 210 223 15 24 211 224 14 24 211 226 13 24 212 227 12 24 213 228 11 24 214 228 10 24 216 230 9 24 217 230 8 24 218 230 7 24 219 230 6 24 219 231 5 24 220 231 4 24 221 231 3 24 223 234 2 24 224 234 1 24 225 235 0 24 226 238 0 24 227 239 0 24 228 239 0 24 228 239 0 24 228 240 0 24 228 240 255 23 0 240 254 23 0 240 254 23 0 240 254 23 0 240 253 23 0 240 252 23 0 239 251 23 0 239 250 23 0 239 249 23 0 238 248 23 0 238 247 23 0 235 246 23 0 235 245 23 0 234 244 23 0 231 243 23 0 231 242 23 0 231 241 23 0 230 240 23 0 230 239 23 0 230 238 23 0 230 237 23 0 228 236 23 0 228 235 23 0 227 234 23 0 226 233 23 0 224 232 23 0 221 231 23 0 221 230 23 0 220 229 23 0 219 228 23 0 219 227 23 1 219 226 23 2 217 224 23 3 216 223 23 4 216 222 23 5 213 221 23 6 211 220 23 6 211 219 23 7 209 218 23 8 208 217 23 9 208 216 23 10 208 215 23 12 207 214 23 13 207 213 23 14 207 212 23 14 205 211 23 15 204 210 23 16 204 209 23 17 202 208 23 18 201 207 23 20 199 206 23 21 198 205 23 22 198 204 23 22 197 203 23 23 195 202 23 24 194 201 23 26 188 200 23 27 186 199 23 28 186 198 23 29 185 197 23 30 185 196 23 31 184 195 23 32 184 194 23 33 184 193 23 34 182 191 23 35 181 190 23 37 179 189 23 38 178 188 23 39 176 187 23 39 175 186 23 40 174 185 23 41 172 184 23 42 171 183 23 43 167 182 23 45 167 181 23 46 167 180 23 47 166 179 23 47 166 178 23 48 166 177 23 49 165 176 23 50 163 175 23 51 162 174 23 53 160 173 23 54 159 172 23 55 157 171 23 55 157 170 23 56 157 169 23 57 157 168 23 59 156 167 23 60 155 166 23 61 155 165 23 62 153 164 23 63 152 163 23 64 152 162 23 65 150 161 23 66 150 160 23 67 149 158 23 68 145 157 23 70 144 156 23 71 143 155 23 72 143 154 23 72 141 153 23 73 141 152 23 74 140 151 23 75 140 150 23 76 140 149 23 78 138 148 23 79 138 147 23 80 138 146 23 80 138 145 23 81 137 144 23 82 137 143 23 83 137 142 23 84 135 141 23 86 135 140 23 87 134 139 23 88 133 138 23 88 131 137 23 89 131 136 23 90 131 135 23 92 130 134 23 93 130 133 23 94 130 132 23 95 130 131 23 96 130 130 23 97 130 129 23 98 130 128 23 99 130 127 23 100 130 125 23 101 130 124 23 103 130 123 23 104 130 122 23 105 130 121 23 105 130 120 23 106 130 119 23 107 130 118 23 108 130 117 23 109 130 116 23 111 130 115 23 112 130 114 23 113 130 113 23 113 130 112 23 114 131 111 23 115 131 110 23 116 133 109 23 117 134 108 23 119 135 107 23 120 135 106 23 121 137 105 23 121 137 104 23 122 137 103 23 123 137 102 23 125 138 101 23 126 138 100 23 127 138 99 23 128 140 98 23 129 140 97 23 130 140 96 23 131 141 95 23 132 141 94 23 133 141 92 23 134 143 91 23 136 144 90 23 137 145 89 23 138 149 88 23 138 150 87 23 139 150 86 23 140 152 85 23 141 152 84 23 142 153 83 23 144 155 82 23 145 155 81 23 146 156 80 23 146 157 79 23 147 157 78 23 148 157 77 23 149 157 76 23 150 159 75 23 152 159 74 23 153 160 73 23 154 162 72 23 154 163 71 23 155 165 70 23 156 166 69 23 158 166 68 23 159 167 67 23 160 167 66 23 161 167 65 23 162 171 64 23 163 172 63 23 164 174 62 23 165 175 61 23 166 176 59 23 167 178 58 23 169 179 57 23 170 181 56 23 171 182 55 23 171 182 54 23 172 184 53 23 173 184 52 23 174 185 51 23 175 185 50 23 177 185 49 23 178 186 48 23 179 188 47 23 179 189 46 23 180 194 45 23 181 195 44 23 182 197 43 23 183 198 42 23 185 199 41 23 186 201 40 23 187 201 39 23 187 202 38 23 188 204 37 23 189 205 36 23 191 205 35 23 192 207 34 23 193 207 33 23 194 207 32 23 195 208 31 23 196 208 30 23 197 209 29 23 198 209 28 23 199 211 26 23 200 213 25 23 202 216 24 23 203 216 23 23 204 217 22 23 204 217 21 23 205 219 20 23 206 219 19 23 207 220 18 23 208 220 17 23 210 221 16 23 211 223 15 23 212 224 14 23 212 226 13 23 213 227 12 23 214 228 11 23 215 230 10 23 216 230 9 23 218 230 8 23 219 230 7 23 220 231 6 23 220 231 5 23 221 231 4 23 222 234 3 23 224 234 2 23 225 235 1 23 226 238 0 23 227 238 0 23 228 239 0 23 229 239 0 23 229 239 0 23 229 240 0 23 229 240 255 22 0 240 254 22 0 240 254 22 0 240 254 22 0 240 253 22 0 240 252 22 0 239 251 22 0 239 250 22 0 239 249 22 0 239 248 22 0 238 247 22 0 238 246 22 0 235 245 22 0 235 244 22 0 234 243 22 0 231 242 22 0 231 241 22 0 231 240 22 0 231 239 22 0 230 238 22 0 230 237 22 0 230 236 22 0 228 235 22 0 227 234 22 0 226 233 22 0 224 232 22 0 223 231 22 0 221 230 22 0 220 229 22 0 220 228 22 1 219 227 22 1 219 226 22 2 219 224 22 3 217 223 22 4 216 222 22 5 216 221 22 6 213 220 22 7 211 219 22 8 211 218 22 9 209 217 22 10 209 216 22 11 208 215 22 12 208 214 22 13 208 213 22 14 207 212 22 15 207 211 22 16 205 210 22 17 204 209 22 18 204 208 22 19 202 207 22 20 201 206 22 21 201 205 22 22 199 204 22 23 198 203 22 24 197 202 22 25 195 201 22 27 194 200 22 28 189 199 22 29 188 198 22 30 186 197 22 31 186 196 22 32 186 195 22 33 185 194 22 34 185 193 22 35 184 191 22 36 182 190 22 37 181 189 22 38 181 188 22 39 179 187 22 40 178 186 22 41 176 185 22 42 175 184 22 43 174 183 22 44 172 182 22 45 172 181 22 46 172 180 22 47 171 179 22 48 171 178 22 49 167 177 22 50 167 176 22 51 165 175 22 52 163 174 22 53 162 173 22 54 162 172 22 55 160 171 22 56 160 170 22 57 159 169 22 58 159 168 22 60 157 167 22 61 156 166 22 62 156 165 22 63 155 164 22 64 155 163 22 65 153 162 22 66 153 161 22 67 152 160 22 68 152 158 22 69 150 157 22 70 149 156 22 71 149 155 22 72 145 154 22 73 144 153 22 74 144 152 22 75 144 151 22 76 143 150 22 77 143 149 22 78 143 148 22 79 143 147 22 80 143 146 22 81 141 145 22 82 141 144 22 83 141 143 22 84 141 142 22 85 140 141 22 86 138 140 22 87 137 139 22 88 135 138 22 89 134 137 22 90 134 136 22 91 133 135 22 93 133 134 22 94 133 133 22 95 133 132 22 96 133 131 22 97 133 130 22 98 133 129 22 99 133 128 22 100 133 127 22 101 133 125 22 102 133 124 22 103 133 123 22 104 133 122 22 105 133 121 22 106 133 120 22 107 133 119 22 108 133 118 22 109 133 117 22 110 133 116 22 111 133 115 22 112 133 114 22 113 133 113 22 114 133 112 22 115 134 111 22 116 134 110 22 117 135 109 22 118 137 108 22 119 138 107 22 120 140 106 22 121 140 105 22 122 141 104 22 123 141 103 22 124 141 102 22 126 141 101 22 127 143 100 22 128 143 99 22 129 143 98 22 130 143 97 22 131 144 96 22 132 144 95 22 133 144 94 22 134 145 92 22 135 145 91 22 136 149 90 22 137 150 89 22 138 152 88 22 139 152 87 22 140 153 86 22 141 153 85 22 142 155 84 22 143 155 83 22 144 156 82 22 145 156 81 22 146 157 80 22 147 159 79 22 148 159 78 22 149 160 77 22 150 160 76 22 151 160 75 22 152 162 74 22 153 163 73 22 154 165 72 22 155 166 71 22 156 167 70 22 157 171 69 22 159 171 68 22 160 172 67 22 161 172 66 22 162 172 65 22 163 174 64 22 164 175 63 22 165 176 62 22 166 178 61 22 167 179 59 22 168 179 58 22 169 181 57 22 170 182 56 22 171 184 55 22 172 184 54 22 173 185 53 22 174 185 52 22 175 186 51 22 176 186 50 22 177 188 49 22 178 189 48 22 179 194 47 22 180 195 46 22 181 197 45 22 182 198 44 22 183 199 43 22 184 201 42 22 185 201 41 22 186 202 40 22 187 204 39 22 188 204 38 22 189 205 37 22 190 207 36 22 192 207 35 22 193 208 34 22 194 208 33 22 195 208 32 22 196 208 31 22 197 209 30 22 198 209 29 22 199 211 28 22 200 213 26 22 201 216 25 22 202 216 24 22 203 217 23 22 204 217 22 22 205 219 21 22 206 219 20 22 207 219 19 22 208 220 18 22 209 221 17 22 210 223 16 22 211 224 15 22 212 226 14 22 213 227 13 22 214 228 12 22 215 230 11 22 216 230 10 22 217 230 9 22 218 231 8 22 219 231 7 22 220 231 6 22 221 231 5 22 222 234 4 22 223 234 3 22 225 235 2 22 226 238 1 22 227 238 0 22 228 239 0 22 229 239 0 22 229 239 0 22 230 239 0 22 230 240 0 22 230 240 255 21 0 240 254 21 0 240 254 21 0 240 254 21 0 240 253 21 0 240 252 21 0 239 251 21 0 239 250 21 0 239 249 21 0 239 248 21 0 239 247 21 0 238 246 21 0 238 245 21 0 235 244 21 0 235 243 21 0 234 242 21 0 231 241 21 0 231 240 21 0 231 239 21 0 230 238 21 0 230 237 21 0 230 236 21 0 230 235 21 0 228 234 21 0 227 233 21 0 226 232 21 0 224 231 21 0 221 230 21 0 221 229 21 1 220 228 21 1 219 227 21 2 219 226 21 3 219 224 21 4 217 223 21 5 217 222 21 6 216 221 21 7 216 220 21 8 213 219 21 9 211 218 21 10 211 217 21 11 209 216 21 12 209 215 21 13 209 214 21 14 208 213 21 15 208 212 21 16 207 211 21 17 207 210 21 18 205 209 21 19 204 208 21 20 204 207 21 21 202 206 21 22 202 205 21 23 201 204 21 24 201 203 21 25 199 202 21 26 198 201 21 28 195 200 21 29 194 199 21 30 189 198 21 31 188 197 21 32 188 196 21 33 186 195 21 34 186 194 21 35 186 193 21 36 185 191 21 37 184 190 21 38 182 189 21 39 182 188 21 40 181 187 21 41 179 186 21 42 178 185 21 43 176 184 21 44 176 183 21 45 175 182 21 46 175 181 21 47 174 180 21 48 174 179 21 49 174 178 21 50 172 177 21 51 171 176 21 52 167 175 21 53 166 174 21 54 165 173 21 55 163 172 21 56 163 171 21 57 162 170 21 58 162 169 21 59 160 168 21 61 159 167 21 62 157 166 21 63 157 165 21 64 156 164 21 65 156 163 21 66 155 162 21 67 155 161 21 68 155 160 21 69 153 158 21 70 153 157 21 71 152 156 21 72 150 155 21 73 150 154 21 74 149 153 21 75 149 152 21 76 149 151 21 77 145 150 21 78 145 149 21 79 145 148 21 80 145 147 21 81 145 146 21 82 145 145 21 83 145 144 21 84 144 143 21 85 144 142 21 86 143 141 21 87 141 140 21 88 140 139 21 89 138 138 21 90 137 137 21 91 137 136 21 92 135 135 21 94 135 134 21 95 135 133 21 96 135 132 21 97 135 131 21 98 135 130 21 99 135 129 21 100 135 128 21 101 135 127 21 102 135 125 21 103 135 124 21 104 135 123 21 105 135 122 21 106 135 121 21 107 135 120 21 108 135 119 21 109 135 118 21 110 135 117 21 111 135 116 21 112 135 115 21 113 135 114 21 114 135 113 21 115 135 112 21 116 137 111 21 117 137 110 21 118 138 109 21 119 140 108 21 120 141 107 21 121 143 106 21 122 144 105 21 123 144 104 21 124 144 103 21 125 145 102 21 127 145 101 21 128 145 100 21 129 145 99 21 130 145 98 21 131 145 97 21 132 149 96 21 133 149 95 21 134 149 94 21 135 150 92 21 136 150 91 21 137 152 90 21 138 153 89 21 139 153 88 21 140 155 87 21 141 155 86 21 142 155 85 21 143 156 84 21 144 156 83 21 145 157 82 21 146 157 81 21 147 159 80 21 148 160 79 21 149 160 78 21 150 162 77 21 151 162 76 21 152 163 75 21 153 165 74 21 154 166 73 21 155 167 72 21 156 171 71 21 157 172 70 21 158 172 69 21 160 174 68 21 161 174 67 21 162 175 66 21 163 175 65 21 164 175 64 21 165 176 63 21 166 178 62 21 167 179 61 21 168 181 59 21 169 182 58 21 170 182 57 21 171 184 56 21 172 185 55 21 173 185 54 21 174 186 53 21 175 186 52 21 176 188 51 21 177 188 50 21 178 189 49 21 179 194 48 21 180 195 47 21 181 197 46 21 182 199 45 21 183 201 44 21 184 201 43 21 185 202 42 21 186 202 41 21 187 204 40 21 188 204 39 21 189 205 38 21 190 207 37 21 191 207 36 21 193 208 35 21 194 208 34 21 195 208 33 21 196 209 32 21 197 209 31 21 198 211 30 21 199 211 29 21 200 213 28 21 201 213 26 21 202 216 25 21 203 217 24 21 204 217 23 21 205 219 22 21 206 219 21 21 207 219 20 21 208 220 19 21 209 220 18 21 210 221 17 21 211 223 16 21 212 226 15 21 213 227 14 21 214 228 13 21 215 230 12 21 216 230 11 21 217 230 10 21 218 230 9 21 219 231 8 21 220 231 7 21 221 231 6 21 222 234 5 21 223 234 4 21 224 235 3 21 226 238 2 21 227 238 1 21 228 238 0 21 229 239 0 21 230 239 0 21 230 239 0 21 231 239 0 21 231 240 0 21 231 240 255 20 0 240 254 20 0 240 254 20 0 240 254 20 0 240 253 20 0 240 252 20 0 239 251 20 0 239 250 20 0 239 249 20 0 239 248 20 0 239 247 20 0 239 246 20 0 238 245 20 0 238 244 20 0 235 243 20 0 235 242 20 0 234 241 20 0 231 240 20 0 231 239 20 0 231 238 20 0 230 237 20 0 230 236 20 0 230 235 20 0 228 234 20 0 228 233 20 0 226 232 20 0 224 231 20 0 223 230 20 1 221 229 20 1 220 228 20 2 220 227 20 3 220 226 20 4 219 224 20 5 219 223 20 6 217 222 20 7 217 221 20 8 216 220 20 9 216 219 20 10 213 218 20 11 211 217 20 12 211 216 20 13 209 215 20 14 209 214 20 15 209 213 20 16 208 212 20 17 208 211 20 18 207 210 20 19 207 209 20 20 205 208 20 21 205 207 20 22 204 206 20 23 204 205 20 24 202 204 20 25 202 203 20 26 201 202 20 27 199 201 20 29 198 200 20 30 197 199 20 31 195 198 20 32 194 197 20 33 189 196 20 34 189 195 20 35 188 194 20 36 188 193 20 37 186 191 20 38 185 190 20 39 185 189 20 40 184 188 20 41 182 187 20 42 181 186 20 43 181 185 20 44 179 184 20 45 178 183 20 46 178 182 20 47 176 181 20 48 176 180 20 49 176 179 20 50 175 178 20 51 174 177 20 52 172 176 20 53 171 175 20 54 167 174 20 55 167 173 20 56 166 172 20 57 166 171 20 58 165 170 20 59 163 169 20 60 162 168 20 62 160 167 20 63 160 166 20 64 159 165 20 65 157 164 20 66 157 163 20 67 157 162 20 68 157 161 20 69 156 160 20 70 156 158 20 71 155 157 20 72 155 156 20 73 153 155 20 74 152 154 20 75 152 153 20 76 152 152 20 77 150 151 20 78 150 150 20 79 150 149 20 80 150 148 20 81 150 147 20 82 150 146 20 83 150 145 20 84 150 144 20 85 150 143 20 86 149 142 20 87 145 141 20 88 144 140 20 89 143 139 20 90 141 138 20 91 141 137 20 92 140 136 20 93 140 135 20 95 140 134 20 96 140 133 20 97 140 132 20 98 140 131 20 99 140 130 20 100 140 129 20 101 140 128 20 102 140 127 20 103 140 125 20 104 140 124 20 105 140 123 20 106 140 122 20 107 140 121 20 108 140 120 20 109 140 119 20 110 140 118 20 111 140 117 20 112 140 116 20 113 140 115 20 114 140 114 20 115 140 113 20 116 140 112 20 117 140 111 20 118 141 110 20 119 141 109 20 120 143 108 20 121 144 107 20 122 145 106 20 123 149 105 20 124 149 104 20 125 150 103 20 126 150 102 20 128 150 101 20 129 150 100 20 130 150 99 20 131 150 98 20 132 150 97 20 133 150 96 20 134 152 95 20 135 152 94 20 136 152 92 20 137 153 91 20 138 153 90 20 139 155 89 20 140 156 88 20 141 156 87 20 142 156 86 20 143 157 85 20 144 157 84 20 145 157 83 20 146 159 82 20 147 160 81 20 148 160 80 20 149 162 79 20 150 163 78 20 151 165 77 20 152 165 76 20 153 166 75 20 154 167 74 20 155 167 73 20 156 171 72 20 157 172 71 20 158 174 70 20 159 175 69 20 161 175 68 20 162 176 67 20 163 176 66 20 164 178 65 20 165 178 64 20 166 179 63 20 167 179 62 20 168 181 61 20 169 182 59 20 170 184 58 20 171 184 57 20 172 185 56 20 173 186 55 20 174 186 54 20 175 188 53 20 176 188 52 20 177 189 51 20 178 194 50 20 179 195 49 20 180 197 48 20 181 198 47 20 182 199 46 20 183 201 45 20 184 202 44 20 185 202 43 20 186 204 42 20 187 204 41 20 188 205 40 20 189 205 39 20 190 207 38 20 191 207 37 20 192 208 36 20 194 208 35 20 195 209 34 20 196 209 33 20 197 209 32 20 198 211 31 20 199 211 30 20 200 213 29 20 201 213 28 20 202 216 26 20 203 217 25 20 204 217 24 20 205 219 23 20 206 219 22 20 207 219 21 20 208 220 20 20 209 220 19 20 210 221 18 20 211 223 17 20 212 224 16 20 213 226 15 20 214 227 14 20 215 228 13 20 216 230 12 20 217 230 11 20 218 230 10 20 219 231 9 20 220 231 8 20 221 231 7 20 222 234 6 20 223 234 5 20 224 235 4 20 225 235 3 20 227 238 2 20 228 238 1 20 229 239 0 20 230 239 0 20 231 239 0 20 231 239 0 20 231 239 0 20 232 240 0 20 232 240 255 19 0 242 254 19 0 240 254 19 0 240 254 19 0 240 253 19 0 240 252 19 0 240 251 19 0 239 250 19 0 239 249 19 0 239 248 19 0 239 247 19 0 239 246 19 0 239 245 19 0 238 244 19 0 238 243 19 0 235 242 19 0 235 241 19 0 234 240 19 0 231 239 19 0 231 238 19 0 231 237 19 0 230 236 19 0 230 235 19 0 230 234 19 0 228 233 19 0 227 232 19 1 226 231 19 1 223 230 19 2 223 229 19 2 221 228 19 3 220 227 19 4 220 226 19 5 220 224 19 6 219 223 19 7 219 222 19 8 219 221 19 9 217 220 19 10 216 219 19 11 216 218 19 12 213 217 19 13 211 216 19 14 211 215 19 15 211 214 19 16 209 213 19 17 209 212 19 18 208 211 19 19 208 210 19 20 208 209 19 21 207 208 19 22 205 207 19 24 205 206 19 25 205 205 19 26 204 204 19 27 204 203 19 28 202 202 19 29 201 201 19 30 199 200 19 31 198 199 19 32 197 198 19 33 195 197 19 34 194 196 19 35 194 195 19 36 189 194 19 37 189 193 19 38 188 191 19 39 186 190 19 40 186 189 19 41 185 188 19 42 184 187 19 43 182 186 19 44 182 185 19 45 181 184 19 46 181 183 19 47 179 182 19 48 179 181 19 49 178 180 19 50 178 179 19 51 176 178 19 52 175 177 19 53 175 176 19 54 174 175 19 55 172 174 19 57 172 173 19 58 171 172 19 59 171 171 19 60 167 170 19 61 166 169 19 62 165 168 19 63 163 167 19 64 162 166 19 65 160 165 19 66 160 164 19 67 160 163 19 68 159 162 19 69 159 161 19 70 159 160 19 71 157 158 19 72 156 157 19 73 156 156 19 74 155 155 19 75 155 154 19 76 153 153 19 77 153 152 19 78 153 151 19 79 153 150 19 80 153 149 19 81 153 148 19 82 153 147 19 83 153 146 19 84 153 145 19 85 153 144 19 86 152 143 19 87 152 142 19 88 150 141 19 90 149 140 19 91 145 139 19 92 144 138 19 93 144 137 19 94 143 136 19 95 143 135 19 96 143 134 19 97 143 133 19 98 143 132 19 99 143 131 19 100 143 130 19 101 143 129 19 102 143 128 19 103 143 127 19 104 143 125 19 105 143 124 19 106 143 123 19 107 143 122 19 108 143 121 19 109 143 120 19 110 143 119 19 111 143 118 19 112 143 117 19 113 143 116 19 114 143 115 19 115 143 114 19 116 143 113 19 117 143 112 19 118 143 111 19 119 144 110 19 120 144 109 19 121 145 108 19 123 149 107 19 124 150 106 19 125 150 105 19 126 152 104 19 127 152 103 19 128 153 102 19 129 153 101 19 130 153 100 19 131 153 99 19 132 153 98 19 133 153 97 19 134 153 96 19 135 153 95 19 136 153 94 19 137 155 92 19 138 155 91 19 139 156 90 19 140 156 89 19 141 157 88 19 142 159 87 19 143 159 86 19 144 159 85 19 145 160 84 19 146 160 83 19 147 160 82 19 148 162 81 19 149 163 80 19 150 165 79 19 151 166 78 19 152 167 77 19 153 167 76 19 154 171 75 19 156 172 74 19 157 172 73 19 158 174 72 19 159 175 71 19 160 175 70 19 161 176 69 19 162 178 68 19 163 178 67 19 164 179 66 19 165 179 65 19 166 181 64 19 167 181 63 19 168 182 62 19 169 182 61 19 170 184 59 19 171 185 58 19 172 185 57 19 173 186 56 19 174 188 55 19 175 189 54 19 176 189 53 19 177 194 52 19 178 194 51 19 179 195 50 19 180 197 49 19 181 198 48 19 182 199 47 19 183 201 46 19 184 202 45 19 185 204 44 19 186 204 43 19 187 205 42 19 189 205 41 19 190 205 40 19 191 207 39 19 192 207 38 19 193 208 37 19 194 208 36 19 195 209 35 19 196 209 34 19 197 209 33 19 198 211 32 19 199 211 31 19 200 213 30 19 201 216 29 19 202 216 28 19 203 217 26 19 204 217 25 19 205 219 24 19 206 219 23 19 207 220 22 19 208 220 21 19 209 220 20 19 210 221 19 19 211 221 18 19 212 223 17 19 213 226 16 19 214 227 15 19 215 228 14 19 216 230 13 19 217 230 12 19 218 230 11 19 219 231 10 19 220 231 9 19 222 231 8 19 223 234 7 19 224 234 6 19 225 235 5 19 226 238 4 19 227 238 3 19 228 239 2 19 229 239 1 19 230 239 0 19 231 239 0 19 232 239 0 19 232 239 0 19 233 239 0 19 233 240 0 19 233 240 255 18 0 243 254 18 0 242 254 18 0 242 254 18 0 240 253 18 0 240 252 18 0 240 251 18 0 240 250 18 0 240 249 18 0 239 248 18 0 239 247 18 0 239 246 18 0 239 245 18 0 239 244 18 0 238 243 18 0 238 242 18 0 235 241 18 0 235 240 18 0 234 239 18 0 231 238 18 0 231 237 18 0 231 236 18 0 230 235 18 0 230 234 18 0 228 233 18 1 227 232 18 2 226 231 18 2 224 230 18 3 223 229 18 3 223 228 18 4 221 227 18 5 221 226 18 6 221 224 18 7 220 223 18 9 220 222 18 10 219 221 18 10 217 220 18 11 217 219 18 12 216 218 18 13 216 217 18 14 213 216 18 15 213 215 18 17 211 214 18 18 211 213 18 18 209 212 18 19 209 211 18 20 208 210 18 21 208 209 18 22 208 208 18 24 207 207 18 25 207 206 18 26 205 205 18 27 205 204 18 28 204 203 18 29 204 202 18 30 202 201 18 31 201 200 18 32 199 199 18 34 198 198 18 35 197 197 18 35 197 196 18 36 195 195 18 37 194 194 18 38 194 193 18 39 189 191 18 40 188 190 18 42 186 189 18 43 186 188 18 43 185 187 18 44 184 186 18 45 184 185 18 46 182 184 18 47 182 183 18 48 181 182 18 50 181 181 18 51 179 180 18 51 179 179 18 52 178 178 18 53 176 177 18 54 176 176 18 55 175 175 18 57 175 174 18 58 174 173 18 59 174 172 18 60 174 171 18 61 172 170 18 62 171 169 18 63 167 168 18 64 166 167 18 65 165 166 18 67 163 165 18 68 162 164 18 68 162 163 18 69 162 162 18 70 162 161 18 71 160 160 18 72 159 158 18 73 159 157 18 75 157 156 18 76 156 155 18 76 156 154 18 77 155 153 18 78 155 152 18 79 155 151 18 80 155 150 18 81 155 149 18 83 155 148 18 84 155 147 18 84 155 146 18 85 155 145 18 86 155 144 18 87 153 143 18 88 153 142 18 90 152 141 18 91 150 140 18 92 149 139 18 93 149 138 18 94 145 137 18 95 145 136 18 96 145 135 18 97 145 134 18 98 145 133 18 100 145 132 18 101 145 131 18 101 145 130 18 102 145 129 18 103 145 128 18 104 145 127 18 105 145 125 18 106 145 124 18 108 145 123 18 109 145 122 18 109 145 121 18 110 145 120 18 111 145 119 18 112 145 118 18 113 145 117 18 114 145 116 18 116 145 115 18 117 145 114 18 117 145 113 18 118 145 112 18 119 145 111 18 120 145 110 18 121 149 109 18 123 149 108 18 124 150 107 18 125 152 106 18 126 152 105 18 127 153 104 18 128 155 103 18 129 155 102 18 130 155 101 18 131 155 100 18 133 155 99 18 134 155 98 18 134 155 97 18 135 155 96 18 136 155 95 18 137 155 94 18 138 156 92 18 139 156 91 18 141 157 90 18 142 157 89 18 142 159 88 18 143 160 87 18 144 162 86 18 145 162 85 18 146 162 84 18 147 162 83 18 149 163 82 18 150 163 81 18 150 165 80 18 151 166 79 18 152 171 78 18 153 172 77 18 154 172 76 18 156 174 75 18 157 174 74 18 158 175 73 18 159 175 72 18 160 176 71 18 161 176 70 18 162 178 69 18 163 179 68 18 164 179 67 18 166 181 66 18 167 181 65 18 167 182 64 18 168 182 63 18 169 184 62 18 170 184 61 18 171 185 59 18 172 185 58 18 174 186 57 18 175 188 56 18 175 189 55 18 176 194 54 18 177 194 53 18 178 195 52 18 179 197 51 18 180 197 50 18 182 198 49 18 183 199 48 18 183 201 47 18 184 202 46 18 185 204 45 18 186 204 44 18 187 205 43 18 189 205 42 18 190 205 41 18 191 207 40 18 192 207 39 18 193 208 38 18 194 208 37 18 195 209 36 18 196 209 35 18 197 209 34 18 199 211 33 18 200 211 32 18 200 213 31 18 201 216 30 18 202 216 29 18 203 217 28 18 204 217 26 18 205 219 25 18 207 220 24 18 208 220 23 18 208 220 22 18 209 221 21 18 210 221 20 18 211 223 19 18 212 223 18 18 213 224 17 18 215 226 16 18 216 227 15 18 216 228 14 18 217 230 13 18 218 230 12 18 219 231 11 18 220 231 10 18 222 231 9 18 223 234 8 18 224 234 7 18 225 235 6 18 226 238 5 18 227 238 4 18 228 238 3 18 229 239 2 18 230 239 1 18 232 239 0 18 232 239 0 18 233 240 0 18 234 240 0 18 234 240 0 18 234 240 0 18 234 240 255 17 0 245 254 17 0 243 254 17 0 243 254 17 0 242 253 17 0 240 252 17 0 240 251 17 0 240 250 17 0 240 249 17 0 239 248 17 0 239 247 17 0 239 246 17 0 239 245 17 0 239 244 17 0 239 243 17 0 238 242 17 0 238 241 17 0 235 240 17 0 234 239 17 0 234 238 17 0 231 237 17 0 231 236 17 0 231 235 17 0 230 234 17 1 228 233 17 2 228 232 17 2 227 231 17 3 226 230 17 4 226 229 17 4 224 228 17 5 224 227 17 6 223 226 17 7 221 224 17 9 221 223 17 10 220 222 17 11 220 221 17 12 219 220 17 12 217 219 17 13 217 218 17 14 216 217 17 15 216 216 17 17 213 215 17 18 213 214 17 19 211 213 17 20 211 212 17 20 209 211 17 21 209 210 17 22 208 209 17 24 208 208 17 25 207 207 17 26 207 206 17 27 205 205 17 28 205 204 17 29 205 203 17 30 204 202 17 31 204 201 17 32 202 200 17 34 201 199 17 35 199 198 17 36 199 197 17 37 198 196 17 37 197 195 17 38 197 194 17 39 195 193 17 40 195 191 17 42 194 190 17 43 189 189 17 44 188 188 17 45 186 187 17 45 185 186 17 46 185 185 17 47 184 184 17 48 184 183 17 50 182 182 17 51 182 181 17 52 181 180 17 53 181 179 17 53 179 178 17 54 178 177 17 55 178 176 17 57 178 175 17 58 176 174 17 59 176 173 17 60 176 172 17 61 175 171 17 62 175 170 17 63 174 169 17 64 172 168 17 65 167 167 17 67 167 166 17 68 166 165 17 69 165 164 17 70 165 163 17 70 165 162 17 71 165 161 17 72 163 160 17 73 162 158 17 75 160 157 17 76 159 156 17 77 157 155 17 78 157 154 17 78 157 153 17 79 157 152 17 80 157 151 17 81 157 150 17 83 157 149 17 84 157 148 17 85 156 147 17 86 156 146 17 86 156 145 17 87 156 144 17 88 155 143 17 90 155 142 17 91 153 141 17 92 152 140 17 93 152 139 17 94 150 138 17 95 150 137 17 96 150 136 17 97 150 135 17 98 150 134 17 100 150 133 17 101 150 132 17 102 150 131 17 103 150 130 17 103 150 129 17 104 150 128 17 105 150 127 17 106 150 125 17 108 150 124 17 109 150 123 17 110 150 122 17 111 150 121 17 111 150 120 17 112 150 119 17 113 150 118 17 114 150 117 17 116 150 116 17 117 150 115 17 118 150 114 17 119 150 113 17 119 150 112 17 120 150 111 17 121 150 110 17 123 150 109 17 124 152 108 17 125 152 107 17 126 153 106 17 127 153 105 17 128 155 104 17 129 156 103 17 130 156 102 17 131 156 101 17 133 156 100 17 134 157 99 17 135 157 98 17 136 157 97 17 136 157 96 17 137 157 95 17 138 157 94 17 139 157 92 17 141 157 91 17 142 159 90 17 143 160 89 17 144 162 88 17 144 163 87 17 145 163 86 17 146 165 85 17 147 165 84 17 149 165 83 17 150 166 82 17 151 166 81 17 152 167 80 17 152 171 79 17 153 172 78 17 154 174 77 17 156 175 76 17 157 176 75 17 158 176 74 17 159 176 73 17 160 178 72 17 161 178 71 17 162 178 70 17 163 179 69 17 164 181 68 17 166 181 67 17 167 182 66 17 168 182 65 17 169 184 64 17 169 184 63 17 170 185 62 17 171 185 61 17 172 186 59 17 174 188 58 17 175 188 57 17 176 189 56 17 177 194 55 17 177 195 54 17 178 197 53 17 179 197 52 17 180 198 51 17 182 199 50 17 183 199 49 17 184 201 48 17 185 202 47 17 185 204 46 17 186 204 45 17 187 205 44 17 189 205 43 17 190 205 42 17 191 207 41 17 192 207 40 17 193 208 39 17 194 208 38 17 195 209 37 17 196 209 36 17 197 209 35 17 199 211 34 17 200 211 33 17 201 213 32 17 202 216 31 17 202 216 30 17 203 217 29 17 204 217 28 17 205 219 26 17 207 219 25 17 208 220 24 17 209 221 23 17 210 221 22 17 210 223 21 17 211 223 20 17 212 224 19 17 213 226 18 17 215 226 17 17 216 227 16 17 217 228 15 17 218 228 14 17 218 230 13 17 219 231 12 17 220 231 11 17 222 231 10 17 223 234 9 17 224 234 8 17 225 235 7 17 226 235 6 17 227 238 5 17 228 238 4 17 229 239 3 17 230 239 2 17 232 239 1 17 233 239 0 17 234 239 0 17 234 240 0 17 235 240 0 17 235 240 0 17 235 240 0 17 235 240 255 16 0 246 254 16 0 246 254 16 0 245 254 16 0 243 253 16 0 242 252 16 0 240 251 16 0 240 250 16 0 240 249 16 0 239 248 16 0 239 247 16 0 239 246 16 0 239 245 16 0 239 244 16 0 239 243 16 0 239 242 16 0 238 241 16 0 238 240 16 0 235 239 16 0 235 238 16 0 234 237 16 0 231 236 16 0 231 235 16 0 230 234 16 1 230 233 16 2 228 232 16 3 228 231 16 4 227 230 16 5 227 229 16 5 227 228 16 6 226 227 16 7 224 226 16 8 224 224 16 10 223 223 16 11 221 222 16 12 220 221 16 13 220 220 16 13 219 219 16 14 219 218 16 15 217 217 16 16 216 216 16 18 216 215 16 19 213 214 16 20 213 213 16 21 211 212 16 21 211 211 16 22 209 210 16 23 209 209 16 25 209 208 16 26 208 207 16 27 208 206 16 28 207 205 16 29 205 204 16 30 205 203 16 31 205 202 16 32 204 201 16 33 204 200 16 35 202 199 16 36 202 198 16 37 201 197 16 38 201 196 16 38 199 195 16 39 198 194 16 40 198 193 16 41 197 191 16 43 195 190 16 44 194 189 16 45 189 188 16 46 188 187 16 46 188 186 16 47 186 185 16 48 186 184 16 49 185 183 16 51 185 182 16 52 184 181 16 53 182 180 16 54 182 179 16 54 181 178 16 55 181 177 16 56 179 176 16 58 179 175 16 59 179 174 16 60 179 173 16 61 178 172 16 62 178 171 16 63 176 170 16 64 175 169 16 65 174 168 16 66 172 167 16 68 172 166 16 69 171 165 16 70 171 164 16 71 171 163 16 71 167 162 16 72 167 161 16 73 166 160 16 74 165 158 16 76 162 157 16 77 160 156 16 78 160 155 16 79 159 154 16 79 159 153 16 80 159 152 16 81 159 151 16 82 159 150 16 84 159 149 16 85 159 148 16 86 159 147 16 87 159 146 16 87 159 145 16 88 157 144 16 89 156 143 16 91 156 142 16 92 155 141 16 93 155 140 16 94 153 139 16 95 153 138 16 96 153 137 16 97 153 136 16 98 153 135 16 99 153 134 16 101 153 133 16 102 153 132 16 103 153 131 16 104 153 130 16 104 153 129 16 105 153 128 16 106 153 127 16 107 153 125 16 109 153 124 16 110 153 123 16 111 153 122 16 112 153 121 16 112 153 120 16 113 153 119 16 114 153 118 16 115 153 117 16 117 153 116 16 118 153 115 16 119 153 114 16 120 153 113 16 120 153 112 16 121 153 111 16 122 153 110 16 124 153 109 16 125 153 108 16 126 153 107 16 127 155 106 16 128 156 105 16 129 156 104 16 130 157 103 16 131 157 102 16 132 159 101 16 134 159 100 16 135 159 99 16 136 159 98 16 137 159 97 16 137 159 96 16 138 159 95 16 139 159 94 16 140 159 92 16 142 160 91 16 143 160 90 16 144 162 89 16 145 163 88 16 145 165 87 16 146 166 86 16 147 167 85 16 148 167 84 16 150 171 83 16 151 171 82 16 152 171 81 16 153 172 80 16 153 174 79 16 154 175 78 16 155 176 77 16 157 178 76 16 158 178 75 16 159 179 74 16 160 179 73 16 161 179 72 16 162 179 71 16 163 181 70 16 164 181 69 16 165 182 68 16 167 182 67 16 168 184 66 16 169 185 65 16 170 185 64 16 170 186 63 16 171 186 62 16 172 188 61 16 173 188 59 16 175 189 58 16 176 194 57 16 177 195 56 16 178 197 55 16 178 198 54 16 179 198 53 16 180 199 52 16 181 199 51 16 183 201 50 16 184 202 49 16 185 202 48 16 186 204 47 16 186 204 46 16 187 205 45 16 188 205 44 16 190 205 43 16 191 207 42 16 192 207 41 16 193 208 40 16 194 208 39 16 195 209 38 16 196 209 37 16 197 209 36 16 198 211 35 16 200 211 34 16 201 213 33 16 202 216 32 16 203 216 31 16 203 217 30 16 204 217 29 16 205 219 28 16 206 219 26 16 208 220 25 16 209 221 24 16 210 223 23 16 211 223 22 16 211 224 21 16 212 226 20 16 213 226 19 16 214 227 18 16 216 227 17 16 217 228 16 16 218 228 15 16 219 230 14 16 219 230 13 16 220 231 12 16 221 231 11 16 223 234 10 16 224 234 9 16 225 235 8 16 226 238 7 16 227 238 6 16 228 239 5 16 229 239 4 16 230 239 3 16 231 239 2 16 233 239 1 16 234 239 0 16 235 239 0 16 235 240 0 16 236 240 0 16 236 240 0 16 236 240 0 16 236 240 255 15 0 249 254 15 0 248 254 15 0 245 254 15 0 243 253 15 0 242 252 15 0 240 251 15 0 240 250 15 0 240 249 15 0 240 248 15 0 240 247 15 0 240 246 15 0 240 245 15 0 239 244 15 0 239 243 15 0 239 242 15 0 239 241 15 0 238 240 15 0 238 239 15 0 235 238 15 0 234 237 15 0 234 236 15 0 231 235 15 1 231 234 15 2 230 233 15 3 230 232 15 4 228 231 15 5 228 230 15 6 228 229 15 6 228 228 15 7 227 227 15 8 227 226 15 9 226 224 15 10 224 223 15 12 223 222 15 13 221 221 15 14 220 220 15 14 220 219 15 15 219 218 15 16 217 217 15 17 217 216 15 18 216 215 15 20 216 214 15 21 213 213 15 22 213 212 15 22 211 211 15 23 211 210 15 24 209 209 15 26 209 208 15 27 208 207 15 28 208 206 15 29 208 205 15 30 207 204 15 31 207 203 15 32 205 202 15 33 205 201 15 34 205 200 15 35 204 199 15 37 204 198 15 38 202 197 15 39 202 196 15 39 201 195 15 40 201 194 15 41 199 193 15 42 198 191 15 43 197 190 15 45 195 189 15 46 194 188 15 47 194 187 15 47 189 186 15 48 189 185 15 49 188 184 15 50 186 183 15 51 186 182 15 53 185 181 15 54 184 180 15 55 184 179 15 55 182 178 15 56 182 177 15 57 182 176 15 59 182 175 15 60 181 174 15 61 181 173 15 62 181 172 15 63 179 171 15 64 179 170 15 65 178 169 15 66 176 168 15 67 175 167 15 68 174 166 15 70 174 165 15 71 174 164 15 72 172 163 15 72 172 162 15 73 171 161 15 74 167 160 15 75 166 158 15 76 165 157 15 78 163 156 15 79 162 155 15 80 162 154 15 80 162 153 15 81 162 152 15 82 162 151 15 83 162 150 15 84 162 149 15 86 162 148 15 87 160 147 15 88 160 146 15 88 160 145 15 89 159 144 15 90 157 143 15 92 157 142 15 93 156 141 15 94 156 140 15 95 155 139 15 96 155 138 15 97 155 137 15 98 155 136 15 99 155 135 15 100 155 134 15 101 155 133 15 103 155 132 15 104 155 131 15 105 155 130 15 105 155 129 15 106 155 128 15 107 155 127 15 108 155 125 15 109 155 124 15 111 155 123 15 112 155 122 15 113 155 121 15 113 155 120 15 114 155 119 15 115 155 118 15 116 155 117 15 117 155 116 15 119 155 115 15 120 155 114 15 121 155 113 15 121 155 112 15 122 155 111 15 123 155 110 15 125 155 109 15 126 155 108 15 127 155 107 15 128 156 106 15 129 156 105 15 130 157 104 15 131 159 103 15 132 160 102 15 133 160 101 15 134 160 100 15 136 162 99 15 137 162 98 15 138 162 97 15 138 162 96 15 139 162 95 15 140 162 94 15 141 162 92 15 142 162 91 15 144 163 90 15 145 165 89 15 146 166 88 15 146 167 87 15 147 171 86 15 148 172 85 15 149 172 84 15 150 174 83 15 152 174 82 15 153 174 81 15 154 175 80 15 154 176 79 15 155 176 78 15 156 178 77 15 158 179 76 15 159 181 75 15 160 181 74 15 161 181 73 15 162 182 72 15 163 182 71 15 164 182 70 15 165 182 69 15 166 184 68 15 167 184 67 15 169 185 66 15 170 185 65 15 171 186 64 15 171 188 63 15 172 189 62 15 173 189 61 15 174 194 59 15 175 194 58 15 177 195 57 15 178 197 56 15 179 198 55 15 179 199 54 15 180 201 53 15 181 201 52 15 182 202 51 15 183 202 50 15 185 204 49 15 186 204 48 15 187 205 47 15 187 205 46 15 188 205 45 15 189 207 44 15 191 207 43 15 192 207 42 15 193 208 41 15 194 208 40 15 195 209 39 15 196 209 38 15 197 209 37 15 198 211 36 15 199 211 35 15 200 213 34 15 202 216 33 15 203 216 32 15 204 217 31 15 204 217 30 15 205 219 29 15 206 220 28 15 207 220 26 15 208 221 25 15 210 223 24 15 211 224 23 15 212 224 22 15 212 226 21 15 213 227 20 15 214 227 19 15 215 228 18 15 216 228 17 15 218 228 16 15 219 230 15 15 220 230 14 15 220 231 13 15 221 231 12 15 222 234 11 15 224 234 10 15 225 235 9 15 226 238 8 15 227 238 7 15 228 239 6 15 229 239 5 15 230 239 4 15 231 239 3 15 232 239 2 15 233 240 1 15 235 240 0 15 235 240 0 15 236 240 0 15 237 240 0 15 237 240 0 15 237 240 0 15 237 240 255 14 0 249 254 14 0 248 254 14 0 246 254 14 0 245 253 14 0 242 252 14 0 242 251 14 0 240 250 14 0 240 249 14 0 240 248 14 0 240 247 14 0 240 246 14 0 240 245 14 0 239 244 14 0 239 243 14 0 239 242 14 0 239 241 14 0 239 240 14 0 238 239 14 0 238 238 14 0 235 237 14 0 234 236 14 1 234 235 14 1 231 234 14 2 231 233 14 3 230 232 14 4 230 231 14 5 230 230 14 6 230 229 14 7 230 228 14 8 228 227 14 9 228 226 14 10 227 224 14 11 226 223 14 12 224 222 14 13 223 221 14 14 221 220 14 15 220 219 14 16 220 218 14 17 219 217 14 18 217 216 14 19 217 215 14 20 216 214 14 21 216 213 14 22 213 212 14 23 213 211 14 24 211 210 14 25 211 209 14 27 209 208 14 28 209 207 14 29 209 206 14 30 208 205 14 31 208 204 14 32 207 203 14 33 207 202 14 34 207 201 14 35 205 200 14 36 205 199 14 37 205 198 14 38 204 197 14 39 204 196 14 40 202 195 14 41 202 194 14 42 201 193 14 43 199 191 14 44 198 190 14 45 198 189 14 46 197 188 14 47 195 187 14 48 195 186 14 49 194 185 14 50 189 184 14 51 188 183 14 52 188 182 14 53 186 181 14 54 185 180 14 55 185 179 14 56 185 178 14 57 184 177 14 58 184 176 14 60 184 175 14 61 184 174 14 62 182 173 14 63 182 172 14 64 181 171 14 65 181 170 14 66 179 169 14 67 178 168 14 68 178 167 14 69 176 166 14 70 176 165 14 71 175 164 14 72 175 163 14 73 174 162 14 74 174 161 14 75 172 160 14 76 171 158 14 77 167 157 14 78 166 156 14 79 165 155 14 80 165 154 14 81 165 153 14 82 165 152 14 83 165 151 14 84 165 150 14 85 165 149 14 86 163 148 14 87 163 147 14 88 163 146 14 89 162 145 14 90 160 144 14 91 159 143 14 93 159 142 14 94 157 141 14 95 157 140 14 96 157 139 14 97 156 138 14 98 156 137 14 99 156 136 14 100 156 135 14 101 156 134 14 102 156 133 14 103 156 132 14 104 156 131 14 105 156 130 14 106 156 129 14 107 156 128 14 108 156 127 14 109 156 125 14 110 156 124 14 111 156 123 14 112 156 122 14 113 156 121 14 114 156 120 14 115 156 119 14 116 156 118 14 117 156 117 14 118 156 116 14 119 156 115 14 120 156 114 14 121 156 113 14 122 156 112 14 123 156 111 14 124 156 110 14 126 156 109 14 127 156 108 14 128 157 107 14 129 157 106 14 130 159 105 14 131 159 104 14 132 160 103 14 133 162 102 14 134 163 101 14 135 163 100 14 136 163 99 14 137 165 98 14 138 165 97 14 139 165 96 14 140 165 95 14 141 165 94 14 142 165 92 14 143 165 91 14 144 166 90 14 145 166 89 14 146 167 88 14 147 171 87 14 148 172 86 14 149 174 85 14 150 175 84 14 151 175 83 14 152 176 82 14 153 176 81 14 154 176 80 14 155 178 79 14 156 179 78 14 157 179 77 14 159 181 76 14 160 182 75 14 161 182 74 14 162 184 73 14 163 184 72 14 164 184 71 14 165 184 70 14 166 184 69 14 167 185 68 14 168 185 67 14 169 186 66 14 170 188 65 14 171 188 64 14 172 189 63 14 173 194 62 14 174 195 61 14 175 195 59 14 176 197 58 14 177 198 57 14 178 198 56 14 179 199 55 14 180 201 54 14 181 202 53 14 182 202 52 14 183 204 51 14 184 204 50 14 185 204 49 14 186 205 48 14 187 205 47 14 188 207 46 14 189 207 45 14 190 207 44 14 192 208 43 14 193 208 42 14 194 209 41 14 195 209 40 14 196 209 39 14 197 211 38 14 198 211 37 14 199 211 36 14 200 213 35 14 201 216 34 14 202 216 33 14 203 217 32 14 204 217 31 14 205 219 30 14 206 220 29 14 207 220 28 14 208 221 26 14 209 223 25 14 210 224 24 14 211 226 23 14 212 226 22 14 213 227 21 14 214 228 20 14 215 228 19 14 216 230 18 14 217 230 17 14 218 230 16 14 219 230 15 14 220 231 14 14 221 231 13 14 222 234 12 14 223 234 11 14 225 235 10 14 226 238 9 14 227 238 8 14 228 239 7 14 229 239 6 14 230 239 5 14 231 239 4 14 232 239 3 14 233 239 2 14 234 240 1 14 235 240 0 14 236 240 0 14 237 240 0 14 237 240 0 14 238 240 0 14 238 240 0 14 238 240 255 13 0 250 254 13 0 249 254 13 0 248 254 13 0 245 253 13 0 243 252 13 0 242 251 13 0 240 250 13 0 240 249 13 0 240 248 13 0 240 247 13 0 240 246 13 0 240 245 13 0 239 244 13 0 239 243 13 0 239 242 13 0 239 241 13 0 239 240 13 0 239 239 13 0 238 238 13 0 238 237 13 1 235 236 13 1 234 235 13 2 234 234 13 3 231 233 13 4 231 232 13 5 230 231 13 6 230 230 13 7 230 229 13 8 230 228 13 9 230 227 13 10 228 226 13 11 228 224 13 12 227 223 13 13 226 222 13 14 224 221 13 15 223 220 13 16 221 219 13 17 220 218 13 18 220 217 13 19 219 216 13 20 219 215 13 21 217 214 13 22 216 213 13 23 216 212 13 24 213 211 13 25 213 210 13 26 211 209 13 28 211 208 13 29 211 207 13 30 209 206 13 31 209 205 13 32 208 204 13 33 208 203 13 34 208 202 13 35 207 201 13 36 207 200 13 37 207 199 13 38 205 198 13 39 205 197 13 40 205 196 13 41 204 195 13 42 204 194 13 43 202 193 13 44 202 191 13 45 201 190 13 46 199 189 13 47 199 188 13 48 198 187 13 49 198 186 13 50 197 185 13 51 195 184 13 52 194 183 13 53 189 182 13 54 188 181 13 55 188 180 13 56 186 179 13 57 186 178 13 58 186 177 13 59 185 176 13 61 185 175 13 62 185 174 13 63 185 173 13 64 184 172 13 65 182 171 13 66 182 170 13 67 181 169 13 68 181 168 13 69 179 167 13 70 179 166 13 71 178 165 13 72 178 164 13 73 176 163 13 74 176 162 13 75 175 161 13 76 174 160 13 77 172 158 13 78 172 157 13 79 171 156 13 80 171 155 13 81 167 154 13 82 167 153 13 83 167 152 13 84 167 151 13 85 167 150 13 86 167 149 13 87 167 148 13 88 166 147 13 89 165 146 13 90 165 145 13 91 163 144 13 92 162 143 13 94 160 142 13 95 159 141 13 96 159 140 13 97 159 139 13 98 159 138 13 99 159 137 13 100 159 136 13 101 159 135 13 102 159 134 13 103 159 133 13 104 159 132 13 105 159 131 13 106 159 130 13 107 159 129 13 108 159 128 13 109 159 127 13 110 159 125 13 111 159 124 13 112 159 123 13 113 159 122 13 114 159 121 13 115 159 120 13 116 159 119 13 117 159 118 13 118 159 117 13 119 159 116 13 120 159 115 13 121 159 114 13 122 159 113 13 123 159 112 13 124 159 111 13 125 159 110 13 127 159 109 13 128 159 108 13 129 159 107 13 130 159 106 13 131 160 105 13 132 162 104 13 133 162 103 13 134 163 102 13 135 165 101 13 136 166 100 13 137 166 99 13 138 167 98 13 139 167 97 13 140 167 96 13 141 167 95 13 142 167 94 13 143 167 92 13 144 167 91 13 145 171 90 13 146 171 89 13 147 172 88 13 148 174 87 13 149 175 86 13 150 175 85 13 151 176 84 13 152 178 83 13 153 178 82 13 154 179 81 13 155 179 80 13 156 179 79 13 157 181 78 13 158 182 77 13 160 182 76 13 161 184 75 13 162 185 74 13 163 185 73 13 164 185 72 13 165 185 71 13 166 186 70 13 167 186 69 13 168 186 68 13 169 188 67 13 170 188 66 13 171 189 65 13 172 194 64 13 173 195 63 13 174 197 62 13 175 198 61 13 176 198 59 13 177 199 58 13 178 199 57 13 179 201 56 13 180 202 55 13 181 202 54 13 182 204 53 13 183 204 52 13 184 205 51 13 185 205 50 13 186 205 49 13 187 207 48 13 188 207 47 13 189 207 46 13 190 208 45 13 191 208 44 13 193 208 43 13 194 209 42 13 195 209 41 13 196 211 40 13 197 211 39 13 198 211 38 13 199 213 37 13 200 213 36 13 201 216 35 13 202 216 34 13 203 217 33 13 204 217 32 13 205 219 31 13 206 220 30 13 207 220 29 13 208 221 28 13 209 223 26 13 210 224 25 13 211 226 24 13 212 227 23 13 213 227 22 13 214 228 21 13 215 230 20 13 216 230 19 13 217 230 18 13 218 230 17 13 219 230 16 13 220 231 15 13 221 231 14 13 222 234 13 13 223 234 12 13 224 235 11 13 226 238 10 13 227 238 9 13 228 239 8 13 229 239 7 13 230 239 6 13 231 239 5 13 232 239 4 13 233 239 3 13 234 239 2 13 235 240 1 13 236 240 0 13 237 240 0 13 238 240 0 13 238 240 0 13 239 240 0 13 239 240 0 13 239 240 255 12 0 252 254 12 0 250 254 12 0 248 254 12 0 246 253 12 0 245 252 12 0 242 251 12 0 242 250 12 0 240 249 12 0 240 248 12 0 240 247 12 0 240 246 12 0 240 245 12 0 240 244 12 0 240 243 12 0 240 242 12 0 239 241 12 0 239 240 12 0 239 239 12 0 239 238 12 1 238 237 12 1 238 236 12 2 235 235 12 3 234 234 12 4 231 233 12 5 231 232 12 6 231 231 12 7 231 230 12 8 231 229 12 9 230 228 12 10 230 227 12 11 230 226 12 12 228 224 12 13 228 223 12 14 227 222 12 15 226 221 12 16 224 220 12 17 223 219 12 18 221 218 12 19 220 217 12 20 220 216 12 21 219 215 12 22 217 214 12 23 217 213 12 24 216 212 12 25 216 211 12 26 213 210 12 27 213 209 12 29 213 208 12 30 211 207 12 31 211 206 12 32 211 205 12 33 209 204 12 34 209 203 12 35 208 202 12 36 208 201 12 37 208 200 12 38 207 199 12 39 207 198 12 40 207 197 12 41 205 196 12 42 205 195 12 43 205 194 12 44 204 193 12 45 204 191 12 46 202 190 12 47 202 189 12 48 201 188 12 49 201 187 12 50 199 186 12 51 198 185 12 52 197 184 12 53 195 183 12 54 195 182 12 55 194 181 12 56 189 180 12 57 189 179 12 58 188 178 12 59 188 177 12 60 188 176 12 62 186 175 12 63 186 174 12 64 185 173 12 65 185 172 12 66 184 171 12 67 184 170 12 68 182 169 12 69 182 168 12 70 181 167 12 71 181 166 12 72 179 165 12 73 179 164 12 74 178 163 12 75 178 162 12 76 176 161 12 77 175 160 12 78 175 158 12 79 174 157 12 80 174 156 12 81 174 155 12 82 172 154 12 83 172 153 12 84 172 152 12 85 172 151 12 86 172 150 12 87 172 149 12 88 171 148 12 89 171 147 12 90 167 146 12 91 166 145 12 92 165 144 12 93 163 143 12 95 162 142 12 96 162 141 12 97 162 140 12 98 162 139 12 99 162 138 12 100 162 137 12 101 162 136 12 102 162 135 12 103 162 134 12 104 162 133 12 105 162 132 12 106 162 131 12 107 162 130 12 108 162 129 12 109 162 128 12 110 162 127 12 111 162 125 12 112 162 124 12 113 162 123 12 114 162 122 12 115 162 121 12 116 162 120 12 117 162 119 12 118 162 118 12 119 162 117 12 120 162 116 12 121 162 115 12 122 162 114 12 123 162 113 12 124 162 112 12 125 162 111 12 126 162 110 12 128 162 109 12 129 162 108 12 130 162 107 12 131 162 106 12 132 162 105 12 133 163 104 12 134 165 103 12 135 166 102 12 136 167 101 12 137 171 100 12 138 171 99 12 139 172 98 12 140 172 97 12 141 172 96 12 142 172 95 12 143 172 94 12 144 172 92 12 145 174 91 12 146 174 90 12 147 174 89 12 148 175 88 12 149 175 87 12 150 176 86 12 151 178 85 12 152 178 84 12 153 179 83 12 154 179 82 12 155 181 81 12 156 181 80 12 157 182 79 12 158 182 78 12 159 184 77 12 161 184 76 12 162 185 75 12 163 185 74 12 164 186 73 12 165 186 72 12 166 188 71 12 167 188 70 12 168 188 69 12 169 189 68 12 170 189 67 12 171 194 66 12 172 194 65 12 173 195 64 12 174 197 63 12 175 198 62 12 176 199 61 12 177 201 59 12 178 201 58 12 179 202 57 12 180 202 56 12 181 204 55 12 182 204 54 12 183 205 53 12 184 205 52 12 185 205 51 12 186 207 50 12 187 207 49 12 188 207 48 12 189 208 47 12 190 208 46 12 191 208 45 12 192 209 44 12 194 209 43 12 195 209 42 12 196 211 41 12 197 211 40 12 198 213 39 12 199 213 38 12 200 213 37 12 201 216 36 12 202 216 35 12 203 217 34 12 204 217 33 12 205 219 32 12 206 220 31 12 207 220 30 12 208 221 29 12 209 223 28 12 210 224 26 12 211 226 25 12 212 227 24 12 213 228 23 12 214 228 22 12 215 230 21 12 216 230 20 12 217 230 19 12 218 230 18 12 219 231 17 12 220 231 16 12 221 231 15 12 222 231 14 12 223 234 13 12 224 235 12 12 225 235 11 12 227 238 10 12 228 239 9 12 229 239 8 12 230 239 7 12 231 239 6 12 232 240 5 12 233 240 4 12 234 240 3 12 235 240 2 12 236 240 1 12 237 240 0 12 238 240 0 12 239 240 0 12 239 240 0 12 239 242 0 12 240 242 0 12 240 242 255 11 0 252 254 11 0 250 254 11 0 249 254 11 0 248 253 11 0 245 252 11 0 243 251 11 0 242 250 11 0 240 249 11 0 240 248 11 0 240 247 11 0 240 246 11 0 240 245 11 0 240 244 11 0 240 243 11 0 240 242 11 0 239 241 11 0 239 240 11 1 239 239 11 1 239 238 11 2 238 237 11 2 238 236 11 3 235 235 11 4 234 234 11 5 234 233 11 6 231 232 11 7 231 231 11 8 231 230 11 9 231 229 11 10 230 228 11 11 230 227 11 12 230 226 11 13 230 224 11 14 228 223 11 15 228 222 11 16 227 221 11 17 226 220 11 18 224 219 11 19 223 218 11 20 221 217 11 21 220 216 11 22 220 215 11 24 219 214 11 25 217 213 11 26 217 212 11 27 216 211 11 28 216 210 11 29 216 209 11 30 213 208 11 31 213 207 11 32 213 206 11 33 211 205 11 34 211 204 11 35 209 203 11 36 209 202 11 37 209 201 11 38 208 200 11 39 208 199 11 40 208 198 11 41 207 197 11 42 207 196 11 43 207 195 11 44 205 194 11 45 205 193 11 46 205 191 11 47 204 190 11 48 204 189 11 49 202 188 11 50 202 187 11 51 201 186 11 52 201 185 11 53 199 184 11 54 198 183 11 55 197 182 11 57 195 181 11 58 195 180 11 59 194 179 11 60 194 178 11 61 189 177 11 62 189 176 11 63 188 175 11 64 188 174 11 65 186 173 11 66 186 172 11 67 185 171 11 68 185 170 11 69 184 169 11 70 184 168 11 71 184 167 11 72 182 166 11 73 182 165 11 74 181 164 11 75 179 163 11 76 179 162 11 77 178 161 11 78 178 160 11 79 176 158 11 80 176 157 11 81 176 156 11 82 175 155 11 83 175 154 11 84 175 153 11 85 175 152 11 86 175 151 11 87 175 150 11 88 174 149 11 90 174 148 11 91 172 147 11 92 171 146 11 93 167 145 11 94 166 144 11 95 166 143 11 96 165 142 11 97 165 141 11 98 165 140 11 99 165 139 11 100 165 138 11 101 165 137 11 102 165 136 11 103 165 135 11 104 165 134 11 105 165 133 11 106 165 132 11 107 165 131 11 108 165 130 11 109 165 129 11 110 165 128 11 111 165 127 11 112 165 125 11 113 165 124 11 114 165 123 11 115 165 122 11 116 165 121 11 117 165 120 11 118 165 119 11 119 165 118 11 120 165 117 11 121 165 116 11 123 165 115 11 124 165 114 11 125 165 113 11 126 165 112 11 127 165 111 11 128 165 110 11 129 165 109 11 130 165 108 11 131 165 107 11 132 165 106 11 133 165 105 11 134 166 104 11 135 166 103 11 136 167 102 11 137 171 101 11 138 172 100 11 139 174 99 11 140 174 98 11 141 175 97 11 142 175 96 11 143 175 95 11 144 175 94 11 145 175 92 11 146 175 91 11 147 176 90 11 148 176 89 11 149 176 88 11 150 176 87 11 151 178 86 11 152 178 85 11 153 179 84 11 154 181 83 11 156 181 82 11 157 182 81 11 158 182 80 11 159 184 79 11 160 184 78 11 161 185 77 11 162 185 76 11 163 186 75 11 164 186 74 11 165 188 73 11 166 188 72 11 167 189 71 11 168 189 70 11 169 194 69 11 170 194 68 11 171 195 67 11 172 195 66 11 173 197 65 11 174 198 64 11 175 198 63 11 176 199 62 11 177 201 61 11 178 202 59 11 179 202 58 11 180 204 57 11 181 204 56 11 182 205 55 11 183 205 54 11 184 205 53 11 185 207 52 11 186 207 51 11 187 207 50 11 189 208 49 11 190 208 48 11 191 208 47 11 192 209 46 11 193 209 45 11 194 209 44 11 195 211 43 11 196 211 42 11 197 213 41 11 198 213 40 11 199 213 39 11 200 216 38 11 201 216 37 11 202 216 36 11 203 217 35 11 204 217 34 11 205 219 33 11 206 219 32 11 207 220 31 11 208 221 30 11 209 223 29 11 210 224 28 11 211 226 26 11 212 227 25 11 213 228 24 11 214 228 23 11 215 230 22 11 216 230 21 11 217 230 20 11 218 230 19 11 219 230 18 11 220 231 17 11 222 231 16 11 223 231 15 11 224 234 14 11 225 234 13 11 226 235 12 11 227 238 11 11 228 238 10 11 229 239 9 11 230 239 8 11 231 239 7 11 232 239 6 11 233 240 5 11 234 240 4 11 235 240 3 11 236 240 2 11 237 240 1 11 238 240 0 11 239 240 0 11 240 240 0 11 240 242 0 11 241 242 0 11 241 243 0 11 241 243 255 10 0 252 254 10 0 250 254 10 0 250 254 10 0 248 253 10 0 246 252 10 0 245 251 10 0 243 250 10 0 242 249 10 0 240 248 10 0 240 247 10 0 240 246 10 0 240 245 10 0 240 244 10 0 240 243 10 0 240 242 10 0 239 241 10 1 239 240 10 2 239 239 10 2 239 238 10 3 239 237 10 3 238 236 10 4 235 235 10 5 235 234 10 6 234 233 10 7 231 232 10 9 231 231 10 10 231 230 10 10 231 229 10 11 230 228 10 12 230 227 10 13 230 226 10 14 230 224 10 15 230 223 10 17 228 222 10 18 228 221 10 18 227 220 10 19 226 219 10 20 224 218 10 21 223 217 10 22 221 216 10 24 220 215 10 25 220 214 10 26 219 213 10 27 219 212 10 28 217 211 10 29 217 210 10 30 217 209 10 31 216 208 10 32 216 207 10 34 216 206 10 35 213 205 10 35 213 204 10 36 211 203 10 37 211 202 10 38 209 201 10 39 209 200 10 40 209 199 10 42 208 198 10 43 208 197 10 43 208 196 10 44 208 195 10 45 207 194 10 46 207 193 10 47 205 191 10 48 205 190 10 50 205 189 10 51 204 188 10 51 204 187 10 52 202 186 10 53 202 185 10 54 201 184 10 55 201 183 10 57 199 182 10 58 198 181 10 59 198 180 10 60 197 179 10 61 195 178 10 62 195 177 10 63 194 176 10 64 189 175 10 65 189 174 10 67 189 173 10 68 188 172 10 68 188 171 10 69 186 170 10 70 186 169 10 71 185 168 10 72 185 167 10 73 184 166 10 75 184 165 10 76 182 164 10 76 181 163 10 77 181 162 10 78 179 161 10 79 179 160 10 80 179 158 10 81 178 157 10 83 178 156 10 84 178 155 10 84 178 154 10 85 178 153 10 86 178 152 10 87 178 151 10 88 176 150 10 90 176 149 10 91 175 148 10 92 175 147 10 93 174 146 10 94 172 145 10 95 171 144 10 96 171 143 10 97 167 142 10 98 167 141 10 100 167 140 10 101 167 139 10 101 167 138 10 102 167 137 10 103 167 136 10 104 167 135 10 105 167 134 10 106 167 133 10 108 167 132 10 109 167 131 10 109 167 130 10 110 167 129 10 111 167 128 10 112 167 127 10 113 167 125 10 114 167 124 10 116 167 123 10 117 167 122 10 117 167 121 10 118 167 120 10 119 167 119 10 120 167 118 10 121 167 117 10 123 167 116 10 124 167 115 10 125 167 114 10 126 167 113 10 127 167 112 10 128 167 111 10 129 167 110 10 130 167 109 10 131 167 108 10 133 167 107 10 134 167 106 10 134 167 105 10 135 171 104 10 136 171 103 10 137 172 102 10 138 174 101 10 139 174 100 10 141 175 99 10 142 176 98 10 142 176 97 10 143 178 96 10 144 178 95 10 145 178 94 10 146 178 92 10 147 178 91 10 149 178 90 10 150 178 89 10 150 179 88 10 151 179 87 10 152 179 86 10 153 181 85 10 154 181 84 10 156 182 83 10 157 184 82 10 158 184 81 10 159 185 80 10 160 185 79 10 161 186 78 10 162 186 77 10 163 188 76 10 164 188 75 10 166 189 74 10 167 189 73 10 167 189 72 10 168 194 71 10 169 194 70 10 170 195 69 10 171 197 68 10 172 198 67 10 174 198 66 10 175 199 65 10 175 199 64 10 176 201 63 10 177 202 62 10 178 202 61 10 179 204 59 10 180 204 58 10 182 205 57 10 183 205 56 10 183 205 55 10 184 207 54 10 185 207 53 10 186 207 52 10 187 208 51 10 189 208 50 10 190 208 49 10 191 209 48 10 192 209 47 10 193 209 46 10 194 211 45 10 195 211 44 10 196 211 43 10 197 213 42 10 199 216 41 10 200 216 40 10 200 216 39 10 201 217 38 10 202 217 37 10 203 217 36 10 204 219 35 10 205 219 34 10 207 219 33 10 208 220 32 10 208 221 31 10 209 223 30 10 210 224 29 10 211 226 28 10 212 227 26 10 213 228 25 10 215 228 24 10 216 230 23 10 216 230 22 10 217 230 21 10 218 230 20 10 219 230 19 10 220 230 18 10 222 231 17 10 223 231 16 10 224 231 15 10 225 234 14 10 226 235 13 10 227 235 12 10 228 238 11 10 229 239 10 10 230 239 9 10 232 239 8 10 233 239 7 10 233 239 6 10 234 240 5 10 235 240 4 10 236 240 3 10 237 240 2 10 238 240 1 10 240 240 0 10 240 240 0 10 241 242 0 10 242 242 0 10 242 243 0 10 242 245 0 10 242 246 255 9 0 252 254 9 0 252 254 9 0 250 254 9 0 249 253 9 0 248 252 9 0 246 251 9 0 243 250 9 0 242 249 9 0 240 248 9 0 240 247 9 0 240 246 9 0 240 245 9 0 240 244 9 0 240 243 9 0 240 242 9 1 240 241 9 2 240 240 9 2 240 239 9 3 239 238 9 4 239 237 9 4 238 236 9 5 238 235 9 6 235 234 9 7 234 233 9 9 231 232 9 10 231 231 9 11 231 230 9 12 231 229 9 12 231 228 9 13 231 227 9 14 231 226 9 15 230 224 9 17 230 223 9 18 230 222 9 19 228 221 9 20 228 220 9 20 227 219 9 21 226 218 9 22 224 217 9 24 223 216 9 25 221 215 9 26 220 214 9 27 220 213 9 28 219 212 9 29 219 211 9 30 219 210 9 31 217 209 9 32 217 208 9 34 217 207 9 35 216 206 9 36 216 205 9 37 213 204 9 37 213 203 9 38 211 202 9 39 211 201 9 40 211 200 9 42 209 199 9 43 209 198 9 44 209 197 9 45 209 196 9 45 208 195 9 46 208 194 9 47 208 193 9 48 207 191 9 50 207 190 9 51 205 189 9 52 205 188 9 53 205 187 9 53 204 186 9 54 204 185 9 55 202 184 9 57 202 183 9 58 201 182 9 59 201 181 9 60 199 180 9 61 199 179 9 62 198 178 9 63 197 177 9 64 195 176 9 65 195 175 9 67 194 174 9 68 194 173 9 69 194 172 9 70 189 171 9 70 189 170 9 71 188 169 9 72 188 168 9 73 186 167 9 75 185 166 9 76 185 165 9 77 184 164 9 78 182 163 9 78 182 162 9 79 181 161 9 80 181 160 9 81 181 158 9 83 181 157 9 84 181 156 9 85 181 155 9 86 181 154 9 86 179 153 9 87 179 152 9 88 179 151 9 90 179 150 9 91 178 149 9 92 176 148 9 93 176 147 9 94 175 146 9 95 174 145 9 96 174 144 9 97 172 143 9 98 172 142 9 100 172 141 9 101 172 140 9 102 172 139 9 103 172 138 9 103 172 137 9 104 172 136 9 105 172 135 9 106 172 134 9 108 172 133 9 109 172 132 9 110 172 131 9 111 172 130 9 111 172 129 9 112 172 128 9 113 172 127 9 114 172 125 9 116 172 124 9 117 172 123 9 118 172 122 9 119 172 121 9 119 172 120 9 120 172 119 9 121 172 118 9 123 172 117 9 124 172 116 9 125 172 115 9 126 172 114 9 127 172 113 9 128 172 112 9 129 172 111 9 130 172 110 9 131 172 109 9 133 172 108 9 134 172 107 9 135 172 106 9 136 172 105 9 136 172 104 9 137 174 103 9 138 174 102 9 139 175 101 9 141 176 100 9 142 176 99 9 143 178 98 9 144 178 97 9 144 179 96 9 145 179 95 9 146 179 94 9 147 181 92 9 149 181 91 9 150 181 90 9 151 181 89 9 152 181 88 9 152 181 87 9 153 181 86 9 154 182 85 9 156 182 84 9 157 184 83 9 158 184 82 9 159 185 81 9 160 186 80 9 161 188 79 9 162 188 78 9 163 189 77 9 164 189 76 9 166 194 75 9 167 194 74 9 168 194 73 9 169 195 72 9 169 195 71 9 170 197 70 9 171 197 69 9 172 198 68 9 174 199 67 9 175 201 66 9 176 201 65 9 177 202 64 9 177 202 63 9 178 204 62 9 179 204 61 9 180 205 59 9 182 205 58 9 183 205 57 9 184 207 56 9 185 207 55 9 185 207 54 9 186 208 53 9 187 208 52 9 189 208 51 9 190 209 50 9 191 209 49 9 192 209 48 9 193 211 47 9 194 211 46 9 195 211 45 9 196 213 44 9 197 213 43 9 199 216 42 9 200 216 41 9 201 217 40 9 202 217 39 9 202 217 38 9 203 219 37 9 204 219 36 9 205 219 35 9 207 220 34 9 208 220 33 9 209 221 32 9 210 223 31 9 210 224 30 9 211 226 29 9 212 227 28 9 213 228 26 9 215 228 25 9 216 230 24 9 217 230 23 9 218 230 22 9 218 231 21 9 219 231 20 9 220 231 19 9 222 231 18 9 223 231 17 9 224 231 16 9 225 231 15 9 226 234 14 9 227 235 13 9 228 238 12 9 229 238 11 9 230 239 10 9 232 239 9 9 233 240 8 9 234 240 7 9 235 240 6 9 235 240 5 9 236 240 4 9 237 240 3 9 238 240 2 9 240 240 1 9 241 240 0 9 242 240 0 9 242 242 0 9 243 243 0 9 243 245 0 9 243 246 0 9 243 248 255 8 0 252 254 8 0 252 254 8 0 252 254 8 0 250 253 8 0 249 252 8 0 246 251 8 0 245 250 8 0 243 249 8 0 242 248 8 0 240 247 8 0 240 246 8 0 240 245 8 0 240 244 8 0 240 243 8 0 240 242 8 1 240 241 8 2 240 240 8 3 240 239 8 4 239 238 8 5 239 237 8 5 239 236 8 6 238 235 8 7 235 234 8 8 234 233 8 10 234 232 8 11 231 231 8 12 231 230 8 13 231 229 8 13 231 228 8 14 231 227 8 15 231 226 8 16 230 224 8 18 230 223 8 19 230 222 8 20 230 221 8 21 228 220 8 21 228 219 8 22 227 218 8 23 226 217 8 25 224 216 8 26 223 215 8 27 221 214 8 28 220 213 8 29 220 212 8 30 219 211 8 31 219 210 8 32 219 209 8 33 219 208 8 35 217 207 8 36 217 206 8 37 217 205 8 38 216 204 8 38 213 203 8 39 213 202 8 40 213 201 8 41 211 200 8 43 211 199 8 44 211 198 8 45 209 197 8 46 209 196 8 46 209 195 8 47 209 194 8 48 208 193 8 49 208 191 8 51 207 190 8 52 207 189 8 53 207 188 8 54 205 187 8 54 205 186 8 55 205 185 8 56 204 184 8 58 204 183 8 59 202 182 8 60 202 181 8 61 201 180 8 62 201 179 8 63 199 178 8 64 198 177 8 65 197 176 8 66 197 175 8 68 197 174 8 69 195 173 8 70 195 172 8 71 195 171 8 71 194 170 8 72 194 169 8 73 189 168 8 74 188 167 8 76 186 166 8 77 186 165 8 78 185 164 8 79 184 163 8 79 184 162 8 80 184 161 8 81 182 160 8 82 182 158 8 84 182 157 8 85 182 156 8 86 182 155 8 87 181 154 8 87 181 153 8 88 181 152 8 89 181 151 8 91 179 150 8 92 179 149 8 93 178 148 8 94 178 147 8 95 176 146 8 96 176 145 8 97 175 144 8 98 175 143 8 99 175 142 8 101 175 141 8 102 175 140 8 103 175 139 8 104 175 138 8 104 175 137 8 105 175 136 8 106 175 135 8 107 175 134 8 109 175 133 8 110 175 132 8 111 175 131 8 112 175 130 8 112 175 129 8 113 175 128 8 114 175 127 8 115 175 125 8 117 175 124 8 118 175 123 8 119 175 122 8 120 175 121 8 120 175 120 8 121 175 119 8 122 175 118 8 124 175 117 8 125 175 116 8 126 175 115 8 127 175 114 8 128 175 113 8 129 175 112 8 130 175 111 8 131 175 110 8 132 175 109 8 134 175 108 8 135 175 107 8 136 175 106 8 137 175 105 8 137 175 104 8 138 175 103 8 139 176 102 8 140 176 101 8 142 178 100 8 143 178 99 8 144 179 98 8 145 179 97 8 145 181 96 8 146 181 95 8 147 181 94 8 148 181 92 8 150 182 91 8 151 182 90 8 152 182 89 8 153 182 88 8 153 182 87 8 154 184 86 8 155 184 85 8 157 184 84 8 158 185 83 8 159 185 82 8 160 186 81 8 161 188 80 8 162 189 79 8 163 194 78 8 164 194 77 8 165 195 76 8 167 195 75 8 168 195 74 8 169 197 73 8 170 197 72 8 170 197 71 8 171 198 70 8 172 199 69 8 173 201 68 8 175 201 67 8 176 202 66 8 177 202 65 8 178 204 64 8 178 204 63 8 179 205 62 8 180 205 61 8 181 205 59 8 183 207 58 8 184 207 57 8 185 207 56 8 186 208 55 8 186 208 54 8 187 208 53 8 188 209 52 8 190 209 51 8 191 209 50 8 192 211 49 8 193 211 48 8 194 211 47 8 195 213 46 8 196 213 45 8 197 213 44 8 198 216 43 8 200 217 42 8 201 217 41 8 202 217 40 8 203 219 39 8 203 219 38 8 204 219 37 8 205 219 36 8 206 220 35 8 208 220 34 8 209 221 33 8 210 223 32 8 211 224 31 8 211 226 30 8 212 227 29 8 213 228 28 8 214 228 26 8 216 230 25 8 217 230 24 8 218 230 23 8 219 230 22 8 219 231 21 8 220 231 20 8 221 231 19 8 223 231 18 8 224 231 17 8 225 231 16 8 226 234 15 8 227 234 14 8 228 235 13 8 229 238 12 8 230 239 11 8 231 239 10 8 233 239 9 8 234 240 8 8 235 240 7 8 236 240 6 8 236 240 5 8 237 240 4 8 238 240 3 8 239 240 2 8 241 240 1 8 242 240 0 8 243 240 0 8 243 242 0 8 244 245 0 8 244 246 0 8 244 248 0 8 244 249 255 7 0 252 254 7 0 252 254 7 0 252 254 7 0 250 253 7 0 249 252 7 0 248 251 7 0 245 250 7 0 243 249 7 0 242 248 7 0 240 247 7 0 240 246 7 0 240 245 7 0 240 244 7 0 240 243 7 1 240 242 7 2 240 241 7 3 240 240 7 4 240 239 7 5 239 238 7 6 239 237 7 6 239 236 7 7 238 235 7 8 238 234 7 9 235 233 7 10 234 232 7 12 234 231 7 13 231 230 7 14 231 229 7 14 231 228 7 15 231 227 7 16 231 226 7 17 230 224 7 18 230 223 7 20 230 222 7 21 230 221 7 22 230 220 7 22 228 219 7 23 228 218 7 24 227 217 7 26 226 216 7 27 224 215 7 28 223 214 7 29 221 213 7 30 220 212 7 31 220 211 7 32 220 210 7 33 220 209 7 34 219 208 7 35 219 207 7 37 219 206 7 38 217 205 7 39 217 204 7 39 216 203 7 40 216 202 7 41 216 201 7 42 213 200 7 43 213 199 7 45 213 198 7 46 211 197 7 47 211 196 7 47 209 195 7 48 209 194 7 49 209 193 7 50 208 191 7 51 208 190 7 53 208 189 7 54 207 188 7 55 207 187 7 55 207 186 7 56 205 185 7 57 205 184 7 59 205 183 7 60 204 182 7 61 204 181 7 62 204 180 7 63 202 179 7 64 201 178 7 65 201 177 7 66 199 176 7 67 199 175 7 68 198 174 7 70 198 173 7 71 198 172 7 72 198 171 7 72 197 170 7 73 195 169 7 74 194 168 7 75 194 167 7 76 189 166 7 78 188 165 7 79 186 164 7 80 186 163 7 80 186 162 7 81 185 161 7 82 185 160 7 83 185 158 7 84 185 157 7 86 184 156 7 87 184 155 7 88 182 154 7 88 182 153 7 89 182 152 7 90 181 151 7 92 181 150 7 93 181 149 7 94 179 148 7 95 179 147 7 96 179 146 7 97 178 145 7 98 178 144 7 99 178 143 7 100 178 142 7 101 178 141 7 103 178 140 7 104 178 139 7 105 178 138 7 105 178 137 7 106 178 136 7 107 178 135 7 108 178 134 7 109 178 133 7 111 178 132 7 112 178 131 7 113 178 130 7 113 178 129 7 114 178 128 7 115 178 127 7 116 178 125 7 117 178 124 7 119 178 123 7 120 178 122 7 121 178 121 7 121 178 120 7 122 178 119 7 123 178 118 7 125 178 117 7 126 178 116 7 127 178 115 7 128 178 114 7 129 178 113 7 130 178 112 7 131 178 111 7 132 178 110 7 133 178 109 7 134 178 108 7 136 178 107 7 137 178 106 7 138 178 105 7 138 178 104 7 139 178 103 7 140 178 102 7 141 178 101 7 142 179 100 7 144 179 99 7 145 181 98 7 146 181 97 7 146 181 96 7 147 182 95 7 148 182 94 7 149 182 92 7 150 184 91 7 152 184 90 7 153 185 89 7 154 185 88 7 154 185 87 7 155 185 86 7 156 185 85 7 158 186 84 7 159 186 83 7 160 188 82 7 161 189 81 7 162 189 80 7 163 194 79 7 164 195 78 7 165 197 77 7 166 198 76 7 167 198 75 7 169 198 74 7 170 198 73 7 171 199 72 7 171 199 71 7 172 201 70 7 173 201 69 7 174 202 68 7 175 204 67 7 177 204 66 7 178 204 65 7 179 205 64 7 179 205 63 7 180 205 62 7 181 207 61 7 182 207 59 7 183 207 58 7 185 208 57 7 186 208 56 7 187 208 55 7 187 209 54 7 188 209 53 7 189 209 52 7 191 211 51 7 192 211 50 7 193 211 49 7 194 213 48 7 195 213 47 7 196 216 46 7 197 216 45 7 198 216 44 7 199 217 43 7 200 217 42 7 202 219 41 7 203 219 40 7 204 219 39 7 204 220 38 7 205 220 37 7 206 220 36 7 207 220 35 7 208 221 34 7 210 223 33 7 211 224 32 7 212 226 31 7 212 226 30 7 213 227 29 7 214 228 28 7 215 230 26 7 216 230 25 7 218 230 24 7 219 230 23 7 220 230 22 7 220 231 21 7 221 231 20 7 222 231 19 7 224 231 18 7 225 231 17 7 226 234 16 7 227 234 15 7 228 235 14 7 229 235 13 7 230 238 12 7 231 239 11 7 232 239 10 7 233 239 9 7 235 240 8 7 236 240 7 7 237 240 6 7 237 240 5 7 238 240 4 7 239 240 3 7 240 240 2 7 241 240 1 7 243 240 0 7 243 242 0 7 244 243 0 7 245 245 0 7 245 248 0 7 245 249 0 7 245 250 255 6 0 255 254 6 0 255 254 6 0 252 254 6 0 252 253 6 0 250 252 6 0 249 251 6 0 246 250 6 0 245 249 6 0 242 248 6 0 242 247 6 0 240 246 6 0 240 245 6 0 240 244 6 1 240 243 6 1 240 242 6 2 240 241 6 3 240 240 6 4 240 239 6 5 239 238 6 6 239 237 6 7 239 236 6 8 239 235 6 9 238 234 6 10 238 233 6 11 235 232 6 12 234 231 6 13 234 230 6 14 231 229 6 15 231 228 6 16 231 227 6 17 231 226 6 18 231 224 6 19 231 223 6 20 231 222 6 21 230 221 6 22 230 220 6 23 230 219 6 24 228 218 6 25 228 217 6 27 227 216 6 28 226 215 6 29 224 214 6 30 223 213 6 31 221 212 6 32 221 211 6 33 221 210 6 34 220 209 6 35 220 208 6 36 220 207 6 37 219 206 6 38 219 205 6 39 217 204 6 40 217 203 6 41 217 202 6 42 216 201 6 43 216 200 6 44 216 199 6 45 213 198 6 46 213 197 6 47 211 196 6 48 211 195 6 49 211 194 6 50 211 193 6 51 209 191 6 52 209 190 6 53 208 189 6 54 208 188 6 55 208 187 6 56 208 186 6 57 207 185 6 58 207 184 6 60 205 183 6 61 205 182 6 62 205 181 6 63 205 180 6 64 204 179 6 65 204 178 6 66 202 177 6 67 202 176 6 68 201 175 6 69 201 174 6 70 201 173 6 71 201 172 6 72 199 171 6 73 199 170 6 74 198 169 6 75 197 168 6 76 195 167 6 77 194 166 6 78 189 165 6 79 189 164 6 80 188 163 6 81 188 162 6 82 188 161 6 83 188 160 6 84 186 158 6 85 186 157 6 86 185 156 6 87 185 155 6 88 184 154 6 89 184 153 6 90 182 152 6 91 182 151 6 93 182 150 6 94 182 149 6 95 181 148 6 96 181 147 6 97 181 146 6 98 181 145 6 99 181 144 6 100 181 143 6 101 181 142 6 102 181 141 6 103 181 140 6 104 181 139 6 105 181 138 6 106 181 137 6 107 181 136 6 108 181 135 6 109 181 134 6 110 181 133 6 111 181 132 6 112 181 131 6 113 181 130 6 114 181 129 6 115 181 128 6 116 181 127 6 117 181 125 6 118 181 124 6 119 181 123 6 120 181 122 6 121 181 121 6 122 181 120 6 123 181 119 6 124 181 118 6 126 181 117 6 127 181 116 6 128 181 115 6 129 181 114 6 130 181 113 6 131 181 112 6 132 181 111 6 133 181 110 6 134 181 109 6 135 181 108 6 136 181 107 6 137 181 106 6 138 181 105 6 139 181 104 6 140 181 103 6 141 181 102 6 142 181 101 6 143 181 100 6 144 181 99 6 145 181 98 6 146 182 97 6 147 182 96 6 148 182 95 6 149 184 94 6 150 184 92 6 151 185 91 6 152 185 90 6 153 186 89 6 154 186 88 6 155 188 87 6 156 188 86 6 157 188 85 6 159 188 84 6 160 189 83 6 161 189 82 6 162 194 81 6 163 195 80 6 164 197 79 6 165 198 78 6 166 199 77 6 167 199 76 6 168 201 75 6 169 201 74 6 170 201 73 6 171 201 72 6 172 202 71 6 173 202 70 6 174 204 69 6 175 204 68 6 176 205 67 6 177 205 66 6 178 205 65 6 179 205 64 6 180 207 63 6 181 207 62 6 182 207 61 6 183 208 59 6 184 208 58 6 185 208 57 6 186 209 56 6 187 209 55 6 188 209 54 6 189 211 53 6 190 211 52 6 192 211 51 6 193 213 50 6 194 213 49 6 195 216 48 6 196 216 47 6 197 216 46 6 198 217 45 6 199 217 44 6 200 217 43 6 201 219 42 6 202 219 41 6 203 220 40 6 204 220 39 6 205 220 38 6 206 221 37 6 207 221 36 6 208 221 35 6 209 223 34 6 210 224 33 6 211 226 32 6 212 227 31 6 213 227 30 6 214 228 29 6 215 230 28 6 216 230 26 6 217 230 25 6 218 231 24 6 219 231 23 6 220 231 22 6 221 231 21 6 222 231 20 6 223 231 19 6 225 231 18 6 226 234 17 6 227 234 16 6 228 235 15 6 229 235 14 6 230 238 13 6 231 239 12 6 232 239 11 6 233 239 10 6 234 239 9 6 235 240 8 6 236 240 7 6 237 240 6 6 238 240 5 6 239 240 4 6 240 240 3 6 241 240 2 6 242 240 1 6 243 240 0 6 244 242 0 6 245 243 0 6 245 246 0 6 246 248 0 6 246 250 0 6 246 252 255 5 0 255 254 5 0 255 254 5 0 252 254 5 0 252 253 5 0 250 252 5 0 249 251 5 0 248 250 5 0 245 249 5 0 243 248 5 0 242 247 5 0 240 246 5 0 240 245 5 1 240 244 5 1 240 243 5 2 240 242 5 3 240 241 5 4 240 240 5 5 240 239 5 6 239 238 5 7 239 237 5 8 239 236 5 9 239 235 5 10 238 234 5 11 238 233 5 12 238 232 5 13 235 231 5 14 234 230 5 15 234 229 5 16 231 228 5 17 231 227 5 18 231 226 5 19 231 224 5 20 231 223 5 21 231 222 5 22 230 221 5 23 230 220 5 24 230 219 5 25 230 218 5 26 228 217 5 28 228 216 5 29 227 215 5 30 226 214 5 31 224 213 5 32 223 212 5 33 223 211 5 34 221 210 5 35 221 209 5 36 221 208 5 37 220 207 5 38 220 206 5 39 219 205 5 40 219 204 5 41 219 203 5 42 217 202 5 43 217 201 5 44 217 200 5 45 216 199 5 46 216 198 5 47 216 197 5 48 213 196 5 49 213 195 5 50 211 194 5 51 211 193 5 52 211 191 5 53 209 190 5 54 209 189 5 55 209 188 5 56 208 187 5 57 208 186 5 58 208 185 5 59 207 184 5 61 207 183 5 62 207 182 5 63 205 181 5 64 205 180 5 65 205 179 5 66 205 178 5 67 204 177 5 68 204 176 5 69 204 175 5 70 202 174 5 71 202 173 5 72 202 172 5 73 201 171 5 74 201 170 5 75 199 169 5 76 198 168 5 77 197 167 5 78 197 166 5 79 195 165 5 80 195 164 5 81 194 163 5 82 194 162 5 83 194 161 5 84 189 160 5 85 189 158 5 86 188 157 5 87 186 156 5 88 186 155 5 89 185 154 5 90 185 153 5 91 184 152 5 92 184 151 5 94 184 150 5 95 184 149 5 96 184 148 5 97 182 147 5 98 182 146 5 99 182 145 5 100 182 144 5 101 182 143 5 102 182 142 5 103 182 141 5 104 182 140 5 105 182 139 5 106 182 138 5 107 182 137 5 108 182 136 5 109 182 135 5 110 182 134 5 111 182 133 5 112 182 132 5 113 182 131 5 114 182 130 5 115 182 129 5 116 182 128 5 117 182 127 5 118 182 125 5 119 182 124 5 120 182 123 5 121 182 122 5 122 182 121 5 123 182 120 5 124 182 119 5 125 182 118 5 127 182 117 5 128 182 116 5 129 182 115 5 130 182 114 5 131 182 113 5 132 182 112 5 133 182 111 5 134 182 110 5 135 182 109 5 136 182 108 5 137 182 107 5 138 182 106 5 139 182 105 5 140 182 104 5 141 182 103 5 142 182 102 5 143 182 101 5 144 182 100 5 145 182 99 5 146 184 98 5 147 184 97 5 148 184 96 5 149 184 95 5 150 185 94 5 151 185 92 5 152 186 91 5 153 186 90 5 154 188 89 5 155 189 88 5 156 189 87 5 157 194 86 5 158 194 85 5 160 194 84 5 161 194 83 5 162 195 82 5 163 195 81 5 164 197 80 5 165 198 79 5 166 199 78 5 167 201 77 5 168 201 76 5 169 202 75 5 170 202 74 5 171 202 73 5 172 204 72 5 173 204 71 5 174 204 70 5 175 205 69 5 176 205 68 5 177 205 67 5 178 205 66 5 179 207 65 5 180 207 64 5 181 207 63 5 182 208 62 5 183 208 61 5 184 208 59 5 185 209 58 5 186 209 57 5 187 209 56 5 188 211 55 5 189 211 54 5 190 211 53 5 191 213 52 5 193 213 51 5 194 213 50 5 195 216 49 5 196 216 48 5 197 217 47 5 198 217 46 5 199 217 45 5 200 219 44 5 201 219 43 5 202 219 42 5 203 220 41 5 204 220 40 5 205 221 39 5 206 221 38 5 207 221 37 5 208 223 36 5 209 223 35 5 210 224 34 5 211 226 33 5 212 227 32 5 213 227 31 5 214 228 30 5 215 230 29 5 216 230 28 5 217 230 26 5 218 230 25 5 219 231 24 5 220 231 23 5 221 231 22 5 222 231 21 5 223 231 20 5 224 231 19 5 226 234 18 5 227 234 17 5 228 235 16 5 229 235 15 5 230 238 14 5 231 238 13 5 232 239 12 5 233 239 11 5 234 239 10 5 235 239 9 5 236 240 8 5 237 240 7 5 238 240 6 5 239 240 5 5 240 240 4 5 241 240 3 5 242 240 2 5 243 240 1 5 244 242 0 5 245 243 0 5 246 245 0 5 246 246 0 5 247 249 0 5 247 250 0 5 247 252 255 4 0 255 254 4 0 255 254 4 0 252 254 4 0 252 253 4 0 250 252 4 0 249 251 4 0 248 250 4 0 246 249 4 0 245 248 4 0 243 247 4 0 242 246 4 1 240 245 4 1 240 244 4 2 240 243 4 3 240 242 4 4 240 241 4 5 240 240 4 6 240 239 4 7 239 238 4 8 239 237 4 9 239 236 4 10 239 235 4 11 239 234 4 12 238 233 4 13 238 232 4 14 235 231 4 15 235 230 4 16 234 229 4 17 234 228 4 18 231 227 4 19 231 226 4 20 231 224 4 21 231 223 4 22 231 222 4 23 230 221 4 24 230 220 4 25 230 219 4 26 230 218 4 27 230 217 4 29 228 216 4 30 228 215 4 31 227 214 4 32 226 213 4 33 226 212 4 34 224 211 4 35 224 210 4 36 223 209 4 37 223 208 4 38 221 207 4 39 220 206 4 40 220 205 4 41 219 204 4 42 219 203 4 43 219 202 4 44 219 201 4 45 217 200 4 46 217 199 4 47 217 198 4 48 216 197 4 49 216 196 4 50 216 195 4 51 213 194 4 52 213 193 4 53 213 191 4 54 211 190 4 55 211 189 4 56 211 188 4 57 209 187 4 58 209 186 4 59 208 185 4 60 208 184 4 62 208 183 4 63 207 182 4 64 207 181 4 65 207 180 4 66 207 179 4 67 207 178 4 68 207 177 4 69 205 176 4 70 205 175 4 71 205 174 4 72 204 173 4 73 204 172 4 74 202 171 4 75 202 170 4 76 201 169 4 77 201 168 4 78 199 167 4 79 198 166 4 80 198 165 4 81 198 164 4 82 197 163 4 83 197 162 4 84 197 161 4 85 195 160 4 86 195 158 4 87 194 157 4 88 189 156 4 89 188 155 4 90 186 154 4 91 186 153 4 92 186 152 4 93 185 151 4 95 185 150 4 96 185 149 4 97 185 148 4 98 185 147 4 99 185 146 4 100 185 145 4 101 185 144 4 102 185 143 4 103 185 142 4 104 185 141 4 105 184 140 4 106 184 139 4 107 184 138 4 108 184 137 4 109 184 136 4 110 184 135 4 111 184 134 4 112 184 133 4 113 184 132 4 114 184 131 4 115 184 130 4 116 184 129 4 117 184 128 4 118 184 127 4 119 184 125 4 120 184 124 4 121 184 123 4 122 184 122 4 123 184 121 4 124 184 120 4 125 184 119 4 126 184 118 4 128 184 117 4 129 184 116 4 130 184 115 4 131 184 114 4 132 184 113 4 133 184 112 4 134 184 111 4 135 184 110 4 136 184 109 4 137 184 108 4 138 184 107 4 139 185 106 4 140 185 105 4 141 185 104 4 142 185 103 4 143 185 102 4 144 185 101 4 145 185 100 4 146 185 99 4 147 185 98 4 148 185 97 4 149 185 96 4 150 186 95 4 151 186 94 4 152 186 92 4 153 188 91 4 154 189 90 4 155 194 89 4 156 194 88 4 157 195 87 4 158 197 86 4 159 197 85 4 161 197 84 4 162 197 83 4 163 198 82 4 164 198 81 4 165 199 80 4 166 199 79 4 167 201 78 4 168 202 77 4 169 202 76 4 170 204 75 4 171 204 74 4 172 204 73 4 173 205 72 4 174 205 71 4 175 205 70 4 176 207 69 4 177 207 68 4 178 207 67 4 179 207 66 4 180 207 65 4 181 208 64 4 182 208 63 4 183 208 62 4 184 209 61 4 185 209 59 4 186 209 58 4 187 211 57 4 188 211 56 4 189 211 55 4 190 213 54 4 191 213 53 4 192 216 52 4 194 216 51 4 195 216 50 4 196 217 49 4 197 217 48 4 198 217 47 4 199 219 46 4 200 219 45 4 201 219 44 4 202 219 43 4 203 220 42 4 204 220 41 4 205 221 40 4 206 221 39 4 207 223 38 4 208 224 37 4 209 224 36 4 210 226 35 4 211 226 34 4 212 227 33 4 213 227 32 4 214 228 31 4 215 230 30 4 216 230 29 4 217 230 28 4 218 230 26 4 219 230 25 4 220 231 24 4 221 231 23 4 222 231 22 4 223 231 21 4 224 231 20 4 225 234 19 4 227 234 18 4 228 235 17 4 229 235 16 4 230 238 15 4 231 238 14 4 232 239 13 4 233 239 12 4 234 239 11 4 235 239 10 4 236 239 9 4 237 240 8 4 238 240 7 4 239 240 6 4 240 240 5 4 241 240 4 4 242 240 3 4 243 240 2 4 244 242 1 4 245 243 0 4 246 245 0 4 247 246 0 4 247 248 0 4 247 249 0 4 248 250 0 4 248 252 255 3 0 255 254 3 0 255 254 3 0 252 254 3 0 252 253 3 0 252 252 3 0 250 251 3 0 249 250 3 0 248 249 3 0 246 248 3 1 245 247 3 1 243 246 3 2 242 245 3 2 240 244 3 3 240 243 3 4 240 242 3 5 240 241 3 6 240 240 3 7 240 239 3 8 239 238 3 9 239 237 3 10 239 236 3 11 239 235 3 12 239 234 3 13 239 233 3 14 239 232 3 15 238 231 3 16 238 230 3 17 235 229 3 18 234 228 3 19 234 227 3 20 231 226 3 21 231 224 3 22 231 223 3 24 231 222 3 25 230 221 3 26 230 220 3 27 230 219 3 28 230 218 3 29 230 217 3 30 230 216 3 31 228 215 3 32 228 214 3 33 227 213 3 34 227 212 3 35 227 211 3 36 226 210 3 37 226 209 3 38 224 208 3 39 223 207 3 40 221 206 3 41 220 205 3 42 220 204 3 43 219 203 3 44 219 202 3 45 219 201 3 46 219 200 3 47 219 199 3 48 217 198 3 49 217 197 3 50 217 196 3 51 217 195 3 52 216 194 3 53 216 193 3 54 213 191 3 55 213 190 3 57 213 189 3 58 211 188 3 59 211 187 3 60 209 186 3 61 209 185 3 62 209 184 3 63 208 183 3 64 208 182 3 65 208 181 3 66 208 180 3 67 208 179 3 68 208 178 3 69 208 177 3 70 207 176 3 71 207 175 3 72 205 174 3 73 205 173 3 74 205 172 3 75 204 171 3 76 204 170 3 77 204 169 3 78 202 168 3 79 201 167 3 80 201 166 3 81 201 165 3 82 199 164 3 83 199 163 3 84 199 162 3 85 199 161 3 86 198 160 3 87 197 158 3 88 195 157 3 90 194 156 3 91 189 155 3 92 189 154 3 93 188 153 3 94 188 152 3 95 188 151 3 96 188 150 3 97 188 149 3 98 188 148 3 99 188 147 3 100 188 146 3 101 188 145 3 102 188 144 3 103 188 143 3 104 186 142 3 105 186 141 3 106 186 140 3 107 186 139 3 108 186 138 3 109 186 137 3 110 186 136 3 111 186 135 3 112 186 134 3 113 186 133 3 114 186 132 3 115 186 131 3 116 186 130 3 117 186 129 3 118 186 128 3 119 186 127 3 120 186 125 3 121 186 124 3 123 186 123 3 124 186 122 3 125 186 121 3 126 186 120 3 127 186 119 3 128 186 118 3 129 186 117 3 130 186 116 3 131 186 115 3 132 186 114 3 133 186 113 3 134 186 112 3 135 186 111 3 136 186 110 3 137 186 109 3 138 186 108 3 139 186 107 3 140 186 106 3 141 186 105 3 142 188 104 3 143 188 103 3 144 188 102 3 145 188 101 3 146 188 100 3 147 188 99 3 148 188 98 3 149 188 97 3 150 188 96 3 151 188 95 3 152 188 94 3 153 189 92 3 154 189 91 3 156 194 90 3 157 195 89 3 158 197 88 3 159 198 87 3 160 198 86 3 161 199 85 3 162 199 84 3 163 199 83 3 164 201 82 3 165 201 81 3 166 201 80 3 167 202 79 3 168 204 78 3 169 204 77 3 170 204 76 3 171 205 75 3 172 205 74 3 173 205 73 3 174 207 72 3 175 207 71 3 176 207 70 3 177 208 69 3 178 208 68 3 179 208 67 3 180 208 66 3 181 208 65 3 182 208 64 3 183 209 63 3 184 209 62 3 185 209 61 3 186 211 59 3 187 211 58 3 189 211 57 3 190 213 56 3 191 213 55 3 192 216 54 3 193 216 53 3 194 216 52 3 195 217 51 3 196 217 50 3 197 217 49 3 198 219 48 3 199 219 47 3 200 219 46 3 201 219 45 3 202 219 44 3 203 220 43 3 204 220 42 3 205 221 41 3 206 223 40 3 207 224 39 3 208 224 38 3 209 226 37 3 210 226 36 3 211 227 35 3 212 227 34 3 213 228 33 3 214 228 32 3 215 230 31 3 216 230 30 3 217 230 29 3 218 230 28 3 219 230 26 3 220 230 25 3 222 231 24 3 223 231 23 3 224 231 22 3 225 231 21 3 226 234 20 3 227 234 19 3 228 235 18 3 229 238 17 3 230 238 16 3 231 239 15 3 232 239 14 3 233 239 13 3 234 239 12 3 235 239 11 3 236 239 10 3 237 239 9 3 238 240 8 3 239 240 7 3 240 240 6 3 241 240 5 3 242 240 4 3 243 240 3 3 244 242 2 3 245 243 1 3 246 245 0 3 247 246 0 3 248 248 0 3 248 249 0 3 249 250 0 3 249 252 0 3 249 252 255 2 0 255 254 2 0 255 254 2 0 252 254 2 0 252 253 2 0 252 252 2 0 252 251 2 0 250 250 2 0 249 249 2 1 248 248 2 2 246 247 2 2 245 246 2 3 243 245 2 3 242 244 2 4 240 243 2 5 240 242 2 6 240 241 2 7 240 240 2 9 240 239 2 10 240 238 2 10 240 237 2 11 240 236 2 12 239 235 2 13 239 234 2 14 239 233 2 15 239 232 2 17 238 231 2 18 238 230 2 18 238 229 2 19 235 228 2 20 234 227 2 21 234 226 2 22 231 224 2 24 231 223 2 25 231 222 2 26 231 221 2 27 231 220 2 28 231 219 2 29 230 218 2 30 230 217 2 31 230 216 2 32 230 215 2 34 228 214 2 35 228 213 2 35 228 212 2 36 228 211 2 37 227 210 2 38 227 209 2 39 226 208 2 40 224 207 2 42 223 206 2 43 221 205 2 43 220 204 2 44 220 203 2 45 220 202 2 46 219 201 2 47 219 200 2 48 219 199 2 50 219 198 2 51 219 197 2 51 217 196 2 52 217 195 2 53 217 194 2 54 217 193 2 55 216 191 2 57 216 190 2 58 213 189 2 59 213 188 2 60 213 187 2 61 211 186 2 62 211 185 2 63 209 184 2 64 209 183 2 65 209 182 2 67 209 181 2 68 209 180 2 68 209 179 2 69 208 178 2 70 208 177 2 71 208 176 2 72 208 175 2 73 207 174 2 75 207 173 2 76 205 172 2 76 205 171 2 77 205 170 2 78 205 169 2 79 204 168 2 80 204 167 2 81 202 166 2 83 202 165 2 84 202 164 2 84 202 163 2 85 202 162 2 86 201 161 2 87 199 160 2 88 199 158 2 90 198 157 2 91 197 156 2 92 195 155 2 93 195 154 2 94 194 153 2 95 194 152 2 96 194 151 2 97 194 150 2 98 194 149 2 100 194 148 2 101 194 147 2 101 194 146 2 102 194 145 2 103 194 144 2 104 189 143 2 105 189 142 2 106 188 141 2 108 188 140 2 109 188 139 2 109 186 138 2 110 186 137 2 111 186 136 2 112 186 135 2 113 186 134 2 114 186 133 2 116 186 132 2 117 186 131 2 117 186 130 2 118 186 129 2 119 186 128 2 120 186 127 2 121 186 125 2 123 186 124 2 124 186 123 2 125 186 122 2 126 186 121 2 127 186 120 2 128 186 119 2 129 186 118 2 130 186 117 2 131 186 116 2 133 186 115 2 134 186 114 2 134 186 113 2 135 186 112 2 136 186 111 2 137 186 110 2 138 186 109 2 139 188 108 2 141 188 107 2 142 188 106 2 142 189 105 2 143 189 104 2 144 194 103 2 145 194 102 2 146 194 101 2 147 194 100 2 149 194 99 2 150 194 98 2 150 194 97 2 151 194 96 2 152 194 95 2 153 194 94 2 154 195 92 2 156 195 91 2 157 197 90 2 158 197 89 2 159 198 88 2 160 199 87 2 161 201 86 2 162 201 85 2 163 202 84 2 164 202 83 2 166 202 82 2 167 202 81 2 167 204 80 2 168 204 79 2 169 205 78 2 170 205 77 2 171 205 76 2 172 205 75 2 174 207 74 2 175 207 73 2 175 207 72 2 176 208 71 2 177 208 70 2 178 208 69 2 179 208 68 2 180 209 67 2 182 209 66 2 183 209 65 2 183 209 64 2 184 209 63 2 185 211 62 2 186 211 61 2 187 211 59 2 189 213 58 2 190 213 57 2 191 213 56 2 192 216 55 2 193 216 54 2 194 217 53 2 195 217 52 2 196 217 51 2 197 219 50 2 199 219 49 2 200 219 48 2 200 219 47 2 201 219 46 2 202 220 45 2 203 220 44 2 204 220 43 2 205 221 42 2 207 223 41 2 208 224 40 2 208 226 39 2 209 226 38 2 210 227 37 2 211 228 36 2 212 228 35 2 213 228 34 2 215 228 33 2 216 230 32 2 216 230 31 2 217 230 30 2 218 230 29 2 219 231 28 2 220 231 26 2 222 231 25 2 223 231 24 2 224 231 23 2 225 231 22 2 226 234 21 2 227 234 20 2 228 235 19 2 229 238 18 2 230 238 17 2 232 238 16 2 233 239 15 2 233 239 14 2 234 239 13 2 235 239 12 2 236 240 11 2 237 240 10 2 238 240 9 2 240 240 8 2 241 240 7 2 241 240 6 2 242 240 5 2 243 240 4 2 244 242 3 2 245 243 2 2 246 245 1 2 248 246 0 2 248 248 0 2 249 249 0 2 250 250 0 2 250 252 0 2 250 252 0 2 250 252 255 1 0 255 254 1 0 255 254 1 0 252 254 1 0 252 253 1 0 252 252 1 0 252 251 1 0 250 250 1 1 250 249 1 2 249 248 1 2 248 247 1 3 246 246 1 4 245 245 1 4 243 244 1 5 242 243 1 6 240 242 1 7 240 241 1 9 240 240 1 10 240 239 1 11 240 238 1 12 240 237 1 12 240 236 1 13 239 235 1 14 239 234 1 15 239 233 1 17 239 232 1 18 239 231 1 19 238 230 1 20 238 229 1 20 235 228 1 21 235 227 1 22 234 226 1 24 234 224 1 25 231 223 1 26 231 222 1 27 231 221 1 28 231 220 1 29 231 219 1 30 231 218 1 31 230 217 1 32 230 216 1 34 230 215 1 35 230 214 1 36 230 213 1 37 230 212 1 37 230 211 1 38 228 210 1 39 228 209 1 40 227 208 1 42 226 207 1 43 224 206 1 44 223 205 1 45 221 204 1 45 220 203 1 46 220 202 1 47 220 201 1 48 219 200 1 50 219 199 1 51 219 198 1 52 219 197 1 53 219 196 1 53 219 195 1 54 219 194 1 55 217 193 1 57 217 191 1 58 216 190 1 59 216 189 1 60 216 188 1 61 213 187 1 62 213 186 1 63 213 185 1 64 211 184 1 65 211 183 1 67 209 182 1 68 209 181 1 69 209 180 1 70 209 179 1 70 209 178 1 71 209 177 1 72 209 176 1 73 208 175 1 75 208 174 1 76 208 173 1 77 207 172 1 78 207 171 1 78 207 170 1 79 207 169 1 80 205 168 1 81 205 167 1 83 205 166 1 84 204 165 1 85 204 164 1 86 204 163 1 86 204 162 1 87 202 161 1 88 202 160 1 90 201 158 1 91 199 157 1 92 198 156 1 93 198 155 1 94 198 154 1 95 197 153 1 96 197 152 1 97 197 151 1 98 197 150 1 100 197 149 1 101 197 148 1 102 197 147 1 103 197 146 1 103 197 145 1 104 197 144 1 105 195 143 1 106 194 142 1 108 194 141 1 109 189 140 1 110 189 139 1 111 188 138 1 111 188 137 1 112 188 136 1 113 188 135 1 114 188 134 1 116 188 133 1 117 188 132 1 118 188 131 1 119 188 130 1 119 188 129 1 120 188 128 1 121 188 127 1 123 188 125 1 124 188 124 1 125 188 123 1 126 188 122 1 127 188 121 1 128 188 120 1 129 188 119 1 130 188 118 1 131 188 117 1 133 188 116 1 134 188 115 1 135 188 114 1 136 188 113 1 136 188 112 1 137 188 111 1 138 188 110 1 139 188 109 1 141 189 108 1 142 189 107 1 143 194 106 1 144 194 105 1 144 195 104 1 145 195 103 1 146 197 102 1 147 197 101 1 149 197 100 1 150 197 99 1 151 197 98 1 152 197 97 1 152 197 96 1 153 197 95 1 154 197 94 1 156 197 92 1 157 198 91 1 158 198 90 1 159 199 89 1 160 201 88 1 161 201 87 1 162 202 86 1 163 202 85 1 164 204 84 1 166 204 83 1 167 204 82 1 168 205 81 1 169 205 80 1 169 205 79 1 170 207 78 1 171 207 77 1 172 207 76 1 174 207 75 1 175 207 74 1 176 208 73 1 177 208 72 1 177 208 71 1 178 209 70 1 179 209 69 1 180 209 68 1 182 209 67 1 183 209 66 1 184 209 65 1 185 211 64 1 185 211 63 1 186 213 62 1 187 213 61 1 189 213 59 1 190 216 58 1 191 216 57 1 192 216 56 1 193 217 55 1 194 217 54 1 195 217 53 1 196 219 52 1 197 219 51 1 199 219 50 1 200 219 49 1 201 219 48 1 202 219 47 1 202 220 46 1 203 220 45 1 204 220 44 1 205 221 43 1 207 223 42 1 208 224 41 1 209 226 40 1 210 227 39 1 210 227 38 1 211 228 37 1 212 228 36 1 213 230 35 1 215 230 34 1 216 230 33 1 217 230 32 1 218 230 31 1 218 230 30 1 219 231 29 1 220 231 28 1 222 231 26 1 223 231 25 1 224 231 24 1 225 231 23 1 226 234 22 1 227 234 21 1 228 235 20 1 229 235 19 1 230 238 18 1 232 238 17 1 233 239 16 1 234 239 15 1 235 239 14 1 235 239 13 1 236 239 12 1 237 240 11 1 238 240 10 1 240 240 9 1 241 240 8 1 242 240 7 1 243 240 6 1 243 240 5 1 244 242 4 1 245 243 3 1 246 245 2 1 248 246 1 1 249 248 0 1 250 249 0 1 250 250 0 1 251 250 0 1 251 252 0 1 251 252 0 1 251 252 255 0 0 255 254 0 0 255 254 0 0 252 254 0 0 252 253 0 0 252 252 0 0 252 251 0 0 252 250 0 1 252 249 0 2 250 248 0 3 249 247 0 4 248 246 0 5 246 245 0 5 245 244 0 6 243 243 0 7 242 242 0 8 240 241 0 9 240 240 0 11 240 239 0 12 240 238 0 12 240 237 0 13 240 236 0 14 239 235 0 15 239 234 0 16 239 233 0 17 239 232 0 19 239 231 0 20 239 230 0 20 239 229 0 21 238 228 0 22 238 227 0 23 235 226 0 25 234 224 0 26 234 223 0 27 231 222 0 28 231 221 0 29 231 220 0 30 231 219 0 31 231 218 0 32 231 217 0 33 230 216 0 34 230 215 0 36 230 214 0 37 230 213 0 37 230 212 0 38 230 211 0 39 230 210 0 40 230 209 0 41 228 208 0 42 227 207 0 44 226 206 0 45 224 205 0 45 223 204 0 46 221 203 0 47 221 202 0 48 220 201 0 49 220 200 0 50 220 199 0 52 220 198 0 53 220 197 0 53 220 196 0 54 220 195 0 55 219 194 0 56 219 193 0 58 217 191 0 59 217 190 0 60 217 189 0 61 217 188 0 62 216 187 0 63 216 186 0 64 213 185 0 65 213 184 0 66 213 183 0 67 211 182 0 69 211 181 0 70 211 180 0 70 211 179 0 71 211 178 0 72 211 177 0 73 209 176 0 74 209 175 0 75 209 174 0 77 208 173 0 78 208 172 0 78 208 171 0 79 208 170 0 80 208 169 0 81 207 168 0 82 207 167 0 83 207 166 0 85 205 165 0 86 205 164 0 86 205 163 0 87 205 162 0 88 204 161 0 89 204 160 0 91 202 158 0 92 202 157 0 93 201 156 0 94 201 155 0 95 201 154 0 96 201 153 0 97 201 152 0 98 201 151 0 99 199 150 0 100 199 149 0 102 199 148 0 103 199 147 0 103 199 146 0 104 199 145 0 105 198 144 0 106 198 143 0 107 197 142 0 108 195 141 0 110 194 140 0 111 194 139 0 111 189 138 0 112 189 137 0 113 189 136 0 114 189 135 0 115 189 134 0 116 189 133 0 118 189 132 0 119 189 131 0 119 189 130 0 120 189 129 0 121 189 128 0 122 189 127 0 124 189 125 0 125 189 124 0 126 189 123 0 127 189 122 0 128 189 121 0 129 189 120 0 130 189 119 0 131 189 118 0 132 189 117 0 133 189 116 0 135 189 115 0 136 189 114 0 136 189 113 0 137 189 112 0 138 189 111 0 139 189 110 0 140 189 109 0 141 194 108 0 143 194 107 0 144 195 106 0 144 197 105 0 145 198 104 0 146 198 103 0 147 199 102 0 148 199 101 0 149 199 100 0 151 199 99 0 152 199 98 0 152 199 97 0 153 201 96 0 154 201 95 0 155 201 94 0 157 201 92 0 158 201 91 0 159 201 90 0 160 201 89 0 161 202 88 0 162 202 87 0 163 204 86 0 164 204 85 0 165 205 84 0 166 205 83 0 168 205 82 0 169 207 81 0 169 207 80 0 170 207 79 0 171 208 78 0 172 208 77 0 173 208 76 0 174 208 75 0 176 208 74 0 177 209 73 0 177 209 72 0 178 209 71 0 179 211 70 0 180 211 69 0 181 211 68 0 182 211 67 0 184 211 66 0 185 211 65 0 185 211 64 0 186 213 63 0 187 213 62 0 188 216 61 0 190 216 59 0 191 216 58 0 192 217 57 0 193 217 56 0 194 217 55 0 195 219 54 0 196 219 53 0 197 219 52 0 198 220 51 0 199 220 50 0 201 220 49 0 202 220 48 0 202 220 47 0 203 220 46 0 204 221 45 0 205 221 44 0 206 223 43 0 207 224 42 0 209 226 41 0 210 227 40 0 210 228 39 0 211 228 38 0 212 230 37 0 213 230 36 0 214 230 35 0 215 230 34 0 217 230 33 0 218 230 32 0 218 230 31 0 219 231 30 0 220 231 29 0 221 231 28 0 223 231 26 0 224 231 25 0 225 231 24 0 226 234 23 0 227 234 22 0 228 235 21 0 229 235 20 0 230 238 19 0 231 239 18 0 232 239 17 0 234 239 16 0 235 239 15 0 235 239 14 0 236 239 13 0 237 239 12 0 238 240 11 0 239 240 10 0 240 240 9 0 242 240 8 0 243 240 7 0 243 240 6 0 244 242 5 0 245 243 4 0 246 245 3 0 247 246 2 0 248 248 1 0 250 249 0 0 250 250 0 0 251 252 0 0 252 252 0 0 252 252 0 0 252 252 0 0 252 252 255 0 0 255 254 0 0 255 254 0 0 255 254 0 0 255 253 0 0 255 252 0 0 252 251 0 1 252 250 0 1 252 249 0 2 252 248 0 3 250 247 0 4 249 246 0 5 248 245 0 6 246 244 0 7 245 243 0 8 243 242 0 9 242 241 0 10 240 240 0 11 240 239 0 12 240 238 0 13 240 237 0 14 240 236 0 15 240 235 0 16 240 234 0 17 240 233 0 18 239 232 0 19 239 231 0 20 239 230 0 21 239 229 0 22 239 228 0 23 238 227 0 24 238 226 0 25 235 224 0 27 235 223 0 28 234 222 0 29 234 221 0 30 234 220 0 31 231 219 0 32 231 218 0 33 231 217 0 34 231 216 0 35 231 215 0 36 231 214 0 37 231 213 0 38 231 212 0 39 230 211 0 40 230 210 0 41 230 209 0 42 228 208 0 43 228 207 0 44 227 206 0 45 226 205 0 46 224 204 0 47 223 203 0 48 223 202 0 49 221 201 0 50 221 200 0 51 221 199 0 52 221 198 0 53 221 197 0 54 221 196 0 55 220 195 0 56 220 194 0 57 219 193 0 58 219 191 0 60 219 190 0 61 217 189 0 62 217 188 0 63 217 187 0 64 217 186 0 65 216 185 0 66 216 184 0 67 213 183 0 68 213 182 0 69 213 181 0 70 213 180 0 71 213 179 0 72 213 178 0 73 213 177 0 74 211 176 0 75 211 175 0 76 211 174 0 77 209 173 0 78 209 172 0 79 209 171 0 80 209 170 0 81 208 169 0 82 208 168 0 83 208 167 0 84 207 166 0 85 207 165 0 86 207 164 0 87 205 163 0 88 205 162 0 89 205 161 0 90 205 160 0 91 204 158 0 93 204 157 0 94 204 156 0 95 204 155 0 96 202 154 0 97 202 153 0 98 202 152 0 99 202 151 0 100 202 150 0 101 202 149 0 102 202 148 0 103 202 147 0 104 202 146 0 105 201 145 0 106 201 144 0 107 199 143 0 108 198 142 0 109 197 141 0 110 197 140 0 111 195 139 0 112 195 138 0 113 195 137 0 114 195 136 0 115 195 135 0 116 195 134 0 117 195 133 0 118 195 132 0 119 195 131 0 120 195 130 0 121 195 129 0 122 195 128 0 123 195 127 0 124 195 125 0 126 195 124 0 127 195 123 0 128 195 122 0 129 195 121 0 130 195 120 0 131 195 119 0 132 195 118 0 133 195 117 0 134 195 116 0 135 195 115 0 136 195 114 0 137 195 113 0 138 195 112 0 139 195 111 0 140 195 110 0 141 195 109 0 142 195 108 0 143 195 107 0 144 197 106 0 145 198 105 0 146 199 104 0 147 201 103 0 148 201 102 0 149 202 101 0 150 202 100 0 151 202 99 0 152 202 98 0 153 202 97 0 154 202 96 0 155 202 95 0 156 202 94 0 157 202 92 0 159 202 91 0 160 204 90 0 161 204 89 0 162 204 88 0 163 204 87 0 164 205 86 0 165 205 85 0 166 205 84 0 167 207 83 0 168 207 82 0 169 207 81 0 170 208 80 0 171 208 79 0 172 208 78 0 173 208 77 0 174 209 76 0 175 209 75 0 176 209 74 0 177 211 73 0 178 211 72 0 179 211 71 0 180 211 70 0 181 213 69 0 182 213 68 0 183 213 67 0 184 213 66 0 185 213 65 0 186 213 64 0 187 216 63 0 188 216 62 0 189 217 61 0 190 217 59 0 192 217 58 0 193 217 57 0 194 219 56 0 195 219 55 0 196 219 54 0 197 220 53 0 198 220 52 0 199 221 51 0 200 221 50 0 201 221 49 0 202 221 48 0 203 221 47 0 204 221 46 0 205 223 45 0 206 223 44 0 207 224 43 0 208 226 42 0 209 227 41 0 210 228 40 0 211 228 39 0 212 230 38 0 213 230 37 0 214 230 36 0 215 230 35 0 216 231 34 0 217 231 33 0 218 231 32 0 219 231 31 0 220 231 30 0 221 231 29 0 222 231 28 0 223 234 26 0 225 234 25 0 226 234 24 0 227 234 23 0 228 235 22 0 229 235 21 0 230 238 20 0 231 238 19 0 232 239 18 0 233 239 17 0 234 239 16 0 235 239 15 0 236 240 14 0 237 240 13 0 238 240 12 0 239 240 11 0 240 240 10 0 241 240 9 0 242 240 8 0 243 240 7 0 244 242 6 0 245 243 5 0 246 245 4 0 247 246 3 0 248 248 2 0 249 249 1 0 250 250 0 0 251 252 0 0 252 252 0 0 253 252 0 0 253 252 0 0 253 255 0 0 253 255 255 0 0 255 254 0 0 255 254 0 0 255 254 0 0 255 253 0 0 255 252 0 0 252 251 0 1 252 250 0 2 252 249 0 3 252 248 0 4 250 247 0 5 250 246 0 6 249 245 0 6 248 244 0 7 246 243 0 8 245 242 0 9 243 241 0 11 242 240 0 12 240 239 0 13 240 238 0 14 240 237 0 14 240 236 0 15 240 235 0 16 240 234 0 17 240 233 0 19 239 232 0 20 239 231 0 21 239 230 0 22 239 229 0 22 239 228 0 23 239 227 0 25 238 226 0 26 238 224 0 27 235 223 0 29 235 222 0 30 235 221 0 31 234 220 0 31 234 219 0 32 234 218 0 33 231 217 0 34 231 216 0 36 231 215 0 37 231 214 0 38 231 213 0 39 231 212 0 39 230 211 0 40 230 210 0 41 230 209 0 42 230 208 0 44 228 207 0 45 228 206 0 46 227 205 0 47 226 204 0 47 224 203 0 48 224 202 0 49 224 201 0 50 224 200 0 52 223 199 0 53 223 198 0 54 223 197 0 55 223 196 0 55 221 195 0 56 220 194 0 58 220 193 0 59 219 191 0 60 219 190 0 62 219 189 0 63 219 188 0 64 219 187 0 64 217 186 0 65 217 185 0 66 216 184 0 67 216 183 0 69 216 182 0 70 216 181 0 71 216 180 0 72 216 179 0 72 213 178 0 73 213 177 0 74 213 176 0 75 213 175 0 77 213 174 0 78 211 173 0 79 211 172 0 80 211 171 0 80 209 170 0 81 209 169 0 82 209 168 0 83 208 167 0 85 208 166 0 86 208 165 0 87 207 164 0 88 207 163 0 88 207 162 0 89 207 161 0 91 207 160 0 92 205 158 0 93 205 157 0 95 205 156 0 96 205 155 0 97 205 154 0 97 205 153 0 98 205 152 0 99 205 151 0 100 205 150 0 102 204 149 0 103 204 148 0 104 204 147 0 105 204 146 0 105 202 145 0 106 202 144 0 107 201 143 0 108 199 142 0 110 199 141 0 111 198 140 0 112 197 139 0 113 197 138 0 113 197 137 0 114 197 136 0 115 197 135 0 116 197 134 0 118 197 133 0 119 197 132 0 120 197 131 0 121 197 130 0 121 197 129 0 122 197 128 0 124 197 127 0 125 197 125 0 126 197 124 0 128 197 123 0 129 197 122 0 130 197 121 0 130 197 120 0 131 197 119 0 132 197 118 0 133 197 117 0 135 197 116 0 136 197 115 0 137 197 114 0 138 197 113 0 138 197 112 0 139 197 111 0 140 197 110 0 141 197 109 0 143 197 108 0 144 198 107 0 145 198 106 0 146 199 105 0 146 201 104 0 147 202 103 0 148 202 102 0 149 204 101 0 151 204 100 0 152 204 99 0 153 204 98 0 154 205 97 0 154 205 96 0 155 205 95 0 157 205 94 0 158 205 92 0 159 205 91 0 161 205 90 0 162 205 89 0 163 205 88 0 163 205 87 0 164 207 86 0 165 207 85 0 166 207 84 0 168 207 83 0 169 208 82 0 170 208 81 0 171 208 80 0 171 209 79 0 172 209 78 0 173 209 77 0 174 209 76 0 176 211 75 0 177 211 74 0 178 213 73 0 179 213 72 0 179 213 71 0 180 213 70 0 181 213 69 0 182 216 68 0 184 216 67 0 185 216 66 0 186 216 65 0 187 216 64 0 187 216 63 0 188 217 62 0 190 217 61 0 191 217 59 0 192 219 58 0 194 219 57 0 195 219 56 0 196 219 55 0 196 220 54 0 197 220 53 0 198 221 52 0 199 221 51 0 201 223 50 0 202 223 49 0 203 223 48 0 204 224 47 0 204 224 46 0 205 224 45 0 206 224 44 0 207 226 43 0 209 227 42 0 210 228 41 0 211 228 40 0 212 230 39 0 212 230 38 0 213 230 37 0 214 230 36 0 215 230 35 0 217 231 34 0 218 231 33 0 219 231 32 0 220 231 31 0 220 231 30 0 221 234 29 0 223 234 28 0 224 234 26 0 225 235 25 0 227 235 24 0 228 235 23 0 229 235 22 0 229 238 21 0 230 238 20 0 231 239 19 0 232 239 18 0 234 239 17 0 235 239 16 0 236 239 15 0 237 240 14 0 237 240 13 0 238 240 12 0 239 240 11 0 240 240 10 0 242 240 9 0 243 240 8 0 244 242 7 0 245 243 6 0 245 245 5 0 246 246 4 0 247 248 3 0 248 249 2 0 250 250 1 0 251 250 0 0 252 252 0 0 253 252 0 0 253 252 0 0 253 252 0 0 254 255 0 0 254 255 255 0 0 255 254 0 0 255 254 0 0 255 254 0 0 255 253 0 0 255 252 0 0 252 251 0 1 252 250 0 2 252 249 0 3 252 248 0 4 252 247 0 5 252 246 0 6 250 245 0 7 249 244 0 8 248 243 0 8 246 242 0 10 245 241 0 11 242 240 0 12 242 239 0 13 240 238 0 14 240 237 0 15 240 236 0 16 240 235 0 16 240 234 0 18 240 233 0 19 239 232 0 20 239 231 0 21 239 230 0 22 239 229 0 23 239 228 0 24 239 227 0 25 239 226 0 26 238 224 0 27 238 223 0 29 238 222 0 30 235 221 0 31 235 220 0 32 235 219 0 33 234 218 0 33 234 217 0 35 231 216 0 36 231 215 0 37 231 214 0 38 231 213 0 39 231 212 0 40 230 211 0 41 230 210 0 41 230 209 0 43 230 208 0 44 230 207 0 45 230 206 0 46 228 205 0 47 227 204 0 48 227 203 0 49 226 202 0 49 226 201 0 51 226 200 0 52 226 199 0 53 226 198 0 54 224 197 0 55 224 196 0 56 223 195 0 57 221 194 0 58 220 193 0 59 220 191 0 60 219 190 0 62 219 189 0 63 219 188 0 64 219 187 0 65 219 186 0 66 217 185 0 66 217 184 0 68 217 183 0 69 217 182 0 70 217 181 0 71 217 180 0 72 217 179 0 73 217 178 0 74 216 177 0 74 216 176 0 76 216 175 0 77 216 174 0 78 213 173 0 79 213 172 0 80 211 171 0 81 211 170 0 82 209 169 0 82 209 168 0 84 209 167 0 85 209 166 0 86 208 165 0 87 208 164 0 88 208 163 0 89 208 162 0 90 208 161 0 91 208 160 0 92 207 158 0 93 207 157 0 95 207 156 0 96 207 155 0 97 207 154 0 98 207 153 0 99 207 152 0 99 207 151 0 101 207 150 0 102 205 149 0 103 205 148 0 104 205 147 0 105 204 146 0 106 204 145 0 107 204 144 0 107 202 143 0 109 202 142 0 110 201 141 0 111 199 140 0 112 199 139 0 113 199 138 0 114 199 137 0 115 199 136 0 115 199 135 0 117 199 134 0 118 199 133 0 119 199 132 0 120 199 131 0 121 199 130 0 122 199 129 0 123 199 128 0 124 199 127 0 125 199 125 0 126 199 124 0 128 199 123 0 129 199 122 0 130 199 121 0 131 199 120 0 132 199 119 0 132 199 118 0 134 199 117 0 135 199 116 0 136 199 115 0 137 199 114 0 138 199 113 0 139 199 112 0 140 199 111 0 140 199 110 0 142 199 109 0 143 199 108 0 144 199 107 0 145 201 106 0 146 201 105 0 147 202 104 0 148 202 103 0 148 204 102 0 150 204 101 0 151 205 100 0 152 205 99 0 153 205 98 0 154 207 97 0 155 207 96 0 156 207 95 0 157 207 94 0 158 207 92 0 159 207 91 0 161 207 90 0 162 207 89 0 163 207 88 0 164 208 87 0 165 208 86 0 165 208 85 0 167 208 84 0 168 208 83 0 169 208 82 0 170 209 81 0 171 209 80 0 172 209 79 0 173 209 78 0 173 211 77 0 175 211 76 0 176 213 75 0 177 213 74 0 178 216 73 0 179 216 72 0 180 216 71 0 181 216 70 0 181 217 69 0 183 217 68 0 184 217 67 0 185 217 66 0 186 217 65 0 187 217 64 0 188 217 63 0 189 217 62 0 190 219 61 0 191 219 59 0 192 219 58 0 194 219 57 0 195 219 56 0 196 220 55 0 197 220 54 0 198 221 53 0 198 223 52 0 200 223 51 0 201 224 50 0 202 226 49 0 203 226 48 0 204 226 47 0 205 226 46 0 206 226 45 0 206 227 44 0 208 227 43 0 209 228 42 0 210 228 41 0 211 230 40 0 212 230 39 0 213 230 38 0 214 230 37 0 214 230 36 0 216 230 35 0 217 231 34 0 218 231 33 0 219 231 32 0 220 231 31 0 221 234 30 0 222 234 29 0 223 235 28 0 224 235 26 0 225 235 25 0 227 238 24 0 228 238 23 0 229 238 22 0 230 239 21 0 231 239 20 0 231 239 19 0 233 239 18 0 234 239 17 0 235 239 16 0 236 239 15 0 237 240 14 0 238 240 13 0 239 240 12 0 239 240 11 0 241 240 10 0 242 240 9 0 243 242 8 0 244 242 7 0 245 243 6 0 246 246 5 0 247 248 4 0 247 249 3 0 249 250 2 0 250 252 1 0 251 252 0 0 252 252 0 0 253 252 0 0 253 252 0 0 254 252 0 0 254 255 0 0 254 255 255 0 0 255 254 0 0 255 254 0 0 255 254 0 0 255 253 0 0 255 252 0 0 255 251 0 1 255 250 0 2 255 249 0 3 252 248 0 4 252 247 0 5 252 246 0 6 252 245 0 7 250 244 0 8 249 243 0 9 248 242 0 10 245 241 0 11 243 240 0 12 242 239 0 13 240 238 0 14 240 237 0 15 240 236 0 16 240 235 0 17 240 234 0 18 240 233 0 19 240 232 0 20 240 231 0 21 240 230 0 22 240 229 0 23 239 228 0 24 239 227 0 25 239 226 0 26 239 224 0 28 239 223 0 29 238 222 0 30 238 221 0 31 238 220 0 32 235 219 0 33 235 218 0 34 234 217 0 35 231 216 0 36 231 215 0 37 231 214 0 38 231 213 0 39 231 212 0 40 231 211 0 41 231 210 0 42 231 209 0 43 230 208 0 44 230 207 0 45 230 206 0 46 230 205 0 47 228 204 0 48 228 203 0 49 228 202 0 50 228 201 0 51 228 200 0 52 227 199 0 53 227 198 0 54 226 197 0 55 226 196 0 56 223 195 0 57 221 194 0 58 221 193 0 59 220 191 0 61 220 190 0 62 220 189 0 63 219 188 0 64 219 187 0 65 219 186 0 66 219 185 0 67 219 184 0 68 219 183 0 69 217 182 0 70 217 181 0 71 217 180 0 72 217 179 0 73 217 178 0 74 217 177 0 75 217 176 0 76 217 175 0 77 217 174 0 78 216 173 0 79 216 172 0 80 213 171 0 81 211 170 0 82 211 169 0 83 209 168 0 84 209 167 0 85 209 166 0 86 209 165 0 87 209 164 0 88 208 163 0 89 208 162 0 90 208 161 0 91 208 160 0 92 208 158 0 94 208 157 0 95 208 156 0 96 208 155 0 97 208 154 0 98 208 153 0 99 208 152 0 100 208 151 0 101 208 150 0 102 207 149 0 103 207 148 0 104 205 147 0 105 205 146 0 106 204 145 0 107 204 144 0 108 204 143 0 109 202 142 0 110 202 141 0 111 202 140 0 112 201 139 0 113 201 138 0 114 201 137 0 115 201 136 0 116 201 135 0 117 201 134 0 118 201 133 0 119 201 132 0 120 201 131 0 121 201 130 0 122 201 129 0 123 201 128 0 124 201 127 0 125 201 125 0 127 201 124 0 128 201 123 0 129 201 122 0 130 201 121 0 131 201 120 0 132 201 119 0 133 201 118 0 134 201 117 0 135 201 116 0 136 201 115 0 137 201 114 0 138 201 113 0 139 201 112 0 140 201 111 0 141 201 110 0 142 201 109 0 143 201 108 0 144 202 107 0 145 202 106 0 146 202 105 0 147 204 104 0 148 204 103 0 149 204 102 0 150 205 101 0 151 205 100 0 152 207 99 0 153 207 98 0 154 208 97 0 155 208 96 0 156 208 95 0 157 208 94 0 158 208 92 0 160 208 91 0 161 208 90 0 162 208 89 0 163 208 88 0 164 208 87 0 165 208 86 0 166 208 85 0 167 208 84 0 168 209 83 0 169 209 82 0 170 209 81 0 171 209 80 0 172 209 79 0 173 211 78 0 174 211 77 0 175 213 76 0 176 216 75 0 177 216 74 0 178 217 73 0 179 217 72 0 180 217 71 0 181 217 70 0 182 217 69 0 183 217 68 0 184 217 67 0 185 217 66 0 186 217 65 0 187 217 64 0 188 219 63 0 189 219 62 0 190 219 61 0 191 219 59 0 193 219 58 0 194 220 57 0 195 220 56 0 196 220 55 0 197 220 54 0 198 221 53 0 199 223 52 0 200 224 51 0 201 226 50 0 202 227 49 0 203 227 48 0 204 228 47 0 205 228 46 0 206 228 45 0 207 228 44 0 208 228 43 0 209 230 42 0 210 230 41 0 211 230 40 0 212 230 39 0 213 231 38 0 214 231 37 0 215 231 36 0 216 231 35 0 217 231 34 0 218 231 33 0 219 231 32 0 220 231 31 0 221 234 30 0 222 235 29 0 223 235 28 0 224 238 26 0 226 238 25 0 227 238 24 0 228 239 23 0 229 239 22 0 230 239 21 0 231 239 20 0 232 239 19 0 233 239 18 0 234 240 17 0 235 240 16 0 236 240 15 0 237 240 14 0 238 240 13 0 239 240 12 0 240 240 11 0 241 240 10 0 242 240 9 0 243 242 8 0 244 243 7 0 245 245 6 0 246 248 5 0 247 249 4 0 248 250 3 0 249 252 2 0 250 252 1 0 251 252 0 0 252 252 0 0 253 255 0 0 254 255 0 0 254 255 0 0 254 255 0 0 254 255 255 0 0 255 254 0 0 255 254 0 0 255 254 0 0 255 253 0 0 255 252 0 0 255 251 0 1 255 250 0 2 255 249 0 3 252 248 0 4 252 247 0 5 252 246 0 6 252 245 0 7 252 244 0 8 250 243 0 9 248 242 0 10 246 241 0 11 243 240 0 12 242 239 0 13 240 238 0 14 240 237 0 15 240 236 0 16 240 235 0 17 240 234 0 18 240 233 0 19 240 232 0 20 240 231 0 21 240 230 0 22 240 229 0 23 239 228 0 24 239 227 0 25 239 226 0 26 239 224 0 28 239 223 0 29 239 222 0 30 239 221 0 31 238 220 0 32 238 219 0 33 235 218 0 34 234 217 0 35 234 216 0 36 231 215 0 37 231 214 0 38 231 213 0 39 231 212 0 40 231 211 0 41 231 210 0 42 231 209 0 43 230 208 0 44 230 207 0 45 230 206 0 46 230 205 0 47 230 204 0 48 230 203 0 49 230 202 0 50 230 201 0 51 230 200 0 52 228 199 0 53 228 198 0 54 227 197 0 55 226 196 0 56 224 195 0 57 223 194 0 58 221 193 0 59 220 191 0 61 220 190 0 62 220 189 0 63 219 188 0 64 219 187 0 65 219 186 0 66 219 185 0 67 219 184 0 68 219 183 0 69 219 182 0 70 219 181 0 71 219 180 0 72 219 179 0 73 219 178 0 74 219 177 0 75 219 176 0 76 219 175 0 77 217 174 0 78 217 173 0 79 216 172 0 80 213 171 0 81 213 170 0 82 211 169 0 83 211 168 0 84 209 167 0 85 209 166 0 86 209 165 0 87 209 164 0 88 209 163 0 89 209 162 0 90 209 161 0 91 209 160 0 92 209 158 0 94 209 157 0 95 209 156 0 96 209 155 0 97 209 154 0 98 209 153 0 99 209 152 0 100 208 151 0 101 208 150 0 102 208 149 0 103 207 148 0 104 205 147 0 105 205 146 0 106 205 145 0 107 204 144 0 108 204 143 0 109 204 142 0 110 204 141 0 111 204 140 0 112 202 139 0 113 202 138 0 114 202 137 0 115 202 136 0 116 202 135 0 117 202 134 0 118 202 133 0 119 202 132 0 120 202 131 0 121 202 130 0 122 202 129 0 123 202 128 0 124 202 127 0 125 202 125 0 127 202 124 0 128 202 123 0 129 202 122 0 130 202 121 0 131 202 120 0 132 202 119 0 133 202 118 0 134 202 117 0 135 202 116 0 136 202 115 0 137 202 114 0 138 202 113 0 139 202 112 0 140 202 111 0 141 202 110 0 142 202 109 0 143 202 108 0 144 204 107 0 145 204 106 0 146 204 105 0 147 204 104 0 148 204 103 0 149 204 102 0 150 205 101 0 151 205 100 0 152 207 99 0 153 207 98 0 154 208 97 0 155 208 96 0 156 209 95 0 157 209 94 0 158 209 92 0 160 209 91 0 161 209 90 0 162 209 89 0 163 209 88 0 164 209 87 0 165 209 86 0 166 209 85 0 167 209 84 0 168 209 83 0 169 209 82 0 170 209 81 0 171 209 80 0 172 209 79 0 173 211 78 0 174 211 77 0 175 213 76 0 176 216 75 0 177 217 74 0 178 217 73 0 179 219 72 0 180 219 71 0 181 219 70 0 182 219 69 0 183 219 68 0 184 219 67 0 185 219 66 0 186 219 65 0 187 219 64 0 188 219 63 0 189 219 62 0 190 219 61 0 191 219 59 0 193 219 58 0 194 220 57 0 195 220 56 0 196 220 55 0 197 221 54 0 198 221 53 0 199 224 52 0 200 226 51 0 201 227 50 0 202 228 49 0 203 228 48 0 204 230 47 0 205 230 46 0 206 230 45 0 207 230 44 0 208 230 43 0 209 230 42 0 210 230 41 0 211 230 40 0 212 230 39 0 213 231 38 0 214 231 37 0 215 231 36 0 216 231 35 0 217 231 34 0 218 231 33 0 219 231 32 0 220 234 31 0 221 234 30 0 222 235 29 0 223 238 28 0 224 238 26 0 226 239 25 0 227 239 24 0 228 239 23 0 229 239 22 0 230 239 21 0 231 239 20 0 232 239 19 0 233 239 18 0 234 240 17 0 235 240 16 0 236 240 15 0 237 240 14 0 238 240 13 0 239 240 12 0 240 240 11 0 241 240 10 0 242 240 9 0 243 242 8 0 244 243 7 0 245 246 6 0 246 248 5 0 247 249 4 0 248 250 3 0 249 252 2 0 250 252 1 0 251 252 0 0 252 252 0 0 253 255 0 0 254 255 0 0 254 255 0 0 254 255 0 0 255 255] ================================================ FILE: testdata/image-rgba-struct ================================================ &{Pix:[255 255 0 255 254 255 0 255 254 255 0 255 254 255 0 255 253 255 0 255 252 255 0 255 251 255 0 255 250 255 0 255 249 255 0 255 248 255 0 255 247 255 0 255 246 255 0 255 245 255 0 255 244 255 0 255 243 255 0 255 242 255 0 255 241 255 0 255 240 255 0 255 239 255 0 252 238 255 0 252 237 255 0 252 236 255 0 252 235 255 0 250 234 255 0 249 233 255 0 248 232 255 0 245 231 255 0 243 230 255 0 242 229 255 0 240 228 255 0 240 227 255 0 240 226 255 0 240 224 255 0 240 223 255 0 240 222 255 0 240 221 255 0 240 220 255 0 240 219 255 0 240 218 255 0 240 217 255 0 240 216 255 0 240 215 255 0 240 214 255 0 240 213 255 0 240 212 255 0 240 211 255 0 240 210 255 0 240 209 255 0 239 208 255 0 239 207 255 0 239 206 255 0 239 205 255 0 239 204 255 0 239 203 255 0 239 202 255 0 238 201 255 0 238 200 255 0 235 199 255 0 234 198 255 0 234 197 255 0 231 196 255 0 231 195 255 0 231 194 255 0 231 193 255 0 231 191 255 0 231 190 255 0 231 189 255 0 231 188 255 0 231 187 255 0 231 186 255 0 231 185 255 0 231 184 255 0 231 183 255 0 230 182 255 0 230 181 255 0 230 180 255 0 230 179 255 0 230 178 255 0 230 177 255 0 230 176 255 0 230 175 255 0 230 174 255 0 230 173 255 0 230 172 255 0 230 171 255 0 230 170 255 0 230 169 255 0 230 168 255 0 230 167 255 0 228 166 255 0 228 165 255 0 227 164 255 0 226 163 255 0 224 162 255 0 223 161 255 0 221 160 255 0 220 158 255 0 220 157 255 0 220 156 255 0 220 155 255 0 220 154 255 0 220 153 255 0 220 152 255 0 220 151 255 0 220 150 255 0 219 149 255 0 219 148 255 0 219 147 255 0 219 146 255 0 219 145 255 0 219 144 255 0 219 143 255 0 219 142 255 0 219 141 255 0 219 140 255 0 219 139 255 0 219 138 255 0 219 137 255 0 219 136 255 0 219 135 255 0 219 134 255 0 219 133 255 0 219 132 255 0 219 131 255 0 219 130 255 0 219 129 255 0 219 128 255 0 219 127 255 0 219 125 255 0 219 124 255 0 219 123 255 0 219 122 255 0 219 121 255 0 219 120 255 0 219 119 255 0 219 118 255 0 219 117 255 0 219 116 255 0 219 115 255 0 219 114 255 0 219 113 255 0 219 112 255 0 219 111 255 0 219 110 255 0 219 109 255 0 219 108 255 0 219 107 255 0 219 106 255 0 219 105 255 0 219 104 255 0 219 103 255 0 219 102 255 0 219 101 255 0 219 100 255 0 219 99 255 0 219 98 255 0 220 97 255 0 220 96 255 0 220 95 255 0 220 94 255 0 220 92 255 0 220 91 255 0 220 90 255 0 220 89 255 0 220 88 255 0 221 87 255 0 221 86 255 0 224 85 255 0 226 84 255 0 227 83 255 0 228 82 255 0 228 81 255 0 230 80 255 0 230 79 255 0 230 78 255 0 230 77 255 0 230 76 255 0 230 75 255 0 230 74 255 0 230 73 255 0 230 72 255 0 230 71 255 0 230 70 255 0 230 69 255 0 230 68 255 0 230 67 255 0 230 66 255 0 230 65 255 0 231 64 255 0 231 63 255 0 231 62 255 0 231 61 255 0 231 59 255 0 231 58 255 0 231 57 255 0 231 56 255 0 231 55 255 0 231 54 255 0 231 53 255 0 231 52 255 0 231 51 255 0 234 50 255 0 234 49 255 0 235 48 255 0 238 47 255 0 238 46 255 0 239 45 255 0 239 44 255 0 239 43 255 0 239 42 255 0 239 41 255 0 239 40 255 0 239 39 255 0 240 38 255 0 240 37 255 0 240 36 255 0 240 35 255 0 240 34 255 0 240 33 255 0 240 32 255 0 240 31 255 0 240 30 255 0 240 29 255 0 240 28 255 0 240 26 255 0 240 25 255 0 240 24 255 0 240 23 255 0 240 22 255 0 240 21 255 0 240 20 255 0 240 19 255 0 242 18 255 0 243 17 255 0 245 16 255 0 248 15 255 0 249 14 255 0 250 13 255 0 252 12 255 0 252 11 255 0 252 10 255 0 252 9 255 0 255 8 255 0 255 7 255 0 255 6 255 0 255 5 255 0 255 4 255 0 255 3 255 0 255 2 255 0 255 1 255 0 255 0 255 0 255 0 255 0 255 0 255 0 255 0 255 0 255 0 255 0 255 0 255 0 255 255 254 0 255 254 254 0 255 254 254 0 255 254 254 0 255 253 254 0 255 252 254 0 255 251 254 0 255 250 254 0 255 249 254 0 255 248 254 0 255 247 254 0 255 246 254 0 255 245 254 0 255 244 254 0 255 243 254 0 255 242 254 0 255 241 254 0 255 240 254 0 255 239 254 0 252 238 254 0 252 237 254 0 252 236 254 0 250 235 254 0 250 234 254 0 249 233 254 0 246 232 254 0 245 231 254 0 242 230 254 0 240 229 254 0 240 228 254 0 240 227 254 0 240 226 254 0 240 224 254 0 240 223 254 0 240 222 254 0 240 221 254 0 240 220 254 0 240 219 254 0 240 218 254 0 240 217 254 0 240 216 254 0 240 215 254 0 240 214 254 0 240 213 254 0 240 212 254 0 240 211 254 0 240 210 254 0 240 209 254 0 239 208 254 0 239 207 254 0 239 206 254 0 239 205 254 0 239 204 254 0 238 203 254 0 238 202 254 0 238 201 254 0 235 200 254 0 235 199 254 0 234 198 254 0 231 197 254 0 231 196 254 0 231 195 254 0 231 194 254 0 231 193 254 0 231 191 254 0 231 190 254 0 231 189 254 0 231 188 254 0 231 187 254 0 231 186 254 0 231 185 254 0 231 184 254 0 231 183 254 0 230 182 254 0 230 181 254 0 230 180 254 0 230 179 254 0 228 178 254 0 228 177 254 0 228 176 254 0 228 175 254 0 228 174 254 0 228 173 254 0 228 172 254 0 228 171 254 0 228 170 254 0 228 169 254 0 228 168 254 0 228 167 254 0 227 166 254 0 227 165 254 0 226 164 254 0 226 163 254 0 223 162 254 0 221 161 254 0 221 160 254 0 220 158 254 0 220 157 254 0 220 156 254 0 220 155 254 0 220 154 254 0 220 153 254 0 220 152 254 0 220 151 254 0 220 150 254 0 219 149 254 0 219 148 254 0 219 147 254 0 219 146 254 0 219 145 254 0 219 144 254 0 217 143 254 0 217 142 254 0 217 141 254 0 217 140 254 0 217 139 254 0 217 138 254 0 217 137 254 0 217 136 254 0 217 135 254 0 217 134 254 0 217 133 254 0 217 132 254 0 217 131 254 0 217 130 254 0 217 129 254 0 217 128 254 0 217 127 254 0 217 125 254 0 217 124 254 0 217 123 254 0 217 122 254 0 217 121 254 0 217 120 254 0 217 119 254 0 217 118 254 0 217 117 254 0 217 116 254 0 217 115 254 0 217 114 254 0 217 113 254 0 217 112 254 0 217 111 254 0 217 110 254 0 217 109 254 0 217 108 254 0 217 107 254 0 217 106 254 0 217 105 254 0 217 104 254 0 219 103 254 0 219 102 254 0 219 101 254 0 219 100 254 0 219 99 254 0 219 98 254 0 220 97 254 0 220 96 254 0 220 95 254 0 220 94 254 0 220 92 254 0 220 91 254 0 220 90 254 0 220 89 254 0 220 88 254 0 220 87 254 0 221 86 254 0 223 85 254 0 224 84 254 0 226 83 254 0 227 82 254 0 227 81 254 0 228 80 254 0 228 79 254 0 228 78 254 0 228 77 254 0 228 76 254 0 228 75 254 0 228 74 254 0 228 73 254 0 228 72 254 0 228 71 254 0 228 70 254 0 228 69 254 0 230 68 254 0 230 67 254 0 230 66 254 0 230 65 254 0 231 64 254 0 231 63 254 0 231 62 254 0 231 61 254 0 231 59 254 0 231 58 254 0 231 57 254 0 231 56 254 0 231 55 254 0 231 54 254 0 231 53 254 0 231 52 254 0 231 51 254 0 231 50 254 0 234 49 254 0 235 48 254 0 235 47 254 0 238 46 254 0 238 45 254 0 238 44 254 0 239 43 254 0 239 42 254 0 239 41 254 0 239 40 254 0 239 39 254 0 240 38 254 0 240 37 254 0 240 36 254 0 240 35 254 0 240 34 254 0 240 33 254 0 240 32 254 0 240 31 254 0 240 30 254 0 240 29 254 0 240 28 254 0 240 26 254 0 240 25 254 0 240 24 254 0 240 23 254 0 240 22 254 0 240 21 254 0 240 20 254 0 240 19 254 0 240 18 254 0 242 17 254 0 243 16 254 0 246 15 254 0 248 14 254 0 249 13 254 0 250 12 254 0 252 11 254 0 252 10 254 0 252 9 254 0 255 8 254 0 255 7 254 0 255 6 254 0 255 5 254 0 255 4 254 0 255 3 254 0 255 2 254 0 255 1 254 0 255 0 254 0 255 0 254 0 255 0 254 0 255 0 254 0 255 0 254 0 255 0 254 0 255 255 254 0 255 254 254 0 255 254 254 0 255 254 254 0 255 253 254 0 255 252 254 0 255 251 254 0 255 250 254 0 255 249 254 0 255 248 254 0 255 247 254 0 255 246 254 0 255 245 254 0 255 244 254 0 255 243 254 0 255 242 254 0 252 241 254 0 252 240 254 0 252 239 254 0 252 238 254 0 252 237 254 0 250 236 254 0 250 235 254 0 249 234 254 0 248 233 254 0 245 232 254 0 243 231 254 0 242 230 254 0 240 229 254 0 240 228 254 0 240 227 254 0 240 226 254 0 240 224 254 0 240 223 254 0 240 222 254 0 240 221 254 0 240 220 254 0 240 219 254 0 239 218 254 0 239 217 254 0 239 216 254 0 239 215 254 0 239 214 254 0 239 213 254 0 239 212 254 0 239 211 254 0 239 210 254 0 239 209 254 0 239 208 254 0 239 207 254 0 239 206 254 0 238 205 254 0 238 204 254 0 238 203 254 0 235 202 254 0 235 201 254 0 235 200 254 0 234 199 254 0 234 198 254 0 231 197 254 0 231 196 254 0 231 195 254 0 230 194 254 0 230 193 254 0 230 191 254 0 230 190 254 0 230 189 254 0 230 188 254 0 230 187 254 0 230 186 254 0 230 185 254 0 230 184 254 0 230 183 254 0 230 182 254 0 230 181 254 0 230 180 254 0 228 179 254 0 228 178 254 0 227 177 254 0 227 176 254 0 226 175 254 0 226 174 254 0 226 173 254 0 226 172 254 0 226 171 254 0 226 170 254 0 226 169 254 0 226 168 254 0 226 167 254 0 226 166 254 0 226 165 254 0 224 164 254 0 224 163 254 0 223 162 254 0 221 161 254 0 220 160 254 0 220 158 254 0 219 157 254 0 219 156 254 0 219 155 254 0 219 154 254 0 219 153 254 0 219 152 254 0 219 151 254 0 219 150 254 0 219 149 254 0 219 148 254 0 219 147 254 0 219 146 254 0 217 145 254 0 217 144 254 0 217 143 254 0 217 142 254 0 217 141 254 0 216 140 254 0 216 139 254 0 216 138 254 0 216 137 254 0 216 136 254 0 216 135 254 0 216 134 254 0 216 133 254 0 216 132 254 0 216 131 254 0 216 130 254 0 216 129 254 0 216 128 254 0 216 127 254 0 216 125 254 0 216 124 254 0 216 123 254 0 216 122 254 0 216 121 254 0 216 120 254 0 216 119 254 0 216 118 254 0 216 117 254 0 216 116 254 0 216 115 254 0 216 114 254 0 216 113 254 0 216 112 254 0 216 111 254 0 216 110 254 0 216 109 254 0 216 108 254 0 216 107 254 0 216 106 254 0 217 105 254 0 217 104 254 0 217 103 254 0 217 102 254 0 219 101 254 0 219 100 254 0 219 99 254 0 219 98 254 0 219 97 254 0 219 96 254 0 219 95 254 0 219 94 254 0 219 92 254 0 219 91 254 0 219 90 254 0 219 89 254 0 220 88 254 0 220 87 254 0 221 86 254 0 221 85 254 0 223 84 254 0 224 83 254 0 226 82 254 0 226 81 254 0 226 80 254 0 226 79 254 0 226 78 254 0 226 77 254 0 226 76 254 0 226 75 254 0 226 74 254 0 226 73 254 0 226 72 254 0 227 71 254 0 227 70 254 0 227 69 254 0 228 68 254 0 230 67 254 0 230 66 254 0 230 65 254 0 230 64 254 0 230 63 254 0 230 62 254 0 230 61 254 0 230 59 254 0 230 58 254 0 230 57 254 0 230 56 254 0 230 55 254 0 230 54 254 0 230 53 254 0 231 52 254 0 231 51 254 0 231 50 254 0 234 49 254 0 234 48 254 0 235 47 254 0 235 46 254 0 235 45 254 0 238 44 254 0 238 43 254 0 238 42 254 0 239 41 254 0 239 40 254 0 239 39 254 0 239 38 254 0 239 37 254 0 239 36 254 0 239 35 254 0 239 34 254 0 239 33 254 0 239 32 254 0 239 31 254 0 239 30 254 0 239 29 254 0 240 28 254 0 240 26 254 0 240 25 254 0 240 24 254 0 240 23 254 0 240 22 254 0 240 21 254 0 240 20 254 0 240 19 254 0 240 18 254 0 242 17 254 0 243 16 254 0 245 15 254 0 246 14 254 0 249 13 254 0 250 12 254 0 250 11 254 0 252 10 254 0 252 9 254 0 252 8 254 0 252 7 254 0 252 6 254 0 255 5 254 0 255 4 254 0 255 3 254 0 255 2 254 0 255 1 254 0 255 0 254 0 255 0 254 0 255 0 254 0 255 0 254 0 255 0 254 0 255 0 254 0 255 255 254 0 255 254 254 0 255 254 254 0 255 254 254 0 255 253 254 0 255 252 254 0 255 251 254 0 255 250 254 0 255 249 254 0 255 248 254 0 255 247 254 0 255 246 254 0 255 245 254 0 255 244 254 0 255 243 254 0 255 242 254 0 252 241 254 0 252 240 254 0 252 239 254 0 252 238 254 0 250 237 254 0 250 236 254 0 249 235 254 0 248 234 254 0 245 233 254 0 243 232 254 0 242 231 254 0 240 230 254 0 240 229 254 0 240 228 254 0 240 227 254 0 240 226 254 0 240 224 254 0 240 223 254 0 240 222 254 0 240 221 254 0 240 220 254 0 240 219 254 0 239 218 254 0 239 217 254 0 239 216 254 0 239 215 254 0 239 214 254 0 239 213 254 0 239 212 254 0 239 211 254 0 239 210 254 0 239 209 254 0 239 208 254 0 238 207 254 0 238 206 254 0 238 205 254 0 235 204 254 0 235 203 254 0 235 202 254 0 234 201 254 0 234 200 254 0 234 199 254 0 231 198 254 0 231 197 254 0 231 196 254 0 231 195 254 0 230 194 254 0 230 193 254 0 230 191 254 0 230 190 254 0 230 189 254 0 230 188 254 0 230 187 254 0 230 186 254 0 230 185 254 0 230 184 254 0 230 183 254 0 230 182 254 0 228 181 254 0 228 180 254 0 227 179 254 0 227 178 254 0 226 177 254 0 224 176 254 0 224 175 254 0 224 174 254 0 224 173 254 0 224 172 254 0 223 171 254 0 223 170 254 0 223 169 254 0 223 168 254 0 223 167 254 0 223 166 254 0 223 165 254 0 221 164 254 0 221 163 254 0 220 162 254 0 220 161 254 0 219 160 254 0 219 158 254 0 219 157 254 0 219 156 254 0 219 155 254 0 219 154 254 0 219 153 254 0 219 152 254 0 219 151 254 0 219 150 254 0 219 149 254 0 219 148 254 0 217 147 254 0 217 146 254 0 216 145 254 0 216 144 254 0 216 143 254 0 216 142 254 0 213 141 254 0 213 140 254 0 213 139 254 0 213 138 254 0 213 137 254 0 213 136 254 0 213 135 254 0 213 134 254 0 213 133 254 0 213 132 254 0 213 131 254 0 213 130 254 0 213 129 254 0 213 128 254 0 213 127 254 0 213 125 254 0 213 124 254 0 213 123 254 0 213 122 254 0 213 121 254 0 213 120 254 0 213 119 254 0 213 118 254 0 213 117 254 0 213 116 254 0 213 115 254 0 213 114 254 0 213 113 254 0 213 112 254 0 213 111 254 0 213 110 254 0 213 109 254 0 213 108 254 0 213 107 254 0 213 106 254 0 216 105 254 0 216 104 254 0 216 103 254 0 216 102 254 0 217 101 254 0 217 100 254 0 219 99 254 0 219 98 254 0 219 97 254 0 219 96 254 0 219 95 254 0 219 94 254 0 219 92 254 0 219 91 254 0 219 90 254 0 219 89 254 0 219 88 254 0 219 87 254 0 220 86 254 0 220 85 254 0 221 84 254 0 221 83 254 0 223 82 254 0 223 81 254 0 223 80 254 0 223 79 254 0 223 78 254 0 223 77 254 0 223 76 254 0 223 75 254 0 224 74 254 0 224 73 254 0 224 72 254 0 224 71 254 0 226 70 254 0 226 69 254 0 227 68 254 0 228 67 254 0 228 66 254 0 230 65 254 0 230 64 254 0 230 63 254 0 230 62 254 0 230 61 254 0 230 59 254 0 230 58 254 0 230 57 254 0 230 56 254 0 230 55 254 0 230 54 254 0 230 53 254 0 230 52 254 0 231 51 254 0 231 50 254 0 231 49 254 0 234 48 254 0 234 47 254 0 234 46 254 0 235 45 254 0 235 44 254 0 235 43 254 0 238 42 254 0 238 41 254 0 238 40 254 0 239 39 254 0 239 38 254 0 239 37 254 0 239 36 254 0 239 35 254 0 239 34 254 0 239 33 254 0 239 32 254 0 239 31 254 0 239 30 254 0 239 29 254 0 240 28 254 0 240 26 254 0 240 25 254 0 240 24 254 0 240 23 254 0 240 22 254 0 240 21 254 0 240 20 254 0 240 19 254 0 240 18 254 0 240 17 254 0 242 16 254 0 243 15 254 0 245 14 254 0 246 13 254 0 249 12 254 0 250 11 254 0 250 10 254 0 252 9 254 0 252 8 254 0 252 7 254 0 252 6 254 0 255 5 254 0 255 4 254 0 255 3 254 0 255 2 254 0 255 1 254 0 255 0 254 0 255 0 254 0 255 0 254 0 255 0 254 0 255 0 254 0 255 0 254 0 255 255 253 0 255 254 253 0 255 254 253 0 255 254 253 0 255 253 253 0 255 252 253 0 255 251 253 0 255 250 253 0 255 249 253 0 255 248 253 0 255 247 253 0 255 246 253 0 255 245 253 0 255 244 253 0 255 243 253 0 255 242 253 0 252 241 253 0 252 240 253 0 252 239 253 0 250 238 253 0 250 237 253 0 249 236 253 0 248 235 253 0 246 234 253 0 243 233 253 0 242 232 253 0 242 231 253 0 240 230 253 0 240 229 253 0 240 228 253 0 240 227 253 0 240 226 253 0 240 224 253 0 240 223 253 0 240 222 253 0 240 221 253 0 240 220 253 0 240 219 253 0 239 218 253 0 239 217 253 0 239 216 253 0 239 215 253 0 239 214 253 0 239 213 253 0 238 212 253 0 238 211 253 0 238 210 253 0 238 209 253 0 238 208 253 0 238 207 253 0 238 206 253 0 235 205 253 0 235 204 253 0 234 203 253 0 234 202 253 0 234 201 253 0 231 200 253 0 231 199 253 0 231 198 253 0 231 197 253 0 231 196 253 0 230 195 253 0 230 194 253 0 230 193 253 0 230 191 253 0 228 190 253 0 228 189 253 0 228 188 253 0 228 187 253 0 228 186 253 0 228 185 253 0 228 184 253 0 228 183 253 0 228 182 253 0 227 181 253 0 227 180 253 0 226 179 253 0 226 178 253 0 224 177 253 0 223 176 253 0 223 175 253 0 221 174 253 0 221 173 253 0 221 172 253 0 221 171 253 0 221 170 253 0 221 169 253 0 221 168 253 0 221 167 253 0 220 166 253 0 220 165 253 0 220 164 253 0 220 163 253 0 219 162 253 0 219 161 253 0 219 160 253 0 217 158 253 0 217 157 253 0 217 156 253 0 217 155 253 0 217 154 253 0 217 153 253 0 217 152 253 0 217 151 253 0 217 150 253 0 217 149 253 0 217 148 253 0 217 147 253 0 216 146 253 0 216 145 253 0 213 144 253 0 213 143 253 0 213 142 253 0 213 141 253 0 211 140 253 0 211 139 253 0 211 138 253 0 211 137 253 0 211 136 253 0 211 135 253 0 211 134 253 0 211 133 253 0 211 132 253 0 211 131 253 0 211 130 253 0 211 129 253 0 211 128 253 0 211 127 253 0 211 125 253 0 211 124 253 0 211 123 253 0 211 122 253 0 211 121 253 0 211 120 253 0 211 119 253 0 211 118 253 0 211 117 253 0 211 116 253 0 211 115 253 0 211 114 253 0 211 113 253 0 211 112 253 0 211 111 253 0 211 110 253 0 211 109 253 0 211 108 253 0 211 107 253 0 213 106 253 0 213 105 253 0 213 104 253 0 213 103 253 0 216 102 253 0 216 101 253 0 217 100 253 0 217 99 253 0 217 98 253 0 217 97 253 0 217 96 253 0 217 95 253 0 217 94 253 0 217 92 253 0 217 91 253 0 217 90 253 0 217 89 253 0 217 88 253 0 219 87 253 0 219 86 253 0 219 85 253 0 220 84 253 0 220 83 253 0 220 82 253 0 220 81 253 0 221 80 253 0 221 79 253 0 221 78 253 0 221 77 253 0 221 76 253 0 221 75 253 0 221 74 253 0 221 73 253 0 223 72 253 0 223 71 253 0 223 70 253 0 224 69 253 0 226 68 253 0 227 67 253 0 227 66 253 0 228 65 253 0 228 64 253 0 228 63 253 0 228 62 253 0 228 61 253 0 228 59 253 0 228 58 253 0 228 57 253 0 228 56 253 0 228 55 253 0 230 54 253 0 230 53 253 0 230 52 253 0 230 51 253 0 231 50 253 0 231 49 253 0 231 48 253 0 231 47 253 0 234 46 253 0 234 45 253 0 234 44 253 0 234 43 253 0 235 42 253 0 235 41 253 0 238 40 253 0 238 39 253 0 238 38 253 0 238 37 253 0 238 36 253 0 238 35 253 0 239 34 253 0 239 33 253 0 239 32 253 0 239 31 253 0 239 30 253 0 239 29 253 0 240 28 253 0 240 26 253 0 240 25 253 0 240 24 253 0 240 23 253 0 240 22 253 0 240 21 253 0 240 20 253 0 240 19 253 0 240 18 253 0 240 17 253 0 240 16 253 0 242 15 253 0 243 14 253 0 245 13 253 0 248 12 253 0 249 11 253 0 250 10 253 0 250 9 253 0 252 8 253 0 252 7 253 0 252 6 253 0 255 5 253 0 255 4 253 0 255 3 253 0 255 2 253 0 255 1 253 0 255 0 253 0 255 0 253 0 255 0 253 0 255 0 253 0 255 0 253 0 255 0 253 0 255 255 252 0 255 254 252 0 255 254 252 0 255 254 252 0 255 253 252 0 255 252 252 0 255 251 252 0 255 250 252 0 255 249 252 0 255 248 252 0 255 247 252 0 255 246 252 0 255 245 252 0 252 244 252 0 252 243 252 0 252 242 252 0 252 241 252 0 252 240 252 0 250 239 252 0 250 238 252 0 249 237 252 0 248 236 252 0 246 235 252 0 243 234 252 0 242 233 252 0 242 232 252 0 240 231 252 0 240 230 252 0 240 229 252 0 240 228 252 0 240 227 252 0 240 226 252 0 240 224 252 0 240 223 252 0 240 222 252 0 239 221 252 0 239 220 252 0 239 219 252 0 239 218 252 0 239 217 252 0 239 216 252 0 239 215 252 0 238 214 252 0 238 213 252 0 238 212 252 0 238 211 252 0 238 210 252 0 238 209 252 0 235 208 252 0 235 207 252 0 235 206 252 0 234 205 252 0 234 204 252 0 234 203 252 0 231 202 252 0 231 201 252 0 231 200 252 0 231 199 252 0 231 198 252 0 230 197 252 0 230 196 252 0 230 195 252 0 230 194 252 0 230 193 252 0 228 191 252 0 227 190 252 0 227 189 252 0 227 188 252 0 227 187 252 0 227 186 252 0 227 185 252 0 227 184 252 0 227 183 252 0 226 182 252 0 226 181 252 0 226 180 252 0 224 179 252 0 223 178 252 0 223 177 252 0 221 176 252 0 221 175 252 0 220 174 252 0 220 173 252 0 220 172 252 0 220 171 252 0 220 170 252 0 220 169 252 0 219 168 252 0 219 167 252 0 219 166 252 0 219 165 252 0 217 164 252 0 217 163 252 0 217 162 252 0 217 161 252 0 217 160 252 0 217 158 252 0 217 157 252 0 217 156 252 0 217 155 252 0 217 154 252 0 217 153 252 0 217 152 252 0 217 151 252 0 217 150 252 0 216 149 252 0 216 148 252 0 216 147 252 0 216 146 252 0 213 145 252 0 213 144 252 0 211 143 252 0 211 142 252 0 211 141 252 0 211 140 252 0 209 139 252 0 209 138 252 0 209 137 252 0 209 136 252 0 208 135 252 0 208 134 252 0 208 133 252 0 208 132 252 0 208 131 252 0 208 130 252 0 208 129 252 0 208 128 252 0 208 127 252 0 208 125 252 0 208 124 252 0 208 123 252 0 208 122 252 0 208 121 252 0 208 120 252 0 208 119 252 0 208 118 252 0 208 117 252 0 208 116 252 0 208 115 252 0 208 114 252 0 208 113 252 0 208 112 252 0 209 111 252 0 209 110 252 0 209 109 252 0 209 108 252 0 209 107 252 0 211 106 252 0 211 105 252 0 211 104 252 0 213 103 252 0 213 102 252 0 216 101 252 0 216 100 252 0 216 99 252 0 216 98 252 0 217 97 252 0 217 96 252 0 217 95 252 0 217 94 252 0 217 92 252 0 217 91 252 0 217 90 252 0 217 89 252 0 217 88 252 0 217 87 252 0 217 86 252 0 217 85 252 0 217 84 252 0 217 83 252 0 219 82 252 0 219 81 252 0 219 80 252 0 219 79 252 0 219 78 252 0 220 77 252 0 220 76 252 0 220 75 252 0 220 74 252 0 220 73 252 0 221 72 252 0 221 71 252 0 221 70 252 0 223 69 252 0 224 68 252 0 226 67 252 0 226 66 252 0 226 65 252 0 227 64 252 0 227 63 252 0 227 62 252 0 227 61 252 0 227 59 252 0 227 58 252 0 227 57 252 0 227 56 252 0 228 55 252 0 228 54 252 0 230 53 252 0 230 52 252 0 230 51 252 0 230 50 252 0 231 49 252 0 231 48 252 0 231 47 252 0 231 46 252 0 231 45 252 0 231 44 252 0 234 43 252 0 234 42 252 0 235 41 252 0 235 40 252 0 235 39 252 0 238 38 252 0 238 37 252 0 238 36 252 0 238 35 252 0 238 34 252 0 238 33 252 0 239 32 252 0 239 31 252 0 239 30 252 0 239 29 252 0 239 28 252 0 239 26 252 0 239 25 252 0 240 24 252 0 240 23 252 0 240 22 252 0 240 21 252 0 240 20 252 0 240 19 252 0 240 18 252 0 240 17 252 0 240 16 252 0 242 15 252 0 242 14 252 0 243 13 252 0 246 12 252 0 248 11 252 0 249 10 252 0 250 9 252 0 250 8 252 0 252 7 252 0 252 6 252 0 252 5 252 0 252 4 252 0 252 3 252 0 252 2 252 0 255 1 252 0 255 0 252 0 255 0 252 0 255 0 252 0 255 0 252 0 255 0 252 0 255 0 252 0 255 255 251 0 255 254 251 0 255 254 251 0 255 254 251 0 255 253 251 0 255 252 251 0 255 251 251 0 255 250 251 0 255 249 251 0 255 248 251 0 255 247 251 0 255 246 251 0 255 245 251 0 252 244 251 0 252 243 251 0 252 242 251 0 252 241 251 0 250 240 251 0 250 239 251 0 249 238 251 0 248 237 251 0 246 236 251 0 243 235 251 0 242 234 251 0 242 233 251 0 240 232 251 0 240 231 251 0 240 230 251 0 240 229 251 0 240 228 251 0 240 227 251 0 240 226 251 0 240 224 251 0 240 223 251 0 240 222 251 0 239 221 251 0 239 220 251 0 239 219 251 0 239 218 251 0 239 217 251 0 238 216 251 0 238 215 251 0 238 214 251 0 235 213 251 0 235 212 251 0 235 211 251 0 235 210 251 0 235 209 251 0 234 208 251 0 234 207 251 0 234 206 251 0 234 205 251 0 231 204 251 0 231 203 251 0 231 202 251 0 231 201 251 0 231 200 251 0 231 199 251 0 230 198 251 0 230 197 251 0 230 196 251 0 230 195 251 0 228 194 251 0 228 193 251 0 227 191 251 0 226 190 251 0 226 189 251 0 224 188 251 0 224 187 251 0 224 186 251 0 224 185 251 0 224 184 251 0 224 183 251 0 224 182 251 0 224 181 251 0 223 180 251 0 223 179 251 0 221 178 251 0 221 177 251 0 220 176 251 0 220 175 251 0 220 174 251 0 219 173 251 0 219 172 251 0 219 171 251 0 219 170 251 0 217 169 251 0 217 168 251 0 217 167 251 0 216 166 251 0 216 165 251 0 216 164 251 0 216 163 251 0 216 162 251 0 216 161 251 0 216 160 251 0 216 158 251 0 216 157 251 0 216 156 251 0 216 155 251 0 216 154 251 0 216 153 251 0 216 152 251 0 216 151 251 0 213 150 251 0 213 149 251 0 213 148 251 0 213 147 251 0 213 146 251 0 211 145 251 0 211 144 251 0 209 143 251 0 209 142 251 0 209 141 251 0 209 140 251 0 208 139 251 0 208 138 251 0 208 137 251 0 207 136 251 0 207 135 251 0 207 134 251 0 207 133 251 0 207 132 251 0 207 131 251 0 207 130 251 0 207 129 251 0 207 128 251 0 207 127 251 0 207 125 251 0 207 124 251 0 207 123 251 0 207 122 251 0 207 121 251 0 207 120 251 0 207 119 251 0 207 118 251 0 207 117 251 0 207 116 251 0 207 115 251 0 207 114 251 0 207 113 251 0 207 112 251 0 207 111 251 0 208 110 251 0 208 109 251 0 208 108 251 0 209 107 251 0 209 106 251 0 209 105 251 0 209 104 251 0 211 103 251 0 211 102 251 0 213 101 251 0 213 100 251 0 213 99 251 0 213 98 251 0 213 97 251 0 216 96 251 0 216 95 251 0 216 94 251 0 216 92 251 0 216 91 251 0 216 90 251 0 216 89 251 0 216 88 251 0 216 87 251 0 216 86 251 0 216 85 251 0 216 84 251 0 216 83 251 0 216 82 251 0 216 81 251 0 216 80 251 0 217 79 251 0 217 78 251 0 219 77 251 0 219 76 251 0 219 75 251 0 219 74 251 0 220 73 251 0 220 72 251 0 220 71 251 0 221 70 251 0 221 69 251 0 223 68 251 0 223 67 251 0 224 66 251 0 224 65 251 0 224 64 251 0 224 63 251 0 224 62 251 0 224 61 251 0 224 59 251 0 224 58 251 0 226 57 251 0 226 56 251 0 227 55 251 0 228 54 251 0 228 53 251 0 230 52 251 0 230 51 251 0 230 50 251 0 230 49 251 0 231 48 251 0 231 47 251 0 231 46 251 0 231 45 251 0 231 44 251 0 231 43 251 0 234 42 251 0 234 41 251 0 234 40 251 0 234 39 251 0 235 38 251 0 235 37 251 0 235 36 251 0 235 35 251 0 235 34 251 0 235 33 251 0 238 32 251 0 238 31 251 0 239 30 251 0 239 29 251 0 239 28 251 0 239 26 251 0 239 25 251 0 240 24 251 0 240 23 251 0 240 22 251 0 240 21 251 0 240 20 251 0 240 19 251 0 240 18 251 0 240 17 251 0 240 16 251 0 240 15 251 0 240 14 251 0 242 13 251 0 243 12 251 0 245 11 251 0 248 10 251 0 249 9 251 0 250 8 251 0 250 7 251 0 252 6 251 0 252 5 251 0 252 4 251 0 252 3 251 0 252 2 251 0 255 1 251 0 255 0 251 0 255 0 251 1 255 0 251 1 255 0 251 1 255 0 251 1 255 0 251 1 255 255 250 0 255 254 250 0 255 254 250 0 255 254 250 0 255 253 250 0 255 252 250 0 255 251 250 0 255 250 250 0 255 249 250 0 255 248 250 0 255 247 250 0 255 246 250 0 255 245 250 0 252 244 250 0 252 243 250 0 252 242 250 0 250 241 250 0 250 240 250 0 249 239 250 0 248 238 250 0 246 237 250 0 243 236 250 0 242 235 250 0 242 234 250 0 240 233 250 0 240 232 250 0 240 231 250 0 240 230 250 0 240 229 250 0 240 228 250 0 240 227 250 0 240 226 250 0 240 224 250 0 240 223 250 0 240 222 250 0 239 221 250 0 239 220 250 0 239 219 250 0 239 218 250 0 238 217 250 0 238 216 250 0 238 215 250 0 235 214 250 0 234 213 250 0 234 212 250 0 234 211 250 0 234 210 250 0 234 209 250 0 234 208 250 0 234 207 250 0 231 206 250 0 231 205 250 0 231 204 250 0 231 203 250 0 231 202 250 0 231 201 250 0 231 200 250 0 230 199 250 0 230 198 250 0 230 197 250 0 230 196 250 0 228 195 250 0 228 194 250 0 227 193 250 0 226 191 250 0 224 190 250 0 223 189 250 0 223 188 250 0 223 187 250 0 223 186 250 0 223 185 250 0 223 184 250 0 223 183 250 0 223 182 250 0 221 181 250 0 221 180 250 0 221 179 250 0 221 178 250 0 220 177 250 0 220 176 250 0 220 175 250 0 219 174 250 0 219 173 250 0 219 172 250 0 217 171 250 0 217 170 250 0 216 169 250 0 216 168 250 0 213 167 250 0 213 166 250 0 213 165 250 0 213 164 250 0 213 163 250 0 213 162 250 0 213 161 250 0 213 160 250 0 213 158 250 0 213 157 250 0 213 156 250 0 213 155 250 0 213 154 250 0 213 153 250 0 213 152 250 0 213 151 250 0 213 150 250 0 211 149 250 0 211 148 250 0 211 147 250 0 211 146 250 0 209 145 250 0 209 144 250 0 209 143 250 0 208 142 250 0 208 141 250 0 208 140 250 0 208 139 250 0 207 138 250 0 207 137 250 0 207 136 250 0 205 135 250 0 205 134 250 0 205 133 250 0 205 132 250 0 205 131 250 0 205 130 250 0 205 129 250 0 205 128 250 0 205 127 250 0 205 125 250 0 205 124 250 0 205 123 250 0 205 122 250 0 205 121 250 0 205 120 250 0 205 119 250 0 205 118 250 0 205 117 250 0 205 116 250 0 205 115 250 0 205 114 250 0 205 113 250 0 205 112 250 0 207 111 250 0 207 110 250 0 207 109 250 0 208 108 250 0 208 107 250 0 208 106 250 0 208 105 250 0 209 104 250 0 209 103 250 0 209 102 250 0 211 101 250 0 211 100 250 0 211 99 250 0 211 98 250 0 213 97 250 0 213 96 250 0 213 95 250 0 213 94 250 0 213 92 250 0 213 91 250 0 213 90 250 0 213 89 250 0 213 88 250 0 213 87 250 0 213 86 250 0 213 85 250 0 213 84 250 0 213 83 250 0 213 82 250 0 213 81 250 0 213 80 250 0 216 79 250 0 216 78 250 0 217 77 250 0 217 76 250 0 219 75 250 0 219 74 250 0 219 73 250 0 219 72 250 0 220 71 250 0 220 70 250 0 220 69 250 0 221 68 250 0 221 67 250 0 221 66 250 0 221 65 250 0 223 64 250 0 223 63 250 0 223 62 250 0 223 61 250 0 223 59 250 0 223 58 250 0 223 57 250 0 224 56 250 0 226 55 250 0 227 54 250 0 228 53 250 0 228 52 250 0 230 51 250 0 230 50 250 0 230 49 250 0 230 48 250 0 231 47 250 0 231 46 250 0 231 45 250 0 231 44 250 0 231 43 250 0 231 42 250 0 231 41 250 0 234 40 250 0 234 39 250 0 234 38 250 0 234 37 250 0 234 36 250 0 234 35 250 0 234 34 250 0 235 33 250 0 235 32 250 0 238 31 250 0 238 30 250 0 239 29 250 0 239 28 250 0 239 26 250 0 239 25 250 0 240 24 250 0 240 23 250 0 240 22 250 0 240 21 250 0 240 20 250 0 240 19 250 0 240 18 250 0 240 17 250 0 240 16 250 0 240 15 250 0 240 14 250 0 240 13 250 0 242 12 250 0 243 11 250 0 245 10 250 0 248 9 250 0 249 8 250 0 250 7 250 0 250 6 250 0 252 5 250 0 252 4 250 0 252 3 250 0 252 2 250 0 255 1 250 1 255 0 250 1 255 0 250 1 255 0 250 2 255 0 250 2 255 0 250 2 255 0 250 2 255 255 249 0 255 254 249 0 255 254 249 0 255 254 249 0 255 253 249 0 255 252 249 0 255 251 249 0 255 250 249 0 255 249 249 0 252 248 249 0 252 247 249 0 252 246 249 0 252 245 249 0 252 244 249 0 252 243 249 0 252 242 249 0 250 241 249 0 249 240 249 0 248 239 249 0 246 238 249 0 243 237 249 0 242 236 249 0 242 235 249 0 240 234 249 0 240 233 249 0 240 232 249 0 240 231 249 0 240 230 249 0 240 229 249 0 239 228 249 0 239 227 249 0 239 226 249 0 239 224 249 0 239 223 249 0 239 222 249 0 239 221 249 0 239 220 249 0 239 219 249 0 239 218 249 0 238 217 249 0 238 216 249 0 235 215 249 0 234 214 249 0 234 213 249 0 231 212 249 0 231 211 249 0 231 210 249 0 231 209 249 0 231 208 249 0 231 207 249 0 231 206 249 0 231 205 249 0 231 204 249 0 230 203 249 0 230 202 249 0 230 201 249 0 230 200 249 0 230 199 249 0 230 198 249 0 230 197 249 0 228 196 249 0 228 195 249 0 227 194 249 0 226 193 249 0 224 191 249 0 223 190 249 0 221 189 249 0 221 188 249 0 221 187 249 0 220 186 249 0 220 185 249 0 220 184 249 0 220 183 249 0 220 182 249 0 220 181 249 0 220 180 249 0 220 179 249 0 220 178 249 0 220 177 249 0 219 176 249 0 219 175 249 0 219 174 249 0 219 173 249 0 217 172 249 0 217 171 249 0 216 170 249 0 216 169 249 0 213 168 249 0 213 167 249 0 211 166 249 0 211 165 249 0 211 164 249 0 211 163 249 0 211 162 249 0 211 161 249 0 211 160 249 0 211 158 249 0 211 157 249 0 211 156 249 0 211 155 249 0 211 154 249 0 211 153 249 0 211 152 249 0 211 151 249 0 211 150 249 0 211 149 249 0 209 148 249 0 209 147 249 0 209 146 249 0 208 145 249 0 208 144 249 0 208 143 249 0 208 142 249 0 208 141 249 0 207 140 249 0 207 139 249 0 205 138 249 0 205 137 249 0 205 136 249 0 205 135 249 0 205 134 249 0 205 133 249 0 205 132 249 0 205 131 249 0 205 130 249 0 205 129 249 0 205 128 249 0 205 127 249 0 205 125 249 0 205 124 249 0 205 123 249 0 205 122 249 0 205 121 249 0 205 120 249 0 205 119 249 0 205 118 249 0 205 117 249 0 205 116 249 0 205 115 249 0 205 114 249 0 205 113 249 0 205 112 249 0 205 111 249 0 205 110 249 0 205 109 249 0 207 108 249 0 207 107 249 0 208 106 249 0 208 105 249 0 208 104 249 0 208 103 249 0 208 102 249 0 209 101 249 0 209 100 249 0 209 99 249 0 209 98 249 0 211 97 249 0 211 96 249 0 211 95 249 0 211 94 249 0 211 92 249 0 211 91 249 0 211 90 249 0 211 89 249 0 211 88 249 0 211 87 249 0 211 86 249 0 211 85 249 0 211 84 249 0 211 83 249 0 211 82 249 0 211 81 249 0 213 80 249 0 213 79 249 0 216 78 249 0 216 77 249 0 217 76 249 0 217 75 249 0 219 74 249 0 219 73 249 0 219 72 249 0 219 71 249 0 220 70 249 0 220 69 249 0 220 68 249 0 220 67 249 0 220 66 249 0 220 65 249 0 220 64 249 0 220 63 249 0 220 62 249 0 220 61 249 0 221 59 249 0 221 58 249 0 221 57 249 0 223 56 249 0 224 55 249 0 226 54 249 0 227 53 249 0 228 52 249 0 228 51 249 0 230 50 249 0 230 49 249 0 230 48 249 0 230 47 249 0 230 46 249 0 230 45 249 0 230 44 249 0 230 43 249 0 231 42 249 0 231 41 249 0 231 40 249 0 231 39 249 0 231 38 249 0 231 37 249 0 231 36 249 0 231 35 249 0 234 34 249 0 234 33 249 0 235 32 249 0 235 31 249 0 238 30 249 0 238 29 249 0 239 28 249 0 239 26 249 0 239 25 249 0 239 24 249 0 239 23 249 0 239 22 249 0 239 21 249 0 239 20 249 0 239 19 249 0 239 18 249 0 240 17 249 0 240 16 249 0 240 15 249 0 240 14 249 0 240 13 249 0 242 12 249 0 242 11 249 0 243 10 249 0 246 9 249 0 248 8 249 0 249 7 249 0 250 6 249 0 250 5 249 0 252 4 249 0 252 3 249 0 252 2 249 1 252 1 249 2 252 0 249 2 252 0 249 2 255 0 249 3 255 0 249 3 255 0 249 3 255 0 249 3 255 255 248 0 255 254 248 0 255 254 248 0 255 254 248 0 255 253 248 0 255 252 248 0 255 251 248 0 255 250 248 0 255 249 248 0 252 248 248 0 252 247 248 0 252 246 248 0 252 245 248 0 252 244 248 0 250 243 248 0 250 242 248 0 249 241 248 0 248 240 248 0 246 239 248 0 245 238 248 0 242 237 248 0 242 236 248 0 240 235 248 0 240 234 248 0 240 233 248 0 240 232 248 0 240 231 248 0 240 230 248 0 240 229 248 0 239 228 248 0 239 227 248 0 239 226 248 0 239 224 248 0 239 223 248 0 239 222 248 0 239 221 248 0 239 220 248 0 238 219 248 0 238 218 248 0 235 217 248 0 235 216 248 0 234 215 248 0 234 214 248 0 231 213 248 0 231 212 248 0 231 211 248 0 231 210 248 0 231 209 248 0 231 208 248 0 231 207 248 0 230 206 248 0 230 205 248 0 230 204 248 0 230 203 248 0 230 202 248 0 230 201 248 0 230 200 248 0 230 199 248 0 230 198 248 0 228 197 248 0 228 196 248 0 227 195 248 0 226 194 248 0 224 193 248 0 223 191 248 0 221 190 248 0 221 189 248 0 220 188 248 0 220 187 248 0 220 186 248 0 220 185 248 0 219 184 248 0 219 183 248 0 219 182 248 0 219 181 248 0 219 180 248 0 219 179 248 0 219 178 248 0 219 177 248 0 219 176 248 0 219 175 248 0 219 174 248 0 217 173 248 0 217 172 248 0 216 171 248 0 216 170 248 0 213 169 248 0 213 168 248 0 211 167 248 0 211 166 248 0 211 165 248 0 209 164 248 0 209 163 248 0 209 162 248 0 209 161 248 0 209 160 248 0 209 158 248 0 209 157 248 0 209 156 248 0 209 155 248 0 209 154 248 0 209 153 248 0 209 152 248 0 209 151 248 0 209 150 248 0 209 149 248 0 208 148 248 0 208 147 248 0 208 146 248 0 207 145 248 0 207 144 248 0 207 143 248 0 207 142 248 0 207 141 248 0 205 140 248 0 205 139 248 0 205 138 248 0 204 137 248 0 204 136 248 0 204 135 248 0 204 134 248 0 204 133 248 0 204 132 248 0 204 131 248 0 204 130 248 0 204 129 248 0 204 128 248 0 204 127 248 0 204 125 248 0 204 124 248 0 204 123 248 0 204 122 248 0 204 121 248 0 204 120 248 0 204 119 248 0 204 118 248 0 204 117 248 0 204 116 248 0 204 115 248 0 204 114 248 0 204 113 248 0 204 112 248 0 204 111 248 0 204 110 248 0 205 109 248 0 205 108 248 0 205 107 248 0 207 106 248 0 207 105 248 0 207 104 248 0 207 103 248 0 207 102 248 0 208 101 248 0 208 100 248 0 208 99 248 0 209 98 248 0 209 97 248 0 209 96 248 0 209 95 248 0 209 94 248 0 209 92 248 0 209 91 248 0 209 90 248 0 209 89 248 0 209 88 248 0 209 87 248 0 209 86 248 0 209 85 248 0 209 84 248 0 209 83 248 0 209 82 248 0 211 81 248 0 211 80 248 0 211 79 248 0 213 78 248 0 216 77 248 0 216 76 248 0 217 75 248 0 217 74 248 0 219 73 248 0 219 72 248 0 219 71 248 0 219 70 248 0 219 69 248 0 219 68 248 0 219 67 248 0 219 66 248 0 219 65 248 0 219 64 248 0 219 63 248 0 220 62 248 0 220 61 248 0 220 59 248 0 220 58 248 0 220 57 248 0 221 56 248 0 223 55 248 0 224 54 248 0 226 53 248 0 227 52 248 0 228 51 248 0 228 50 248 0 228 49 248 0 230 48 248 0 230 47 248 0 230 46 248 0 230 45 248 0 230 44 248 0 230 43 248 0 230 42 248 0 230 41 248 0 231 40 248 0 231 39 248 0 231 38 248 0 231 37 248 0 231 36 248 0 231 35 248 0 231 34 248 0 234 33 248 0 234 32 248 0 235 31 248 0 235 30 248 0 238 29 248 0 238 28 248 0 239 26 248 0 239 25 248 0 239 24 248 0 239 23 248 0 239 22 248 0 239 21 248 0 239 20 248 0 239 19 248 0 239 18 248 0 240 17 248 0 240 16 248 0 240 15 248 0 240 14 248 0 240 13 248 0 240 12 248 0 242 11 248 0 242 10 248 0 243 9 248 0 246 8 248 0 248 7 248 0 249 6 248 0 250 5 248 0 250 4 248 0 252 3 248 1 252 2 248 2 252 1 248 2 252 0 248 3 252 0 248 3 255 0 248 4 255 0 248 4 255 0 248 4 255 0 248 4 255 255 247 0 255 254 247 0 255 254 247 0 255 254 247 0 255 253 247 0 255 252 247 0 255 251 247 0 255 250 247 0 255 249 247 0 252 248 247 0 252 247 247 0 252 246 247 0 252 245 247 0 250 244 247 0 250 243 247 0 249 242 247 0 248 241 247 0 246 240 247 0 245 239 247 0 243 238 247 0 242 237 247 0 240 236 247 0 240 235 247 0 240 234 247 0 240 233 247 0 240 232 247 0 240 231 247 0 240 230 247 0 240 229 247 0 239 228 247 0 239 227 247 0 239 226 247 0 239 224 247 0 239 223 247 0 239 222 247 0 238 221 247 0 238 220 247 0 238 219 247 0 235 218 247 0 235 217 247 0 234 216 247 0 234 215 247 0 231 214 247 0 231 213 247 0 231 212 247 0 231 211 247 0 231 210 247 0 231 209 247 0 230 208 247 0 230 207 247 0 230 206 247 0 230 205 247 0 228 204 247 0 228 203 247 0 228 202 247 0 228 201 247 0 228 200 247 0 228 199 247 0 228 198 247 0 227 197 247 0 227 196 247 0 226 195 247 0 224 194 247 0 223 193 247 0 221 191 247 0 220 190 247 0 220 189 247 0 220 188 247 0 219 187 247 0 219 186 247 0 219 185 247 0 219 184 247 0 219 183 247 0 217 182 247 0 217 181 247 0 217 180 247 0 217 179 247 0 217 178 247 0 217 177 247 0 217 176 247 0 217 175 247 0 217 174 247 0 217 173 247 0 216 172 247 0 216 171 247 0 213 170 247 0 213 169 247 0 211 168 247 0 211 167 247 0 209 166 247 0 209 165 247 0 209 164 247 0 209 163 247 0 209 162 247 0 209 161 247 0 209 160 247 0 209 158 247 0 209 157 247 0 209 156 247 0 209 155 247 0 209 154 247 0 209 153 247 0 209 152 247 0 208 151 247 0 208 150 247 0 208 149 247 0 207 148 247 0 207 147 247 0 207 146 247 0 207 145 247 0 205 144 247 0 205 143 247 0 205 142 247 0 204 141 247 0 204 140 247 0 204 139 247 0 202 138 247 0 202 137 247 0 202 136 247 0 202 135 247 0 202 134 247 0 202 133 247 0 202 132 247 0 202 131 247 0 202 130 247 0 202 129 247 0 202 128 247 0 202 127 247 0 202 125 247 0 202 124 247 0 202 123 247 0 202 122 247 0 202 121 247 0 202 120 247 0 202 119 247 0 202 118 247 0 202 117 247 0 202 116 247 0 202 115 247 0 202 114 247 0 202 113 247 0 202 112 247 0 202 111 247 0 202 110 247 0 202 109 247 0 204 108 247 0 204 107 247 0 204 106 247 0 205 105 247 0 205 104 247 0 205 103 247 0 207 102 247 0 207 101 247 0 207 100 247 0 207 99 247 0 208 98 247 0 208 97 247 0 208 96 247 0 209 95 247 0 209 94 247 0 209 92 247 0 209 91 247 0 209 90 247 0 209 89 247 0 209 88 247 0 209 87 247 0 209 86 247 0 209 85 247 0 209 84 247 0 209 83 247 0 209 82 247 0 209 81 247 0 209 80 247 0 211 79 247 0 211 78 247 0 213 77 247 0 216 76 247 0 216 75 247 0 217 74 247 0 217 73 247 0 217 72 247 0 217 71 247 0 217 70 247 0 217 69 247 0 217 68 247 0 217 67 247 0 217 66 247 0 217 65 247 0 219 64 247 0 219 63 247 0 219 62 247 0 219 61 247 0 219 59 247 0 220 58 247 0 220 57 247 0 220 56 247 0 221 55 247 0 223 54 247 0 224 53 247 0 226 52 247 0 227 51 247 0 227 50 247 0 228 49 247 0 228 48 247 0 228 47 247 0 228 46 247 0 228 45 247 0 228 44 247 0 228 43 247 0 230 42 247 0 230 41 247 0 230 40 247 0 230 39 247 0 231 38 247 0 231 37 247 0 231 36 247 0 231 35 247 0 231 34 247 0 231 33 247 0 234 32 247 0 234 31 247 0 235 30 247 0 235 29 247 0 238 28 247 0 238 26 247 0 238 25 247 0 239 24 247 0 239 23 247 0 239 22 247 0 239 21 247 0 239 20 247 0 239 19 247 0 239 18 247 0 240 17 247 0 240 16 247 0 240 15 247 0 240 14 247 0 240 13 247 0 240 12 247 0 240 11 247 0 242 10 247 0 242 9 247 0 243 8 247 0 245 7 247 0 248 6 247 0 249 5 247 0 250 4 247 0 250 3 247 1 252 2 247 2 252 1 247 3 252 0 247 4 252 0 247 4 255 0 247 5 255 0 247 5 255 0 247 5 255 0 247 5 255 255 246 0 255 254 246 0 255 254 246 0 255 254 246 0 255 253 246 0 255 252 246 0 255 251 246 0 255 250 246 0 255 249 246 0 252 248 246 0 252 247 246 0 252 246 246 0 250 245 246 0 250 244 246 0 249 243 246 0 248 242 246 0 246 241 246 0 245 240 246 0 243 239 246 0 242 238 246 0 240 237 246 0 240 236 246 0 240 235 246 0 240 234 246 0 240 233 246 0 240 232 246 0 240 231 246 0 240 230 246 0 240 229 246 0 239 228 246 0 239 227 246 0 239 226 246 0 239 224 246 0 238 223 246 0 238 222 246 0 238 221 246 0 235 220 246 0 235 219 246 0 235 218 246 0 234 217 246 0 234 216 246 0 231 215 246 0 231 214 246 0 231 213 246 0 231 212 246 0 231 211 246 0 231 210 246 0 231 209 246 0 230 208 246 0 230 207 246 0 230 206 246 0 228 205 246 0 228 204 246 0 227 203 246 0 227 202 246 0 227 201 246 0 227 200 246 0 227 199 246 0 227 198 246 0 226 197 246 0 226 196 246 0 224 195 246 0 223 194 246 0 221 193 246 0 220 191 246 0 220 190 246 0 220 189 246 0 219 188 246 0 219 187 246 0 219 186 246 0 219 185 246 0 217 184 246 0 217 183 246 0 217 182 246 0 217 181 246 0 217 180 246 0 217 179 246 0 217 178 246 0 217 177 246 0 217 176 246 0 216 175 246 0 216 174 246 0 216 173 246 0 216 172 246 0 213 171 246 0 213 170 246 0 211 169 246 0 211 168 246 0 209 167 246 0 209 166 246 0 209 165 246 0 208 164 246 0 208 163 246 0 208 162 246 0 208 161 246 0 208 160 246 0 208 158 246 0 208 157 246 0 208 156 246 0 208 155 246 0 208 154 246 0 208 153 246 0 208 152 246 0 208 151 246 0 208 150 246 0 207 149 246 0 207 148 246 0 207 147 246 0 205 146 246 0 205 145 246 0 205 144 246 0 204 143 246 0 204 142 246 0 202 141 246 0 202 140 246 0 201 139 246 0 201 138 246 0 201 137 246 0 201 136 246 0 201 135 246 0 201 134 246 0 201 133 246 0 201 132 246 0 201 131 246 0 201 130 246 0 201 129 246 0 201 128 246 0 201 127 246 0 201 125 246 0 201 124 246 0 201 123 246 0 201 122 246 0 201 121 246 0 201 120 246 0 201 119 246 0 201 118 246 0 201 117 246 0 201 116 246 0 201 115 246 0 201 114 246 0 201 113 246 0 201 112 246 0 201 111 246 0 201 110 246 0 201 109 246 0 201 108 246 0 202 107 246 0 202 106 246 0 204 105 246 0 204 104 246 0 205 103 246 0 205 102 246 0 205 101 246 0 205 100 246 0 207 99 246 0 207 98 246 0 208 97 246 0 208 96 246 0 208 95 246 0 208 94 246 0 208 92 246 0 208 91 246 0 208 90 246 0 208 89 246 0 208 88 246 0 208 87 246 0 208 86 246 0 208 85 246 0 208 84 246 0 208 83 246 0 209 82 246 0 209 81 246 0 209 80 246 0 211 79 246 0 211 78 246 0 213 77 246 0 213 76 246 0 216 75 246 0 216 74 246 0 216 73 246 0 216 72 246 0 217 71 246 0 217 70 246 0 217 69 246 0 217 68 246 0 217 67 246 0 217 66 246 0 217 65 246 0 217 64 246 0 217 63 246 0 219 62 246 0 219 61 246 0 219 59 246 0 219 58 246 0 220 57 246 0 220 56 246 0 220 55 246 0 221 54 246 0 223 53 246 0 224 52 246 0 224 51 246 0 226 50 246 0 227 49 246 0 227 48 246 0 227 47 246 0 227 46 246 0 227 45 246 0 227 44 246 0 228 43 246 0 228 42 246 0 230 41 246 0 230 40 246 0 230 39 246 0 231 38 246 0 231 37 246 0 231 36 246 0 231 35 246 0 231 34 246 0 231 33 246 0 231 32 246 0 234 31 246 0 234 30 246 0 235 29 246 0 235 28 246 0 235 26 246 0 238 25 246 0 238 24 246 0 238 23 246 0 238 22 246 0 239 21 246 0 239 20 246 0 239 19 246 0 239 18 246 0 240 17 246 0 240 16 246 0 240 15 246 0 240 14 246 0 240 13 246 0 240 12 246 0 240 11 246 0 240 10 246 0 242 9 246 0 242 8 246 0 243 7 246 0 246 6 246 0 248 5 246 0 249 4 246 1 250 3 246 2 250 2 246 3 252 1 246 4 252 0 246 5 252 0 246 5 255 0 246 6 255 0 246 6 255 0 246 6 255 0 246 6 255 255 245 0 255 254 245 0 255 254 245 0 255 254 245 0 255 253 245 0 255 252 245 0 252 251 245 0 252 250 245 0 252 249 245 0 252 248 245 0 252 247 245 0 250 246 245 0 250 245 245 0 249 244 245 0 248 243 245 0 246 242 245 0 245 241 245 0 243 240 245 0 242 239 245 0 240 238 245 0 240 237 245 0 240 236 245 0 240 235 245 0 240 234 245 0 240 233 245 0 239 232 245 0 239 231 245 0 239 230 245 0 239 229 245 0 239 228 245 0 239 227 245 0 239 226 245 0 238 224 245 0 238 223 245 0 235 222 245 0 235 221 245 0 235 220 245 0 234 219 245 0 234 218 245 0 234 217 245 0 231 216 245 0 231 215 245 0 231 214 245 0 231 213 245 0 231 212 245 0 230 211 245 0 230 210 245 0 230 209 245 0 230 208 245 0 230 207 245 0 228 206 245 0 228 205 245 0 227 204 245 0 226 203 245 0 226 202 245 0 226 201 245 0 226 200 245 0 224 199 245 0 224 198 245 0 224 197 245 0 223 196 245 0 223 195 245 0 221 194 245 0 220 193 245 0 220 191 245 0 220 190 245 0 219 189 245 0 219 188 245 0 219 187 245 0 219 186 245 0 217 185 245 0 217 184 245 0 216 183 245 0 216 182 245 0 216 181 245 0 216 180 245 0 216 179 245 0 216 178 245 0 216 177 245 0 216 176 245 0 216 175 245 0 213 174 245 0 213 173 245 0 213 172 245 0 211 171 245 0 211 170 245 0 211 169 245 0 209 168 245 0 209 167 245 0 208 166 245 0 208 165 245 0 208 164 245 0 208 163 245 0 207 162 245 0 207 161 245 0 207 160 245 0 207 158 245 0 207 157 245 0 207 156 245 0 207 155 245 0 207 154 245 0 207 153 245 0 207 152 245 0 207 151 245 0 207 150 245 0 205 149 245 0 205 148 245 0 205 147 245 0 204 146 245 0 204 145 245 0 204 144 245 0 202 143 245 0 202 142 245 0 201 141 245 0 199 140 245 0 199 139 245 0 198 138 245 0 198 137 245 0 198 136 245 0 198 135 245 0 198 134 245 0 198 133 245 0 198 132 245 0 198 131 245 0 198 130 245 0 198 129 245 0 198 128 245 0 198 127 245 0 198 125 245 0 198 124 245 0 198 123 245 0 198 122 245 0 198 121 245 0 198 120 245 0 198 119 245 0 198 118 245 0 198 117 245 0 198 116 245 0 198 115 245 0 198 114 245 0 198 113 245 0 198 112 245 0 198 111 245 0 198 110 245 0 198 109 245 0 199 108 245 0 199 107 245 0 201 106 245 0 201 105 245 0 202 104 245 0 204 103 245 0 204 102 245 0 204 101 245 0 205 100 245 0 205 99 245 0 205 98 245 0 205 97 245 0 207 96 245 0 207 95 245 0 207 94 245 0 207 92 245 0 207 91 245 0 207 90 245 0 207 89 245 0 207 88 245 0 207 87 245 0 207 86 245 0 207 85 245 0 208 84 245 0 208 83 245 0 208 82 245 0 208 81 245 0 209 80 245 0 209 79 245 0 209 78 245 0 211 77 245 0 211 76 245 0 213 75 245 0 213 74 245 0 213 73 245 0 213 72 245 0 216 71 245 0 216 70 245 0 216 69 245 0 216 68 245 0 216 67 245 0 216 66 245 0 216 65 245 0 216 64 245 0 217 63 245 0 217 62 245 0 219 61 245 0 219 59 245 0 219 58 245 0 219 57 245 0 219 56 245 0 220 55 245 0 220 54 245 0 221 53 245 0 223 52 245 0 223 51 245 0 224 50 245 0 224 49 245 0 224 48 245 0 226 47 245 0 226 46 245 0 226 45 245 0 226 44 245 0 227 43 245 0 227 42 245 0 228 41 245 0 230 40 245 0 230 39 245 0 230 38 245 0 230 37 245 0 230 36 245 0 230 35 245 0 231 34 245 0 231 33 245 0 231 32 245 0 231 31 245 0 234 30 245 0 234 29 245 0 234 28 245 0 235 26 245 0 235 25 245 0 235 24 245 0 235 23 245 0 238 22 245 0 238 21 245 0 239 20 245 0 239 19 245 0 239 18 245 0 239 17 245 0 239 16 245 0 239 15 245 0 240 14 245 0 240 13 245 0 240 12 245 0 240 11 245 0 240 10 245 0 240 9 245 0 242 8 245 0 242 7 245 0 243 6 245 0 246 5 245 1 248 4 245 1 249 3 245 2 250 2 245 3 250 1 245 4 252 0 245 5 252 0 245 6 252 0 245 6 252 0 245 7 252 0 245 7 255 0 245 7 255 255 244 0 255 254 244 0 255 254 244 0 255 254 244 0 255 253 244 0 255 252 244 0 252 251 244 0 252 250 244 0 252 249 244 0 252 248 244 0 250 247 244 0 250 246 244 0 249 245 244 0 248 244 244 0 246 243 244 0 245 242 244 0 243 241 244 0 242 240 244 0 240 239 244 0 240 238 244 0 240 237 244 0 240 236 244 0 240 235 244 0 240 234 244 0 240 233 244 0 239 232 244 0 239 231 244 0 239 230 244 0 239 229 244 0 239 228 244 0 238 227 244 0 238 226 244 0 238 224 244 0 235 223 244 0 234 222 244 0 234 221 244 0 234 220 244 0 234 219 244 0 231 218 244 0 231 217 244 0 231 216 244 0 231 215 244 0 231 214 244 0 231 213 244 0 231 212 244 0 230 211 244 0 230 210 244 0 230 209 244 0 230 208 244 0 228 207 244 0 228 206 244 0 227 205 244 0 226 204 244 0 224 203 244 0 224 202 244 0 223 201 244 0 223 200 244 0 223 199 244 0 223 198 244 0 223 197 244 0 221 196 244 0 221 195 244 0 220 194 244 0 220 193 244 0 219 191 244 0 219 190 244 0 219 189 244 0 219 188 244 0 217 187 244 0 217 186 244 0 217 185 244 0 216 184 244 0 216 183 244 0 213 182 244 0 213 181 244 0 213 180 244 0 213 179 244 0 213 178 244 0 213 177 244 0 213 176 244 0 213 175 244 0 211 174 244 0 211 173 244 0 211 172 244 0 209 171 244 0 209 170 244 0 209 169 244 0 209 168 244 0 208 167 244 0 208 166 244 0 208 165 244 0 207 164 244 0 207 163 244 0 207 162 244 0 207 161 244 0 205 160 244 0 205 158 244 0 205 157 244 0 205 156 244 0 205 155 244 0 205 154 244 0 205 153 244 0 204 152 244 0 204 151 244 0 204 150 244 0 204 149 244 0 204 148 244 0 204 147 244 0 202 146 244 0 202 145 244 0 202 144 244 0 201 143 244 0 199 142 244 0 198 141 244 0 198 140 244 0 197 139 244 0 197 138 244 0 197 137 244 0 197 136 244 0 197 135 244 0 197 134 244 0 197 133 244 0 197 132 244 0 197 131 244 0 197 130 244 0 197 129 244 0 197 128 244 0 197 127 244 0 197 125 244 0 197 124 244 0 197 123 244 0 197 122 244 0 197 121 244 0 197 120 244 0 197 119 244 0 197 118 244 0 197 117 244 0 197 116 244 0 197 115 244 0 197 114 244 0 197 113 244 0 197 112 244 0 197 111 244 0 197 110 244 0 197 109 244 0 197 108 244 0 197 107 244 0 198 106 244 0 199 105 244 0 201 104 244 0 201 103 244 0 202 102 244 0 202 101 244 0 204 100 244 0 204 99 244 0 204 98 244 0 204 97 244 0 204 96 244 0 204 95 244 0 205 94 244 0 205 92 244 0 205 91 244 0 205 90 244 0 205 89 244 0 205 88 244 0 205 87 244 0 207 86 244 0 207 85 244 0 207 84 244 0 207 83 244 0 207 82 244 0 208 81 244 0 208 80 244 0 209 79 244 0 209 78 244 0 209 77 244 0 209 76 244 0 211 75 244 0 211 74 244 0 211 73 244 0 211 72 244 0 213 71 244 0 213 70 244 0 213 69 244 0 213 68 244 0 213 67 244 0 213 66 244 0 213 65 244 0 213 64 244 0 216 63 244 0 217 62 244 0 217 61 244 0 217 59 244 0 219 58 244 0 219 57 244 0 219 56 244 0 219 55 244 0 220 54 244 0 220 53 244 0 221 52 244 0 221 51 244 0 223 50 244 0 223 49 244 0 223 48 244 0 223 47 244 0 223 46 244 0 223 45 244 0 224 44 244 0 226 43 244 0 226 42 244 0 227 41 244 0 228 40 244 0 230 39 244 0 230 38 244 0 230 37 244 0 230 36 244 0 230 35 244 0 231 34 244 0 231 33 244 0 231 32 244 0 231 31 244 0 231 30 244 0 231 29 244 0 231 28 244 0 234 26 244 0 234 25 244 0 234 24 244 0 235 23 244 0 235 22 244 0 238 21 244 0 238 20 244 0 239 19 244 0 239 18 244 0 239 17 244 0 239 16 244 0 239 15 244 0 240 14 244 0 240 13 244 0 240 12 244 0 240 11 244 0 240 10 244 0 240 9 244 0 240 8 244 0 242 7 244 0 242 6 244 1 243 5 244 1 245 4 244 2 248 3 244 3 249 2 244 4 250 1 244 5 250 0 244 6 252 0 244 7 252 0 244 7 252 0 244 8 252 0 244 8 255 0 244 8 255 255 243 0 255 254 243 0 255 254 243 0 255 254 243 0 255 253 243 0 255 252 243 0 252 251 243 0 252 250 243 0 252 249 243 0 252 248 243 0 250 247 243 0 249 246 243 0 248 245 243 0 246 244 243 0 245 243 243 0 243 242 243 0 242 241 243 0 240 240 243 0 240 239 243 0 240 238 243 0 240 237 243 0 240 236 243 0 240 235 243 0 240 234 243 0 240 233 243 0 239 232 243 0 239 231 243 0 239 230 243 0 239 229 243 0 239 228 243 0 238 227 243 0 238 226 243 0 235 224 243 0 234 223 243 0 234 222 243 0 231 221 243 0 231 220 243 0 231 219 243 0 231 218 243 0 231 217 243 0 231 216 243 0 231 215 243 0 231 214 243 0 231 213 243 0 231 212 243 0 230 211 243 0 230 210 243 0 230 209 243 0 228 208 243 0 228 207 243 0 227 206 243 0 226 205 243 0 224 204 243 0 223 203 243 0 221 202 243 0 221 201 243 0 221 200 243 0 221 199 243 0 221 198 243 0 221 197 243 0 220 196 243 0 220 195 243 0 220 194 243 0 219 193 243 0 219 191 243 0 219 190 243 0 217 189 243 0 217 188 243 0 217 187 243 0 216 186 243 0 216 185 243 0 213 184 243 0 213 183 243 0 213 182 243 0 211 181 243 0 211 180 243 0 211 179 243 0 211 178 243 0 211 177 243 0 211 176 243 0 211 175 243 0 209 174 243 0 209 173 243 0 209 172 243 0 209 171 243 0 208 170 243 0 208 169 243 0 208 168 243 0 208 167 243 0 207 166 243 0 207 165 243 0 207 164 243 0 205 163 243 0 205 162 243 0 205 161 243 0 204 160 243 0 204 158 243 0 204 157 243 0 202 156 243 0 202 155 243 0 202 154 243 0 202 153 243 0 202 152 243 0 202 151 243 0 202 150 243 0 201 149 243 0 201 148 243 0 201 147 243 0 201 146 243 0 201 145 243 0 199 144 243 0 199 143 243 0 198 142 243 0 197 141 243 0 195 140 243 0 195 139 243 0 194 138 243 0 194 137 243 0 194 136 243 0 194 135 243 0 194 134 243 0 194 133 243 0 194 132 243 0 194 131 243 0 194 130 243 0 194 129 243 0 194 128 243 0 194 127 243 0 194 125 243 0 194 124 243 0 194 123 243 0 194 122 243 0 194 121 243 0 194 120 243 0 194 119 243 0 194 118 243 0 194 117 243 0 194 116 243 0 194 115 243 0 194 114 243 0 194 113 243 0 194 112 243 0 194 111 243 0 194 110 243 0 194 109 243 0 195 108 243 0 195 107 243 0 197 106 243 0 198 105 243 0 199 104 243 0 199 103 243 0 201 102 243 0 201 101 243 0 201 100 243 0 201 99 243 0 201 98 243 0 202 97 243 0 202 96 243 0 202 95 243 0 202 94 243 0 202 92 243 0 202 91 243 0 202 90 243 0 204 89 243 0 204 88 243 0 204 87 243 0 205 86 243 0 205 85 243 0 205 84 243 0 207 83 243 0 207 82 243 0 207 81 243 0 208 80 243 0 208 79 243 0 208 78 243 0 208 77 243 0 209 76 243 0 209 75 243 0 209 74 243 0 209 73 243 0 209 72 243 0 211 71 243 0 211 70 243 0 211 69 243 0 211 68 243 0 211 67 243 0 211 66 243 0 211 65 243 0 213 64 243 0 213 63 243 0 216 62 243 0 216 61 243 0 217 59 243 0 217 58 243 0 217 57 243 0 219 56 243 0 219 55 243 0 219 54 243 0 219 53 243 0 220 52 243 0 220 51 243 0 221 50 243 0 221 49 243 0 221 48 243 0 221 47 243 0 221 46 243 0 221 45 243 0 223 44 243 0 223 43 243 0 224 42 243 0 226 41 243 0 227 40 243 0 228 39 243 0 230 38 243 0 230 37 243 0 230 36 243 0 230 35 243 0 231 34 243 0 231 33 243 0 231 32 243 0 231 31 243 0 231 30 243 0 231 29 243 0 231 28 243 0 231 26 243 0 231 25 243 0 234 24 243 0 234 23 243 0 235 22 243 0 235 21 243 0 238 20 243 0 238 19 243 0 239 18 243 0 239 17 243 0 239 16 243 0 239 15 243 0 240 14 243 0 240 13 243 0 240 12 243 0 240 11 243 0 240 10 243 0 240 9 243 0 240 8 243 0 240 7 243 1 242 6 243 1 242 5 243 2 243 4 243 3 246 3 243 4 248 2 243 5 249 1 243 6 250 0 243 7 250 0 243 8 252 0 243 8 252 0 243 8 252 0 243 9 255 0 243 9 255 255 242 0 255 254 242 0 255 254 242 0 252 254 242 0 252 253 242 0 252 252 242 0 252 251 242 0 252 250 242 0 250 249 242 0 250 248 242 0 249 247 242 0 248 246 242 0 246 245 242 0 245 244 242 0 243 243 242 0 242 242 242 0 240 241 242 0 240 240 242 0 240 239 242 0 240 238 242 0 240 237 242 0 240 236 242 0 239 235 242 0 239 234 242 0 239 233 242 0 239 232 242 0 239 231 242 0 239 230 242 0 239 229 242 0 238 228 242 0 235 227 242 0 235 226 242 0 234 224 242 0 234 223 242 0 231 222 242 0 231 221 242 0 231 220 242 0 231 219 242 0 231 218 242 0 231 217 242 0 230 216 242 0 230 215 242 0 230 214 242 0 230 213 242 0 230 212 242 0 230 211 242 0 230 210 242 0 228 209 242 0 228 208 242 0 227 207 242 0 226 206 242 0 224 205 242 0 223 204 242 0 221 203 242 0 221 202 242 0 220 201 242 0 220 200 242 0 220 199 242 0 220 198 242 0 220 197 242 0 220 196 242 0 219 195 242 0 219 194 242 0 219 193 242 0 217 191 242 0 217 190 242 0 217 189 242 0 216 188 242 0 216 187 242 0 216 186 242 0 213 185 242 0 213 184 242 0 211 183 242 0 211 182 242 0 211 181 242 0 211 180 242 0 211 179 242 0 209 178 242 0 209 177 242 0 209 176 242 0 209 175 242 0 208 174 242 0 208 173 242 0 208 172 242 0 208 171 242 0 208 170 242 0 207 169 242 0 207 168 242 0 207 167 242 0 207 166 242 0 205 165 242 0 205 164 242 0 205 163 242 0 204 162 242 0 204 161 242 0 202 160 242 0 202 158 242 0 201 157 242 0 201 156 242 0 199 155 242 0 199 154 242 0 199 153 242 0 199 152 242 0 199 151 242 0 199 150 242 0 199 149 242 0 199 148 242 0 199 147 242 0 199 146 242 0 198 145 242 0 198 144 242 0 197 143 242 0 197 142 242 0 195 141 242 0 194 140 242 0 194 139 242 0 189 138 242 0 189 137 242 0 189 136 242 0 189 135 242 0 189 134 242 0 189 133 242 0 189 132 242 0 189 131 242 0 189 130 242 0 189 129 242 0 189 128 242 0 189 127 242 0 189 125 242 0 189 124 242 0 189 123 242 0 189 122 242 0 189 121 242 0 189 120 242 0 189 119 242 0 189 118 242 0 189 117 242 0 189 116 242 0 189 115 242 0 189 114 242 0 189 113 242 0 189 112 242 0 189 111 242 0 189 110 242 0 189 109 242 0 189 108 242 0 194 107 242 0 195 106 242 0 195 105 242 0 197 104 242 0 198 103 242 0 198 102 242 0 198 101 242 0 199 100 242 0 199 99 242 0 199 98 242 0 199 97 242 0 199 96 242 0 199 95 242 0 199 94 242 0 199 92 242 0 199 91 242 0 199 90 242 0 201 89 242 0 202 88 242 0 202 87 242 0 204 86 242 0 204 85 242 0 204 84 242 0 205 83 242 0 205 82 242 0 207 81 242 0 207 80 242 0 207 79 242 0 207 78 242 0 208 77 242 0 208 76 242 0 208 75 242 0 208 74 242 0 208 73 242 0 209 72 242 0 209 71 242 0 209 70 242 0 209 69 242 0 209 68 242 0 211 67 242 0 211 66 242 0 211 65 242 0 211 64 242 0 213 63 242 0 213 62 242 0 216 61 242 0 216 59 242 0 216 58 242 0 217 57 242 0 217 56 242 0 217 55 242 0 219 54 242 0 219 53 242 0 219 52 242 0 220 51 242 0 220 50 242 0 220 49 242 0 220 48 242 0 220 47 242 0 220 46 242 0 220 45 242 0 221 44 242 0 221 43 242 0 223 42 242 0 224 41 242 0 226 40 242 0 227 39 242 0 228 38 242 0 228 37 242 0 230 36 242 0 230 35 242 0 230 34 242 0 230 33 242 0 230 32 242 0 230 31 242 0 231 30 242 0 231 29 242 0 231 28 242 0 231 26 242 0 231 25 242 0 231 24 242 0 234 23 242 0 234 22 242 0 235 21 242 0 235 20 242 0 238 19 242 0 238 18 242 0 239 17 242 0 239 16 242 0 239 15 242 0 239 14 242 0 239 13 242 0 239 12 242 0 240 11 242 0 240 10 242 0 240 9 242 1 240 8 242 1 240 7 242 2 240 6 242 2 242 5 242 3 242 4 242 4 243 3 242 5 246 2 242 6 248 1 242 7 249 0 242 8 250 0 242 9 250 0 242 9 252 0 242 10 252 0 242 10 252 0 242 10 252 255 241 0 255 254 241 0 255 254 241 0 252 254 241 0 252 253 241 0 252 252 241 0 252 251 241 0 250 250 241 0 250 249 241 0 249 248 241 0 248 247 241 0 246 246 241 0 245 245 241 0 243 244 241 0 242 243 241 0 240 242 241 0 240 241 241 0 240 240 241 0 240 239 241 0 240 238 241 0 240 237 241 0 240 236 241 0 239 235 241 0 239 234 241 0 239 233 241 0 239 232 241 0 239 231 241 0 238 230 241 0 238 229 241 0 235 228 241 0 235 227 241 0 234 226 241 0 234 224 241 0 231 223 241 0 231 222 241 0 231 221 241 0 231 220 241 0 231 219 241 0 230 218 241 0 230 217 241 0 230 216 241 0 230 215 241 0 230 214 241 0 230 213 241 0 230 212 241 0 228 211 241 0 228 210 241 0 227 209 241 0 227 208 241 0 226 207 241 0 224 206 241 0 223 205 241 0 221 204 241 0 220 203 241 0 220 202 241 0 220 201 241 0 219 200 241 0 219 199 241 0 219 198 241 0 219 197 241 0 219 196 241 0 219 195 241 0 217 194 241 0 217 193 241 0 217 191 241 0 216 190 241 0 216 189 241 0 213 188 241 0 213 187 241 0 213 186 241 0 211 185 241 0 211 184 241 0 209 183 241 0 209 182 241 0 209 181 241 0 209 180 241 0 209 179 241 0 209 178 241 0 209 177 241 0 208 176 241 0 208 175 241 0 208 174 241 0 207 173 241 0 207 172 241 0 207 171 241 0 205 170 241 0 205 169 241 0 205 168 241 0 205 167 241 0 204 166 241 0 204 165 241 0 204 164 241 0 202 163 241 0 202 162 241 0 202 161 241 0 201 160 241 0 199 158 241 0 198 157 241 0 198 156 241 0 197 155 241 0 197 154 241 0 195 153 241 0 195 152 241 0 195 151 241 0 195 150 241 0 195 149 241 0 195 148 241 0 195 147 241 0 195 146 241 0 195 145 241 0 195 144 241 0 194 143 241 0 194 142 241 0 189 141 241 0 189 140 241 0 188 139 241 0 188 138 241 0 188 137 241 0 188 136 241 0 188 135 241 0 188 134 241 0 188 133 241 0 188 132 241 0 188 131 241 0 188 130 241 0 188 129 241 0 188 128 241 0 188 127 241 0 188 125 241 0 188 124 241 0 188 123 241 0 188 122 241 0 188 121 241 0 188 120 241 0 188 119 241 0 188 118 241 0 188 117 241 0 188 116 241 0 188 115 241 0 188 114 241 0 188 113 241 0 188 112 241 0 188 111 241 0 188 110 241 0 188 109 241 0 188 108 241 0 189 107 241 0 189 106 241 0 194 105 241 0 194 104 241 0 195 103 241 0 195 102 241 0 195 101 241 0 195 100 241 0 195 99 241 0 195 98 241 0 195 97 241 0 195 96 241 0 195 95 241 0 195 94 241 0 197 92 241 0 197 91 241 0 198 90 241 0 198 89 241 0 199 88 241 0 201 87 241 0 202 86 241 0 202 85 241 0 202 84 241 0 204 83 241 0 204 82 241 0 204 81 241 0 205 80 241 0 205 79 241 0 205 78 241 0 205 77 241 0 207 76 241 0 207 75 241 0 207 74 241 0 207 73 241 0 208 72 241 0 208 71 241 0 208 70 241 0 209 69 241 0 209 68 241 0 209 67 241 0 209 66 241 0 209 65 241 0 209 64 241 0 211 63 241 0 211 62 241 0 213 61 241 0 213 59 241 0 213 58 241 0 216 57 241 0 216 56 241 0 216 55 241 0 217 54 241 0 217 53 241 0 219 52 241 0 219 51 241 0 219 50 241 0 219 49 241 0 219 48 241 0 219 47 241 0 220 46 241 0 220 45 241 0 220 44 241 0 221 43 241 0 221 42 241 0 223 41 241 0 224 40 241 0 226 39 241 0 227 38 241 0 228 37 241 0 228 36 241 0 228 35 241 0 230 34 241 0 230 33 241 0 230 32 241 0 230 31 241 0 230 30 241 0 230 29 241 0 231 28 241 0 231 26 241 0 231 25 241 0 231 24 241 0 231 23 241 0 234 22 241 0 234 21 241 0 235 20 241 0 235 19 241 0 238 18 241 0 238 17 241 0 239 16 241 0 239 15 241 0 239 14 241 0 239 13 241 0 239 12 241 0 240 11 241 0 240 10 241 1 240 9 241 2 240 8 241 2 240 7 241 3 240 6 241 3 240 5 241 4 242 4 241 5 242 3 241 6 243 2 241 7 245 1 241 9 248 0 241 9 249 0 241 10 250 0 241 11 250 0 241 11 252 0 241 11 252 0 241 11 252 255 240 0 255 254 240 0 255 254 240 0 252 254 240 0 252 253 240 0 252 252 240 0 250 251 240 0 250 250 240 0 249 249 240 0 248 248 240 0 246 247 240 0 245 246 240 0 243 245 240 0 242 244 240 0 240 243 240 0 240 242 240 0 240 241 240 0 240 240 240 0 240 239 240 0 240 238 240 0 240 237 240 0 240 236 240 0 239 235 240 0 239 234 240 0 239 233 240 0 239 232 240 0 238 231 240 0 238 230 240 0 235 229 240 0 235 228 240 0 234 227 240 0 234 226 240 0 231 224 240 0 231 223 240 0 231 222 240 0 231 221 240 0 231 220 240 0 231 219 240 0 230 218 240 0 230 217 240 0 230 216 240 0 230 215 240 0 228 214 240 0 228 213 240 0 228 212 240 0 227 211 240 0 227 210 240 0 226 209 240 0 226 208 240 0 224 207 240 0 223 206 240 0 221 205 240 0 220 204 240 0 220 203 240 0 220 202 240 0 219 201 240 0 219 200 240 0 219 199 240 0 219 198 240 0 219 197 240 0 217 196 240 0 217 195 240 0 217 194 240 0 216 193 240 0 216 191 240 0 213 190 240 0 213 189 240 0 213 188 240 0 211 187 240 0 211 186 240 0 211 185 240 0 209 184 240 0 209 183 240 0 209 182 240 0 208 181 240 0 208 180 240 0 208 179 240 0 208 178 240 0 208 177 240 0 208 176 240 0 207 175 240 0 207 174 240 0 207 173 240 0 205 172 240 0 205 171 240 0 205 170 240 0 204 169 240 0 204 168 240 0 202 167 240 0 202 166 240 0 202 165 240 0 201 164 240 0 201 163 240 0 201 162 240 0 201 161 240 0 199 160 240 0 198 158 240 0 197 157 240 0 195 156 240 0 194 155 240 0 194 154 240 0 189 153 240 0 189 152 240 0 189 151 240 0 189 150 240 0 189 149 240 0 189 148 240 0 189 147 240 0 189 146 240 0 189 145 240 0 189 144 240 0 189 143 240 0 188 142 240 0 188 141 240 0 188 140 240 0 186 139 240 0 186 138 240 0 186 137 240 0 186 136 240 0 186 135 240 0 186 134 240 0 186 133 240 0 186 132 240 0 186 131 240 0 186 130 240 0 186 129 240 0 186 128 240 0 186 127 240 0 186 125 240 0 186 124 240 0 186 123 240 0 186 122 240 0 186 121 240 0 186 120 240 0 186 119 240 0 186 118 240 0 186 117 240 0 186 116 240 0 186 115 240 0 186 114 240 0 186 113 240 0 186 112 240 0 186 111 240 0 186 110 240 0 186 109 240 0 186 108 240 0 188 107 240 0 188 106 240 0 188 105 240 0 189 104 240 0 189 103 240 0 189 102 240 0 189 101 240 0 189 100 240 0 189 99 240 0 189 98 240 0 189 97 240 0 189 96 240 0 189 95 240 0 189 94 240 0 194 92 240 0 194 91 240 0 195 90 240 0 197 89 240 0 198 88 240 0 199 87 240 0 199 86 240 0 201 85 240 0 201 84 240 0 201 83 240 0 202 82 240 0 202 81 240 0 202 80 240 0 204 79 240 0 204 78 240 0 205 77 240 0 205 76 240 0 205 75 240 0 205 74 240 0 207 73 240 0 207 72 240 0 207 71 240 0 208 70 240 0 208 69 240 0 208 68 240 0 208 67 240 0 208 66 240 0 209 65 240 0 209 64 240 0 209 63 240 0 211 62 240 0 211 61 240 0 211 59 240 0 213 58 240 0 213 57 240 0 213 56 240 0 216 55 240 0 216 54 240 0 217 53 240 0 217 52 240 0 217 51 240 0 219 50 240 0 219 49 240 0 219 48 240 0 219 47 240 0 219 46 240 0 219 45 240 0 220 44 240 0 220 43 240 0 221 42 240 0 221 41 240 0 223 40 240 0 224 39 240 0 226 38 240 0 227 37 240 0 227 36 240 0 228 35 240 0 228 34 240 0 228 33 240 0 230 32 240 0 230 31 240 0 230 30 240 0 230 29 240 0 231 28 240 0 231 26 240 0 231 25 240 0 231 24 240 0 231 23 240 0 231 22 240 0 234 21 240 0 234 20 240 0 235 19 240 0 235 18 240 0 238 17 240 0 238 16 240 0 239 15 240 0 239 14 240 0 239 13 240 0 239 12 240 0 240 11 240 1 240 10 240 2 240 9 240 2 240 8 240 3 240 7 240 4 240 6 240 4 240 5 240 5 240 4 240 6 242 3 240 7 242 2 240 9 243 1 240 10 245 0 240 11 248 0 240 11 249 0 240 12 250 0 240 12 250 0 240 12 252 0 240 12 252 255 239 0 255 254 239 0 255 254 239 0 252 254 239 0 252 253 239 0 252 252 239 0 250 251 239 0 249 250 239 0 248 249 239 0 246 248 239 0 245 247 239 0 243 246 239 0 242 245 239 0 240 244 239 0 240 243 239 0 240 242 239 0 240 241 239 0 240 240 239 0 240 239 239 0 239 238 239 0 239 237 239 0 239 236 239 0 239 235 239 0 239 234 239 0 239 233 239 0 238 232 239 0 238 231 239 0 235 230 239 0 235 229 239 0 234 228 239 0 234 227 239 0 231 226 239 0 231 224 239 0 231 223 239 0 231 222 239 0 230 221 239 0 230 220 239 0 230 219 239 0 230 218 239 0 230 217 239 0 230 216 239 0 228 215 239 0 227 214 239 0 227 213 239 0 227 212 239 0 226 211 239 0 226 210 239 0 224 209 239 0 224 208 239 0 223 207 239 0 221 206 239 0 220 205 239 0 220 204 239 0 219 203 239 0 219 202 239 0 219 201 239 0 219 200 239 0 219 199 239 0 217 198 239 0 217 197 239 0 217 196 239 0 216 195 239 0 216 194 239 0 216 193 239 0 213 191 239 0 213 190 239 0 211 189 239 0 211 188 239 0 211 187 239 0 209 186 239 0 209 185 239 0 208 184 239 0 208 183 239 0 208 182 239 0 208 181 239 0 208 180 239 0 208 179 239 0 207 178 239 0 207 177 239 0 207 176 239 0 205 175 239 0 205 174 239 0 205 173 239 0 204 172 239 0 204 171 239 0 204 170 239 0 202 169 239 0 202 168 239 0 201 167 239 0 199 166 239 0 199 165 239 0 199 164 239 0 199 163 239 0 198 162 239 0 198 161 239 0 197 160 239 0 197 158 239 0 195 157 239 0 194 156 239 0 189 155 239 0 188 154 239 0 188 153 239 0 188 152 239 0 188 151 239 0 186 150 239 0 186 149 239 0 186 148 239 0 186 147 239 0 186 146 239 0 186 145 239 0 186 144 239 0 186 143 239 0 186 142 239 0 186 141 239 0 185 140 239 0 185 139 239 0 185 138 239 0 185 137 239 0 185 136 239 0 185 135 239 0 185 134 239 0 185 133 239 0 185 132 239 0 185 131 239 0 185 130 239 0 185 129 239 0 185 128 239 0 185 127 239 0 185 125 239 0 185 124 239 0 185 123 239 0 185 122 239 0 185 121 239 0 185 120 239 0 185 119 239 0 185 118 239 0 185 117 239 0 185 116 239 0 185 115 239 0 185 114 239 0 185 113 239 0 185 112 239 0 185 111 239 0 185 110 239 0 185 109 239 0 185 108 239 0 185 107 239 0 186 106 239 0 186 105 239 0 186 104 239 0 186 103 239 0 186 102 239 0 186 101 239 0 186 100 239 0 186 99 239 0 186 98 239 0 186 97 239 0 188 96 239 0 188 95 239 0 188 94 239 0 188 92 239 0 189 91 239 0 194 90 239 0 194 89 239 0 195 88 239 0 197 87 239 0 198 86 239 0 198 85 239 0 198 84 239 0 199 83 239 0 199 82 239 0 199 81 239 0 201 80 239 0 201 79 239 0 202 78 239 0 204 77 239 0 204 76 239 0 204 75 239 0 205 74 239 0 205 73 239 0 205 72 239 0 207 71 239 0 207 70 239 0 207 69 239 0 207 68 239 0 208 67 239 0 208 66 239 0 208 65 239 0 208 64 239 0 208 63 239 0 209 62 239 0 209 61 239 0 211 59 239 0 211 58 239 0 211 57 239 0 213 56 239 0 213 55 239 0 216 54 239 0 216 53 239 0 216 52 239 0 217 51 239 0 217 50 239 0 217 49 239 0 217 48 239 0 219 47 239 0 219 46 239 0 219 45 239 0 219 44 239 0 220 43 239 0 220 42 239 0 221 41 239 0 221 40 239 0 223 39 239 0 224 38 239 0 224 37 239 0 226 36 239 0 227 35 239 0 227 34 239 0 227 33 239 0 228 32 239 0 230 31 239 0 230 30 239 0 230 29 239 0 230 28 239 0 230 26 239 0 230 25 239 0 231 24 239 0 231 23 239 0 231 22 239 0 231 21 239 0 234 20 239 0 234 19 239 0 235 18 239 0 235 17 239 0 238 16 239 0 238 15 239 0 239 14 239 0 239 13 239 0 239 12 239 0 239 11 239 1 239 10 239 2 239 9 239 3 240 8 239 4 240 7 239 5 240 6 239 5 240 5 239 6 240 4 239 7 240 3 239 8 242 2 239 10 242 1 239 11 243 0 239 12 246 0 239 12 248 0 239 13 249 0 239 13 250 0 239 13 252 0 239 13 252 255 238 0 255 254 238 0 255 254 238 0 252 254 238 0 252 253 238 0 250 252 238 0 249 251 238 0 248 250 238 0 246 249 238 0 245 248 238 0 243 247 238 0 242 246 238 0 240 245 238 0 240 244 238 0 240 243 238 0 240 242 238 0 240 241 238 0 240 240 238 0 240 239 238 0 239 238 238 0 239 237 238 0 239 236 238 0 239 235 238 0 239 234 238 0 238 233 238 0 238 232 238 0 235 231 238 0 235 230 238 0 234 229 238 0 234 228 238 0 231 227 238 0 231 226 238 0 231 224 238 0 231 223 238 0 231 222 238 0 230 221 238 0 230 220 238 0 230 219 238 0 230 218 238 0 228 217 238 0 228 216 238 0 227 215 238 0 226 214 238 0 226 213 238 0 224 212 238 0 224 211 238 0 223 210 238 0 223 209 238 0 221 208 238 0 221 207 238 0 220 206 238 0 220 205 238 0 219 204 238 0 219 203 238 0 219 202 238 0 219 201 238 0 217 200 238 0 217 199 238 0 216 198 238 0 216 197 238 0 216 196 238 0 213 195 238 0 213 194 238 0 213 193 238 0 211 191 238 0 211 190 238 0 209 189 238 0 209 188 238 0 209 187 238 0 209 186 238 0 208 185 238 0 208 184 238 0 207 183 238 0 207 182 238 0 207 181 238 0 207 180 238 0 205 179 238 0 205 178 238 0 205 177 238 0 205 176 238 0 204 175 238 0 204 174 238 0 204 173 238 0 204 172 238 0 202 171 238 0 202 170 238 0 201 169 238 0 199 168 238 0 198 167 238 0 197 166 238 0 197 165 238 0 197 164 238 0 195 163 238 0 195 162 238 0 195 161 238 0 195 160 238 0 194 158 238 0 189 157 238 0 188 156 238 0 186 155 238 0 186 154 238 0 185 153 238 0 185 152 238 0 185 151 238 0 185 150 238 0 185 149 238 0 185 148 238 0 184 147 238 0 184 146 238 0 184 145 238 0 184 144 238 0 184 143 238 0 184 142 238 0 184 141 238 0 184 140 238 0 184 139 238 0 184 138 238 0 184 137 238 0 184 136 238 0 184 135 238 0 184 134 238 0 184 133 238 0 184 132 238 0 184 131 238 0 184 130 238 0 184 129 238 0 184 128 238 0 184 127 238 0 184 125 238 0 184 124 238 0 184 123 238 0 184 122 238 0 184 121 238 0 184 120 238 0 184 119 238 0 184 118 238 0 184 117 238 0 184 116 238 0 184 115 238 0 184 114 238 0 184 113 238 0 184 112 238 0 184 111 238 0 184 110 238 0 184 109 238 0 184 108 238 0 184 107 238 0 184 106 238 0 184 105 238 0 184 104 238 0 184 103 238 0 184 102 238 0 184 101 238 0 184 100 238 0 185 99 238 0 185 98 238 0 185 97 238 0 185 96 238 0 185 95 238 0 185 94 238 0 186 92 238 0 186 91 238 0 188 90 238 0 189 89 238 0 194 88 238 0 194 87 238 0 195 86 238 0 195 85 238 0 195 84 238 0 195 83 238 0 197 82 238 0 197 81 238 0 198 80 238 0 199 79 238 0 201 78 238 0 201 77 238 0 202 76 238 0 202 75 238 0 204 74 238 0 204 73 238 0 204 72 238 0 205 71 238 0 205 70 238 0 205 69 238 0 205 68 238 0 207 67 238 0 207 66 238 0 207 65 238 0 207 64 238 0 208 63 238 0 208 62 238 0 208 61 238 0 209 59 238 0 209 58 238 0 209 57 238 0 211 56 238 0 211 55 238 0 213 54 238 0 213 53 238 0 213 52 238 0 216 51 238 0 216 50 238 0 216 49 238 0 217 48 238 0 217 47 238 0 219 46 238 0 219 45 238 0 219 44 238 0 219 43 238 0 219 42 238 0 220 41 238 0 220 40 238 0 221 39 238 0 223 38 238 0 223 37 238 0 224 36 238 0 224 35 238 0 226 34 238 0 226 33 238 0 227 32 238 0 228 31 238 0 228 30 238 0 230 29 238 0 230 28 238 0 230 26 238 0 230 25 238 0 231 24 238 0 231 23 238 0 231 22 238 0 231 21 238 0 231 20 238 0 234 19 238 0 234 18 238 0 235 17 238 0 235 16 238 0 238 15 238 0 238 14 238 0 239 13 238 0 239 12 238 1 239 11 238 2 239 10 238 3 239 9 238 4 240 8 238 5 240 7 238 6 240 6 238 6 240 5 238 7 240 4 238 8 240 3 238 9 240 2 238 10 240 1 238 12 242 0 238 12 243 0 238 13 246 0 238 14 248 0 238 14 249 0 238 14 250 0 238 14 252 255 237 0 255 254 237 0 255 254 237 0 252 254 237 0 252 253 237 0 250 252 237 0 249 251 237 0 246 250 237 0 245 249 237 0 243 248 237 0 242 247 237 0 240 246 237 0 240 245 237 0 240 244 237 0 240 243 237 0 240 242 237 0 240 241 237 0 240 240 237 0 240 239 237 0 239 238 237 0 239 237 237 0 239 236 237 0 239 235 237 0 238 234 237 0 238 233 237 0 235 232 237 0 235 231 237 0 234 230 237 0 234 229 237 0 231 228 237 0 231 227 237 0 231 226 237 0 231 224 237 0 231 223 237 0 231 222 237 0 230 221 237 0 230 220 237 0 230 219 237 0 230 218 237 0 228 217 237 0 227 216 237 0 226 215 237 0 224 214 237 0 224 213 237 0 223 212 237 0 221 211 237 0 221 210 237 0 221 209 237 0 220 208 237 0 220 207 237 0 220 206 237 0 219 205 237 0 219 204 237 0 219 203 237 0 217 202 237 0 217 201 237 0 217 200 237 0 216 199 237 0 216 198 237 0 213 197 237 0 213 196 237 0 213 195 237 0 211 194 237 0 211 193 237 0 211 191 237 0 209 190 237 0 209 189 237 0 208 188 237 0 208 187 237 0 208 186 237 0 207 185 237 0 207 184 237 0 207 183 237 0 205 182 237 0 205 181 237 0 205 180 237 0 204 179 237 0 204 178 237 0 204 177 237 0 202 176 237 0 202 175 237 0 202 174 237 0 202 173 237 0 201 172 237 0 201 171 237 0 199 170 237 0 199 169 237 0 198 168 237 0 197 167 237 0 195 166 237 0 194 165 237 0 194 164 237 0 189 163 237 0 189 162 237 0 189 161 237 0 189 160 237 0 188 158 237 0 188 157 237 0 186 156 237 0 185 155 237 0 185 154 237 0 184 153 237 0 184 152 237 0 184 151 237 0 182 150 237 0 182 149 237 0 182 148 237 0 182 147 237 0 182 146 237 0 182 145 237 0 182 144 237 0 182 143 237 0 182 142 237 0 182 141 237 0 182 140 237 0 182 139 237 0 182 138 237 0 182 137 237 0 182 136 237 0 182 135 237 0 182 134 237 0 182 133 237 0 182 132 237 0 182 131 237 0 182 130 237 0 182 129 237 0 182 128 237 0 182 127 237 0 182 125 237 0 182 124 237 0 182 123 237 0 182 122 237 0 182 121 237 0 182 120 237 0 182 119 237 0 182 118 237 0 182 117 237 0 182 116 237 0 182 115 237 0 182 114 237 0 182 113 237 0 182 112 237 0 182 111 237 0 182 110 237 0 182 109 237 0 182 108 237 0 182 107 237 0 182 106 237 0 182 105 237 0 182 104 237 0 182 103 237 0 182 102 237 0 182 101 237 0 182 100 237 0 182 99 237 0 182 98 237 0 182 97 237 0 184 96 237 0 184 95 237 0 184 94 237 0 185 92 237 0 185 91 237 0 186 90 237 0 188 89 237 0 188 88 237 0 189 87 237 0 189 86 237 0 189 85 237 0 189 84 237 0 194 83 237 0 194 82 237 0 195 81 237 0 195 80 237 0 197 79 237 0 198 78 237 0 199 77 237 0 201 76 237 0 201 75 237 0 202 74 237 0 202 73 237 0 202 72 237 0 202 71 237 0 204 70 237 0 204 69 237 0 204 68 237 0 205 67 237 0 205 66 237 0 205 65 237 0 207 64 237 0 207 63 237 0 207 62 237 0 208 61 237 0 208 59 237 0 208 58 237 0 209 57 237 0 209 56 237 0 209 55 237 0 211 54 237 0 211 53 237 0 213 52 237 0 213 51 237 0 213 50 237 0 216 49 237 0 216 48 237 0 217 47 237 0 217 46 237 0 217 45 237 0 217 44 237 0 219 43 237 0 219 42 237 0 219 41 237 0 220 40 237 0 220 39 237 0 221 38 237 0 221 37 237 0 221 36 237 0 223 35 237 0 223 34 237 0 224 33 237 0 226 32 237 0 227 31 237 0 228 30 237 0 230 29 237 0 230 28 237 0 230 26 237 0 230 25 237 0 231 24 237 0 231 23 237 0 231 22 237 0 231 21 237 0 231 20 237 0 231 19 237 0 234 18 237 0 234 17 237 0 235 16 237 0 235 15 237 0 238 14 237 0 238 13 237 1 239 12 237 1 239 11 237 2 239 10 237 3 239 9 237 4 240 8 237 5 240 7 237 6 240 6 237 7 240 5 237 8 240 4 237 9 240 3 237 10 240 2 237 11 240 1 237 12 242 0 237 13 243 0 237 14 245 0 237 14 246 0 237 15 249 0 237 15 250 0 237 15 252 255 236 0 252 254 236 0 252 254 236 0 252 254 236 0 250 253 236 0 250 252 236 0 248 251 236 0 246 250 236 0 243 249 236 0 242 248 236 0 240 247 236 0 240 246 236 0 240 245 236 0 240 244 236 0 240 243 236 0 240 242 236 0 240 241 236 0 240 240 236 0 240 239 236 0 239 238 236 0 239 237 236 0 239 236 236 0 239 235 236 0 238 234 236 0 235 233 236 0 235 232 236 0 234 231 236 0 234 230 236 0 231 229 236 0 231 228 236 0 231 227 236 0 231 226 236 0 230 224 236 0 230 223 236 0 230 222 236 0 230 221 236 0 230 220 236 0 230 219 236 0 228 218 236 0 227 217 236 0 226 216 236 0 224 215 236 0 223 214 236 0 221 213 236 0 221 212 236 0 220 211 236 0 220 210 236 0 220 209 236 0 220 208 236 0 219 207 236 0 219 206 236 0 219 205 236 0 217 204 236 0 217 203 236 0 217 202 236 0 216 201 236 0 216 200 236 0 216 199 236 0 213 198 236 0 213 197 236 0 211 196 236 0 211 195 236 0 211 194 236 0 209 193 236 0 209 191 236 0 208 190 236 0 208 189 236 0 208 188 236 0 208 187 236 0 207 186 236 0 207 185 236 0 205 184 236 0 205 183 236 0 205 182 236 0 204 181 236 0 204 180 236 0 202 179 236 0 202 178 236 0 201 177 236 0 201 176 236 0 201 175 236 0 199 174 236 0 199 173 236 0 199 172 236 0 199 171 236 0 198 170 236 0 197 169 236 0 195 168 236 0 194 167 236 0 189 166 236 0 189 165 236 0 188 164 236 0 188 163 236 0 188 162 236 0 186 161 236 0 186 160 236 0 186 158 236 0 186 157 236 0 185 156 236 0 184 155 236 0 184 154 236 0 182 153 236 0 182 152 236 0 182 151 236 0 182 150 236 0 181 149 236 0 181 148 236 0 181 147 236 0 179 146 236 0 179 145 236 0 179 144 236 0 179 143 236 0 179 142 236 0 179 141 236 0 179 140 236 0 179 139 236 0 179 138 236 0 179 137 236 0 179 136 236 0 179 135 236 0 179 134 236 0 179 133 236 0 179 132 236 0 179 131 236 0 179 130 236 0 179 129 236 0 179 128 236 0 179 127 236 0 179 125 236 0 179 124 236 0 179 123 236 0 179 122 236 0 179 121 236 0 179 120 236 0 179 119 236 0 179 118 236 0 179 117 236 0 179 116 236 0 179 115 236 0 179 114 236 0 179 113 236 0 179 112 236 0 179 111 236 0 179 110 236 0 179 109 236 0 179 108 236 0 179 107 236 0 179 106 236 0 179 105 236 0 179 104 236 0 179 103 236 0 179 102 236 0 179 101 236 0 181 100 236 0 181 99 236 0 181 98 236 0 182 97 236 0 182 96 236 0 182 95 236 0 182 94 236 0 184 92 236 0 184 91 236 0 185 90 236 0 185 89 236 0 186 88 236 0 186 87 236 0 186 86 236 0 188 85 236 0 188 84 236 0 188 83 236 0 188 82 236 0 189 81 236 0 194 80 236 0 195 79 236 0 197 78 236 0 198 77 236 0 199 76 236 0 199 75 236 0 199 74 236 0 199 73 236 0 201 72 236 0 201 71 236 0 201 70 236 0 202 69 236 0 202 68 236 0 204 67 236 0 204 66 236 0 205 65 236 0 205 64 236 0 205 63 236 0 207 62 236 0 207 61 236 0 207 59 236 0 208 58 236 0 208 57 236 0 208 56 236 0 209 55 236 0 209 54 236 0 209 53 236 0 211 52 236 0 211 51 236 0 213 50 236 0 213 49 236 0 213 48 236 0 216 47 236 0 216 46 236 0 217 45 236 0 217 44 236 0 217 43 236 0 217 42 236 0 219 41 236 0 219 40 236 0 220 39 236 0 220 38 236 0 220 37 236 0 220 36 236 0 221 35 236 0 221 34 236 0 223 33 236 0 224 32 236 0 226 31 236 0 227 30 236 0 228 29 236 0 230 28 236 0 230 26 236 0 230 25 236 0 230 24 236 0 230 23 236 0 230 22 236 0 231 21 236 0 231 20 236 0 231 19 236 0 231 18 236 0 234 17 236 0 234 16 236 0 235 15 236 0 235 14 236 1 238 13 236 1 238 12 236 2 239 11 236 3 239 10 236 4 239 9 236 5 240 8 236 6 240 7 236 7 240 6 236 8 240 5 236 9 240 4 236 10 240 3 236 11 240 2 236 12 240 1 236 13 240 0 236 14 242 0 236 15 243 0 236 15 245 0 236 16 248 0 236 16 249 0 236 16 250 255 235 0 252 254 235 0 252 254 235 0 252 254 235 0 250 253 235 0 249 252 235 0 248 251 235 0 245 250 235 0 243 249 235 0 242 248 235 0 240 247 235 0 240 246 235 0 240 245 235 0 240 244 235 0 240 243 235 0 240 242 235 0 240 241 235 0 240 240 235 0 240 239 235 0 239 238 235 0 239 237 235 0 239 236 235 0 238 235 235 0 235 234 235 0 235 233 235 0 234 232 235 0 234 231 235 0 231 230 235 0 231 229 235 0 231 228 235 0 231 227 235 0 231 226 235 0 230 224 235 0 230 223 235 0 230 222 235 0 230 221 235 0 228 220 235 0 228 219 235 0 227 218 235 0 226 217 235 0 224 216 235 0 223 215 235 0 221 214 235 0 221 213 235 0 220 212 235 0 220 211 235 0 219 210 235 0 219 209 235 0 219 208 235 0 219 207 235 0 217 206 235 0 217 205 235 0 216 204 235 0 216 203 235 0 216 202 235 0 213 201 235 0 213 200 235 0 213 199 235 0 211 198 235 0 211 197 235 0 209 196 235 0 209 195 235 0 209 194 235 0 209 193 235 0 208 191 235 0 208 190 235 0 207 189 235 0 207 188 235 0 207 187 235 0 205 186 235 0 205 185 235 0 205 184 235 0 204 183 235 0 204 182 235 0 202 181 235 0 202 180 235 0 201 179 235 0 201 178 235 0 199 177 235 0 198 176 235 0 198 175 235 0 198 174 235 0 197 173 235 0 197 172 235 0 197 171 235 0 195 170 235 0 195 169 235 0 194 168 235 0 189 167 235 0 188 166 235 0 186 165 235 0 186 164 235 0 185 163 235 0 185 162 235 0 185 161 235 0 185 160 235 0 184 158 235 0 184 157 235 0 184 156 235 0 182 155 235 0 182 154 235 0 182 153 235 0 181 152 235 0 181 151 235 0 181 150 235 0 179 149 235 0 179 148 235 0 178 147 235 0 178 146 235 0 178 145 235 0 176 144 235 0 176 143 235 0 176 142 235 0 176 141 235 0 176 140 235 0 176 139 235 0 176 138 235 0 176 137 235 0 176 136 235 0 176 135 235 0 176 134 235 0 176 133 235 0 176 132 235 0 176 131 235 0 176 130 235 0 176 129 235 0 176 128 235 0 176 127 235 0 176 125 235 0 176 124 235 0 176 123 235 0 176 122 235 0 176 121 235 0 176 120 235 0 176 119 235 0 176 118 235 0 176 117 235 0 176 116 235 0 176 115 235 0 176 114 235 0 176 113 235 0 176 112 235 0 176 111 235 0 176 110 235 0 176 109 235 0 176 108 235 0 176 107 235 0 176 106 235 0 176 105 235 0 176 104 235 0 176 103 235 0 178 102 235 0 178 101 235 0 178 100 235 0 179 99 235 0 179 98 235 0 181 97 235 0 181 96 235 0 181 95 235 0 181 94 235 0 182 92 235 0 182 91 235 0 184 90 235 0 184 89 235 0 184 88 235 0 185 87 235 0 185 86 235 0 185 85 235 0 185 84 235 0 185 83 235 0 186 82 235 0 188 81 235 0 189 80 235 0 189 79 235 0 194 78 235 0 195 77 235 0 197 76 235 0 197 75 235 0 197 74 235 0 198 73 235 0 198 72 235 0 198 71 235 0 199 70 235 0 199 69 235 0 201 68 235 0 202 67 235 0 202 66 235 0 204 65 235 0 204 64 235 0 205 63 235 0 205 62 235 0 205 61 235 0 207 59 235 0 207 58 235 0 207 57 235 0 208 56 235 0 208 55 235 0 208 54 235 0 209 53 235 0 209 52 235 0 209 51 235 0 211 50 235 0 211 49 235 0 213 48 235 0 213 47 235 0 213 46 235 0 216 45 235 0 216 44 235 0 216 43 235 0 217 42 235 0 217 41 235 0 219 40 235 0 219 39 235 0 219 38 235 0 219 37 235 0 220 36 235 0 220 35 235 0 220 34 235 0 221 33 235 0 223 32 235 0 224 31 235 0 226 30 235 0 227 29 235 0 228 28 235 0 228 26 235 0 230 25 235 0 230 24 235 0 230 23 235 0 230 22 235 0 231 21 235 0 231 20 235 0 231 19 235 0 231 18 235 0 231 17 235 0 234 16 235 0 234 15 235 1 235 14 235 1 235 13 235 2 238 12 235 3 239 11 235 4 239 10 235 5 239 9 235 6 240 8 235 7 240 7 235 8 240 6 235 9 240 5 235 10 240 4 235 11 240 3 235 12 240 2 235 13 240 1 235 14 240 0 235 15 242 0 235 16 243 0 235 16 245 0 235 16 246 0 235 17 249 0 235 17 250 255 234 0 252 254 234 0 252 254 234 0 250 254 234 0 250 253 234 0 249 252 234 0 246 251 234 0 245 250 234 0 242 249 234 0 240 248 234 0 240 247 234 0 240 246 234 0 240 245 234 0 240 244 234 0 240 243 234 0 240 242 234 0 240 241 234 0 240 240 234 0 240 239 234 0 239 238 234 0 239 237 234 0 239 236 234 0 238 235 234 0 235 234 234 0 234 233 234 0 234 232 234 0 231 231 234 0 231 230 234 0 231 229 234 0 231 228 234 0 231 227 234 0 231 226 234 0 230 224 234 0 230 223 234 0 230 222 234 0 230 221 234 0 228 220 234 0 227 219 234 0 226 218 234 0 224 217 234 0 223 216 234 0 221 215 234 0 220 214 234 0 220 213 234 0 219 212 234 0 219 211 234 0 219 210 234 0 217 209 234 0 217 208 234 0 217 207 234 0 217 206 234 0 216 205 234 0 216 204 234 0 213 203 234 0 213 202 234 0 213 201 234 0 211 200 234 0 211 199 234 0 209 198 234 0 209 197 234 0 209 196 234 0 209 195 234 0 208 194 234 0 208 193 234 0 208 191 234 0 207 190 234 0 207 189 234 0 205 188 234 0 205 187 234 0 205 186 234 0 204 185 234 0 204 184 234 0 202 183 234 0 202 182 234 0 201 181 234 0 201 180 234 0 199 179 234 0 198 178 234 0 197 177 234 0 197 176 234 0 195 175 234 0 195 174 234 0 195 173 234 0 194 172 234 0 194 171 234 0 194 170 234 0 189 169 234 0 188 168 234 0 186 167 234 0 186 166 234 0 185 165 234 0 184 164 234 0 184 163 234 0 182 162 234 0 182 161 234 0 182 160 234 0 182 158 234 0 182 157 234 0 181 156 234 0 181 155 234 0 181 154 234 0 181 153 234 0 179 152 234 0 179 151 234 0 179 150 234 0 178 149 234 0 178 148 234 0 176 147 234 0 176 146 234 0 175 145 234 0 175 144 234 0 174 143 234 0 174 142 234 0 174 141 234 0 174 140 234 0 174 139 234 0 174 138 234 0 174 137 234 0 174 136 234 0 174 135 234 0 174 134 234 0 174 133 234 0 174 132 234 0 174 131 234 0 174 130 234 0 174 129 234 0 174 128 234 0 174 127 234 0 174 125 234 0 174 124 234 0 174 123 234 0 174 122 234 0 174 121 234 0 174 120 234 0 174 119 234 0 174 118 234 0 174 117 234 0 174 116 234 0 174 115 234 0 174 114 234 0 174 113 234 0 174 112 234 0 174 111 234 0 174 110 234 0 174 109 234 0 174 108 234 0 174 107 234 0 174 106 234 0 174 105 234 0 174 104 234 0 175 103 234 0 175 102 234 0 176 101 234 0 176 100 234 0 178 99 234 0 178 98 234 0 179 97 234 0 179 96 234 0 179 95 234 0 181 94 234 0 181 92 234 0 181 91 234 0 181 90 234 0 182 89 234 0 182 88 234 0 182 87 234 0 182 86 234 0 182 85 234 0 184 84 234 0 184 83 234 0 185 82 234 0 186 81 234 0 186 80 234 0 188 79 234 0 189 78 234 0 194 77 234 0 194 76 234 0 194 75 234 0 195 74 234 0 195 73 234 0 195 72 234 0 197 71 234 0 197 70 234 0 198 69 234 0 199 68 234 0 201 67 234 0 201 66 234 0 202 65 234 0 202 64 234 0 204 63 234 0 204 62 234 0 205 61 234 0 205 59 234 0 205 58 234 0 207 57 234 0 207 56 234 0 207 55 234 0 208 54 234 0 208 53 234 0 208 52 234 0 209 51 234 0 209 50 234 0 209 49 234 0 211 48 234 0 211 47 234 0 213 46 234 0 213 45 234 0 213 44 234 0 216 43 234 0 216 42 234 0 217 41 234 0 217 40 234 0 217 39 234 0 217 38 234 0 219 37 234 0 219 36 234 0 219 35 234 0 220 34 234 0 220 33 234 0 221 32 234 0 223 31 234 0 224 30 234 0 226 29 234 0 227 28 234 0 228 26 234 0 230 25 234 0 230 24 234 0 230 23 234 0 230 22 234 0 231 21 234 0 231 20 234 0 231 19 234 0 231 18 234 0 231 17 234 1 231 16 234 1 234 15 234 2 234 14 234 2 235 13 234 3 238 12 234 4 239 11 234 5 239 10 234 6 239 9 234 7 240 8 234 8 240 7 234 9 240 6 234 10 240 5 234 11 240 4 234 12 240 3 234 13 240 2 234 14 240 1 234 15 240 0 234 16 240 0 234 17 242 0 234 17 243 0 234 18 246 0 234 18 248 0 234 18 249 255 233 0 252 254 233 0 252 254 233 0 250 254 233 0 249 253 233 0 248 252 233 0 246 251 233 0 243 250 233 0 242 249 233 0 240 248 233 0 240 247 233 0 240 246 233 0 240 245 233 0 240 244 233 0 240 243 233 0 240 242 233 0 239 241 233 0 239 240 233 0 239 239 233 0 239 238 233 0 239 237 233 0 238 236 233 0 238 235 233 0 235 234 233 0 234 233 233 0 231 232 233 0 231 231 233 0 231 230 233 0 231 229 233 0 230 228 233 0 230 227 233 0 230 226 233 0 230 224 233 0 230 223 233 0 230 222 233 0 228 221 233 0 227 220 233 0 226 219 233 0 224 218 233 0 223 217 233 0 221 216 233 0 221 215 233 0 220 214 233 0 219 213 233 0 219 212 233 0 217 211 233 0 217 210 233 0 217 209 233 0 217 208 233 0 216 207 233 0 216 206 233 0 216 205 233 0 213 204 233 0 213 203 233 0 211 202 233 0 211 201 233 0 211 200 233 0 209 199 233 0 209 198 233 0 208 197 233 0 208 196 233 0 208 195 233 0 208 194 233 0 207 193 233 0 207 191 233 0 205 190 233 0 205 189 233 0 205 188 233 0 204 187 233 0 204 186 233 0 202 185 233 0 202 184 233 0 201 183 233 0 201 182 233 0 199 181 233 0 198 180 233 0 198 179 233 0 197 178 233 0 195 177 233 0 194 176 233 0 194 175 233 0 194 174 233 0 189 173 233 0 189 172 233 0 189 171 233 0 188 170 233 0 188 169 233 0 186 168 233 0 185 167 233 0 185 166 233 0 184 165 233 0 182 164 233 0 182 163 233 0 181 162 233 0 181 161 233 0 181 160 233 0 181 158 233 0 179 157 233 0 179 156 233 0 179 155 233 0 179 154 233 0 179 153 233 0 179 152 233 0 178 151 233 0 178 150 233 0 178 149 233 0 176 148 233 0 175 147 233 0 175 146 233 0 174 145 233 0 172 144 233 0 172 143 233 0 171 142 233 0 171 141 233 0 171 140 233 0 171 139 233 0 171 138 233 0 171 137 233 0 171 136 233 0 171 135 233 0 171 134 233 0 171 133 233 0 171 132 233 0 171 131 233 0 171 130 233 0 171 129 233 0 171 128 233 0 171 127 233 0 171 125 233 0 171 124 233 0 171 123 233 0 171 122 233 0 171 121 233 0 171 120 233 0 171 119 233 0 171 118 233 0 171 117 233 0 171 116 233 0 171 115 233 0 171 114 233 0 171 113 233 0 171 112 233 0 171 111 233 0 171 110 233 0 171 109 233 0 171 108 233 0 171 107 233 0 171 106 233 0 171 105 233 0 172 104 233 0 172 103 233 0 174 102 233 0 174 101 233 0 175 100 233 0 176 99 233 0 178 98 233 0 178 97 233 0 178 96 233 0 179 95 233 0 179 94 233 0 179 92 233 0 179 91 233 0 179 90 233 0 179 89 233 0 179 88 233 0 181 87 233 0 181 86 233 0 181 85 233 0 182 84 233 0 182 83 233 0 184 82 233 0 185 81 233 0 185 80 233 0 186 79 233 0 186 78 233 0 188 77 233 0 188 76 233 0 189 75 233 0 189 74 233 0 194 73 233 0 194 72 233 0 194 71 233 0 195 70 233 0 197 69 233 0 198 68 233 0 198 67 233 0 199 66 233 0 201 65 233 0 201 64 233 0 202 63 233 0 202 62 233 0 204 61 233 0 204 59 233 0 205 58 233 0 205 57 233 0 205 56 233 0 207 55 233 0 207 54 233 0 207 53 233 0 208 52 233 0 208 51 233 0 208 50 233 0 209 49 233 0 209 48 233 0 209 47 233 0 211 46 233 0 211 45 233 0 213 44 233 0 213 43 233 0 213 42 233 0 216 41 233 0 216 40 233 0 217 39 233 0 217 38 233 0 217 37 233 0 217 36 233 0 219 35 233 0 219 34 233 0 220 33 233 0 220 32 233 0 221 31 233 0 223 30 233 0 224 29 233 0 226 28 233 0 227 26 233 0 228 25 233 0 230 24 233 0 230 23 233 0 230 22 233 0 230 21 233 0 230 20 233 0 230 19 233 0 231 18 233 1 231 17 233 2 231 16 233 2 231 15 233 3 234 14 233 3 235 13 233 4 238 12 233 5 238 11 233 6 239 10 233 7 239 9 233 9 239 8 233 10 239 7 233 10 239 6 233 11 240 5 233 12 240 4 233 13 240 3 233 14 240 2 233 15 240 1 233 17 240 0 233 17 240 0 233 18 242 0 233 19 243 0 233 19 245 0 233 19 246 0 233 19 248 255 232 0 252 254 232 0 250 254 232 0 249 254 232 0 248 253 232 0 246 252 232 0 245 251 232 0 243 250 232 0 242 249 232 0 240 248 232 0 240 247 232 0 240 246 232 0 240 245 232 0 240 244 232 0 240 243 232 0 240 242 232 0 239 241 232 0 239 240 232 0 239 239 232 0 239 238 232 0 239 237 232 0 238 236 232 0 235 235 232 0 235 234 232 0 234 233 232 0 231 232 232 0 231 231 232 0 231 230 232 0 231 229 232 0 230 228 232 0 230 227 232 0 230 226 232 0 230 224 232 0 228 223 232 0 228 222 232 0 227 221 232 0 226 220 232 0 224 219 232 0 223 218 232 0 221 217 232 0 220 216 232 0 220 215 232 0 219 214 232 0 219 213 232 0 217 212 232 0 217 211 232 0 216 210 232 0 216 209 232 0 216 208 232 0 213 207 232 0 213 206 232 0 213 205 232 0 211 204 232 0 211 203 232 0 211 202 232 0 209 201 232 0 209 200 232 0 209 199 232 0 208 198 232 0 208 197 232 0 207 196 232 0 207 195 232 0 207 194 232 0 207 193 232 0 205 191 232 0 205 190 232 0 204 189 232 0 204 188 232 0 202 187 232 0 202 186 232 0 201 185 232 0 201 184 232 0 199 183 232 0 198 182 232 0 198 181 232 0 197 180 232 0 195 179 232 0 195 178 232 0 194 177 232 0 189 176 232 0 189 175 232 0 188 174 232 0 188 173 232 0 188 172 232 0 186 171 232 0 186 170 232 0 185 169 232 0 185 168 232 0 184 167 232 0 184 166 232 0 182 165 232 0 182 164 232 0 181 163 232 0 179 162 232 0 179 161 232 0 178 160 232 0 178 158 232 0 178 157 232 0 178 156 232 0 176 155 232 0 176 154 232 0 176 153 232 0 176 152 232 0 176 151 232 0 176 150 232 0 175 149 232 0 175 148 232 0 174 147 232 0 172 146 232 0 171 145 232 0 167 144 232 0 167 143 232 0 166 142 232 0 166 141 232 0 166 140 232 0 166 139 232 0 166 138 232 0 166 137 232 0 166 136 232 0 166 135 232 0 166 134 232 0 166 133 232 0 166 132 232 0 166 131 232 0 166 130 232 0 166 129 232 0 166 128 232 0 166 127 232 0 166 125 232 0 166 124 232 0 166 123 232 0 166 122 232 0 166 121 232 0 166 120 232 0 166 119 232 0 166 118 232 0 166 117 232 0 166 116 232 0 166 115 232 0 166 114 232 0 166 113 232 0 166 112 232 0 166 111 232 0 166 110 232 0 166 109 232 0 166 108 232 0 166 107 232 0 166 106 232 0 166 105 232 0 167 104 232 0 167 103 232 0 171 102 232 0 172 101 232 0 174 100 232 0 175 99 232 0 175 98 232 0 176 97 232 0 176 96 232 0 176 95 232 0 176 94 232 0 176 92 232 0 176 91 232 0 178 90 232 0 178 89 232 0 178 88 232 0 178 87 232 0 179 86 232 0 179 85 232 0 181 84 232 0 181 83 232 0 182 82 232 0 184 81 232 0 184 80 232 0 185 79 232 0 185 78 232 0 186 77 232 0 186 76 232 0 188 75 232 0 188 74 232 0 188 73 232 0 189 72 232 0 189 71 232 0 194 70 232 0 194 69 232 0 195 68 232 0 197 67 232 0 197 66 232 0 198 65 232 0 199 64 232 0 199 63 232 0 201 62 232 0 202 61 232 0 202 59 232 0 204 58 232 0 204 57 232 0 205 56 232 0 205 55 232 0 205 54 232 0 207 53 232 0 207 52 232 0 207 51 232 0 208 50 232 0 208 49 232 0 208 48 232 0 209 47 232 0 209 46 232 0 211 45 232 0 211 44 232 0 211 43 232 0 213 42 232 0 213 41 232 0 213 40 232 0 216 39 232 0 216 38 232 0 216 37 232 0 217 36 232 0 217 35 232 0 219 34 232 0 219 33 232 0 220 32 232 0 220 31 232 0 221 30 232 0 223 29 232 0 224 28 232 0 226 26 232 0 227 25 232 0 228 24 232 0 228 23 232 0 230 22 232 0 230 21 232 0 230 20 232 0 230 19 232 1 230 18 232 2 231 17 232 2 231 16 232 3 231 15 232 4 234 14 232 4 234 13 232 5 235 12 232 6 238 11 232 7 239 10 232 9 239 9 232 10 239 8 232 11 239 7 232 12 239 6 232 12 240 5 232 13 240 4 232 14 240 3 232 15 240 2 232 17 240 1 232 18 240 0 232 19 240 0 232 19 240 0 232 20 242 0 232 20 243 0 232 20 245 0 232 20 245 255 231 0 252 254 231 0 250 254 231 0 249 254 231 0 246 253 231 0 245 252 231 0 243 251 231 0 242 250 231 0 240 249 231 0 240 248 231 0 240 247 231 0 240 246 231 0 240 245 231 0 240 244 231 0 240 243 231 0 240 242 231 0 239 241 231 0 239 240 231 0 239 239 231 0 239 238 231 0 238 237 231 0 238 236 231 0 235 235 231 0 234 234 231 0 231 233 231 0 231 232 231 0 231 231 231 0 231 230 231 0 231 229 231 0 230 228 231 0 230 227 231 0 230 226 231 0 230 224 231 0 228 223 231 0 227 222 231 0 226 221 231 0 224 220 231 0 223 219 231 0 221 218 231 0 220 217 231 0 220 216 231 0 219 215 231 0 219 214 231 0 217 213 231 0 217 212 231 0 216 211 231 0 216 210 231 0 213 209 231 0 213 208 231 0 213 207 231 0 211 206 231 0 211 205 231 0 209 204 231 0 209 203 231 0 209 202 231 0 209 201 231 0 208 200 231 0 208 199 231 0 207 198 231 0 207 197 231 0 207 196 231 0 205 195 231 0 205 194 231 0 205 193 231 0 204 191 231 0 204 190 231 0 202 189 231 0 202 188 231 0 201 187 231 0 201 186 231 0 199 185 231 0 198 184 231 0 197 183 231 0 197 182 231 0 195 181 231 0 194 180 231 0 194 179 231 0 189 178 231 0 188 177 231 0 188 176 231 0 188 175 231 0 186 174 231 0 186 173 231 0 185 172 231 0 185 171 231 0 184 170 231 0 184 169 231 0 182 168 231 0 182 167 231 0 182 166 231 0 181 165 231 0 181 164 231 0 179 163 231 0 178 162 231 0 178 161 231 0 176 160 231 0 176 158 231 0 175 157 231 0 175 156 231 0 175 155 231 0 175 154 231 0 175 153 231 0 175 152 231 0 174 151 231 0 174 150 231 0 174 149 231 0 172 148 231 0 172 147 231 0 171 146 231 0 167 145 231 0 166 144 231 0 165 143 231 0 163 142 231 0 163 141 231 0 163 140 231 0 163 139 231 0 163 138 231 0 163 137 231 0 163 136 231 0 163 135 231 0 163 134 231 0 163 133 231 0 163 132 231 0 163 131 231 0 163 130 231 0 163 129 231 0 163 128 231 0 163 127 231 0 163 125 231 0 163 124 231 0 163 123 231 0 163 122 231 0 163 121 231 0 163 120 231 0 163 119 231 0 163 118 231 0 163 117 231 0 163 116 231 0 163 115 231 0 163 114 231 0 163 113 231 0 163 112 231 0 163 111 231 0 163 110 231 0 163 109 231 0 163 108 231 0 163 107 231 0 163 106 231 0 163 105 231 0 165 104 231 0 166 103 231 0 167 102 231 0 171 101 231 0 171 100 231 0 172 99 231 0 174 98 231 0 174 97 231 0 174 96 231 0 175 95 231 0 175 94 231 0 175 92 231 0 175 91 231 0 175 90 231 0 175 89 231 0 175 88 231 0 176 87 231 0 178 86 231 0 178 85 231 0 179 84 231 0 179 83 231 0 181 82 231 0 181 81 231 0 182 80 231 0 182 79 231 0 184 78 231 0 184 77 231 0 185 76 231 0 185 75 231 0 186 74 231 0 186 73 231 0 188 72 231 0 188 71 231 0 188 70 231 0 189 69 231 0 189 68 231 0 194 67 231 0 195 66 231 0 195 65 231 0 197 64 231 0 198 63 231 0 199 62 231 0 201 61 231 0 201 59 231 0 202 58 231 0 202 57 231 0 204 56 231 0 204 55 231 0 205 54 231 0 205 53 231 0 205 52 231 0 207 51 231 0 207 50 231 0 207 49 231 0 208 48 231 0 208 47 231 0 208 46 231 0 209 45 231 0 209 44 231 0 209 43 231 0 211 42 231 0 211 41 231 0 211 40 231 0 213 39 231 0 213 38 231 0 216 37 231 0 216 36 231 0 217 35 231 0 217 34 231 0 219 33 231 0 219 32 231 0 220 31 231 0 220 30 231 0 221 29 231 0 223 28 231 0 224 26 231 0 226 25 231 0 227 24 231 0 228 23 231 0 228 22 231 0 230 21 231 0 230 20 231 0 230 19 231 1 230 18 231 2 231 17 231 3 231 16 231 4 231 15 231 5 231 14 231 5 234 13 231 6 235 12 231 7 238 11 231 8 238 10 231 10 239 9 231 11 239 8 231 12 239 7 231 13 239 6 231 13 240 5 231 14 240 4 231 15 240 3 231 16 240 2 231 18 240 1 231 19 240 0 231 20 240 0 231 20 240 0 231 21 240 0 231 21 242 0 231 21 242 0 231 21 243 255 230 0 252 254 230 0 250 254 230 0 248 254 230 0 246 253 230 0 243 252 230 0 242 251 230 0 240 250 230 0 240 249 230 0 240 248 230 0 240 247 230 0 240 246 230 0 240 245 230 0 240 244 230 0 240 243 230 0 240 242 230 0 239 241 230 0 239 240 230 0 239 239 230 0 239 238 230 0 238 237 230 0 235 236 230 0 235 235 230 0 234 234 230 0 231 233 230 0 231 232 230 0 231 231 230 0 231 230 230 0 231 229 230 0 230 228 230 0 230 227 230 0 230 226 230 0 228 224 230 0 227 223 230 0 226 222 230 0 224 221 230 0 223 220 230 0 221 219 230 0 221 218 230 0 220 217 230 0 219 216 230 0 219 215 230 0 217 214 230 0 217 213 230 0 216 212 230 0 216 211 230 0 213 210 230 0 213 209 230 0 211 208 230 0 211 207 230 0 211 206 230 0 209 205 230 0 209 204 230 0 208 203 230 0 208 202 230 0 208 201 230 0 208 200 230 0 207 199 230 0 207 198 230 0 207 197 230 0 205 196 230 0 205 195 230 0 205 194 230 0 204 193 230 0 202 191 230 0 202 190 230 0 201 189 230 0 201 188 230 0 199 187 230 0 199 186 230 0 198 185 230 0 197 184 230 0 195 183 230 0 194 182 230 0 189 181 230 0 189 180 230 0 188 179 230 0 188 178 230 0 186 177 230 0 186 176 230 0 186 175 230 0 185 174 230 0 185 173 230 0 185 172 230 0 184 171 230 0 182 170 230 0 182 169 230 0 181 168 230 0 181 167 230 0 179 166 230 0 179 165 230 0 179 164 230 0 178 163 230 0 176 162 230 0 176 161 230 0 175 160 230 0 174 158 230 0 174 157 230 0 172 156 230 0 172 155 230 0 172 154 230 0 172 153 230 0 172 152 230 0 172 151 230 0 172 150 230 0 171 149 230 0 171 148 230 0 167 147 230 0 166 146 230 0 165 145 230 0 163 144 230 0 163 143 230 0 162 142 230 0 160 141 230 0 160 140 230 0 160 139 230 0 160 138 230 0 160 137 230 0 160 136 230 0 160 135 230 0 160 134 230 0 160 133 230 0 160 132 230 0 160 131 230 0 160 130 230 0 160 129 230 0 160 128 230 0 160 127 230 0 160 125 230 0 160 124 230 0 160 123 230 0 160 122 230 0 160 121 230 0 160 120 230 0 160 119 230 0 160 118 230 0 160 117 230 0 160 116 230 0 160 115 230 0 160 114 230 0 160 113 230 0 160 112 230 0 160 111 230 0 160 110 230 0 160 109 230 0 160 108 230 0 160 107 230 0 160 106 230 0 162 105 230 0 162 104 230 0 163 103 230 0 165 102 230 0 166 101 230 0 167 100 230 0 171 99 230 0 171 98 230 0 172 97 230 0 172 96 230 0 172 95 230 0 172 94 230 0 172 92 230 0 172 91 230 0 172 90 230 0 174 89 230 0 174 88 230 0 175 87 230 0 176 86 230 0 176 85 230 0 178 84 230 0 178 83 230 0 179 82 230 0 179 81 230 0 181 80 230 0 181 79 230 0 182 78 230 0 182 77 230 0 184 76 230 0 185 75 230 0 185 74 230 0 185 73 230 0 186 72 230 0 186 71 230 0 186 70 230 0 188 69 230 0 188 68 230 0 188 67 230 0 189 66 230 0 194 65 230 0 195 64 230 0 197 63 230 0 198 62 230 0 199 61 230 0 199 59 230 0 201 58 230 0 201 57 230 0 202 56 230 0 202 55 230 0 204 54 230 0 204 53 230 0 205 52 230 0 205 51 230 0 205 50 230 0 207 49 230 0 207 48 230 0 208 47 230 0 208 46 230 0 208 45 230 0 208 44 230 0 209 43 230 0 209 42 230 0 211 41 230 0 211 40 230 0 211 39 230 0 211 38 230 0 213 37 230 0 213 36 230 0 216 35 230 0 217 34 230 0 217 33 230 0 219 32 230 0 219 31 230 0 220 30 230 0 220 29 230 0 221 28 230 0 223 26 230 0 224 25 230 0 226 24 230 0 227 23 230 0 228 22 230 0 228 21 230 0 230 20 230 1 230 19 230 2 230 18 230 3 231 17 230 4 231 16 230 5 231 15 230 6 231 14 230 6 234 13 230 7 235 12 230 8 235 11 230 9 238 10 230 10 239 9 230 12 239 8 230 13 239 7 230 14 239 6 230 14 240 5 230 15 240 4 230 16 240 3 230 17 240 2 230 18 240 1 230 20 240 0 230 20 240 0 230 21 240 0 230 22 240 0 230 22 240 0 230 22 240 0 230 22 242 255 229 0 250 254 229 0 249 254 229 0 248 254 229 0 245 253 229 0 243 252 229 0 242 251 229 0 240 250 229 0 240 249 229 0 240 248 229 0 240 247 229 0 240 246 229 0 240 245 229 0 239 244 229 0 239 243 229 0 239 242 229 0 239 241 229 0 239 240 229 0 239 239 229 0 238 238 229 0 235 237 229 0 235 236 229 0 234 235 229 0 231 234 229 0 231 233 229 0 231 232 229 0 230 231 229 0 230 230 229 0 230 229 229 0 230 228 229 0 230 227 229 0 228 226 229 0 227 224 229 0 226 223 229 0 224 222 229 0 223 221 229 0 221 220 229 0 221 219 229 0 220 218 229 0 219 217 229 0 219 216 229 0 217 215 229 0 217 214 229 0 216 213 229 0 216 212 229 0 213 211 229 0 211 210 229 0 211 209 229 0 211 208 229 0 209 207 229 0 209 206 229 0 208 205 229 0 208 204 229 0 208 203 229 0 207 202 229 0 207 201 229 0 207 200 229 0 205 199 229 0 205 198 229 0 205 197 229 0 205 196 229 0 204 195 229 0 204 194 229 0 202 193 229 0 201 191 229 0 201 190 229 0 199 189 229 0 198 188 229 0 198 187 229 0 197 186 229 0 195 185 229 0 194 184 229 0 194 183 229 0 189 182 229 0 188 181 229 0 186 180 229 0 186 179 229 0 185 178 229 0 185 177 229 0 185 176 229 0 184 175 229 0 184 174 229 0 184 173 229 0 184 172 229 0 182 171 229 0 181 170 229 0 181 169 229 0 179 168 229 0 179 167 229 0 178 166 229 0 178 165 229 0 176 164 229 0 176 163 229 0 175 162 229 0 175 161 229 0 174 160 229 0 172 158 229 0 171 157 229 0 167 156 229 0 167 155 229 0 167 154 229 0 167 153 229 0 167 152 229 0 166 151 229 0 166 150 229 0 166 149 229 0 166 148 229 0 165 147 229 0 165 146 229 0 163 145 229 0 162 144 229 0 160 143 229 0 160 142 229 0 159 141 229 0 159 140 229 0 157 139 229 0 157 138 229 0 157 137 229 0 157 136 229 0 157 135 229 0 157 134 229 0 157 133 229 0 157 132 229 0 157 131 229 0 157 130 229 0 157 129 229 0 157 128 229 0 157 127 229 0 157 125 229 0 157 124 229 0 157 123 229 0 157 122 229 0 157 121 229 0 157 120 229 0 157 119 229 0 157 118 229 0 157 117 229 0 157 116 229 0 157 115 229 0 157 114 229 0 157 113 229 0 157 112 229 0 157 111 229 0 157 110 229 0 157 109 229 0 157 108 229 0 159 107 229 0 159 106 229 0 159 105 229 0 160 104 229 0 162 103 229 0 163 102 229 0 165 101 229 0 165 100 229 0 166 99 229 0 166 98 229 0 166 97 229 0 166 96 229 0 167 95 229 0 167 94 229 0 167 92 229 0 167 91 229 0 167 90 229 0 171 89 229 0 172 88 229 0 174 87 229 0 174 86 229 0 175 85 229 0 176 84 229 0 176 83 229 0 178 82 229 0 178 81 229 0 178 80 229 0 179 79 229 0 181 78 229 0 181 77 229 0 182 76 229 0 184 75 229 0 184 74 229 0 184 73 229 0 184 72 229 0 185 71 229 0 185 70 229 0 185 69 229 0 186 68 229 0 186 67 229 0 188 66 229 0 189 65 229 0 189 64 229 0 194 63 229 0 195 62 229 0 197 61 229 0 198 59 229 0 198 58 229 0 199 57 229 0 201 56 229 0 201 55 229 0 202 54 229 0 204 53 229 0 204 52 229 0 204 51 229 0 205 50 229 0 205 49 229 0 205 48 229 0 207 47 229 0 207 46 229 0 207 45 229 0 208 44 229 0 208 43 229 0 208 42 229 0 209 41 229 0 209 40 229 0 211 39 229 0 211 38 229 0 211 37 229 0 213 36 229 0 213 35 229 0 216 34 229 0 217 33 229 0 217 32 229 0 219 31 229 0 219 30 229 0 220 29 229 0 220 28 229 0 221 26 229 0 223 25 229 0 224 24 229 0 226 23 229 0 227 22 229 0 228 21 229 1 228 20 229 1 230 19 229 2 230 18 229 3 230 17 229 4 230 16 229 5 231 15 229 6 231 14 229 7 231 13 229 8 234 12 229 9 235 11 229 10 235 10 229 11 238 9 229 12 239 8 229 13 239 7 229 14 239 6 229 15 239 5 229 16 239 4 229 17 239 3 229 18 239 2 229 19 240 1 229 20 240 0 229 21 240 0 229 22 240 0 229 22 240 0 229 23 240 0 229 23 240 0 229 23 240 255 228 0 249 254 228 0 248 254 228 0 246 254 228 0 245 253 228 0 242 252 228 0 240 251 228 0 240 250 228 0 240 249 228 0 240 248 228 0 240 247 228 0 240 246 228 0 240 245 228 0 239 244 228 0 239 243 228 0 239 242 228 0 239 241 228 0 238 240 228 0 238 239 228 0 235 238 228 0 235 237 228 0 234 236 228 0 234 235 228 0 231 234 228 0 231 233 228 0 230 232 228 0 230 231 228 0 230 230 228 0 230 229 228 0 228 228 228 0 228 227 228 0 227 226 228 0 226 224 228 0 224 223 228 0 223 222 228 0 221 221 228 0 221 220 228 0 220 219 228 0 219 218 228 0 219 217 228 0 217 216 228 0 217 215 228 0 216 214 228 0 216 213 228 0 213 212 228 0 211 211 228 0 211 210 228 0 211 209 228 0 209 208 228 0 209 207 228 0 208 206 228 0 208 205 228 0 207 204 228 0 207 203 228 0 207 202 228 0 205 201 228 0 205 200 228 0 205 199 228 0 204 198 228 0 204 197 228 0 204 196 228 0 202 195 228 0 202 194 228 0 201 193 228 0 199 191 228 0 198 190 228 0 197 189 228 0 197 188 228 0 195 187 228 0 194 186 228 0 194 185 228 0 189 184 228 0 188 183 228 0 186 182 228 0 186 181 228 0 185 180 228 0 184 179 228 0 184 178 228 0 184 177 228 0 182 176 228 0 182 175 228 0 182 174 228 0 182 173 228 0 182 172 228 0 181 171 228 0 179 170 228 0 179 169 228 0 178 168 228 0 176 167 228 0 175 166 228 0 175 165 228 0 175 164 228 0 174 163 228 0 174 162 228 0 172 161 228 0 171 160 228 0 167 158 228 0 166 157 228 0 165 156 228 0 165 155 228 0 163 154 228 0 163 153 228 0 163 152 228 0 163 151 228 0 163 150 228 0 163 149 228 0 163 148 228 0 163 147 228 0 162 146 228 0 160 145 228 0 160 144 228 0 159 143 228 0 157 142 228 0 157 141 228 0 156 140 228 0 156 139 228 0 156 138 228 0 156 137 228 0 156 136 228 0 156 135 228 0 156 134 228 0 156 133 228 0 156 132 228 0 156 131 228 0 156 130 228 0 156 129 228 0 156 128 228 0 156 127 228 0 156 125 228 0 156 124 228 0 156 123 228 0 156 122 228 0 156 121 228 0 156 120 228 0 156 119 228 0 156 118 228 0 156 117 228 0 156 116 228 0 156 115 228 0 156 114 228 0 156 113 228 0 156 112 228 0 156 111 228 0 156 110 228 0 156 109 228 0 156 108 228 0 156 107 228 0 157 106 228 0 157 105 228 0 159 104 228 0 160 103 228 0 160 102 228 0 162 101 228 0 162 100 228 0 163 99 228 0 163 98 228 0 163 97 228 0 163 96 228 0 163 95 228 0 163 94 228 0 163 92 228 0 165 91 228 0 165 90 228 0 166 89 228 0 167 88 228 0 171 87 228 0 172 86 228 0 174 85 228 0 174 84 228 0 175 83 228 0 175 82 228 0 175 81 228 0 176 80 228 0 178 79 228 0 178 78 228 0 179 77 228 0 181 76 228 0 182 75 228 0 182 74 228 0 182 73 228 0 182 72 228 0 182 71 228 0 182 70 228 0 184 69 228 0 184 68 228 0 185 67 228 0 185 66 228 0 186 65 228 0 188 64 228 0 189 63 228 0 194 62 228 0 194 61 228 0 195 59 228 0 197 58 228 0 197 57 228 0 198 56 228 0 199 55 228 0 201 54 228 0 201 53 228 0 202 52 228 0 202 51 228 0 204 50 228 0 204 49 228 0 205 48 228 0 205 47 228 0 205 46 228 0 207 45 228 0 207 44 228 0 207 43 228 0 208 42 228 0 208 41 228 0 209 40 228 0 209 39 228 0 209 38 228 0 211 37 228 0 211 36 228 0 213 35 228 0 213 34 228 0 216 33 228 0 217 32 228 0 217 31 228 0 219 30 228 0 219 29 228 0 220 28 228 0 220 26 228 0 221 25 228 0 223 24 228 0 224 23 228 0 226 22 228 1 227 21 228 1 228 20 228 2 228 19 228 3 228 18 228 4 230 17 228 5 230 16 228 6 230 15 228 7 230 14 228 8 231 13 228 9 234 12 228 10 234 11 228 11 235 10 228 12 235 9 228 13 238 8 228 14 238 7 228 15 239 6 228 16 239 5 228 17 239 4 228 18 239 3 228 19 239 2 228 20 240 1 228 21 240 0 228 22 240 0 228 23 240 0 228 23 240 0 228 24 240 0 228 24 240 0 228 24 240 255 227 0 248 254 227 0 246 254 227 0 245 254 227 0 243 253 227 0 242 252 227 0 240 251 227 0 240 250 227 0 240 249 227 0 240 248 227 0 240 247 227 0 240 246 227 0 240 245 227 0 239 244 227 0 239 243 227 0 239 242 227 0 239 241 227 0 238 240 227 0 238 239 227 0 235 238 227 0 234 237 227 0 234 236 227 0 231 235 227 0 231 234 227 0 230 233 227 0 230 232 227 0 228 231 227 0 228 230 227 0 228 229 227 0 227 228 227 0 227 227 227 0 226 226 227 0 224 224 227 0 223 223 227 0 221 222 227 0 221 221 227 0 220 220 227 0 219 219 227 0 219 218 227 0 217 217 227 0 217 216 227 0 216 215 227 0 216 214 227 0 213 213 227 0 211 212 227 0 211 211 227 0 211 210 227 0 209 209 227 0 209 208 227 0 208 207 227 0 208 206 227 0 207 205 227 0 207 204 227 0 205 203 227 0 205 202 227 0 205 201 227 0 204 200 227 0 204 199 227 0 202 198 227 0 202 197 227 0 202 196 227 0 201 195 227 0 199 194 227 0 199 193 227 0 198 191 227 0 197 190 227 0 195 189 227 0 194 188 227 0 189 187 227 0 189 186 227 0 188 185 227 0 188 184 227 0 186 183 227 0 185 182 227 0 185 181 227 0 184 180 227 0 182 179 227 0 182 178 227 0 181 177 227 0 181 176 227 0 181 175 227 0 181 174 227 0 181 173 227 0 181 172 227 0 179 171 227 0 178 170 227 0 176 169 227 0 175 168 227 0 174 167 227 0 174 166 227 0 172 165 227 0 172 164 227 0 172 163 227 0 171 162 227 0 171 161 227 0 167 160 227 0 166 158 227 0 165 157 227 0 163 156 227 0 162 155 227 0 162 154 227 0 160 153 227 0 160 152 227 0 160 151 227 0 160 150 227 0 160 149 227 0 160 148 227 0 160 147 227 0 160 146 227 0 159 145 227 0 159 144 227 0 157 143 227 0 156 142 227 0 156 141 227 0 155 140 227 0 155 139 227 0 155 138 227 0 155 137 227 0 155 136 227 0 155 135 227 0 155 134 227 0 155 133 227 0 155 132 227 0 155 131 227 0 155 130 227 0 155 129 227 0 155 128 227 0 155 127 227 0 155 125 227 0 155 124 227 0 155 123 227 0 155 122 227 0 155 121 227 0 155 120 227 0 155 119 227 0 155 118 227 0 155 117 227 0 155 116 227 0 155 115 227 0 155 114 227 0 155 113 227 0 155 112 227 0 155 111 227 0 155 110 227 0 155 109 227 0 155 108 227 0 155 107 227 0 156 106 227 0 156 105 227 0 157 104 227 0 159 103 227 0 159 102 227 0 160 101 227 0 160 100 227 0 160 99 227 0 160 98 227 0 160 97 227 0 160 96 227 0 160 95 227 0 160 94 227 0 160 92 227 0 162 91 227 0 163 90 227 0 163 89 227 0 166 88 227 0 167 87 227 0 167 86 227 0 171 85 227 0 172 84 227 0 172 83 227 0 172 82 227 0 174 81 227 0 174 80 227 0 175 79 227 0 176 78 227 0 178 77 227 0 179 76 227 0 179 75 227 0 181 74 227 0 181 73 227 0 181 72 227 0 181 71 227 0 181 70 227 0 182 69 227 0 182 68 227 0 184 67 227 0 184 66 227 0 185 65 227 0 186 64 227 0 188 63 227 0 188 62 227 0 189 61 227 0 189 59 227 0 194 58 227 0 195 57 227 0 197 56 227 0 198 55 227 0 199 54 227 0 199 53 227 0 201 52 227 0 201 51 227 0 202 50 227 0 202 49 227 0 204 48 227 0 204 47 227 0 205 46 227 0 205 45 227 0 205 44 227 0 207 43 227 0 207 42 227 0 208 41 227 0 208 40 227 0 209 39 227 0 209 38 227 0 209 37 227 0 211 36 227 0 211 35 227 0 213 34 227 0 213 33 227 0 216 32 227 0 217 31 227 0 217 30 227 0 219 29 227 0 219 28 227 0 220 26 227 0 221 25 227 0 221 24 227 0 223 23 227 1 224 22 227 1 226 21 227 2 227 20 227 3 227 19 227 4 228 18 227 5 228 17 227 6 228 16 227 7 230 15 227 8 230 14 227 9 231 13 227 10 231 12 227 11 234 11 227 12 234 10 227 13 235 9 227 14 238 8 227 15 238 7 227 16 239 6 227 17 239 5 227 18 239 4 227 19 239 3 227 20 239 2 227 21 240 1 227 22 240 0 227 23 240 0 227 24 240 0 227 25 240 0 227 25 240 0 227 25 240 0 227 25 240 255 226 0 246 254 226 0 245 254 226 0 243 254 226 0 242 253 226 0 242 252 226 0 240 251 226 0 240 250 226 0 240 249 226 0 239 248 226 0 239 247 226 0 239 246 226 0 239 245 226 0 239 244 226 0 239 243 226 0 239 242 226 0 238 241 226 0 235 240 226 0 235 239 226 0 234 238 226 0 234 237 226 0 231 236 226 0 231 235 226 0 230 234 226 0 230 233 226 0 228 232 226 0 228 231 226 0 227 230 226 0 226 229 226 0 226 228 226 0 224 227 226 0 224 226 226 0 223 224 226 0 221 223 226 0 221 222 226 0 220 221 226 0 219 220 226 0 219 219 226 0 217 218 226 0 217 217 226 0 216 216 226 0 216 215 226 0 213 214 226 0 211 213 226 0 211 212 226 0 209 211 226 0 209 210 226 0 209 209 226 0 208 208 226 0 208 207 226 0 207 206 226 0 207 205 226 0 205 204 226 0 205 203 226 0 205 202 226 0 204 201 226 0 204 200 226 0 202 199 226 0 201 198 226 0 201 197 226 0 199 196 226 0 199 195 226 0 198 194 226 0 197 193 226 0 197 191 226 0 195 190 226 0 194 189 226 0 189 188 226 0 188 187 226 0 186 186 226 0 186 185 226 0 185 184 226 0 185 183 226 0 184 182 226 0 184 181 226 0 182 180 226 0 181 179 226 0 181 178 226 0 179 177 226 0 179 176 226 0 179 175 226 0 178 174 226 0 178 173 226 0 178 172 226 0 178 171 226 0 176 170 226 0 175 169 226 0 174 168 226 0 172 167 226 0 171 166 226 0 167 165 226 0 167 164 226 0 167 163 226 0 166 162 226 0 166 161 226 0 165 160 226 0 163 158 226 0 162 157 226 0 160 156 226 0 159 155 226 0 159 154 226 0 159 153 226 0 159 152 226 0 159 151 226 0 159 150 226 0 159 149 226 0 157 148 226 0 157 147 226 0 157 146 226 0 157 145 226 0 157 144 226 0 156 143 226 0 155 142 226 0 155 141 226 0 153 140 226 0 153 139 226 0 153 138 226 0 152 137 226 0 152 136 226 0 152 135 226 0 152 134 226 0 152 133 226 0 152 132 226 0 152 131 226 0 152 130 226 0 152 129 226 0 152 128 226 0 152 127 226 0 152 125 226 0 152 124 226 0 152 123 226 0 152 122 226 0 152 121 226 0 152 120 226 0 152 119 226 0 152 118 226 0 152 117 226 0 152 116 226 0 152 115 226 0 152 114 226 0 152 113 226 0 152 112 226 0 152 111 226 0 152 110 226 0 152 109 226 0 153 108 226 0 153 107 226 0 155 106 226 0 155 105 226 0 156 104 226 0 156 103 226 0 157 102 226 0 157 101 226 0 157 100 226 0 157 99 226 0 157 98 226 0 159 97 226 0 159 96 226 0 159 95 226 0 159 94 226 0 159 92 226 0 159 91 226 0 160 90 226 0 162 89 226 0 163 88 226 0 165 87 226 0 166 86 226 0 166 85 226 0 167 84 226 0 167 83 226 0 167 82 226 0 171 81 226 0 171 80 226 0 172 79 226 0 175 78 226 0 176 77 226 0 176 76 226 0 178 75 226 0 178 74 226 0 178 73 226 0 179 72 226 0 179 71 226 0 179 70 226 0 181 69 226 0 181 68 226 0 182 67 226 0 184 66 226 0 184 65 226 0 185 64 226 0 185 63 226 0 186 62 226 0 186 61 226 0 188 59 226 0 189 58 226 0 189 57 226 0 194 56 226 0 195 55 226 0 197 54 226 0 198 53 226 0 198 52 226 0 199 51 226 0 201 50 226 0 201 49 226 0 202 48 226 0 204 47 226 0 204 46 226 0 205 45 226 0 205 44 226 0 205 43 226 0 207 42 226 0 207 41 226 0 208 40 226 0 208 39 226 0 209 38 226 0 209 37 226 0 209 36 226 0 211 35 226 0 211 34 226 0 213 33 226 0 213 32 226 0 216 31 226 0 217 30 226 0 217 29 226 0 219 28 226 0 219 26 226 0 220 25 226 1 221 24 226 1 221 23 226 2 223 22 226 2 224 21 226 3 224 20 226 4 226 19 226 5 226 18 226 6 227 17 226 7 227 16 226 8 228 15 226 9 230 14 226 10 230 13 226 11 231 12 226 12 231 11 226 13 234 10 226 14 234 9 226 15 235 8 226 16 235 7 226 17 238 6 226 18 239 5 226 19 239 4 226 20 239 3 226 21 239 2 226 22 239 1 226 24 239 0 226 25 239 0 226 25 240 0 226 26 240 0 226 26 240 0 226 26 240 0 226 26 240 255 224 0 243 254 224 0 243 254 224 0 242 254 224 0 242 253 224 0 240 252 224 0 240 251 224 0 240 250 224 0 240 249 224 0 239 248 224 0 239 247 224 0 239 246 224 0 239 245 224 0 239 244 224 0 238 243 224 0 238 242 224 0 235 241 224 0 235 240 224 0 234 239 224 0 234 238 224 0 231 237 224 0 231 236 224 0 231 235 224 0 230 234 224 0 228 233 224 0 228 232 224 0 227 231 224 0 226 230 224 0 224 229 224 0 224 228 224 0 223 227 224 0 223 226 224 0 221 224 224 0 220 223 224 0 220 222 224 0 219 221 224 0 219 220 224 0 217 219 224 0 217 218 224 0 216 217 224 0 216 216 224 0 213 215 224 0 211 214 224 0 211 213 224 0 209 212 224 0 209 211 224 0 209 210 224 0 208 209 224 0 208 208 224 0 207 207 224 0 207 206 224 0 205 205 224 0 205 204 224 0 204 203 224 0 204 202 224 0 202 201 224 0 202 200 224 0 201 199 224 0 199 198 224 0 198 197 224 0 197 196 224 0 197 195 224 0 195 194 224 0 195 193 224 0 194 191 224 0 189 190 224 0 188 189 224 0 186 188 224 0 186 187 224 0 185 186 224 0 184 185 224 0 184 184 224 0 184 183 224 0 182 182 224 0 182 181 224 0 181 180 224 0 179 179 224 0 179 178 224 0 178 177 224 0 178 176 224 0 176 175 224 0 176 174 224 0 176 173 224 0 175 172 224 0 175 171 224 0 174 170 224 0 172 169 224 0 171 168 224 0 167 167 224 0 166 166 224 0 165 165 224 0 165 164 224 0 163 163 224 0 163 162 224 0 163 161 224 0 162 160 224 0 160 158 224 0 159 157 224 0 159 156 224 0 157 155 224 0 156 154 224 0 156 153 224 0 156 152 224 0 156 151 224 0 156 150 224 0 156 149 224 0 156 148 224 0 156 147 224 0 156 146 224 0 156 145 224 0 155 144 224 0 155 143 224 0 153 142 224 0 153 141 224 0 152 140 224 0 150 139 224 0 150 138 224 0 150 137 224 0 149 136 224 0 149 135 224 0 149 134 224 0 149 133 224 0 149 132 224 0 149 131 224 0 149 130 224 0 149 129 224 0 149 128 224 0 149 127 224 0 149 125 224 0 149 124 224 0 149 123 224 0 149 122 224 0 149 121 224 0 149 120 224 0 149 119 224 0 149 118 224 0 149 117 224 0 149 116 224 0 149 115 224 0 149 114 224 0 149 113 224 0 149 112 224 0 149 111 224 0 150 110 224 0 150 109 224 0 150 108 224 0 152 107 224 0 152 106 224 0 153 105 224 0 155 104 224 0 155 103 224 0 156 102 224 0 156 101 224 0 156 100 224 0 156 99 224 0 156 98 224 0 156 97 224 0 156 96 224 0 156 95 224 0 156 94 224 0 156 92 224 0 157 91 224 0 157 90 224 0 159 89 224 0 160 88 224 0 162 87 224 0 163 86 224 0 163 85 224 0 163 84 224 0 165 83 224 0 165 82 224 0 166 81 224 0 166 80 224 0 167 79 224 0 172 78 224 0 174 77 224 0 175 76 224 0 175 75 224 0 176 74 224 0 176 73 224 0 176 72 224 0 176 71 224 0 178 70 224 0 178 69 224 0 179 68 224 0 181 67 224 0 181 66 224 0 182 65 224 0 182 64 224 0 184 63 224 0 184 62 224 0 185 61 224 0 185 59 224 0 186 58 224 0 188 57 224 0 189 56 224 0 194 55 224 0 195 54 224 0 195 53 224 0 197 52 224 0 197 51 224 0 198 50 224 0 199 49 224 0 201 48 224 0 202 47 224 0 202 46 224 0 204 45 224 0 204 44 224 0 205 43 224 0 205 42 224 0 207 41 224 0 207 40 224 0 208 39 224 0 208 38 224 0 208 37 224 0 209 36 224 0 209 35 224 0 211 34 224 0 211 33 224 0 213 32 224 0 213 31 224 0 216 30 224 0 217 29 224 0 217 28 224 0 219 26 224 1 219 25 224 2 220 24 224 2 220 23 224 3 221 22 224 3 223 21 224 4 223 20 224 5 224 19 224 6 224 18 224 7 226 17 224 9 227 16 224 10 227 15 224 10 228 14 224 11 230 13 224 12 230 12 224 13 231 11 224 14 231 10 224 15 234 9 224 17 234 8 224 18 235 7 224 18 235 6 224 19 238 5 224 20 238 4 224 21 239 3 224 22 239 2 224 24 239 1 224 25 239 0 224 26 239 0 224 27 240 0 224 27 240 0 224 27 240 0 224 28 240 0 224 28 240 255 223 0 242 254 223 0 242 254 223 0 242 254 223 0 240 253 223 0 240 252 223 0 240 251 223 0 240 250 223 0 240 249 223 0 239 248 223 0 239 247 223 0 239 246 223 0 239 245 223 0 239 244 223 0 238 243 223 0 238 242 223 0 235 241 223 0 234 240 223 0 234 239 223 0 231 238 223 0 231 237 223 0 231 236 223 0 230 235 223 0 230 234 223 0 228 233 223 0 227 232 223 0 226 231 223 0 224 230 223 0 223 229 223 0 221 228 223 0 221 227 223 0 221 226 223 0 220 224 223 0 220 223 223 0 219 222 223 0 219 221 223 0 217 220 223 0 217 219 223 0 216 218 223 0 213 217 223 0 213 216 223 0 211 215 223 0 211 214 223 0 209 213 223 0 209 212 223 0 209 211 223 0 208 210 223 0 208 209 223 0 207 208 223 0 207 207 223 0 205 206 223 0 205 205 223 0 204 204 223 0 204 203 223 0 202 202 223 0 202 201 223 0 201 200 223 0 199 199 223 0 198 198 223 0 197 197 223 0 195 196 223 0 195 195 223 0 194 194 223 0 189 193 223 0 189 191 223 0 188 190 223 0 186 189 223 0 185 188 223 0 185 187 223 0 184 186 223 0 182 185 223 0 182 184 223 0 181 183 223 0 181 182 223 0 179 181 223 0 179 180 223 0 178 179 223 0 178 178 223 0 176 177 223 0 175 176 223 0 175 175 223 0 174 174 223 0 174 173 223 0 172 172 223 0 172 171 223 0 171 170 223 0 167 169 223 0 166 168 223 0 165 167 223 0 163 166 223 0 162 165 223 0 162 164 223 0 162 163 223 0 160 162 223 0 160 161 223 0 160 160 223 0 159 158 223 0 157 157 223 0 156 156 223 0 156 155 223 0 155 154 223 0 155 153 223 0 155 152 223 0 155 151 223 0 155 150 223 0 155 149 223 0 155 148 223 0 155 147 223 0 155 146 223 0 155 145 223 0 153 144 223 0 153 143 223 0 152 142 223 0 150 141 223 0 150 140 223 0 149 139 223 0 145 138 223 0 145 137 223 0 145 136 223 0 144 135 223 0 144 134 223 0 144 133 223 0 144 132 223 0 144 131 223 0 144 130 223 0 144 129 223 0 144 128 223 0 144 127 223 0 144 125 223 0 144 124 223 0 144 123 223 0 144 122 223 0 144 121 223 0 144 120 223 0 144 119 223 0 144 118 223 0 144 117 223 0 144 116 223 0 144 115 223 0 144 114 223 0 144 113 223 0 144 112 223 0 145 111 223 0 145 110 223 0 145 109 223 0 149 108 223 0 150 107 223 0 150 106 223 0 152 105 223 0 153 104 223 0 153 103 223 0 155 102 223 0 155 101 223 0 155 100 223 0 155 99 223 0 155 98 223 0 155 97 223 0 155 96 223 0 155 95 223 0 155 94 223 0 155 92 223 0 156 91 223 0 156 90 223 0 157 89 223 0 159 88 223 0 159 87 223 0 160 86 223 0 160 85 223 0 162 84 223 0 162 83 223 0 162 82 223 0 163 81 223 0 165 80 223 0 166 79 223 0 167 78 223 0 171 77 223 0 172 76 223 0 172 75 223 0 174 74 223 0 174 73 223 0 175 72 223 0 175 71 223 0 176 70 223 0 178 69 223 0 178 68 223 0 179 67 223 0 179 66 223 0 181 65 223 0 181 64 223 0 182 63 223 0 182 62 223 0 184 61 223 0 184 59 223 0 185 58 223 0 186 57 223 0 188 56 223 0 189 55 223 0 189 54 223 0 194 53 223 0 194 52 223 0 195 51 223 0 197 50 223 0 198 49 223 0 199 48 223 0 201 47 223 0 202 46 223 0 202 45 223 0 204 44 223 0 204 43 223 0 205 42 223 0 205 41 223 0 207 40 223 0 207 39 223 0 208 38 223 0 208 37 223 0 208 36 223 0 209 35 223 0 209 34 223 0 211 33 223 0 211 32 223 0 213 31 223 0 213 30 223 0 216 29 223 0 217 28 223 1 217 26 223 2 219 25 223 2 219 24 223 3 220 23 223 4 220 22 223 4 221 21 223 5 221 20 223 6 221 19 223 7 223 18 223 9 224 17 223 10 226 16 223 11 227 15 223 12 228 14 223 12 230 13 223 13 230 12 223 14 231 11 223 15 231 10 223 17 231 9 223 18 234 8 223 19 234 7 223 20 235 6 223 20 235 5 223 21 238 4 223 22 238 3 223 24 239 2 223 25 239 1 223 26 239 0 223 27 239 0 223 28 240 0 223 29 240 0 223 29 240 0 223 29 240 0 223 29 240 255 222 0 240 254 222 0 240 254 222 0 240 254 222 0 240 253 222 0 240 252 222 0 240 251 222 0 239 250 222 0 239 249 222 0 239 248 222 0 239 247 222 0 239 246 222 0 239 245 222 0 238 244 222 0 235 243 222 0 235 242 222 0 234 241 222 0 234 240 222 0 231 239 222 0 231 238 222 0 231 237 222 0 230 236 222 0 230 235 222 0 230 234 222 0 228 233 222 0 227 232 222 0 224 231 222 0 223 230 222 0 221 229 222 0 221 228 222 0 220 227 222 0 220 226 222 0 220 224 222 0 219 223 222 0 219 222 222 0 217 221 222 0 217 220 222 0 216 219 222 0 213 218 222 0 213 217 222 0 211 216 222 0 211 215 222 0 209 214 222 0 209 213 222 0 209 212 222 0 208 211 222 0 208 210 222 0 207 209 222 0 207 208 222 0 205 207 222 0 205 206 222 0 204 205 222 0 204 204 222 0 202 203 222 0 202 202 222 0 201 201 222 0 199 200 222 0 198 199 222 0 197 198 222 0 195 197 222 0 194 196 222 0 189 195 222 0 189 194 222 0 188 193 222 0 188 191 222 0 186 190 222 0 185 189 222 0 185 188 222 0 184 187 222 0 182 186 222 0 181 185 222 0 181 184 222 0 179 183 222 0 179 182 222 0 178 181 222 0 178 180 222 0 176 179 222 0 176 178 222 0 175 177 222 0 174 176 222 0 172 175 222 0 172 174 222 0 171 173 222 0 167 172 222 0 167 171 222 0 166 170 222 0 165 169 222 0 163 168 222 0 162 167 222 0 160 166 222 0 160 165 222 0 159 164 222 0 159 163 222 0 159 162 222 0 159 161 222 0 157 160 222 0 157 158 222 0 156 157 222 0 155 156 222 0 155 155 222 0 153 154 222 0 153 153 222 0 153 152 222 0 152 151 222 0 152 150 222 0 152 149 222 0 152 148 222 0 152 147 222 0 152 146 222 0 152 145 222 0 152 144 222 0 152 143 222 0 150 142 222 0 149 141 222 0 145 140 222 0 145 139 222 0 144 138 222 0 143 137 222 0 143 136 222 0 141 135 222 0 141 134 222 0 141 133 222 0 141 132 222 0 141 131 222 0 141 130 222 0 141 129 222 0 141 128 222 0 141 127 222 0 141 125 222 0 141 124 222 0 141 123 222 0 141 122 222 0 141 121 222 0 141 120 222 0 141 119 222 0 141 118 222 0 141 117 222 0 141 116 222 0 141 115 222 0 141 114 222 0 141 113 222 0 141 112 222 0 141 111 222 0 143 110 222 0 143 109 222 0 144 108 222 0 145 107 222 0 149 106 222 0 150 105 222 0 150 104 222 0 152 103 222 0 152 102 222 0 152 101 222 0 152 100 222 0 152 99 222 0 152 98 222 0 152 97 222 0 152 96 222 0 153 95 222 0 153 94 222 0 153 92 222 0 155 91 222 0 155 90 222 0 156 89 222 0 156 88 222 0 157 87 222 0 157 86 222 0 159 85 222 0 159 84 222 0 159 83 222 0 160 82 222 0 160 81 222 0 162 80 222 0 163 79 222 0 165 78 222 0 166 77 222 0 167 76 222 0 167 75 222 0 171 74 222 0 171 73 222 0 172 72 222 0 174 71 222 0 175 70 222 0 175 69 222 0 176 68 222 0 178 67 222 0 178 66 222 0 179 65 222 0 179 64 222 0 179 63 222 0 181 62 222 0 182 61 222 0 182 59 222 0 184 58 222 0 185 57 222 0 186 56 222 0 188 55 222 0 188 54 222 0 189 53 222 0 189 52 222 0 194 51 222 0 194 50 222 0 195 49 222 0 197 48 222 0 199 47 222 0 201 46 222 0 202 45 222 0 202 44 222 0 204 43 222 0 204 42 222 0 205 41 222 0 205 40 222 0 207 39 222 0 207 38 222 0 208 37 222 0 208 36 222 0 209 35 222 0 209 34 222 0 209 33 222 0 211 32 222 0 211 31 222 0 213 30 222 0 213 29 222 0 216 28 222 1 217 26 222 2 217 25 222 3 219 24 222 4 219 23 222 5 220 22 222 5 220 21 222 6 220 20 222 7 221 19 222 8 221 18 222 10 223 17 222 11 224 16 222 12 227 15 222 13 228 14 222 13 230 13 222 14 230 12 222 15 230 11 222 16 231 10 222 18 231 9 222 19 231 8 222 20 234 7 222 21 234 6 222 21 235 5 222 22 235 4 222 23 238 3 222 25 238 2 222 26 239 1 222 27 239 0 222 28 239 0 222 29 239 0 222 30 239 0 222 30 239 0 222 30 240 0 222 30 240 255 221 0 240 254 221 0 240 254 221 0 240 254 221 0 240 253 221 0 240 252 221 0 239 251 221 0 239 250 221 0 239 249 221 0 239 248 221 0 239 247 221 0 238 246 221 0 238 245 221 0 235 244 221 0 235 243 221 0 234 242 221 0 234 241 221 0 231 240 221 0 231 239 221 0 231 238 221 0 230 237 221 0 230 236 221 0 230 235 221 0 228 234 221 0 227 233 221 0 226 232 221 0 224 231 221 0 223 230 221 0 221 229 221 0 220 228 221 0 220 227 221 0 219 226 221 0 219 224 221 0 219 223 221 0 217 222 221 0 217 221 221 0 216 220 221 0 213 219 221 0 213 218 221 0 211 217 221 0 211 216 221 0 209 215 221 0 209 214 221 0 208 213 221 0 208 212 221 0 208 211 221 0 207 210 221 0 205 209 221 0 205 208 221 0 204 207 221 0 204 206 221 0 204 205 221 0 202 204 221 0 201 203 221 0 201 202 221 0 198 201 221 0 197 200 221 0 195 199 221 0 194 198 221 0 189 197 221 0 189 196 221 0 188 195 221 0 188 194 221 0 186 193 221 0 186 191 221 0 185 190 221 0 184 189 221 0 182 188 221 0 182 187 221 0 181 186 221 0 179 185 221 0 178 184 221 0 178 183 221 0 176 182 221 0 176 181 221 0 175 180 221 0 175 179 221 0 174 178 221 0 174 177 221 0 172 176 221 0 171 175 221 0 167 174 221 0 166 173 221 0 165 172 221 0 165 171 221 0 163 170 221 0 162 169 221 0 162 168 221 0 160 167 221 0 159 166 221 0 157 165 221 0 157 164 221 0 157 163 221 0 156 162 221 0 156 161 221 0 156 160 221 0 155 158 221 0 155 157 221 0 153 156 221 0 152 155 221 0 152 154 221 0 150 153 221 0 150 152 221 0 150 151 221 0 150 150 221 0 149 149 221 0 149 148 221 0 149 147 221 0 149 146 221 0 149 145 221 0 149 144 221 0 149 143 221 0 145 142 221 0 144 141 221 0 144 140 221 0 143 139 221 0 141 138 221 0 140 137 221 0 138 136 221 0 138 135 221 0 138 134 221 0 138 133 221 0 138 132 221 0 138 131 221 0 138 130 221 0 138 129 221 0 138 128 221 0 138 127 221 0 138 125 221 0 138 124 221 0 138 123 221 0 138 122 221 0 138 121 221 0 138 120 221 0 138 119 221 0 138 118 221 0 138 117 221 0 138 116 221 0 138 115 221 0 138 114 221 0 138 113 221 0 138 112 221 0 138 111 221 0 140 110 221 0 140 109 221 0 141 108 221 0 143 107 221 0 144 106 221 0 145 105 221 0 149 104 221 0 149 103 221 0 149 102 221 0 149 101 221 0 149 100 221 0 149 99 221 0 149 98 221 0 150 97 221 0 150 96 221 0 150 95 221 0 150 94 221 0 150 92 221 0 152 91 221 0 153 90 221 0 153 89 221 0 155 88 221 0 156 87 221 0 156 86 221 0 156 85 221 0 157 84 221 0 157 83 221 0 157 82 221 0 159 81 221 0 160 80 221 0 160 79 221 0 162 78 221 0 163 77 221 0 165 76 221 0 165 75 221 0 166 74 221 0 166 73 221 0 167 72 221 0 171 71 221 0 172 70 221 0 174 69 221 0 175 68 221 0 175 67 221 0 176 66 221 0 176 65 221 0 176 64 221 0 178 63 221 0 179 62 221 0 179 61 221 0 181 59 221 0 182 58 221 0 184 57 221 0 185 56 221 0 185 55 221 0 186 54 221 0 188 53 221 0 188 52 221 0 189 51 221 0 189 50 221 0 194 49 221 0 195 48 221 0 197 47 221 0 198 46 221 0 199 45 221 0 201 44 221 0 202 43 221 0 202 42 221 0 204 41 221 0 204 40 221 0 205 39 221 0 205 38 221 0 207 37 221 0 207 36 221 0 208 35 221 0 208 34 221 0 209 33 221 0 209 32 221 0 209 31 221 0 211 30 221 0 213 29 221 1 213 28 221 2 216 26 221 3 217 25 221 4 217 24 221 5 219 23 221 6 219 22 221 6 219 21 221 7 219 20 221 8 220 19 221 9 221 18 221 10 221 17 221 12 224 16 221 13 226 15 221 14 227 14 221 14 228 13 221 15 230 12 221 16 230 11 221 17 230 10 221 18 231 9 221 20 231 8 221 21 231 7 221 22 234 6 221 22 234 5 221 23 235 4 221 24 235 3 221 26 238 2 221 27 238 1 221 28 239 0 221 29 239 0 221 30 239 0 221 31 239 0 221 31 239 0 221 31 240 0 221 31 240 255 220 0 240 254 220 0 240 254 220 0 240 254 220 0 240 253 220 0 240 252 220 0 239 251 220 0 239 250 220 0 239 249 220 0 239 248 220 0 238 247 220 0 238 246 220 0 235 245 220 0 235 244 220 0 234 243 220 0 234 242 220 0 231 241 220 0 231 240 220 0 231 239 220 0 230 238 220 0 230 237 220 0 230 236 220 0 230 235 220 0 228 234 220 0 227 233 220 0 226 232 220 0 223 231 220 0 221 230 220 0 220 229 220 0 220 228 220 0 219 227 220 0 219 226 220 0 219 224 220 0 217 223 220 0 217 222 220 0 216 221 220 0 213 220 220 0 213 219 220 0 211 218 220 0 209 217 220 0 209 216 220 0 209 215 220 0 208 214 220 0 208 213 220 0 208 212 220 0 207 211 220 0 205 210 220 0 205 209 220 0 204 208 220 0 202 207 220 0 202 206 220 0 202 205 220 0 201 204 220 0 199 203 220 0 198 202 220 0 197 201 220 0 195 200 220 0 194 199 220 0 189 198 220 0 188 197 220 0 188 196 220 0 186 195 220 0 186 194 220 0 185 193 220 0 185 191 220 0 184 190 220 0 182 189 220 0 181 188 220 0 181 187 220 0 179 186 220 0 178 185 220 0 176 184 220 0 175 183 220 0 174 182 220 0 174 181 220 0 174 180 220 0 172 179 220 0 172 178 220 0 171 177 220 0 167 176 220 0 166 175 220 0 165 174 220 0 163 173 220 0 162 172 220 0 162 171 220 0 160 170 220 0 160 169 220 0 159 168 220 0 159 167 220 0 157 166 220 0 156 165 220 0 156 164 220 0 155 163 220 0 155 162 220 0 155 161 220 0 153 160 220 0 153 158 220 0 152 157 220 0 150 156 220 0 150 155 220 0 149 154 220 0 145 153 220 0 145 152 220 0 145 151 220 0 145 150 220 0 144 149 220 0 144 148 220 0 144 147 220 0 144 146 220 0 144 145 220 0 143 144 220 0 143 143 220 0 143 142 220 0 141 141 220 0 141 140 220 0 140 139 220 0 138 138 220 0 137 137 220 0 135 136 220 0 135 135 220 0 134 134 220 0 134 133 220 0 134 132 220 0 134 131 220 0 134 130 220 0 134 129 220 0 134 128 220 0 134 127 220 0 134 125 220 0 134 124 220 0 134 123 220 0 134 122 220 0 134 121 220 0 134 120 220 0 134 119 220 0 134 118 220 0 134 117 220 0 134 116 220 0 134 115 220 0 134 114 220 0 134 113 220 0 135 112 220 0 135 111 220 0 135 110 220 0 137 109 220 0 138 108 220 0 140 107 220 0 141 106 220 0 143 105 220 0 143 104 220 0 143 103 220 0 144 102 220 0 144 101 220 0 144 100 220 0 144 99 220 0 144 98 220 0 145 97 220 0 145 96 220 0 145 95 220 0 145 94 220 0 149 92 220 0 149 91 220 0 150 90 220 0 152 89 220 0 153 88 220 0 153 87 220 0 153 86 220 0 155 85 220 0 155 84 220 0 156 83 220 0 156 82 220 0 157 81 220 0 159 80 220 0 159 79 220 0 160 78 220 0 160 77 220 0 162 76 220 0 162 75 220 0 163 74 220 0 165 73 220 0 166 72 220 0 167 71 220 0 171 70 220 0 172 69 220 0 172 68 220 0 174 67 220 0 174 66 220 0 174 65 220 0 175 64 220 0 176 63 220 0 176 62 220 0 178 61 220 0 179 59 220 0 181 58 220 0 182 57 220 0 184 56 220 0 184 55 220 0 185 54 220 0 186 53 220 0 186 52 220 0 186 51 220 0 188 50 220 0 188 49 220 0 189 48 220 0 194 47 220 0 197 46 220 0 198 45 220 0 199 44 220 0 201 43 220 0 201 42 220 0 202 41 220 0 202 40 220 0 204 39 220 0 205 38 220 0 205 37 220 0 207 36 220 0 207 35 220 0 208 34 220 0 208 33 220 0 208 32 220 0 209 31 220 0 209 30 220 1 211 29 220 1 213 28 220 2 213 26 220 3 216 25 220 4 217 24 220 5 217 23 220 6 219 22 220 7 219 21 220 8 219 20 220 9 220 19 220 10 220 18 220 11 221 17 220 12 223 16 220 13 226 15 220 14 227 14 220 15 228 13 220 16 230 12 220 17 230 11 220 18 230 10 220 19 230 9 220 20 231 8 220 21 231 7 220 22 231 6 220 23 234 5 220 24 234 4 220 25 235 3 220 27 235 2 220 28 238 1 220 29 238 0 220 30 239 0 220 31 239 0 220 31 239 0 220 32 239 0 220 32 240 0 220 32 240 255 219 0 240 254 219 0 240 254 219 0 240 254 219 0 240 253 219 0 240 252 219 0 239 251 219 0 239 250 219 0 239 249 219 0 239 248 219 0 238 247 219 0 235 246 219 0 235 245 219 0 234 244 219 0 234 243 219 0 231 242 219 0 231 241 219 0 231 240 219 0 230 239 219 0 230 238 219 0 230 237 219 0 230 236 219 0 228 235 219 0 227 234 219 0 226 233 219 0 224 232 219 0 223 231 219 0 221 230 219 0 220 229 219 0 220 228 219 0 219 227 219 0 219 226 219 0 217 224 219 0 217 223 219 0 216 222 219 0 213 221 219 0 213 220 219 0 211 219 219 0 209 218 219 0 209 217 219 0 208 216 219 0 208 215 219 0 208 214 219 0 207 213 219 0 207 212 219 0 205 211 219 0 205 210 219 0 204 209 219 0 202 208 219 0 201 207 219 0 201 206 219 0 199 205 219 0 199 204 219 0 198 203 219 0 197 202 219 0 194 201 219 0 189 200 219 0 188 199 219 0 186 198 219 0 186 197 219 0 186 196 219 0 185 195 219 0 185 194 219 0 184 193 219 0 184 191 219 0 182 190 219 0 181 189 219 0 179 188 219 0 178 187 219 0 176 186 219 0 175 185 219 0 174 184 219 0 172 183 219 0 172 182 219 0 171 181 219 0 171 180 219 0 171 179 219 0 167 178 219 0 167 177 219 0 166 176 219 0 165 175 219 0 162 174 219 0 160 173 219 0 160 172 219 0 159 171 219 0 159 170 219 0 159 169 219 0 157 168 219 0 157 167 219 0 156 166 219 0 155 165 219 0 155 164 219 0 153 163 219 0 153 162 219 0 152 161 219 0 152 160 219 0 150 158 219 0 149 157 219 0 145 156 219 0 145 155 219 0 144 154 219 0 143 153 219 0 143 152 219 0 143 151 219 0 141 150 219 0 141 149 219 0 141 148 219 0 140 147 219 0 140 146 219 0 140 145 219 0 140 144 219 0 140 143 219 0 138 142 219 0 138 141 219 0 137 140 219 0 137 139 219 0 135 138 219 0 134 137 219 0 133 136 219 0 133 135 219 0 133 134 219 0 133 133 219 0 133 132 219 0 133 131 219 0 133 130 219 0 133 129 219 0 133 128 219 0 133 127 219 0 133 125 219 0 133 124 219 0 133 123 219 0 133 122 219 0 133 121 219 0 133 120 219 0 133 119 219 0 133 118 219 0 133 117 219 0 133 116 219 0 133 115 219 0 133 114 219 0 133 113 219 0 133 112 219 0 133 111 219 0 134 110 219 0 134 109 219 0 135 108 219 0 137 107 219 0 138 106 219 0 138 105 219 0 140 104 219 0 140 103 219 0 140 102 219 0 140 101 219 0 140 100 219 0 141 99 219 0 141 98 219 0 141 97 219 0 143 96 219 0 143 95 219 0 143 94 219 0 144 92 219 0 144 91 219 0 145 90 219 0 149 89 219 0 150 88 219 0 152 87 219 0 152 86 219 0 153 85 219 0 153 84 219 0 155 83 219 0 155 82 219 0 156 81 219 0 157 80 219 0 157 79 219 0 159 78 219 0 159 77 219 0 159 76 219 0 160 75 219 0 160 74 219 0 162 73 219 0 163 72 219 0 165 71 219 0 166 70 219 0 167 69 219 0 167 68 219 0 171 67 219 0 171 66 219 0 171 65 219 0 172 64 219 0 174 63 219 0 175 62 219 0 176 61 219 0 178 59 219 0 179 58 219 0 181 57 219 0 182 56 219 0 182 55 219 0 184 54 219 0 185 53 219 0 185 52 219 0 186 51 219 0 186 50 219 0 186 49 219 0 188 48 219 0 189 47 219 0 194 46 219 0 197 45 219 0 198 44 219 0 198 43 219 0 199 42 219 0 201 41 219 0 201 40 219 0 202 39 219 0 204 38 219 0 204 37 219 0 205 36 219 0 207 35 219 0 207 34 219 0 208 33 219 0 208 32 219 0 208 31 219 1 209 30 219 1 209 29 219 2 211 28 219 3 213 26 219 4 213 25 219 5 216 24 219 6 217 23 219 7 217 22 219 8 219 21 219 9 219 20 219 10 219 19 219 11 220 18 219 12 221 17 219 13 223 16 219 14 224 15 219 15 226 14 219 16 227 13 219 17 228 12 219 18 230 11 219 19 230 10 219 20 230 9 219 21 230 8 219 22 231 7 219 23 231 6 219 24 231 5 219 25 234 4 219 26 234 3 219 28 235 2 219 29 235 1 219 30 238 0 219 31 239 0 219 32 239 0 219 32 239 0 219 33 239 0 219 33 240 0 219 33 240 255 218 0 240 254 218 0 240 254 218 0 240 254 218 0 240 253 218 0 240 252 218 0 239 251 218 0 239 250 218 0 239 249 218 0 238 248 218 0 238 247 218 0 235 246 218 0 234 245 218 0 234 244 218 0 231 243 218 0 231 242 218 0 231 241 218 0 230 240 218 0 230 239 218 0 230 238 218 0 228 237 218 0 228 236 218 0 227 235 218 0 226 234 218 0 224 233 218 0 223 232 218 0 221 231 218 0 220 230 218 0 220 229 218 0 219 228 218 0 219 227 218 0 217 226 218 0 217 224 218 0 216 223 218 0 213 222 218 0 213 221 218 0 211 220 218 0 209 219 218 0 209 218 218 0 208 217 218 0 207 216 218 0 207 215 218 0 207 214 218 0 207 213 218 0 205 212 218 0 205 211 218 0 204 210 218 0 202 209 218 0 201 208 218 0 199 207 218 0 198 206 218 0 198 205 218 0 197 204 218 0 195 203 218 0 194 202 218 0 189 201 218 0 188 200 218 0 186 199 218 0 185 198 218 0 185 197 218 0 185 196 218 0 184 195 218 0 184 194 218 0 182 193 218 0 181 191 218 0 179 190 218 0 179 189 218 0 178 188 218 0 176 187 218 0 175 186 218 0 174 185 218 0 172 184 218 0 167 183 218 0 167 182 218 0 166 181 218 0 165 180 218 0 165 179 218 0 165 178 218 0 165 177 218 0 163 176 218 0 162 175 218 0 160 174 218 0 159 173 218 0 157 172 218 0 157 171 218 0 157 170 218 0 156 169 218 0 156 168 218 0 155 167 218 0 155 166 218 0 153 165 218 0 152 164 218 0 152 163 218 0 150 162 218 0 149 161 218 0 149 160 218 0 145 158 218 0 144 157 218 0 143 156 218 0 141 155 218 0 140 154 218 0 140 153 218 0 140 152 218 0 138 151 218 0 138 150 218 0 137 149 218 0 137 148 218 0 137 147 218 0 135 146 218 0 135 145 218 0 135 144 218 0 135 143 218 0 134 142 218 0 134 141 218 0 134 140 218 0 133 139 218 0 131 138 218 0 131 137 218 0 130 136 218 0 130 135 218 0 130 134 218 0 130 133 218 0 130 132 218 0 130 131 218 0 130 130 218 0 130 129 218 0 130 128 218 0 130 127 218 0 130 125 218 0 130 124 218 0 130 123 218 0 130 122 218 0 130 121 218 0 130 120 218 0 130 119 218 0 130 118 218 0 130 117 218 0 130 116 218 0 130 115 218 0 130 114 218 0 130 113 218 0 130 112 218 0 130 111 218 0 130 110 218 0 131 109 218 0 133 108 218 0 133 107 218 0 134 106 218 0 134 105 218 0 135 104 218 0 135 103 218 0 135 102 218 0 135 101 218 0 135 100 218 0 137 99 218 0 137 98 218 0 138 97 218 0 138 96 218 0 138 95 218 0 140 94 218 0 140 92 218 0 141 91 218 0 143 90 218 0 144 89 218 0 145 88 218 0 149 87 218 0 149 86 218 0 150 85 218 0 152 84 218 0 152 83 218 0 153 82 218 0 155 81 218 0 155 80 218 0 156 79 218 0 156 78 218 0 157 77 218 0 157 76 218 0 157 75 218 0 159 74 218 0 160 73 218 0 162 72 218 0 163 71 218 0 163 70 218 0 165 69 218 0 165 68 218 0 165 67 218 0 166 66 218 0 166 65 218 0 167 64 218 0 171 63 218 0 172 62 218 0 175 61 218 0 176 59 218 0 178 58 218 0 178 57 218 0 179 56 218 0 181 55 218 0 182 54 218 0 184 53 218 0 184 52 218 0 184 51 218 0 185 50 218 0 185 49 218 0 186 48 218 0 186 47 218 0 188 46 218 0 194 45 218 0 195 44 218 0 197 43 218 0 197 42 218 0 198 41 218 0 199 40 218 0 201 39 218 0 202 38 218 0 204 37 218 0 204 36 218 0 205 35 218 0 205 34 218 0 207 33 218 0 207 32 218 1 207 31 218 1 208 30 218 2 208 29 218 3 209 28 218 4 211 26 218 5 213 25 218 6 213 24 218 7 216 23 218 8 216 22 218 9 217 21 218 10 217 20 218 11 219 19 218 12 220 18 218 13 220 17 218 14 221 16 218 15 223 15 218 16 224 14 218 17 226 13 218 18 227 12 218 19 228 11 218 20 228 10 218 21 230 9 218 22 230 8 218 23 230 7 218 24 231 6 218 25 231 5 218 26 231 4 218 27 234 3 218 29 234 2 218 30 235 1 218 31 235 0 218 32 238 0 218 33 239 0 218 33 239 0 218 33 239 0 218 34 240 0 218 34 240 255 217 0 240 254 217 0 240 254 217 0 240 254 217 0 240 253 217 0 240 252 217 0 239 251 217 0 239 250 217 0 239 249 217 0 238 248 217 0 235 247 217 0 234 246 217 0 234 245 217 0 231 244 217 0 231 243 217 0 231 242 217 0 230 241 217 0 230 240 217 0 230 239 217 0 230 238 217 0 228 237 217 0 227 236 217 0 226 235 217 0 224 234 217 0 223 233 217 0 221 232 217 0 220 231 217 0 220 230 217 0 219 229 217 0 219 228 217 0 217 227 217 0 217 226 217 0 216 224 217 0 213 223 217 0 213 222 217 0 211 221 217 0 209 220 217 0 208 219 217 0 208 218 217 0 207 217 217 0 207 216 217 0 205 215 217 0 205 214 217 0 205 213 217 0 204 212 217 0 204 211 217 0 202 210 217 0 201 209 217 0 199 208 217 0 198 207 217 0 197 206 217 0 195 205 217 0 194 204 217 0 189 203 217 0 188 202 217 0 186 201 217 0 185 200 217 0 184 199 217 0 184 198 217 0 184 197 217 0 182 196 217 0 182 195 217 0 182 194 217 0 181 193 217 0 179 191 217 0 178 190 217 0 176 189 217 0 175 188 217 0 174 187 217 0 172 186 217 0 171 185 217 0 167 184 217 0 166 183 217 0 165 182 217 0 163 181 217 0 162 180 217 0 162 179 217 0 162 178 217 0 162 177 217 0 160 176 217 0 159 175 217 0 159 174 217 0 157 173 217 0 156 172 217 0 156 171 217 0 155 170 217 0 155 169 217 0 155 168 217 0 153 167 217 0 153 166 217 0 152 165 217 0 150 164 217 0 149 163 217 0 145 162 217 0 144 161 217 0 144 160 217 0 143 158 217 0 141 157 217 0 140 156 217 0 138 155 217 0 137 154 217 0 137 153 217 0 135 152 217 0 135 151 217 0 135 150 217 0 134 149 217 0 134 148 217 0 133 147 217 0 131 146 217 0 131 145 217 0 131 144 217 0 131 143 217 0 130 142 217 0 130 141 217 0 130 140 217 0 130 139 217 0 128 138 217 0 128 137 217 0 126 136 217 0 126 135 217 0 126 134 217 0 126 133 217 0 126 132 217 0 126 131 217 0 126 130 217 0 126 129 217 0 126 128 217 0 126 127 217 0 126 125 217 0 126 124 217 0 126 123 217 0 126 122 217 0 126 121 217 0 126 120 217 0 126 119 217 0 126 118 217 0 126 117 217 0 126 116 217 0 126 115 217 0 126 114 217 0 126 113 217 0 126 112 217 0 126 111 217 0 128 110 217 0 128 109 217 0 128 108 217 0 130 107 217 0 130 106 217 0 130 105 217 0 131 104 217 0 131 103 217 0 131 102 217 0 131 101 217 0 133 100 217 0 133 99 217 0 134 98 217 0 134 97 217 0 135 96 217 0 135 95 217 0 137 94 217 0 137 92 217 0 138 91 217 0 140 90 217 0 141 89 217 0 143 88 217 0 144 87 217 0 144 86 217 0 145 85 217 0 149 84 217 0 149 83 217 0 150 82 217 0 152 81 217 0 153 80 217 0 155 79 217 0 155 78 217 0 155 77 217 0 156 76 217 0 156 75 217 0 157 74 217 0 157 73 217 0 159 72 217 0 160 71 217 0 162 70 217 0 162 69 217 0 162 68 217 0 162 67 217 0 163 66 217 0 163 65 217 0 165 64 217 0 166 63 217 0 171 62 217 0 172 61 217 0 174 59 217 0 175 58 217 0 176 57 217 0 178 56 217 0 179 55 217 0 181 54 217 0 181 53 217 0 182 52 217 0 182 51 217 0 184 50 217 0 184 49 217 0 184 48 217 0 185 47 217 0 186 46 217 0 188 45 217 0 189 44 217 0 194 43 217 0 195 42 217 0 197 41 217 0 197 40 217 0 198 39 217 0 199 38 217 0 201 37 217 0 202 36 217 0 204 35 217 0 205 34 217 1 205 33 217 1 205 32 217 2 207 31 217 2 207 30 217 3 208 29 217 4 208 28 217 5 209 26 217 6 211 25 217 7 213 24 217 8 213 23 217 9 216 22 217 10 217 21 217 11 217 20 217 12 219 19 217 13 219 18 217 14 220 17 217 15 220 16 217 16 221 15 217 17 223 14 217 18 224 13 217 19 226 12 217 20 227 11 217 21 228 10 217 22 230 9 217 24 230 8 217 25 230 7 217 26 230 6 217 27 231 5 217 28 231 4 217 29 231 3 217 30 234 2 217 31 234 1 217 32 235 0 217 33 238 0 217 34 239 0 217 34 239 0 217 35 239 0 217 35 240 0 217 35 240 255 216 0 240 254 216 0 240 254 216 0 240 254 216 0 240 253 216 0 240 252 216 0 239 251 216 0 239 250 216 0 238 249 216 0 238 248 216 0 235 247 216 0 234 246 216 0 231 245 216 0 231 244 216 0 231 243 216 0 231 242 216 0 230 241 216 0 230 240 216 0 230 239 216 0 228 238 216 0 227 237 216 0 226 236 216 0 224 235 216 0 223 234 216 0 221 233 216 0 221 232 216 0 220 231 216 0 219 230 216 0 219 229 216 0 217 228 216 0 217 227 216 0 216 226 216 0 216 224 216 0 213 223 216 0 211 222 216 0 209 221 216 0 208 220 216 0 208 219 216 0 207 218 216 0 207 217 216 0 205 216 216 0 205 215 216 0 205 214 216 0 204 213 216 0 204 212 216 0 202 211 216 0 201 210 216 0 199 209 216 0 198 208 216 0 195 207 216 0 194 206 216 0 189 205 216 0 188 204 216 0 188 203 216 0 186 202 216 0 185 201 216 0 184 200 216 0 184 199 216 0 182 198 216 0 182 197 216 0 181 196 216 0 181 195 216 0 181 194 216 0 179 193 216 0 178 191 216 0 176 190 216 0 175 189 216 0 174 188 216 0 172 187 216 0 171 186 216 0 167 185 216 0 165 184 216 0 163 183 216 0 162 182 216 0 160 181 216 0 160 180 216 0 160 179 216 0 159 178 216 0 159 177 216 0 159 176 216 0 157 175 216 0 157 174 216 0 156 173 216 0 155 172 216 0 155 171 216 0 153 170 216 0 153 169 216 0 153 168 216 0 152 167 216 0 150 166 216 0 149 165 216 0 145 164 216 0 144 163 216 0 143 162 216 0 143 161 216 0 141 160 216 0 140 158 216 0 138 157 216 0 137 156 216 0 135 155 216 0 134 154 216 0 134 153 216 0 133 152 216 0 133 151 216 0 133 150 216 0 131 149 216 0 131 148 216 0 130 147 216 0 128 146 216 0 128 145 216 0 128 144 216 0 126 143 216 0 126 142 216 0 126 141 216 0 126 140 216 0 122 139 216 0 122 138 216 0 122 137 216 0 122 136 216 0 122 135 216 0 122 134 216 0 122 133 216 0 122 132 216 0 122 131 216 0 122 130 216 0 122 129 216 0 122 128 216 0 122 127 216 0 122 125 216 0 122 124 216 0 122 123 216 0 122 122 216 0 122 121 216 0 122 120 216 0 122 119 216 0 122 118 216 0 122 117 216 0 122 116 216 0 122 115 216 0 122 114 216 0 122 113 216 0 122 112 216 0 122 111 216 0 122 110 216 0 122 109 216 0 122 108 216 0 126 107 216 0 126 106 216 0 126 105 216 0 126 104 216 0 126 103 216 0 128 102 216 0 128 101 216 0 130 100 216 0 130 99 216 0 131 98 216 0 131 97 216 0 133 96 216 0 133 95 216 0 134 94 216 0 134 92 216 0 135 91 216 0 137 90 216 0 138 89 216 0 140 88 216 0 141 87 216 0 141 86 216 0 143 85 216 0 144 84 216 0 145 83 216 0 149 82 216 0 150 81 216 0 152 80 216 0 152 79 216 0 153 78 216 0 153 77 216 0 155 76 216 0 155 75 216 0 156 74 216 0 156 73 216 0 157 72 216 0 159 71 216 0 159 70 216 0 159 69 216 0 160 68 216 0 160 67 216 0 160 66 216 0 162 65 216 0 163 64 216 0 165 63 216 0 166 62 216 0 167 61 216 0 172 59 216 0 174 58 216 0 175 57 216 0 176 56 216 0 178 55 216 0 179 54 216 0 179 53 216 0 181 52 216 0 181 51 216 0 182 50 216 0 182 49 216 0 182 48 216 0 184 47 216 0 185 46 216 0 186 45 216 0 186 44 216 0 188 43 216 0 189 42 216 0 194 41 216 0 195 40 216 0 197 39 216 0 198 38 216 0 199 37 216 0 201 36 216 0 202 35 216 1 204 34 216 2 204 33 216 2 205 32 216 3 205 31 216 3 207 30 216 4 207 29 216 5 208 28 216 6 208 26 216 7 209 25 216 9 211 24 216 10 213 23 216 10 213 22 216 11 216 21 216 12 217 20 216 13 217 19 216 14 219 18 216 15 219 17 216 17 220 16 216 18 220 15 216 18 221 14 216 19 223 13 216 20 224 12 216 21 226 11 216 22 227 10 216 24 228 9 216 25 230 8 216 26 230 7 216 27 230 6 216 28 231 5 216 29 231 4 216 30 231 3 216 31 231 2 216 32 234 1 216 34 235 0 216 34 238 0 216 35 238 0 216 36 239 0 216 36 239 0 216 36 240 0 216 36 240 255 215 0 240 254 215 0 240 254 215 0 240 254 215 0 240 253 215 0 240 252 215 0 239 251 215 0 239 250 215 0 238 249 215 0 238 248 215 0 235 247 215 0 234 246 215 0 231 245 215 0 231 244 215 0 231 243 215 0 231 242 215 0 230 241 215 0 230 240 215 0 228 239 215 0 227 238 215 0 226 237 215 0 224 236 215 0 223 235 215 0 221 234 215 0 220 233 215 0 220 232 215 0 219 231 215 0 219 230 215 0 217 229 215 0 217 228 215 0 216 227 215 0 216 226 215 0 213 224 215 0 211 223 215 0 209 222 215 0 209 221 215 0 208 220 215 0 207 219 215 0 207 218 215 0 205 217 215 0 205 216 215 0 204 215 215 0 204 214 215 0 202 213 215 0 202 212 215 0 201 211 215 0 199 210 215 0 198 209 215 0 195 208 215 0 194 207 215 0 189 206 215 0 188 205 215 0 186 204 215 0 185 203 215 0 185 202 215 0 184 201 215 0 182 200 215 0 182 199 215 0 181 198 215 0 181 197 215 0 181 196 215 0 179 195 215 0 178 194 215 0 178 193 215 0 176 191 215 0 175 190 215 0 174 189 215 0 172 188 215 0 167 187 215 0 166 186 215 0 165 185 215 0 163 184 215 0 162 183 215 0 160 182 215 0 159 181 215 0 157 180 215 0 157 179 215 0 157 178 215 0 157 177 215 0 156 176 215 0 156 175 215 0 155 174 215 0 155 173 215 0 153 172 215 0 153 171 215 0 152 170 215 0 152 169 215 0 150 168 215 0 149 167 215 0 145 166 215 0 144 165 215 0 143 164 215 0 141 163 215 0 140 162 215 0 138 161 215 0 138 160 215 0 137 158 215 0 135 157 215 0 134 156 215 0 133 155 215 0 131 154 215 0 131 153 215 0 130 152 215 0 130 151 215 0 130 150 215 0 128 149 215 0 128 148 215 0 126 147 215 0 126 146 215 0 122 145 215 0 122 144 215 0 121 143 215 0 121 142 215 0 121 141 215 0 121 140 215 0 120 139 215 0 120 138 215 0 120 137 215 0 120 136 215 0 120 135 215 0 120 134 215 0 120 133 215 0 120 132 215 0 120 131 215 0 120 130 215 0 120 129 215 0 120 128 215 0 120 127 215 0 120 125 215 0 120 124 215 0 120 123 215 0 120 122 215 0 120 121 215 0 120 120 215 0 120 119 215 0 120 118 215 0 120 117 215 0 120 116 215 0 120 115 215 0 120 114 215 0 120 113 215 0 120 112 215 0 120 111 215 0 120 110 215 0 120 109 215 0 120 108 215 0 120 107 215 0 121 106 215 0 121 105 215 0 121 104 215 0 122 103 215 0 122 102 215 0 126 101 215 0 126 100 215 0 128 99 215 0 128 98 215 0 130 97 215 0 130 96 215 0 130 95 215 0 131 94 215 0 131 92 215 0 133 91 215 0 134 90 215 0 135 89 215 0 137 88 215 0 138 87 215 0 138 86 215 0 140 85 215 0 141 84 215 0 143 83 215 0 144 82 215 0 145 81 215 0 149 80 215 0 150 79 215 0 152 78 215 0 152 77 215 0 153 76 215 0 153 75 215 0 155 74 215 0 155 73 215 0 156 72 215 0 156 71 215 0 157 70 215 0 157 69 215 0 157 68 215 0 157 67 215 0 159 66 215 0 160 65 215 0 160 64 215 0 162 63 215 0 165 62 215 0 166 61 215 0 167 59 215 0 171 58 215 0 174 57 215 0 175 56 215 0 176 55 215 0 178 54 215 0 178 53 215 0 179 52 215 0 179 51 215 0 181 50 215 0 181 49 215 0 182 48 215 0 182 47 215 0 184 46 215 0 184 45 215 0 185 44 215 0 186 43 215 0 188 42 215 0 189 41 215 0 194 40 215 0 195 39 215 0 197 38 215 0 198 37 215 0 199 36 215 1 201 35 215 2 202 34 215 2 204 33 215 3 204 32 215 4 205 31 215 4 205 30 215 5 207 29 215 6 207 28 215 7 208 26 215 9 209 25 215 10 209 24 215 11 211 23 215 12 213 22 215 12 213 21 215 13 216 20 215 14 217 19 215 15 217 18 215 17 219 17 215 18 219 16 215 19 220 15 215 20 220 14 215 20 221 13 215 21 223 12 215 22 224 11 215 24 226 10 215 25 227 9 215 26 228 8 215 27 230 7 215 28 230 6 215 29 231 5 215 30 231 4 215 31 231 3 215 32 231 2 215 34 234 1 215 35 235 0 215 36 238 0 215 36 238 0 215 37 239 0 215 37 239 0 215 37 240 0 215 37 240 255 214 0 240 254 214 0 240 254 214 0 240 254 214 0 240 253 214 0 240 252 214 0 239 251 214 0 239 250 214 0 238 249 214 0 238 248 214 0 235 247 214 0 234 246 214 0 231 245 214 0 231 244 214 0 231 243 214 0 231 242 214 0 230 241 214 0 230 240 214 0 228 239 214 0 227 238 214 0 226 237 214 0 224 236 214 0 221 235 214 0 221 234 214 0 220 233 214 0 219 232 214 0 219 231 214 0 217 230 214 0 217 229 214 0 216 228 214 0 216 227 214 0 213 226 214 0 211 224 214 0 211 223 214 0 209 222 214 0 208 221 214 0 207 220 214 0 207 219 214 0 205 218 214 0 205 217 214 0 204 216 214 0 204 215 214 0 202 214 214 0 202 213 214 0 201 212 214 0 199 211 214 0 197 210 214 0 195 209 214 0 194 208 214 0 189 207 214 0 188 206 214 0 186 205 214 0 185 204 214 0 184 203 214 0 184 202 214 0 182 201 214 0 182 200 214 0 181 199 214 0 181 198 214 0 179 197 214 0 179 196 214 0 178 195 214 0 176 194 214 0 176 193 214 0 175 191 214 0 174 190 214 0 171 189 214 0 167 188 214 0 166 187 214 0 165 186 214 0 163 185 214 0 160 184 214 0 159 183 214 0 159 182 214 0 157 181 214 0 156 180 214 0 156 179 214 0 156 178 214 0 155 177 214 0 155 176 214 0 155 175 214 0 153 174 214 0 153 173 214 0 152 172 214 0 152 171 214 0 150 170 214 0 150 169 214 0 149 168 214 0 145 167 214 0 144 166 214 0 141 165 214 0 140 164 214 0 138 163 214 0 137 162 214 0 135 161 214 0 135 160 214 0 134 158 214 0 133 157 214 0 131 156 214 0 131 155 214 0 130 154 214 0 128 153 214 0 128 152 214 0 126 151 214 0 126 150 214 0 126 149 214 0 122 148 214 0 122 147 214 0 121 146 214 0 121 145 214 0 120 144 214 0 120 143 214 0 118 142 214 0 118 141 214 0 118 140 214 0 117 139 214 0 117 138 214 0 117 137 214 0 117 136 214 0 117 135 214 0 117 134 214 0 117 133 214 0 117 132 214 0 117 131 214 0 117 130 214 0 117 129 214 0 117 128 214 0 117 127 214 0 117 125 214 0 117 124 214 0 117 123 214 0 117 122 214 0 117 121 214 0 117 120 214 0 117 119 214 0 117 118 214 0 117 117 214 0 117 116 214 0 117 115 214 0 117 114 214 0 117 113 214 0 117 112 214 0 117 111 214 0 117 110 214 0 117 109 214 0 117 108 214 0 118 107 214 0 118 106 214 0 118 105 214 0 120 104 214 0 120 103 214 0 121 102 214 0 121 101 214 0 122 100 214 0 122 99 214 0 126 98 214 0 126 97 214 0 126 96 214 0 128 95 214 0 128 94 214 0 130 92 214 0 131 91 214 0 131 90 214 0 133 89 214 0 134 88 214 0 135 87 214 0 135 86 214 0 137 85 214 0 138 84 214 0 140 83 214 0 141 82 214 0 143 81 214 0 145 80 214 0 149 79 214 0 149 78 214 0 150 77 214 0 152 76 214 0 152 75 214 0 153 74 214 0 153 73 214 0 155 72 214 0 155 71 214 0 155 70 214 0 156 69 214 0 156 68 214 0 156 67 214 0 157 66 214 0 159 65 214 0 159 64 214 0 160 63 214 0 162 62 214 0 163 61 214 0 166 59 214 0 167 58 214 0 171 57 214 0 172 56 214 0 175 55 214 0 175 54 214 0 176 53 214 0 178 52 214 0 179 51 214 0 179 50 214 0 181 49 214 0 181 48 214 0 181 47 214 0 182 46 214 0 182 45 214 0 184 44 214 0 185 43 214 0 186 42 214 0 188 41 214 0 189 40 214 0 194 39 214 0 195 38 214 0 197 37 214 0 198 36 214 1 199 35 214 2 201 34 214 3 202 33 214 4 204 32 214 5 204 31 214 5 205 30 214 6 205 29 214 7 207 28 214 8 207 26 214 10 208 25 214 11 209 24 214 12 209 23 214 13 211 22 214 13 213 21 214 14 213 20 214 15 216 19 214 16 217 18 214 18 217 17 214 19 219 16 214 20 219 15 214 21 220 14 214 21 220 13 214 22 221 12 214 23 223 11 214 25 226 10 214 26 227 9 214 27 228 8 214 28 230 7 214 29 230 6 214 30 231 5 214 31 231 4 214 32 231 3 214 33 231 2 214 35 234 1 214 36 235 0 214 37 238 0 214 37 238 0 214 38 239 0 214 38 239 0 214 38 240 0 214 38 240 255 213 0 240 254 213 0 240 254 213 0 240 254 213 0 240 253 213 0 240 252 213 0 239 251 213 0 239 250 213 0 238 249 213 0 238 248 213 0 235 247 213 0 234 246 213 0 231 245 213 0 231 244 213 0 231 243 213 0 231 242 213 0 230 241 213 0 230 240 213 0 228 239 213 0 227 238 213 0 224 237 213 0 223 236 213 0 221 235 213 0 220 234 213 0 219 233 213 0 219 232 213 0 217 231 213 0 217 230 213 0 216 229 213 0 216 228 213 0 213 227 213 0 211 226 213 0 211 224 213 0 209 223 213 0 209 222 213 0 208 221 213 0 207 220 213 0 205 219 213 0 205 218 213 0 204 217 213 0 204 216 213 0 202 215 213 0 202 214 213 0 201 213 213 0 199 212 213 0 198 211 213 0 195 210 213 0 194 209 213 0 189 208 213 0 188 207 213 0 186 206 213 0 185 205 213 0 184 204 213 0 184 203 213 0 182 202 213 0 182 201 213 0 181 200 213 0 181 199 213 0 179 198 213 0 179 197 213 0 178 196 213 0 176 195 213 0 176 194 213 0 175 193 213 0 174 191 213 0 171 190 213 0 167 189 213 0 166 188 213 0 165 187 213 0 163 186 213 0 162 185 213 0 159 184 213 0 159 183 213 0 157 182 213 0 156 181 213 0 156 180 213 0 155 179 213 0 155 178 213 0 155 177 213 0 153 176 213 0 153 175 213 0 153 174 213 0 152 173 213 0 152 172 213 0 150 171 213 0 149 170 213 0 145 169 213 0 144 168 213 0 143 167 213 0 141 166 213 0 140 165 213 0 137 164 213 0 135 163 213 0 135 162 213 0 134 161 213 0 133 160 213 0 133 158 213 0 131 157 213 0 130 156 213 0 130 155 213 0 128 154 213 0 126 153 213 0 122 152 213 0 122 151 213 0 122 150 213 0 122 149 213 0 121 148 213 0 121 147 213 0 121 146 213 0 120 145 213 0 118 144 213 0 118 143 213 0 117 142 213 0 115 141 213 0 115 140 213 0 115 139 213 0 115 138 213 0 115 137 213 0 115 136 213 0 115 135 213 0 115 134 213 0 115 133 213 0 115 132 213 0 115 131 213 0 115 130 213 0 115 129 213 0 115 128 213 0 115 127 213 0 115 125 213 0 115 124 213 0 115 123 213 0 115 122 213 0 115 121 213 0 115 120 213 0 115 119 213 0 115 118 213 0 115 117 213 0 115 116 213 0 115 115 213 0 115 114 213 0 115 113 213 0 115 112 213 0 115 111 213 0 115 110 213 0 115 109 213 0 115 108 213 0 115 107 213 0 115 106 213 0 117 105 213 0 118 104 213 0 118 103 213 0 120 102 213 0 120 101 213 0 121 100 213 0 121 99 213 0 122 98 213 0 122 97 213 0 122 96 213 0 122 95 213 0 126 94 213 0 128 92 213 0 128 91 213 0 130 90 213 0 131 89 213 0 133 88 213 0 133 87 213 0 134 86 213 0 134 85 213 0 135 84 213 0 137 83 213 0 140 82 213 0 141 81 213 0 143 80 213 0 144 79 213 0 145 78 213 0 149 77 213 0 150 76 213 0 152 75 213 0 152 74 213 0 153 73 213 0 153 72 213 0 153 71 213 0 155 70 213 0 155 69 213 0 155 68 213 0 156 67 213 0 156 66 213 0 157 65 213 0 157 64 213 0 159 63 213 0 160 62 213 0 162 61 213 0 165 59 213 0 166 58 213 0 167 57 213 0 171 56 213 0 174 55 213 0 175 54 213 0 175 53 213 0 176 52 213 0 178 51 213 0 179 50 213 0 179 49 213 0 181 48 213 0 181 47 213 0 181 46 213 0 182 45 213 0 184 44 213 0 184 43 213 0 185 42 213 0 186 41 213 0 188 40 213 0 189 39 213 0 194 38 213 0 195 37 213 1 197 36 213 2 198 35 213 3 199 34 213 4 201 33 213 5 202 32 213 6 204 31 213 6 204 30 213 7 205 29 213 8 205 28 213 9 207 26 213 10 208 25 213 12 209 24 213 13 209 23 213 14 211 22 213 14 211 21 213 15 213 20 213 16 213 19 213 17 216 18 213 18 217 17 213 20 217 16 213 21 219 15 213 22 219 14 213 22 220 13 213 23 221 12 213 24 223 11 213 26 224 10 213 27 226 9 213 28 228 8 213 29 230 7 213 30 230 6 213 31 231 5 213 32 231 4 213 33 231 3 213 34 231 2 213 35 234 1 213 37 235 0 213 37 238 0 213 38 238 0 213 39 239 0 213 39 239 0 213 39 240 0 213 39 240 255 212 0 240 254 212 0 240 254 212 0 239 254 212 0 239 253 212 0 239 252 212 0 239 251 212 0 239 250 212 0 238 249 212 0 235 248 212 0 234 247 212 0 234 246 212 0 231 245 212 0 231 244 212 0 230 243 212 0 230 242 212 0 230 241 212 0 228 240 212 0 227 239 212 0 226 238 212 0 224 237 212 0 221 236 212 0 220 235 212 0 220 234 212 0 219 233 212 0 217 232 212 0 217 231 212 0 216 230 212 0 216 229 212 0 213 228 212 0 211 227 212 0 211 226 212 0 209 224 212 0 209 223 212 0 208 222 212 0 208 221 212 0 207 220 212 0 205 219 212 0 205 218 212 0 204 217 212 0 202 216 212 0 202 215 212 0 201 214 212 0 199 213 212 0 198 212 212 0 195 211 212 0 194 210 212 0 189 209 212 0 188 208 212 0 186 207 212 0 185 206 212 0 184 205 212 0 182 204 212 0 182 203 212 0 182 202 212 0 181 201 212 0 181 200 212 0 179 199 212 0 179 198 212 0 178 197 212 0 176 196 212 0 176 195 212 0 175 194 212 0 174 193 212 0 172 191 212 0 167 190 212 0 166 189 212 0 165 188 212 0 163 187 212 0 160 186 212 0 160 185 212 0 159 184 212 0 157 183 212 0 156 182 212 0 156 181 212 0 155 180 212 0 155 179 212 0 153 178 212 0 153 177 212 0 152 176 212 0 152 175 212 0 150 174 212 0 150 173 212 0 150 172 212 0 149 171 212 0 145 170 212 0 144 169 212 0 143 168 212 0 141 167 212 0 138 166 212 0 137 165 212 0 135 164 212 0 134 163 212 0 133 162 212 0 131 161 212 0 131 160 212 0 130 158 212 0 130 157 212 0 128 156 212 0 126 155 212 0 122 154 212 0 122 153 212 0 121 152 212 0 121 151 212 0 120 150 212 0 120 149 212 0 120 148 212 0 120 147 212 0 118 146 212 0 118 145 212 0 117 144 212 0 115 143 212 0 115 142 212 0 114 141 212 0 112 140 212 0 112 139 212 0 112 138 212 0 112 137 212 0 112 136 212 0 112 135 212 0 112 134 212 0 112 133 212 0 112 132 212 0 112 131 212 0 112 130 212 0 112 129 212 0 112 128 212 0 112 127 212 0 112 125 212 0 112 124 212 0 112 123 212 0 112 122 212 0 112 121 212 0 112 120 212 0 112 119 212 0 112 118 212 0 112 117 212 0 112 116 212 0 112 115 212 0 112 114 212 0 112 113 212 0 112 112 212 0 112 111 212 0 112 110 212 0 112 109 212 0 112 108 212 0 112 107 212 0 114 106 212 0 115 105 212 0 115 104 212 0 117 103 212 0 118 102 212 0 118 101 212 0 120 100 212 0 120 99 212 0 120 98 212 0 120 97 212 0 121 96 212 0 121 95 212 0 122 94 212 0 122 92 212 0 126 91 212 0 128 90 212 0 130 89 212 0 130 88 212 0 131 87 212 0 131 86 212 0 133 85 212 0 134 84 212 0 135 83 212 0 137 82 212 0 138 81 212 0 140 80 212 0 143 79 212 0 144 78 212 0 145 77 212 0 149 76 212 0 149 75 212 0 150 74 212 0 150 73 212 0 152 72 212 0 152 71 212 0 153 70 212 0 153 69 212 0 155 68 212 0 155 67 212 0 156 66 212 0 156 65 212 0 157 64 212 0 159 63 212 0 159 62 212 0 160 61 212 0 162 59 212 0 165 58 212 0 166 57 212 0 167 56 212 0 171 55 212 0 172 54 212 0 174 53 212 0 175 52 212 0 176 51 212 0 178 50 212 0 178 49 212 0 179 48 212 0 181 47 212 0 181 46 212 0 181 45 212 0 182 44 212 0 182 43 212 0 184 42 212 0 185 41 212 0 186 40 212 0 188 39 212 0 189 38 212 1 194 37 212 1 195 36 212 2 197 35 212 3 198 34 212 4 199 33 212 5 201 32 212 6 202 31 212 7 204 30 212 8 204 29 212 9 205 28 212 10 207 26 212 11 208 25 212 12 208 24 212 13 209 23 212 14 209 22 212 15 211 21 212 16 211 20 212 17 213 19 212 18 213 18 212 19 216 17 212 20 217 16 212 21 217 15 212 22 219 14 212 23 220 13 212 24 220 12 212 25 221 11 212 27 223 10 212 28 226 9 212 29 227 8 212 30 228 7 212 31 230 6 212 32 230 5 212 33 230 4 212 34 231 3 212 35 231 2 212 36 234 1 212 37 234 0 212 38 235 0 212 39 238 0 212 39 239 0 212 40 239 0 212 40 239 0 212 40 239 255 211 0 240 254 211 0 240 254 211 0 239 254 211 0 239 253 211 0 239 252 211 0 239 251 211 0 238 250 211 0 238 249 211 0 235 248 211 0 234 247 211 0 234 246 211 0 231 245 211 0 231 244 211 0 230 243 211 0 230 242 211 0 230 241 211 0 228 240 211 0 227 239 211 0 226 238 211 0 223 237 211 0 221 236 211 0 220 235 211 0 219 234 211 0 219 233 211 0 217 232 211 0 216 231 211 0 216 230 211 0 213 229 211 0 211 228 211 0 211 227 211 0 211 226 211 0 209 224 211 0 209 223 211 0 208 222 211 0 207 221 211 0 205 220 211 0 205 219 211 0 204 218 211 0 202 217 211 0 202 216 211 0 201 215 211 0 199 214 211 0 197 213 211 0 195 212 211 0 194 211 211 0 189 210 211 0 188 209 211 0 186 208 211 0 185 207 211 0 184 206 211 0 182 205 211 0 182 204 211 0 181 203 211 0 181 202 211 0 181 201 211 0 179 200 211 0 178 199 211 0 178 198 211 0 176 197 211 0 175 196 211 0 174 195 211 0 172 194 211 0 171 193 211 0 167 191 211 0 166 190 211 0 165 189 211 0 163 188 211 0 160 187 211 0 159 186 211 0 159 185 211 0 157 184 211 0 156 183 211 0 156 182 211 0 155 181 211 0 155 180 211 0 153 179 211 0 152 178 211 0 152 177 211 0 150 176 211 0 150 175 211 0 149 174 211 0 149 173 211 0 145 172 211 0 144 171 211 0 143 170 211 0 141 169 211 0 140 168 211 0 138 167 211 0 137 166 211 0 134 165 211 0 133 164 211 0 131 163 211 0 131 162 211 0 130 161 211 0 128 160 211 0 128 158 211 0 126 157 211 0 126 156 211 0 122 155 211 0 121 154 211 0 120 153 211 0 118 152 211 0 118 151 211 0 118 150 211 0 118 149 211 0 118 148 211 0 117 147 211 0 117 146 211 0 115 145 211 0 115 144 211 0 114 143 211 0 112 142 211 0 111 141 211 0 110 140 211 0 110 139 211 0 110 138 211 0 110 137 211 0 110 136 211 0 110 135 211 0 110 134 211 0 110 133 211 0 110 132 211 0 110 131 211 0 110 130 211 0 110 129 211 0 110 128 211 0 110 127 211 0 110 125 211 0 110 124 211 0 110 123 211 0 110 122 211 0 110 121 211 0 110 120 211 0 110 119 211 0 110 118 211 0 110 117 211 0 110 116 211 0 110 115 211 0 110 114 211 0 110 113 211 0 110 112 211 0 110 111 211 0 110 110 211 0 110 109 211 0 110 108 211 0 110 107 211 0 111 106 211 0 112 105 211 0 114 104 211 0 115 103 211 0 115 102 211 0 117 101 211 0 117 100 211 0 117 99 211 0 118 98 211 0 118 97 211 0 118 96 211 0 118 95 211 0 120 94 211 0 121 92 211 0 122 91 211 0 122 90 211 0 126 89 211 0 128 88 211 0 128 87 211 0 130 86 211 0 130 85 211 0 131 84 211 0 133 83 211 0 134 82 211 0 137 81 211 0 138 80 211 0 140 79 211 0 141 78 211 0 143 77 211 0 144 76 211 0 145 75 211 0 149 74 211 0 149 73 211 0 150 72 211 0 150 71 211 0 152 70 211 0 152 69 211 0 153 68 211 0 153 67 211 0 155 66 211 0 156 65 211 0 156 64 211 0 157 63 211 0 159 62 211 0 159 61 211 0 160 59 211 0 162 58 211 0 165 57 211 0 166 56 211 0 167 55 211 0 171 54 211 0 172 53 211 0 174 52 211 0 175 51 211 0 176 50 211 0 176 49 211 0 178 48 211 0 179 47 211 0 179 46 211 0 181 45 211 0 181 44 211 0 182 43 211 0 182 42 211 0 184 41 211 0 185 40 211 0 186 39 211 1 188 38 211 1 189 37 211 2 194 36 211 3 195 35 211 4 197 34 211 5 198 33 211 6 199 32 211 7 201 31 211 8 202 30 211 9 204 29 211 10 205 28 211 11 205 26 211 12 207 25 211 13 208 24 211 14 208 23 211 15 209 22 211 16 209 21 211 17 211 20 211 18 211 19 211 19 213 18 211 20 213 17 211 21 216 16 211 22 217 15 211 23 219 14 211 24 219 13 211 25 220 12 211 26 221 11 211 28 223 10 211 29 224 9 211 30 227 8 211 31 228 7 211 32 230 6 211 33 230 5 211 34 230 4 211 35 231 3 211 36 231 2 211 37 234 1 211 38 234 0 211 39 235 0 211 40 238 0 211 40 238 0 211 41 239 0 211 41 239 0 211 41 239 255 210 0 240 254 210 0 240 254 210 0 239 254 210 0 239 253 210 0 239 252 210 0 239 251 210 0 238 250 210 0 238 249 210 0 235 248 210 0 234 247 210 0 231 246 210 0 231 245 210 0 231 244 210 0 230 243 210 0 230 242 210 0 228 241 210 0 227 240 210 0 226 239 210 0 224 238 210 0 223 237 210 0 221 236 210 0 220 235 210 0 219 234 210 0 217 233 210 0 217 232 210 0 216 231 210 0 213 230 210 0 213 229 210 0 211 228 210 0 211 227 210 0 209 226 210 0 209 224 210 0 208 223 210 0 208 222 210 0 207 221 210 0 205 220 210 0 204 219 210 0 204 218 210 0 202 217 210 0 201 216 210 0 199 215 210 0 197 214 210 0 195 213 210 0 194 212 210 0 189 211 210 0 188 210 210 0 186 209 210 0 185 208 210 0 184 207 210 0 182 206 210 0 182 205 210 0 181 204 210 0 181 203 210 0 179 202 210 0 179 201 210 0 178 200 210 0 176 199 210 0 175 198 210 0 174 197 210 0 174 196 210 0 172 195 210 0 171 194 210 0 167 193 210 0 166 191 210 0 165 190 210 0 163 189 210 0 160 188 210 0 159 187 210 0 159 186 210 0 157 185 210 0 156 184 210 0 156 183 210 0 155 182 210 0 155 181 210 0 153 180 210 0 152 179 210 0 152 178 210 0 150 177 210 0 149 176 210 0 145 175 210 0 145 174 210 0 144 173 210 0 144 172 210 0 143 171 210 0 141 170 210 0 140 169 210 0 137 168 210 0 135 167 210 0 134 166 210 0 133 165 210 0 131 164 210 0 130 163 210 0 128 162 210 0 128 161 210 0 126 160 210 0 122 158 210 0 122 157 210 0 121 156 210 0 120 155 210 0 118 154 210 0 117 153 210 0 117 152 210 0 115 151 210 0 115 150 210 0 115 149 210 0 115 148 210 0 115 147 210 0 114 146 210 0 114 145 210 0 112 144 210 0 111 143 210 0 110 142 210 0 108 141 210 0 108 140 210 0 107 139 210 0 107 138 210 0 107 137 210 0 107 136 210 0 107 135 210 0 107 134 210 0 107 133 210 0 107 132 210 0 107 131 210 0 107 130 210 0 107 129 210 0 107 128 210 0 107 127 210 0 107 125 210 0 107 124 210 0 107 123 210 0 107 122 210 0 107 121 210 0 107 120 210 0 107 119 210 0 107 118 210 0 107 117 210 0 107 116 210 0 107 115 210 0 107 114 210 0 107 113 210 0 107 112 210 0 107 111 210 0 107 110 210 0 107 109 210 0 107 108 210 0 107 107 210 0 108 106 210 0 110 105 210 0 111 104 210 0 112 103 210 0 114 102 210 0 114 101 210 0 115 100 210 0 115 99 210 0 115 98 210 0 115 97 210 0 115 96 210 0 117 95 210 0 117 94 210 0 118 92 210 0 120 91 210 0 121 90 210 0 122 89 210 0 122 88 210 0 126 87 210 0 126 86 210 0 128 85 210 0 130 84 210 0 131 83 210 0 133 82 210 0 134 81 210 0 135 80 210 0 137 79 210 0 140 78 210 0 141 77 210 0 143 76 210 0 144 75 210 0 144 74 210 0 145 73 210 0 145 72 210 0 149 71 210 0 150 70 210 0 152 69 210 0 152 68 210 0 153 67 210 0 155 66 210 0 155 65 210 0 156 64 210 0 156 63 210 0 157 62 210 0 159 61 210 0 159 59 210 0 160 58 210 0 162 57 210 0 163 56 210 0 166 55 210 0 167 54 210 0 171 53 210 0 172 52 210 0 172 51 210 0 174 50 210 0 175 49 210 0 176 48 210 0 178 47 210 0 179 46 210 0 179 45 210 0 181 44 210 0 181 43 210 0 181 42 210 0 182 41 210 0 184 40 210 1 185 39 210 1 186 38 210 2 188 37 210 3 189 36 210 4 194 35 210 5 195 34 210 6 197 33 210 7 198 32 210 8 199 31 210 9 201 30 210 10 202 29 210 11 204 28 210 12 205 26 210 13 207 25 210 14 208 24 210 15 208 23 210 16 209 22 210 17 209 21 210 18 209 20 210 19 211 19 210 20 211 18 210 21 213 17 210 22 216 16 210 23 217 15 210 24 217 14 210 25 219 13 210 26 220 12 210 27 221 11 210 29 223 10 210 30 224 9 210 31 226 8 210 32 227 7 210 33 228 6 210 34 230 5 210 35 230 4 210 36 230 3 210 37 231 2 210 38 231 1 210 39 234 0 210 40 235 0 210 41 235 0 210 41 238 0 210 41 239 0 210 42 239 0 210 42 239 255 209 0 240 254 209 0 240 254 209 0 239 254 209 0 239 253 209 0 239 252 209 0 238 251 209 0 238 250 209 0 235 249 209 0 234 248 209 0 234 247 209 0 231 246 209 0 231 245 209 0 230 244 209 0 230 243 209 0 230 242 209 0 228 241 209 0 227 240 209 0 226 239 209 0 224 238 209 0 221 237 209 0 220 236 209 0 220 235 209 0 219 234 209 0 217 233 209 0 217 232 209 0 216 231 209 0 213 230 209 0 211 229 209 0 211 228 209 0 209 227 209 0 209 226 209 0 208 224 209 0 208 223 209 0 207 222 209 0 205 221 209 0 205 220 209 0 204 219 209 0 202 218 209 0 201 217 209 0 199 216 209 0 198 215 209 0 195 214 209 0 194 213 209 0 189 212 209 0 188 211 209 0 186 210 209 0 185 209 209 0 184 208 209 0 182 207 209 0 182 206 209 0 181 205 209 0 179 204 209 0 179 203 209 0 178 202 209 0 178 201 209 0 176 200 209 0 175 199 209 0 174 198 209 0 172 197 209 0 171 196 209 0 167 195 209 0 166 194 209 0 165 193 209 0 165 191 209 0 162 190 209 0 160 189 209 0 160 188 209 0 159 187 209 0 157 186 209 0 156 185 209 0 156 184 209 0 155 183 209 0 155 182 209 0 153 181 209 0 152 180 209 0 152 179 209 0 150 178 209 0 149 177 209 0 145 176 209 0 144 175 209 0 143 174 209 0 143 173 209 0 141 172 209 0 140 171 209 0 138 170 209 0 137 169 209 0 135 168 209 0 134 167 209 0 133 166 209 0 131 165 209 0 130 164 209 0 128 163 209 0 126 162 209 0 122 161 209 0 122 160 209 0 121 158 209 0 120 157 209 0 120 156 209 0 118 155 209 0 117 154 209 0 115 153 209 0 114 152 209 0 114 151 209 0 112 150 209 0 112 149 209 0 112 148 209 0 112 147 209 0 111 146 209 0 111 145 209 0 110 144 209 0 108 143 209 0 107 142 209 0 104 141 209 0 104 140 209 0 103 139 209 0 103 138 209 0 103 137 209 0 103 136 209 0 103 135 209 0 103 134 209 0 103 133 209 0 103 132 209 0 103 131 209 0 103 130 209 0 103 129 209 0 103 128 209 0 103 127 209 0 103 125 209 0 103 124 209 0 103 123 209 0 103 122 209 0 103 121 209 0 103 120 209 0 103 119 209 0 103 118 209 0 103 117 209 0 103 116 209 0 103 115 209 0 103 114 209 0 103 113 209 0 103 112 209 0 103 111 209 0 103 110 209 0 103 109 209 0 103 108 209 0 104 107 209 0 104 106 209 0 107 105 209 0 108 104 209 0 110 103 209 0 111 102 209 0 111 101 209 0 112 100 209 0 112 99 209 0 112 98 209 0 112 97 209 0 112 96 209 0 114 95 209 0 115 94 209 0 117 92 209 0 118 91 209 0 120 90 209 0 120 89 209 0 121 88 209 0 122 87 209 0 122 86 209 0 126 85 209 0 128 84 209 0 130 83 209 0 130 82 209 0 131 81 209 0 133 80 209 0 135 79 209 0 137 78 209 0 138 77 209 0 140 76 209 0 141 75 209 0 141 74 209 0 143 73 209 0 144 72 209 0 145 71 209 0 149 70 209 0 150 69 209 0 150 68 209 0 152 67 209 0 153 66 209 0 155 65 209 0 155 64 209 0 156 63 209 0 156 62 209 0 157 61 209 0 159 59 209 0 159 58 209 0 160 57 209 0 162 56 209 0 163 55 209 0 165 54 209 0 166 53 209 0 167 52 209 0 171 51 209 0 172 50 209 0 174 49 209 0 175 48 209 0 176 47 209 0 178 46 209 0 178 45 209 0 179 44 209 0 179 43 209 0 181 42 209 1 181 41 209 1 182 40 209 2 184 39 209 2 185 38 209 3 186 37 209 4 188 36 209 5 189 35 209 6 194 34 209 7 195 33 209 8 197 32 209 9 198 31 209 10 199 30 209 11 202 29 209 12 204 28 209 13 204 26 209 14 205 25 209 15 207 24 209 16 208 23 209 17 208 22 209 18 209 21 209 19 209 20 209 20 209 19 209 21 211 18 209 22 213 17 209 24 216 16 209 25 216 15 209 26 217 14 209 27 219 13 209 28 220 12 209 29 220 11 209 30 221 10 209 31 223 9 209 32 224 8 209 33 226 7 209 34 227 6 209 35 228 5 209 36 230 4 209 37 230 3 209 38 231 2 209 39 231 1 209 40 234 0 209 41 234 0 209 42 235 0 209 42 238 0 209 43 238 0 209 43 239 0 209 43 239 255 208 0 240 254 208 0 240 254 208 0 239 254 208 0 239 253 208 0 239 252 208 0 238 251 208 0 235 250 208 0 235 249 208 0 234 248 208 0 231 247 208 0 231 246 208 0 231 245 208 0 230 244 208 0 230 243 208 0 228 242 208 0 227 241 208 0 226 240 208 0 224 239 208 0 223 238 208 0 221 237 208 0 220 236 208 0 219 235 208 0 219 234 208 0 217 233 208 0 216 232 208 0 213 231 208 0 213 230 208 0 211 229 208 0 209 228 208 0 209 227 208 0 208 226 208 0 208 224 208 0 207 223 208 0 205 222 208 0 205 221 208 0 204 220 208 0 202 219 208 0 201 218 208 0 199 217 208 0 197 216 208 0 195 215 208 0 194 214 208 0 189 213 208 0 188 212 208 0 186 211 208 0 185 210 208 0 184 209 208 0 182 208 208 0 182 207 208 0 181 206 208 0 179 205 208 0 178 204 208 0 178 203 208 0 176 202 208 0 175 201 208 0 174 200 208 0 172 199 208 0 171 198 208 0 167 197 208 0 166 196 208 0 165 195 208 0 163 194 208 0 163 193 208 0 162 191 208 0 160 190 208 0 159 189 208 0 159 188 208 0 157 187 208 0 156 186 208 0 156 185 208 0 155 184 208 0 155 183 208 0 153 182 208 0 152 181 208 0 150 180 208 0 150 179 208 0 149 178 208 0 145 177 208 0 144 176 208 0 143 175 208 0 141 174 208 0 140 173 208 0 138 172 208 0 137 171 208 0 135 170 208 0 134 169 208 0 133 168 208 0 131 167 208 0 130 166 208 0 128 165 208 0 126 164 208 0 126 163 208 0 122 162 208 0 121 161 208 0 120 160 208 0 120 158 208 0 118 157 208 0 117 156 208 0 115 155 208 0 114 154 208 0 112 153 208 0 111 152 208 0 110 151 208 0 110 150 208 0 110 149 208 0 110 148 208 0 108 147 208 0 108 146 208 0 108 145 208 0 107 144 208 0 104 143 208 0 103 142 208 0 102 141 208 0 102 140 208 0 99 139 208 0 99 138 208 0 99 137 208 0 99 136 208 0 99 135 208 0 99 134 208 0 99 133 208 0 99 132 208 0 99 131 208 0 99 130 208 0 99 129 208 0 99 128 208 0 99 127 208 0 99 125 208 0 99 124 208 0 99 123 208 0 99 122 208 0 99 121 208 0 99 120 208 0 99 119 208 0 99 118 208 0 99 117 208 0 99 116 208 0 99 115 208 0 99 114 208 0 99 113 208 0 99 112 208 0 99 111 208 0 99 110 208 0 99 109 208 0 99 108 208 0 102 107 208 0 102 106 208 0 103 105 208 0 104 104 208 0 107 103 208 0 107 102 208 0 108 101 208 0 108 100 208 0 110 99 208 0 110 98 208 0 110 97 208 0 110 96 208 0 111 95 208 0 112 94 208 0 114 92 208 0 115 91 208 0 117 90 208 0 118 89 208 0 120 88 208 0 120 87 208 0 121 86 208 0 122 85 208 0 122 84 208 0 126 83 208 0 128 82 208 0 130 81 208 0 131 80 208 0 133 79 208 0 134 78 208 0 135 77 208 0 137 76 208 0 138 75 208 0 140 74 208 0 140 73 208 0 141 72 208 0 144 71 208 0 145 70 208 0 149 69 208 0 150 68 208 0 150 67 208 0 152 66 208 0 153 65 208 0 155 64 208 0 155 63 208 0 156 62 208 0 156 61 208 0 157 59 208 0 159 58 208 0 159 57 208 0 160 56 208 0 162 55 208 0 163 54 208 0 163 53 208 0 165 52 208 0 166 51 208 0 167 50 208 0 171 49 208 0 172 48 208 0 174 47 208 0 175 46 208 0 176 45 208 0 178 44 208 0 178 43 208 1 179 42 208 2 179 41 208 2 181 40 208 3 182 39 208 3 184 38 208 4 185 37 208 5 185 36 208 6 188 35 208 7 189 34 208 9 194 33 208 10 195 32 208 10 197 31 208 11 198 30 208 12 199 29 208 13 202 28 208 14 204 26 208 15 204 25 208 17 205 24 208 18 207 23 208 18 208 22 208 19 208 21 208 20 209 20 208 21 209 19 208 22 211 18 208 24 211 17 208 25 213 16 208 26 216 15 208 27 217 14 208 28 219 13 208 29 219 12 208 30 220 11 208 31 220 10 208 32 221 9 208 34 223 8 208 35 226 7 208 35 227 6 208 36 228 5 208 37 228 4 208 38 230 3 208 39 230 2 208 40 231 1 208 42 231 0 208 42 234 0 208 43 234 0 208 44 235 0 208 44 238 0 208 44 239 0 208 44 239 255 207 0 240 254 207 0 240 254 207 0 239 254 207 0 239 253 207 0 238 252 207 0 238 251 207 0 235 250 207 0 234 249 207 0 234 248 207 0 231 247 207 0 231 246 207 0 231 245 207 0 230 244 207 0 230 243 207 0 228 242 207 0 227 241 207 0 224 240 207 0 223 239 207 0 221 238 207 0 220 237 207 0 220 236 207 0 219 235 207 0 217 234 207 0 217 233 207 0 216 232 207 0 213 231 207 0 211 230 207 0 211 229 207 0 209 228 207 0 208 227 207 0 208 226 207 0 207 224 207 0 205 223 207 0 205 222 207 0 204 221 207 0 202 220 207 0 201 219 207 0 199 218 207 0 197 217 207 0 195 216 207 0 194 215 207 0 189 214 207 0 188 213 207 0 186 212 207 0 185 211 207 0 184 210 207 0 182 209 207 0 182 208 207 0 181 207 207 0 179 206 207 0 178 205 207 0 176 204 207 0 176 203 207 0 175 202 207 0 174 201 207 0 172 200 207 0 171 199 207 0 166 198 207 0 165 197 207 0 163 196 207 0 163 195 207 0 162 194 207 0 162 193 207 0 160 191 207 0 159 190 207 0 159 189 207 0 157 188 207 0 156 187 207 0 156 186 207 0 155 185 207 0 155 184 207 0 153 183 207 0 152 182 207 0 152 181 207 0 150 180 207 0 149 179 207 0 145 178 207 0 144 177 207 0 143 176 207 0 140 175 207 0 138 174 207 0 137 173 207 0 135 172 207 0 134 171 207 0 133 170 207 0 133 169 207 0 131 168 207 0 130 167 207 0 128 166 207 0 126 165 207 0 122 164 207 0 122 163 207 0 121 162 207 0 120 161 207 0 118 160 207 0 117 158 207 0 117 157 207 0 115 156 207 0 112 155 207 0 111 154 207 0 110 153 207 0 108 152 207 0 108 151 207 0 107 150 207 0 107 149 207 0 107 148 207 0 107 147 207 0 104 146 207 0 104 145 207 0 103 144 207 0 102 143 207 0 99 142 207 0 98 141 207 0 98 140 207 0 98 139 207 0 98 138 207 0 98 137 207 0 98 136 207 0 98 135 207 0 98 134 207 0 98 133 207 0 98 132 207 0 98 131 207 0 98 130 207 0 98 129 207 0 98 128 207 0 98 127 207 0 98 125 207 0 98 124 207 0 98 123 207 0 98 122 207 0 98 121 207 0 98 120 207 0 98 119 207 0 98 118 207 0 98 117 207 0 98 116 207 0 98 115 207 0 98 114 207 0 98 113 207 0 98 112 207 0 98 111 207 0 98 110 207 0 98 109 207 0 98 108 207 0 98 107 207 0 98 106 207 0 99 105 207 0 102 104 207 0 103 103 207 0 103 102 207 0 104 101 207 0 104 100 207 0 107 99 207 0 107 98 207 0 107 97 207 0 107 96 207 0 108 95 207 0 110 94 207 0 111 92 207 0 112 91 207 0 114 90 207 0 115 89 207 0 117 88 207 0 118 87 207 0 120 86 207 0 121 85 207 0 121 84 207 0 122 83 207 0 126 82 207 0 128 81 207 0 128 80 207 0 130 79 207 0 131 78 207 0 133 77 207 0 134 76 207 0 135 75 207 0 137 74 207 0 138 73 207 0 140 72 207 0 141 71 207 0 143 70 207 0 145 69 207 0 149 68 207 0 150 67 207 0 150 66 207 0 152 65 207 0 153 64 207 0 155 63 207 0 155 62 207 0 156 61 207 0 156 59 207 0 157 58 207 0 159 57 207 0 159 56 207 0 160 55 207 0 160 54 207 0 162 53 207 0 162 52 207 0 163 51 207 0 165 50 207 0 166 49 207 0 167 48 207 0 172 47 207 0 174 46 207 0 175 45 207 0 176 44 207 1 176 43 207 2 178 42 207 2 179 41 207 3 179 40 207 4 181 39 207 4 182 38 207 5 184 37 207 6 185 36 207 7 186 35 207 9 186 34 207 10 189 33 207 11 194 32 207 12 195 31 207 12 197 30 207 13 198 29 207 14 199 28 207 15 202 26 207 17 204 25 207 18 205 24 207 19 205 23 207 20 207 22 207 20 208 21 207 21 208 20 207 22 209 19 207 24 209 18 207 25 211 17 207 26 213 16 207 27 216 15 207 28 217 14 207 29 217 13 207 30 219 12 207 31 219 11 207 32 220 10 207 34 221 9 207 35 223 8 207 36 224 7 207 37 226 6 207 37 227 5 207 38 228 4 207 39 230 3 207 40 230 2 207 42 231 1 207 43 231 0 207 44 231 0 207 44 234 0 207 45 235 0 207 45 238 0 207 45 238 0 207 45 239 255 206 0 239 254 206 0 239 254 206 0 239 254 206 0 239 253 206 0 238 252 206 0 238 251 206 0 235 250 206 0 234 249 206 0 231 248 206 0 231 247 206 0 231 246 206 0 230 245 206 0 230 244 206 0 228 243 206 0 227 242 206 0 226 241 206 0 224 240 206 0 223 239 206 0 220 238 206 0 220 237 206 0 219 236 206 0 217 235 206 0 217 234 206 0 216 233 206 0 213 232 206 0 213 231 206 0 211 230 206 0 209 229 206 0 208 228 206 0 208 227 206 0 207 226 206 0 207 224 206 0 205 223 206 0 204 222 206 0 202 221 206 0 201 220 206 0 199 219 206 0 197 218 206 0 195 217 206 0 194 216 206 0 189 215 206 0 188 214 206 0 186 213 206 0 185 212 206 0 184 211 206 0 182 210 206 0 182 209 206 0 181 208 206 0 179 207 206 0 178 206 206 0 176 205 206 0 175 204 206 0 175 203 206 0 174 202 206 0 172 201 206 0 167 200 206 0 166 199 206 0 165 198 206 0 163 197 206 0 162 196 206 0 160 195 206 0 160 194 206 0 160 193 206 0 159 191 206 0 157 190 206 0 157 189 206 0 156 188 206 0 156 187 206 0 155 186 206 0 153 185 206 0 153 184 206 0 152 183 206 0 150 182 206 0 149 181 206 0 149 180 206 0 145 179 206 0 143 178 206 0 141 177 206 0 140 176 206 0 138 175 206 0 137 174 206 0 135 173 206 0 134 172 206 0 133 171 206 0 131 170 206 0 130 169 206 0 128 168 206 0 126 167 206 0 122 166 206 0 122 165 206 0 121 164 206 0 120 163 206 0 120 162 206 0 118 161 206 0 117 160 206 0 115 158 206 0 114 157 206 0 112 156 206 0 111 155 206 0 110 154 206 0 108 153 206 0 107 152 206 0 104 151 206 0 104 150 206 0 103 149 206 0 103 148 206 0 103 147 206 0 102 146 206 0 102 145 206 0 99 144 206 0 98 143 206 0 98 142 206 0 96 141 206 0 95 140 206 0 95 139 206 0 95 138 206 0 95 137 206 0 95 136 206 0 95 135 206 0 95 134 206 0 95 133 206 0 95 132 206 0 95 131 206 0 95 130 206 0 95 129 206 0 95 128 206 0 95 127 206 0 95 125 206 0 95 124 206 0 95 123 206 0 95 122 206 0 95 121 206 0 95 120 206 0 95 119 206 0 95 118 206 0 95 117 206 0 95 116 206 0 95 115 206 0 95 114 206 0 95 113 206 0 95 112 206 0 95 111 206 0 95 110 206 0 95 109 206 0 95 108 206 0 95 107 206 0 96 106 206 0 96 105 206 0 98 104 206 0 99 103 206 0 102 102 206 0 102 101 206 0 103 100 206 0 103 99 206 0 103 98 206 0 103 97 206 0 104 96 206 0 107 95 206 0 108 94 206 0 110 92 206 0 111 91 206 0 112 90 206 0 114 89 206 0 115 88 206 0 117 87 206 0 118 86 206 0 118 85 206 0 120 84 206 0 121 83 206 0 122 82 206 0 122 81 206 0 126 80 206 0 128 79 206 0 130 78 206 0 131 77 206 0 133 76 206 0 134 75 206 0 134 74 206 0 135 73 206 0 138 72 206 0 140 71 206 0 141 70 206 0 143 69 206 0 145 68 206 0 149 67 206 0 149 66 206 0 150 65 206 0 152 64 206 0 153 63 206 0 153 62 206 0 155 61 206 0 156 59 206 0 156 58 206 0 157 57 206 0 157 56 206 0 159 55 206 0 159 54 206 0 160 53 206 0 160 52 206 0 162 51 206 0 163 50 206 0 165 49 206 0 166 48 206 0 167 47 206 0 171 46 206 0 172 45 206 0 174 44 206 1 175 43 206 2 176 42 206 3 178 41 206 4 179 40 206 5 179 39 206 5 181 38 206 6 182 37 206 7 184 36 206 8 185 35 206 10 186 34 206 11 188 33 206 12 189 32 206 13 194 31 206 13 195 30 206 14 197 29 206 15 198 28 206 16 201 26 206 18 202 25 206 19 204 24 206 20 204 23 206 21 205 22 206 21 207 21 206 22 208 20 206 23 208 19 206 25 209 18 206 26 211 17 206 27 211 16 206 28 213 15 206 29 216 14 206 30 217 13 206 31 217 12 206 32 219 11 206 33 219 10 206 35 220 9 206 36 221 8 206 37 223 7 206 38 226 6 206 38 227 5 206 39 228 4 206 40 230 3 206 41 230 2 206 43 230 1 206 44 231 0 206 45 231 0 206 45 234 0 206 46 235 0 206 46 235 0 206 46 238 0 206 46 239 255 205 0 239 254 205 0 239 254 205 0 239 254 205 0 239 253 205 0 238 252 205 0 235 251 205 0 234 250 205 0 234 249 205 0 231 248 205 0 231 247 205 0 230 246 205 0 230 245 205 0 230 244 205 0 228 243 205 0 227 242 205 0 226 241 205 0 223 240 205 0 221 239 205 0 220 238 205 0 219 237 205 0 217 236 205 0 217 235 205 0 216 234 205 0 213 233 205 0 213 232 205 0 211 231 205 0 209 230 205 0 208 229 205 0 208 228 205 0 207 227 205 0 205 226 205 0 205 224 205 0 204 223 205 0 202 222 205 0 201 221 205 0 198 220 205 0 197 219 205 0 195 218 205 0 194 217 205 0 189 216 205 0 188 215 205 0 186 214 205 0 185 213 205 0 184 212 205 0 182 211 205 0 182 210 205 0 181 209 205 0 179 208 205 0 178 207 205 0 176 206 205 0 175 205 205 0 174 204 205 0 172 203 205 0 171 202 205 0 167 201 205 0 166 200 205 0 165 199 205 0 162 198 205 0 160 197 205 0 160 196 205 0 159 195 205 0 159 194 205 0 159 193 205 0 157 191 205 0 157 190 205 0 156 189 205 0 155 188 205 0 155 187 205 0 153 186 205 0 152 185 205 0 150 184 205 0 150 183 205 0 149 182 205 0 145 181 205 0 144 180 205 0 143 179 205 0 141 178 205 0 140 177 205 0 137 176 205 0 135 175 205 0 134 174 205 0 133 173 205 0 131 172 205 0 130 171 205 0 128 170 205 0 128 169 205 0 126 168 205 0 122 167 205 0 121 166 205 0 120 165 205 0 118 164 205 0 118 163 205 0 117 162 205 0 115 161 205 0 115 160 205 0 114 158 205 0 111 157 205 0 110 156 205 0 108 155 205 0 107 154 205 0 104 153 205 0 103 152 205 0 102 151 205 0 102 150 205 0 99 149 205 0 99 148 205 0 99 147 205 0 98 146 205 0 98 145 205 0 96 144 205 0 96 143 205 0 95 142 205 0 93 141 205 0 93 140 205 0 92 139 205 0 92 138 205 0 92 137 205 0 92 136 205 0 92 135 205 0 92 134 205 0 92 133 205 0 92 132 205 0 92 131 205 0 92 130 205 0 92 129 205 0 92 128 205 0 92 127 205 0 92 125 205 0 92 124 205 0 92 123 205 0 92 122 205 0 92 121 205 0 92 120 205 0 92 119 205 0 92 118 205 0 92 117 205 0 92 116 205 0 92 115 205 0 92 114 205 0 92 113 205 0 92 112 205 0 92 111 205 0 92 110 205 0 92 109 205 0 92 108 205 0 93 107 205 0 93 106 205 0 95 105 205 0 95 104 205 0 96 103 205 0 98 102 205 0 98 101 205 0 99 100 205 0 99 99 205 0 99 98 205 0 102 97 205 0 102 96 205 0 103 95 205 0 104 94 205 0 107 92 205 0 108 91 205 0 110 90 205 0 111 89 205 0 112 88 205 0 114 87 205 0 115 86 205 0 117 85 205 0 118 84 205 0 118 83 205 0 120 82 205 0 121 81 205 0 122 80 205 0 122 79 205 0 126 78 205 0 128 77 205 0 130 76 205 0 131 75 205 0 133 74 205 0 134 73 205 0 135 72 205 0 137 71 205 0 138 70 205 0 141 69 205 0 143 68 205 0 144 67 205 0 145 66 205 0 149 65 205 0 150 64 205 0 150 63 205 0 152 62 205 0 153 61 205 0 155 59 205 0 155 58 205 0 156 57 205 0 156 56 205 0 157 55 205 0 157 54 205 0 159 53 205 0 159 52 205 0 160 51 205 0 160 50 205 0 162 49 205 0 163 48 205 0 165 47 205 0 167 46 205 0 171 45 205 1 172 44 205 2 174 43 205 3 175 42 205 4 176 41 205 5 178 40 205 6 179 39 205 6 179 38 205 7 181 37 205 8 182 36 205 9 184 35 205 10 185 34 205 12 185 33 205 13 188 32 205 14 189 31 205 14 194 30 205 15 195 29 205 16 197 28 205 17 198 26 205 18 201 25 205 20 202 24 205 21 204 23 205 22 205 22 205 22 205 21 205 23 207 20 205 24 208 19 205 26 208 18 205 27 209 17 205 28 211 16 205 29 213 15 205 30 213 14 205 31 216 13 205 32 217 12 205 33 217 11 205 34 219 10 205 35 220 9 205 37 221 8 205 38 223 7 205 39 224 6 205 39 226 5 205 40 228 4 205 41 228 3 205 42 230 2 205 43 230 1 205 45 231 0 205 45 231 0 205 46 234 0 205 47 234 0 205 47 235 0 205 47 238 0 205 47 238 255 204 0 239 254 204 0 239 254 204 0 239 254 204 0 238 253 204 0 238 252 204 0 235 251 204 0 234 250 204 0 231 249 204 0 231 248 204 0 230 247 204 0 230 246 204 0 230 245 204 0 228 244 204 0 227 243 204 0 226 242 204 0 224 241 204 0 223 240 204 0 220 239 204 0 219 238 204 0 219 237 204 0 217 236 204 0 216 235 204 0 213 234 204 0 213 233 204 0 211 232 204 0 209 231 204 0 209 230 204 0 208 229 204 0 207 228 204 0 205 227 204 0 205 226 204 0 204 224 204 0 202 223 204 0 201 222 204 0 199 221 204 0 197 220 204 0 195 219 204 0 194 218 204 0 189 217 204 0 186 216 204 0 186 215 204 0 185 214 204 0 184 213 204 0 182 212 204 0 182 211 204 0 181 210 204 0 179 209 204 0 178 208 204 0 176 207 204 0 175 206 204 0 174 205 204 0 172 204 204 0 171 203 204 0 167 202 204 0 166 201 204 0 163 200 204 0 162 199 204 0 160 198 204 0 159 197 204 0 159 196 204 0 159 195 204 0 157 194 204 0 157 193 204 0 156 191 204 0 156 190 204 0 155 189 204 0 153 188 204 0 152 187 204 0 150 186 204 0 150 185 204 0 149 184 204 0 145 183 204 0 144 182 204 0 143 181 204 0 141 180 204 0 140 179 204 0 138 178 204 0 137 177 204 0 135 176 204 0 133 175 204 0 131 174 204 0 130 173 204 0 130 172 204 0 128 171 204 0 126 170 204 0 122 169 204 0 121 168 204 0 120 167 204 0 118 166 204 0 118 165 204 0 117 164 204 0 115 163 204 0 115 162 204 0 114 161 204 0 112 160 204 0 111 158 204 0 110 157 204 0 107 156 204 0 104 155 204 0 103 154 204 0 102 153 204 0 102 152 204 0 99 151 204 0 98 150 204 0 98 149 204 0 96 148 204 0 96 147 204 0 95 146 204 0 95 145 204 0 93 144 204 0 93 143 204 0 92 142 204 0 92 141 204 0 91 140 204 0 91 139 204 0 91 138 204 0 89 137 204 0 89 136 204 0 89 135 204 0 89 134 204 0 88 133 204 0 88 132 204 0 88 131 204 0 88 130 204 0 88 129 204 0 88 128 204 0 88 127 204 0 88 125 204 0 88 124 204 0 88 123 204 0 88 122 204 0 88 121 204 0 88 120 204 0 88 119 204 0 88 118 204 0 88 117 204 0 88 116 204 0 88 115 204 0 88 114 204 0 89 113 204 0 89 112 204 0 89 111 204 0 89 110 204 0 91 109 204 0 91 108 204 0 91 107 204 0 92 106 204 0 92 105 204 0 93 104 204 0 93 103 204 0 95 102 204 0 95 101 204 0 96 100 204 0 96 99 204 0 96 98 204 0 98 97 204 0 99 96 204 0 99 95 204 0 102 94 204 0 103 92 204 0 104 91 204 0 107 90 204 0 110 89 204 0 111 88 204 0 112 87 204 0 114 86 204 0 114 85 204 0 115 84 204 0 117 83 204 0 118 82 204 0 118 81 204 0 120 80 204 0 121 79 204 0 122 78 204 0 126 77 204 0 126 76 204 0 128 75 204 0 130 74 204 0 131 73 204 0 133 72 204 0 134 71 204 0 137 70 204 0 138 69 204 0 140 68 204 0 141 67 204 0 143 66 204 0 144 65 204 0 145 64 204 0 149 63 204 0 150 62 204 0 150 61 204 0 152 59 204 0 153 58 204 0 155 57 204 0 155 56 204 0 156 55 204 0 157 54 204 0 157 53 204 0 159 52 204 0 159 51 204 0 159 50 204 0 160 49 204 0 162 48 204 0 163 47 204 0 165 46 204 1 167 45 204 1 171 44 204 2 172 43 204 3 174 42 204 4 175 41 204 5 176 40 204 6 178 39 204 7 179 38 204 8 179 37 204 9 181 36 204 10 182 35 204 11 184 34 204 12 185 33 204 13 186 32 204 14 186 31 204 15 189 30 204 16 194 29 204 17 195 28 204 18 197 26 204 19 198 25 204 20 201 24 204 21 202 23 204 22 204 22 204 23 205 21 204 24 205 20 204 25 207 19 204 27 208 18 204 28 208 17 204 29 209 16 204 30 211 15 204 31 213 14 204 32 213 13 204 33 216 12 204 34 217 11 204 35 217 10 204 36 219 9 204 37 220 8 204 38 221 7 204 39 224 6 204 40 226 5 204 41 227 4 204 42 228 3 204 43 230 2 204 44 230 1 204 45 230 0 204 46 231 0 204 47 231 0 204 47 234 0 204 48 235 0 204 48 235 0 204 48 238 255 203 0 239 254 203 0 239 254 203 0 238 254 203 0 238 253 203 0 235 252 203 0 234 251 203 0 234 250 203 0 231 249 203 0 231 248 203 0 230 247 203 0 230 246 203 0 228 245 203 0 228 244 203 0 227 243 203 0 226 242 203 0 223 241 203 0 221 240 203 0 220 239 203 0 219 238 203 0 217 237 203 0 216 236 203 0 216 235 203 0 213 234 203 0 211 233 203 0 209 232 203 0 209 231 203 0 208 230 203 0 207 229 203 0 207 228 203 0 205 227 203 0 204 226 203 0 202 224 203 0 201 223 203 0 199 222 203 0 198 221 203 0 195 220 203 0 194 219 203 0 189 218 203 0 188 217 203 0 186 216 203 0 185 215 203 0 184 214 203 0 182 213 203 0 182 212 203 0 181 211 203 0 179 210 203 0 178 209 203 0 176 208 203 0 175 207 203 0 174 206 203 0 172 205 203 0 171 204 203 0 167 203 203 0 166 202 203 0 163 201 203 0 162 200 203 0 160 199 203 0 159 198 203 0 159 197 203 0 157 196 203 0 157 195 203 0 157 194 203 0 156 193 203 0 156 191 203 0 155 190 203 0 153 189 203 0 152 188 203 0 150 187 203 0 149 186 203 0 145 185 203 0 144 184 203 0 143 183 203 0 141 182 203 0 140 181 203 0 138 180 203 0 137 179 203 0 135 178 203 0 134 177 203 0 133 176 203 0 131 175 203 0 130 174 203 0 128 173 203 0 126 172 203 0 122 171 203 0 121 170 203 0 120 169 203 0 118 168 203 0 118 167 203 0 117 166 203 0 115 165 203 0 114 164 203 0 114 163 203 0 112 162 203 0 111 161 203 0 110 160 203 0 108 158 203 0 107 157 203 0 104 156 203 0 103 155 203 0 102 154 203 0 99 153 203 0 98 152 203 0 96 151 203 0 96 150 203 0 95 149 203 0 93 148 203 0 93 147 203 0 93 146 203 0 92 145 203 0 92 144 203 0 91 143 203 0 91 142 203 0 89 141 203 0 89 140 203 0 88 139 203 0 88 138 203 0 88 137 203 0 86 136 203 0 86 135 203 0 84 134 203 0 84 133 203 0 84 132 203 0 84 131 203 0 84 130 203 0 84 129 203 0 84 128 203 0 84 127 203 0 84 125 203 0 84 124 203 0 84 123 203 0 84 122 203 0 84 121 203 0 84 120 203 0 84 119 203 0 84 118 203 0 84 117 203 0 84 116 203 0 84 115 203 0 84 114 203 0 84 113 203 0 86 112 203 0 86 111 203 0 88 110 203 0 88 109 203 0 88 108 203 0 89 107 203 0 89 106 203 0 91 105 203 0 91 104 203 0 92 103 203 0 92 102 203 0 93 101 203 0 93 100 203 0 93 99 203 0 95 98 203 0 95 97 203 0 96 96 203 0 98 95 203 0 99 94 203 0 99 92 203 0 103 91 203 0 104 90 203 0 107 89 203 0 108 88 203 0 110 87 203 0 111 86 203 0 112 85 203 0 112 84 203 0 114 83 203 0 115 82 203 0 117 81 203 0 117 80 203 0 118 79 203 0 120 78 203 0 121 77 203 0 122 76 203 0 126 75 203 0 128 74 203 0 130 73 203 0 131 72 203 0 133 71 203 0 134 70 203 0 135 69 203 0 137 68 203 0 138 67 203 0 140 66 203 0 141 65 203 0 143 64 203 0 144 63 203 0 145 62 203 0 145 61 203 0 149 59 203 0 152 58 203 0 153 57 203 0 153 56 203 0 155 55 203 0 156 54 203 0 157 53 203 0 157 52 203 0 157 51 203 0 159 50 203 0 159 49 203 0 160 48 203 0 162 47 203 1 163 46 203 1 165 45 203 2 167 44 203 3 171 43 203 4 172 42 203 5 174 41 203 6 175 40 203 7 176 39 203 8 178 38 203 9 179 37 203 10 179 36 203 11 181 35 203 12 182 34 203 13 184 33 203 14 185 32 203 15 186 31 203 16 188 30 203 17 189 29 203 18 194 28 203 19 195 26 203 20 197 25 203 21 198 24 203 22 201 23 203 23 202 22 203 24 204 21 203 25 205 20 203 26 205 19 203 28 207 18 203 29 208 17 203 30 209 16 203 31 209 15 203 32 211 14 203 33 213 13 203 34 213 12 203 35 216 11 203 36 217 10 203 37 219 9 203 38 220 8 203 39 221 7 203 40 223 6 203 41 224 5 203 42 226 4 203 43 227 3 203 44 228 2 203 45 230 1 203 46 230 0 203 47 231 0 203 48 231 0 203 48 234 0 203 49 234 0 203 49 235 0 203 49 235 255 202 0 239 254 202 0 239 254 202 0 238 254 202 0 235 253 202 0 235 252 202 0 234 251 202 0 231 250 202 0 231 249 202 0 231 248 202 0 230 247 202 0 230 246 202 0 228 245 202 0 227 244 202 0 226 243 202 0 224 242 202 0 223 241 202 0 220 240 202 0 219 239 202 0 217 238 202 0 217 237 202 0 216 236 202 0 213 235 202 0 211 234 202 0 209 233 202 0 209 232 202 0 208 231 202 0 207 230 202 0 207 229 202 0 205 228 202 0 204 227 202 0 202 226 202 0 201 224 202 0 199 223 202 0 198 222 202 0 195 221 202 0 194 220 202 0 189 219 202 0 188 218 202 0 186 217 202 0 185 216 202 0 184 215 202 0 182 214 202 0 182 213 202 0 181 212 202 0 179 211 202 0 178 210 202 0 176 209 202 0 176 208 202 0 175 207 202 0 172 206 202 0 171 205 202 0 167 204 202 0 166 203 202 0 163 202 202 0 162 201 202 0 160 200 202 0 159 199 202 0 159 198 202 0 157 197 202 0 157 196 202 0 156 195 202 0 156 194 202 0 155 193 202 0 155 191 202 0 152 190 202 0 150 189 202 0 149 188 202 0 145 187 202 0 143 186 202 0 141 185 202 0 140 184 202 0 138 183 202 0 138 182 202 0 137 181 202 0 135 180 202 0 134 179 202 0 133 178 202 0 131 177 202 0 130 176 202 0 128 175 202 0 126 174 202 0 122 173 202 0 121 172 202 0 120 171 202 0 120 170 202 0 118 169 202 0 117 168 202 0 115 167 202 0 114 166 202 0 112 165 202 0 111 164 202 0 110 163 202 0 110 162 202 0 108 161 202 0 107 160 202 0 104 158 202 0 103 157 202 0 102 156 202 0 99 155 202 0 98 154 202 0 96 153 202 0 95 152 202 0 93 151 202 0 93 150 202 0 92 149 202 0 92 148 202 0 91 147 202 0 91 146 202 0 89 145 202 0 89 144 202 0 88 143 202 0 88 142 202 0 86 141 202 0 86 140 202 0 86 139 202 0 84 138 202 0 84 137 202 0 82 136 202 0 81 135 202 0 81 134 202 0 80 133 202 0 80 132 202 0 77 131 202 0 77 130 202 0 77 129 202 0 77 128 202 0 77 127 202 0 77 125 202 0 77 124 202 0 77 123 202 0 77 122 202 0 77 121 202 0 77 120 202 0 77 119 202 0 77 118 202 0 77 117 202 0 77 116 202 0 80 115 202 0 80 114 202 0 81 113 202 0 81 112 202 0 82 111 202 0 84 110 202 0 84 109 202 0 84 108 202 0 86 107 202 0 86 106 202 0 88 105 202 0 88 104 202 0 89 103 202 0 89 102 202 0 91 101 202 0 91 100 202 0 91 99 202 0 92 98 202 0 92 97 202 0 93 96 202 0 95 95 202 0 96 94 202 0 96 92 202 0 99 91 202 0 102 90 202 0 103 89 202 0 104 88 202 0 107 87 202 0 108 86 202 0 108 85 202 0 110 84 202 0 111 83 202 0 112 82 202 0 112 81 202 0 114 80 202 0 115 79 202 0 117 78 202 0 118 77 202 0 120 76 202 0 121 75 202 0 122 74 202 0 126 73 202 0 128 72 202 0 130 71 202 0 131 70 202 0 133 69 202 0 134 68 202 0 135 67 202 0 137 66 202 0 138 65 202 0 138 64 202 0 140 63 202 0 141 62 202 0 143 61 202 0 145 59 202 0 149 58 202 0 150 57 202 0 152 56 202 0 153 55 202 0 155 54 202 0 156 53 202 0 156 52 202 0 157 51 202 0 157 50 202 0 157 49 202 0 159 48 202 1 160 47 202 1 162 46 202 2 163 45 202 3 165 44 202 4 167 43 202 5 171 42 202 6 172 41 202 7 174 40 202 8 175 39 202 9 176 38 202 10 178 37 202 11 179 36 202 12 179 35 202 13 181 34 202 14 182 33 202 15 184 32 202 16 185 31 202 17 186 30 202 18 188 29 202 19 189 28 202 20 194 26 202 21 195 25 202 22 197 24 202 23 199 23 202 24 201 22 202 25 202 21 202 26 204 20 202 27 205 19 202 29 207 18 202 30 207 17 202 31 208 16 202 32 209 15 202 33 209 14 202 34 211 13 202 35 213 12 202 36 216 11 202 37 216 10 202 38 217 9 202 39 219 8 202 40 220 7 202 41 221 6 202 42 223 5 202 43 226 4 202 44 227 3 202 45 228 2 202 46 228 1 202 47 230 0 202 48 230 0 202 49 231 0 202 49 231 0 202 49 234 0 202 50 234 0 202 50 234 255 201 0 239 254 201 0 239 254 201 0 238 254 201 0 235 253 201 0 234 252 201 0 234 251 201 0 231 250 201 0 231 249 201 0 230 248 201 0 230 247 201 0 228 246 201 0 228 245 201 0 226 244 201 0 224 243 201 0 223 242 201 0 221 241 201 0 220 240 201 0 219 239 201 0 217 238 201 0 216 237 201 0 213 236 201 0 213 235 201 0 211 234 201 0 209 233 201 0 208 232 201 0 208 231 201 0 207 230 201 0 205 229 201 0 205 228 201 0 204 227 201 0 202 226 201 0 201 224 201 0 198 223 201 0 197 222 201 0 194 221 201 0 189 220 201 0 188 219 201 0 186 218 201 0 185 217 201 0 184 216 201 0 182 215 201 0 182 214 201 0 181 213 201 0 179 212 201 0 178 211 201 0 176 210 201 0 175 209 201 0 175 208 201 0 172 207 201 0 171 206 201 0 167 205 201 0 166 204 201 0 163 203 201 0 162 202 201 0 160 201 201 0 159 200 201 0 157 199 201 0 157 198 201 0 156 197 201 0 156 196 201 0 156 195 201 0 155 194 201 0 153 193 201 0 153 191 201 0 150 190 201 0 149 189 201 0 144 188 201 0 143 187 201 0 140 186 201 0 138 185 201 0 137 184 201 0 135 183 201 0 134 182 201 0 133 181 201 0 133 180 201 0 131 179 201 0 130 178 201 0 128 177 201 0 126 176 201 0 122 175 201 0 121 174 201 0 121 173 201 0 120 172 201 0 118 171 201 0 117 170 201 0 115 169 201 0 114 168 201 0 111 167 201 0 111 166 201 0 110 165 201 0 108 164 201 0 107 163 201 0 107 162 201 0 104 161 201 0 103 160 201 0 102 158 201 0 99 157 201 0 98 156 201 0 96 155 201 0 95 154 201 0 93 153 201 0 92 152 201 0 92 151 201 0 91 150 201 0 89 149 201 0 89 148 201 0 88 147 201 0 88 146 201 0 86 145 201 0 86 144 201 0 84 143 201 0 84 142 201 0 82 141 201 0 82 140 201 0 82 139 201 0 81 138 201 0 81 137 201 0 80 136 201 0 77 135 201 0 76 134 201 0 76 133 201 0 74 132 201 0 74 131 201 0 73 130 201 0 73 129 201 0 73 128 201 0 73 127 201 0 73 125 201 0 73 124 201 0 73 123 201 0 73 122 201 0 73 121 201 0 73 120 201 0 73 119 201 0 73 118 201 0 73 117 201 0 74 116 201 0 74 115 201 0 74 114 201 0 76 113 201 0 77 112 201 0 80 111 201 0 81 110 201 0 81 109 201 0 82 108 201 0 82 107 201 0 82 106 201 0 84 105 201 0 84 104 201 0 84 103 201 0 86 102 201 0 86 101 201 0 88 100 201 0 89 99 201 0 89 98 201 0 91 97 201 0 91 96 201 0 92 95 201 0 93 94 201 0 95 92 201 0 96 91 201 0 98 90 201 0 99 89 201 0 102 88 201 0 102 87 201 0 103 86 201 0 104 85 201 0 107 84 201 0 108 83 201 0 110 82 201 0 110 81 201 0 111 80 201 0 112 79 201 0 114 78 201 0 115 77 201 0 118 76 201 0 120 75 201 0 120 74 201 0 121 73 201 0 122 72 201 0 126 71 201 0 128 70 201 0 130 69 201 0 131 68 201 0 131 67 201 0 133 66 201 0 134 65 201 0 135 64 201 0 137 63 201 0 138 62 201 0 140 61 201 0 143 59 201 0 144 58 201 0 149 57 201 0 150 56 201 0 152 55 201 0 153 54 201 0 155 53 201 0 155 52 201 0 156 51 201 0 156 50 201 1 157 49 201 1 157 48 201 2 159 47 201 2 160 46 201 3 162 45 201 4 163 44 201 5 165 43 201 6 167 42 201 7 171 41 201 8 172 40 201 9 174 39 201 10 175 38 201 11 176 37 201 12 178 36 201 13 179 35 201 14 179 34 201 15 181 33 201 16 182 32 201 17 184 31 201 18 185 30 201 19 186 29 201 20 188 28 201 21 189 26 201 22 194 25 201 24 195 24 201 25 198 23 201 26 199 22 201 27 201 21 201 28 202 20 201 29 204 19 201 30 205 18 201 31 207 17 201 32 207 16 201 33 208 15 201 34 209 14 201 35 211 13 201 36 211 12 201 37 213 11 201 38 216 10 201 39 217 9 201 40 219 8 201 41 220 7 201 42 221 6 201 43 223 5 201 44 224 4 201 45 226 3 201 46 227 2 201 47 228 1 201 48 230 0 201 49 230 0 201 50 231 0 201 50 231 0 201 51 231 0 201 51 231 0 201 51 234 255 200 0 239 254 200 0 238 254 200 0 238 254 200 0 235 253 200 0 234 252 200 0 231 251 200 0 231 250 200 0 231 249 200 0 230 248 200 0 230 247 200 0 228 246 200 0 227 245 200 0 226 244 200 0 224 243 200 0 223 242 200 0 220 241 200 0 219 240 200 0 219 239 200 0 217 238 200 0 216 237 200 0 213 236 200 0 211 235 200 0 209 234 200 0 209 233 200 0 208 232 200 0 207 231 200 0 207 230 200 0 205 229 200 0 205 228 200 0 204 227 200 0 202 226 200 0 199 224 200 0 197 223 200 0 195 222 200 0 194 221 200 0 189 220 200 0 188 219 200 0 186 218 200 0 185 217 200 0 184 216 200 0 182 215 200 0 181 214 200 0 179 213 200 0 178 212 200 0 176 211 200 0 176 210 200 0 175 209 200 0 174 208 200 0 171 207 200 0 167 206 200 0 166 205 200 0 163 204 200 0 162 203 200 0 160 202 200 0 159 201 200 0 157 200 200 0 157 199 200 0 156 198 200 0 156 197 200 0 155 196 200 0 155 195 200 0 153 194 200 0 153 193 200 0 152 191 200 0 149 190 200 0 145 189 200 0 143 188 200 0 140 187 200 0 138 186 200 0 135 185 200 0 134 184 200 0 133 183 200 0 133 182 200 0 131 181 200 0 130 180 200 0 128 179 200 0 126 178 200 0 122 177 200 0 122 176 200 0 121 175 200 0 120 174 200 0 118 173 200 0 117 172 200 0 115 171 200 0 114 170 200 0 112 169 200 0 111 168 200 0 110 167 200 0 108 166 200 0 107 165 200 0 104 164 200 0 104 163 200 0 103 162 200 0 102 161 200 0 99 160 200 0 98 158 200 0 96 157 200 0 95 156 200 0 93 155 200 0 92 154 200 0 91 153 200 0 91 152 200 0 89 151 200 0 88 150 200 0 88 149 200 0 86 148 200 0 86 147 200 0 84 146 200 0 82 145 200 0 82 144 200 0 81 143 200 0 81 142 200 0 80 141 200 0 80 140 200 0 80 139 200 0 77 138 200 0 77 137 200 0 76 136 200 0 74 135 200 0 73 134 200 0 73 133 200 0 71 132 200 0 70 131 200 0 70 130 200 0 70 129 200 0 70 128 200 0 70 127 200 0 70 125 200 0 70 124 200 0 70 123 200 0 70 122 200 0 70 121 200 0 70 120 200 0 70 119 200 0 70 118 200 0 70 117 200 0 70 116 200 0 71 115 200 0 71 114 200 0 73 113 200 0 74 112 200 0 76 111 200 0 77 110 200 0 77 109 200 0 80 108 200 0 80 107 200 0 80 106 200 0 80 105 200 0 81 104 200 0 81 103 200 0 82 102 200 0 84 101 200 0 86 100 200 0 86 99 200 0 88 98 200 0 88 97 200 0 89 96 200 0 89 95 200 0 91 94 200 0 92 92 200 0 93 91 200 0 95 90 200 0 96 89 200 0 98 88 200 0 99 87 200 0 102 86 200 0 103 85 200 0 103 84 200 0 104 83 200 0 107 82 200 0 108 81 200 0 110 80 200 0 111 79 200 0 112 78 200 0 114 77 200 0 115 76 200 0 117 75 200 0 118 74 200 0 120 73 200 0 121 72 200 0 121 71 200 0 122 70 200 0 126 69 200 0 128 68 200 0 130 67 200 0 131 66 200 0 131 65 200 0 133 64 200 0 134 63 200 0 135 62 200 0 138 61 200 0 140 59 200 0 143 58 200 0 145 57 200 0 149 56 200 0 150 55 200 0 152 54 200 0 153 53 200 0 155 52 200 0 155 51 200 1 156 50 200 2 156 49 200 2 157 48 200 3 157 47 200 3 159 46 200 4 160 45 200 5 162 44 200 6 163 43 200 7 166 42 200 9 167 41 200 10 171 40 200 10 172 39 200 11 174 38 200 12 175 37 200 13 176 36 200 14 178 35 200 15 179 34 200 17 181 33 200 18 182 32 200 18 184 31 200 19 185 30 200 20 186 29 200 21 188 28 200 22 188 26 200 24 194 25 200 25 195 24 200 26 197 23 200 27 199 22 200 28 201 21 200 29 202 20 200 30 204 19 200 31 205 18 200 32 207 17 200 34 207 16 200 35 208 15 200 35 209 14 200 36 209 13 200 37 211 12 200 38 213 11 200 39 216 10 200 40 217 9 200 42 219 8 200 43 219 7 200 43 220 6 200 44 221 5 200 45 223 4 200 46 226 3 200 47 227 2 200 48 228 1 200 50 230 0 200 50 230 0 200 51 230 0 200 52 231 0 200 52 231 0 200 52 231 0 200 52 231 255 199 0 239 254 199 0 238 254 199 0 238 254 199 0 235 253 199 0 234 252 199 0 231 251 199 0 231 250 199 0 230 249 199 0 230 248 199 0 230 247 199 0 228 246 199 0 227 245 199 0 224 244 199 0 223 243 199 0 221 242 199 0 220 241 199 0 219 240 199 0 217 239 199 0 217 238 199 0 216 237 199 0 213 236 199 0 211 235 199 0 209 234 199 0 209 233 199 0 208 232 199 0 207 231 199 0 207 230 199 0 205 229 199 0 204 228 199 0 202 227 199 0 201 226 199 0 199 224 199 0 197 223 199 0 194 222 199 0 189 221 199 0 188 220 199 0 186 219 199 0 185 218 199 0 184 217 199 0 182 216 199 0 181 215 199 0 179 214 199 0 178 213 199 0 178 212 199 0 176 211 199 0 175 210 199 0 174 209 199 0 172 208 199 0 167 207 199 0 166 206 199 0 165 205 199 0 162 204 199 0 160 203 199 0 159 202 199 0 157 201 199 0 157 200 199 0 156 199 199 0 156 198 199 0 155 197 199 0 155 196 199 0 153 195 199 0 152 194 199 0 152 193 199 0 150 191 199 0 145 190 199 0 144 189 199 0 141 188 199 0 138 187 199 0 135 186 199 0 134 185 199 0 133 184 199 0 131 183 199 0 130 182 199 0 128 181 199 0 126 180 199 0 122 179 199 0 122 178 199 0 121 177 199 0 120 176 199 0 120 175 199 0 118 174 199 0 117 173 199 0 115 172 199 0 114 171 199 0 112 170 199 0 111 169 199 0 108 168 199 0 107 167 199 0 104 166 199 0 103 165 199 0 103 164 199 0 102 163 199 0 99 162 199 0 98 161 199 0 98 160 199 0 96 158 199 0 95 157 199 0 92 156 199 0 91 155 199 0 89 154 199 0 89 153 199 0 88 152 199 0 86 151 199 0 86 150 199 0 84 149 199 0 84 148 199 0 82 147 199 0 81 146 199 0 80 145 199 0 77 144 199 0 77 143 199 0 76 142 199 0 76 141 199 0 76 140 199 0 74 139 199 0 74 138 199 0 74 137 199 0 73 136 199 0 71 135 199 0 71 134 199 0 70 133 199 0 69 132 199 0 67 131 199 0 67 130 199 0 67 129 199 0 67 128 199 0 66 127 199 0 66 125 199 0 66 124 199 0 66 123 199 0 66 122 199 0 66 121 199 0 66 120 199 0 67 119 199 0 67 118 199 0 67 117 199 0 67 116 199 0 69 115 199 0 70 114 199 0 70 113 199 0 71 112 199 0 73 111 199 0 74 110 199 0 74 109 199 0 74 108 199 0 76 107 199 0 76 106 199 0 76 105 199 0 77 104 199 0 77 103 199 0 80 102 199 0 81 101 199 0 82 100 199 0 84 99 199 0 84 98 199 0 86 97 199 0 86 96 199 0 88 95 199 0 88 94 199 0 89 92 199 0 91 91 199 0 92 90 199 0 93 89 199 0 95 88 199 0 96 87 199 0 98 86 199 0 99 85 199 0 102 84 199 0 102 83 199 0 103 82 199 0 104 81 199 0 107 80 199 0 108 79 199 0 110 78 199 0 111 77 199 0 112 76 199 0 115 75 199 0 117 74 199 0 118 73 199 0 118 72 199 0 120 71 199 0 121 70 199 0 122 69 199 0 122 68 199 0 126 67 199 0 128 66 199 0 130 65 199 0 130 64 199 0 131 63 199 0 134 62 199 0 135 61 199 0 138 59 199 0 141 58 199 0 144 57 199 0 145 56 199 0 149 55 199 0 150 54 199 0 152 53 199 0 153 52 199 1 153 51 199 2 155 50 199 2 156 49 199 3 156 48 199 4 157 47 199 4 157 46 199 5 159 45 199 6 160 44 199 7 162 43 199 9 163 42 199 10 166 41 199 11 167 40 199 12 171 39 199 12 174 38 199 13 175 37 199 14 175 36 199 15 176 35 199 17 178 34 199 18 179 33 199 19 181 32 199 20 182 31 199 20 184 30 199 21 185 29 199 22 186 28 199 24 188 26 199 25 189 25 199 26 194 24 199 27 197 23 199 28 198 22 199 29 201 21 199 30 202 20 199 31 204 19 199 32 205 18 199 34 205 17 199 35 207 16 199 36 208 15 199 37 208 14 199 37 209 13 199 38 211 12 199 39 213 11 199 40 216 10 199 42 217 9 199 43 217 8 199 44 219 7 199 45 220 6 199 45 221 5 199 46 223 4 199 47 224 3 199 48 226 2 199 50 228 1 199 51 228 0 199 52 230 0 199 52 230 0 199 53 230 0 199 53 231 0 199 53 231 0 199 53 231 255 198 0 239 254 198 0 238 254 198 0 238 254 198 0 235 253 198 0 234 252 198 0 231 251 198 0 230 250 198 0 230 249 198 0 230 248 198 0 228 247 198 0 227 246 198 0 226 245 198 0 224 244 198 0 223 243 198 0 221 242 198 0 220 241 198 0 219 240 198 0 217 239 198 0 217 238 198 0 216 237 198 0 213 236 198 0 211 235 198 0 209 234 198 0 209 233 198 0 208 232 198 0 207 231 198 0 207 230 198 0 205 229 198 0 204 228 198 0 202 227 198 0 201 226 198 0 199 224 198 0 197 223 198 0 194 222 198 0 189 221 198 0 188 220 198 0 186 219 198 0 185 218 198 0 184 217 198 0 182 216 198 0 181 215 198 0 179 214 198 0 178 213 198 0 176 212 198 0 175 211 198 0 174 210 198 0 172 209 198 0 171 208 198 0 166 207 198 0 165 206 198 0 162 205 198 0 160 204 198 0 159 203 198 0 159 202 198 0 157 201 198 0 156 200 198 0 156 199 198 0 155 198 198 0 155 197 198 0 153 196 198 0 152 195 198 0 150 194 198 0 150 193 198 0 145 191 198 0 144 190 198 0 143 189 198 0 140 188 198 0 137 187 198 0 134 186 198 0 133 185 198 0 130 184 198 0 128 183 198 0 128 182 198 0 126 181 198 0 122 180 198 0 121 179 198 0 121 178 198 0 120 177 198 0 118 176 198 0 117 175 198 0 115 174 198 0 115 173 198 0 112 172 198 0 111 171 198 0 110 170 198 0 108 169 198 0 107 168 198 0 104 167 198 0 103 166 198 0 102 165 198 0 99 164 198 0 98 163 198 0 98 162 198 0 96 161 198 0 95 160 198 0 93 158 198 0 92 157 198 0 91 156 198 0 89 155 198 0 88 154 198 0 86 153 198 0 84 152 198 0 84 151 198 0 82 150 198 0 82 149 198 0 81 148 198 0 81 147 198 0 80 146 198 0 77 145 198 0 74 144 198 0 73 143 198 0 73 142 198 0 71 141 198 0 71 140 198 0 71 139 198 0 71 138 198 0 71 137 198 0 70 136 198 0 70 135 198 0 69 134 198 0 67 133 198 0 66 132 198 0 66 131 198 0 64 130 198 0 64 129 198 0 64 128 198 0 64 127 198 0 64 125 198 0 62 124 198 0 62 123 198 0 62 122 198 0 64 121 198 0 64 120 198 0 64 119 198 0 64 118 198 0 64 117 198 0 66 116 198 0 66 115 198 0 67 114 198 0 69 113 198 0 69 112 198 0 70 111 198 0 71 110 198 0 71 109 198 0 71 108 198 0 71 107 198 0 71 106 198 0 73 105 198 0 73 104 198 0 74 103 198 0 76 102 198 0 77 101 198 0 80 100 198 0 81 99 198 0 82 98 198 0 82 97 198 0 84 96 198 0 84 95 198 0 86 94 198 0 88 92 198 0 89 91 198 0 91 90 198 0 92 89 198 0 93 88 198 0 95 87 198 0 96 86 198 0 96 85 198 0 98 84 198 0 99 83 198 0 102 82 198 0 103 81 198 0 104 80 198 0 107 79 198 0 108 78 198 0 110 77 198 0 111 76 198 0 112 75 198 0 114 74 198 0 115 73 198 0 117 72 198 0 118 71 198 0 120 70 198 0 121 69 198 0 121 68 198 0 122 67 198 0 126 66 198 0 126 65 198 0 128 64 198 0 130 63 198 0 131 62 198 0 134 61 198 0 137 59 198 0 140 58 198 0 143 57 198 0 144 56 198 0 145 55 198 0 149 54 198 0 150 53 198 0 152 52 198 1 153 51 198 2 153 50 198 3 155 49 198 4 156 48 198 5 156 47 198 5 157 46 198 6 157 45 198 7 159 44 198 8 160 43 198 10 162 42 198 11 165 41 198 12 166 40 198 13 167 39 198 13 172 38 198 14 174 37 198 15 175 36 198 16 176 35 198 18 178 34 198 19 178 33 198 20 181 32 198 21 182 31 198 21 184 30 198 22 185 29 198 23 186 28 198 25 188 26 198 26 189 25 198 27 194 24 198 28 195 23 198 29 198 22 198 30 201 21 198 31 202 20 198 32 204 19 198 33 205 18 198 35 205 17 198 36 207 16 198 37 208 15 198 38 208 14 198 38 209 13 198 39 211 12 198 40 213 11 198 41 216 10 198 43 217 9 198 44 217 8 198 45 219 7 198 46 220 6 198 46 221 5 198 47 221 4 198 48 224 3 198 49 226 2 198 51 227 1 198 52 228 0 198 53 230 0 198 53 230 0 198 54 230 0 198 54 230 0 198 54 231 0 198 54 231 255 197 0 239 254 197 0 238 254 197 0 238 254 197 0 235 253 197 0 234 252 197 0 231 251 197 0 230 250 197 0 230 249 197 0 228 248 197 0 228 247 197 0 227 246 197 0 226 245 197 0 223 244 197 0 221 243 197 0 220 242 197 0 220 241 197 0 219 240 197 0 217 239 197 0 217 238 197 0 216 237 197 0 213 236 197 0 211 235 197 0 209 234 197 0 209 233 197 0 208 232 197 0 207 231 197 0 207 230 197 0 205 229 197 0 204 228 197 0 202 227 197 0 201 226 197 0 199 224 197 0 197 223 197 0 194 222 197 0 188 221 197 0 186 220 197 0 185 219 197 0 185 218 197 0 184 217 197 0 181 216 197 0 179 215 197 0 178 214 197 0 176 213 197 0 175 212 197 0 175 211 197 0 174 210 197 0 172 209 197 0 167 208 197 0 165 207 197 0 163 206 197 0 162 205 197 0 159 204 197 0 157 203 197 0 157 202 197 0 156 201 197 0 156 200 197 0 155 199 197 0 155 198 197 0 153 197 197 0 152 196 197 0 152 195 197 0 150 194 197 0 149 193 197 0 145 191 197 0 143 190 197 0 141 189 197 0 138 188 197 0 135 187 197 0 133 186 197 0 131 185 197 0 130 184 197 0 128 183 197 0 126 182 197 0 122 181 197 0 121 180 197 0 121 179 197 0 120 178 197 0 118 177 197 0 117 176 197 0 117 175 197 0 115 174 197 0 112 173 197 0 111 172 197 0 110 171 197 0 108 170 197 0 107 169 197 0 104 168 197 0 103 167 197 0 102 166 197 0 99 165 197 0 98 164 197 0 96 163 197 0 95 162 197 0 95 161 197 0 93 160 197 0 92 158 197 0 91 157 197 0 89 156 197 0 88 155 197 0 86 154 197 0 84 153 197 0 82 152 197 0 82 151 197 0 81 150 197 0 80 149 197 0 80 148 197 0 77 147 197 0 76 146 197 0 74 145 197 0 73 144 197 0 71 143 197 0 70 142 197 0 69 141 197 0 69 140 197 0 69 139 197 0 69 138 197 0 69 137 197 0 69 136 197 0 67 135 197 0 67 134 197 0 66 133 197 0 64 132 197 0 64 131 197 0 62 130 197 0 62 129 197 0 62 128 197 0 62 127 197 0 60 125 197 0 60 124 197 0 60 123 197 0 60 122 197 0 60 121 197 0 62 120 197 0 62 119 197 0 62 118 197 0 62 117 197 0 64 116 197 0 64 115 197 0 66 114 197 0 67 113 197 0 67 112 197 0 69 111 197 0 69 110 197 0 69 109 197 0 69 108 197 0 69 107 197 0 69 106 197 0 70 105 197 0 70 104 197 0 71 103 197 0 74 102 197 0 76 101 197 0 77 100 197 0 80 99 197 0 80 98 197 0 81 97 197 0 81 96 197 0 82 95 197 0 84 94 197 0 86 92 197 0 88 91 197 0 89 90 197 0 91 89 197 0 92 88 197 0 93 87 197 0 93 86 197 0 95 85 197 0 96 84 197 0 98 83 197 0 99 82 197 0 102 81 197 0 103 80 197 0 104 79 197 0 107 78 197 0 108 77 197 0 110 76 197 0 111 75 197 0 112 74 197 0 114 73 197 0 115 72 197 0 117 71 197 0 118 70 197 0 120 69 197 0 121 68 197 0 121 67 197 0 122 66 197 0 126 65 197 0 126 64 197 0 128 63 197 0 131 62 197 0 133 61 197 0 135 59 197 0 138 58 197 0 140 57 197 0 143 56 197 0 144 55 197 0 149 54 197 0 149 53 197 1 150 52 197 2 152 51 197 3 153 50 197 4 153 49 197 5 155 48 197 6 156 47 197 6 156 46 197 7 157 45 197 8 157 44 197 9 159 43 197 10 160 42 197 12 163 41 197 13 165 40 197 14 167 39 197 14 171 38 197 15 172 37 197 16 174 36 197 17 175 35 197 18 176 34 197 20 178 33 197 21 179 32 197 22 181 31 197 22 182 30 197 23 184 29 197 24 185 28 197 26 186 26 197 27 188 25 197 28 194 24 197 29 195 23 197 30 198 22 197 31 201 21 197 32 202 20 197 33 204 19 197 34 205 18 197 35 205 17 197 37 207 16 197 38 208 15 197 39 208 14 197 39 209 13 197 40 211 12 197 41 213 11 197 42 216 10 197 43 217 9 197 45 217 8 197 46 219 7 197 47 220 6 197 47 220 5 197 48 221 4 197 49 223 3 197 50 224 2 197 51 226 1 197 53 227 0 197 53 228 0 197 54 230 0 197 55 230 0 197 55 230 0 197 55 231 0 197 55 231 255 196 0 239 254 196 0 238 254 196 0 235 254 196 0 234 253 196 0 234 252 196 0 231 251 196 0 230 250 196 0 230 249 196 0 228 248 196 0 227 247 196 0 226 246 196 0 224 245 196 0 223 244 196 0 221 243 196 0 220 242 196 0 219 241 196 0 219 240 196 0 217 239 196 0 216 238 196 0 213 237 196 0 213 236 196 0 211 235 196 0 209 234 196 0 208 233 196 0 208 232 196 0 207 231 196 0 205 230 196 0 205 229 196 0 204 228 196 0 202 227 196 0 201 226 196 0 198 224 196 0 195 223 196 0 194 222 196 0 188 221 196 0 186 220 196 0 185 219 196 0 184 218 196 0 182 217 196 0 181 216 196 0 179 215 196 0 178 214 196 0 176 213 196 0 175 212 196 0 174 211 196 0 172 210 196 0 171 209 196 0 167 208 196 0 165 207 196 0 162 206 196 0 160 205 196 0 159 204 196 0 157 203 196 0 156 202 196 0 156 201 196 0 155 200 196 0 153 199 196 0 153 198 196 0 152 197 196 0 150 196 196 0 149 195 196 0 149 194 196 0 145 193 196 0 143 191 196 0 141 190 196 0 138 189 196 0 137 188 196 0 134 187 196 0 131 186 196 0 130 185 196 0 128 184 196 0 126 183 196 0 122 182 196 0 121 181 196 0 120 180 196 0 120 179 196 0 118 178 196 0 117 177 196 0 115 176 196 0 115 175 196 0 112 174 196 0 111 173 196 0 110 172 196 0 108 171 196 0 107 170 196 0 104 169 196 0 103 168 196 0 102 167 196 0 99 166 196 0 98 165 196 0 96 164 196 0 95 163 196 0 93 162 196 0 92 161 196 0 92 160 196 0 91 158 196 0 89 157 196 0 88 156 196 0 86 155 196 0 84 154 196 0 82 153 196 0 81 152 196 0 80 151 196 0 77 150 196 0 76 149 196 0 76 148 196 0 74 147 196 0 73 146 196 0 71 145 196 0 70 144 196 0 69 143 196 0 67 142 196 0 66 141 196 0 66 140 196 0 66 139 196 0 66 138 196 0 66 137 196 0 66 136 196 0 64 135 196 0 64 134 196 0 64 133 196 0 62 132 196 0 62 131 196 0 60 130 196 0 60 129 196 0 60 128 196 0 60 127 196 0 59 125 196 0 59 124 196 0 59 123 196 0 59 122 196 0 59 121 196 0 59 120 196 0 60 119 196 0 60 118 196 0 60 117 196 0 62 116 196 0 62 115 196 0 64 114 196 0 64 113 196 0 64 112 196 0 66 111 196 0 66 110 196 0 66 109 196 0 66 108 196 0 66 107 196 0 66 106 196 0 67 105 196 0 67 104 196 0 69 103 196 0 71 102 196 0 73 101 196 0 74 100 196 0 76 99 196 0 76 98 196 0 77 97 196 0 80 96 196 0 81 95 196 0 81 94 196 0 82 92 196 0 86 91 196 0 86 90 196 0 88 89 196 0 89 88 196 0 91 87 196 0 92 86 196 0 93 85 196 0 95 84 196 0 95 83 196 0 96 82 196 0 98 81 196 0 99 80 196 0 102 79 196 0 104 78 196 0 107 77 196 0 108 76 196 0 110 75 196 0 111 74 196 0 112 73 196 0 114 72 196 0 115 71 196 0 117 70 196 0 118 69 196 0 120 68 196 0 120 67 196 0 121 66 196 0 122 65 196 0 122 64 196 0 126 63 196 0 130 62 196 0 131 61 196 0 134 59 196 0 135 58 196 0 138 57 196 0 141 56 196 0 143 55 196 0 144 54 196 1 145 53 196 1 149 52 196 2 150 51 196 3 152 50 196 4 153 49 196 5 153 48 196 6 155 47 196 7 156 46 196 8 156 45 196 9 157 44 196 10 159 43 196 11 160 42 196 12 162 41 196 13 163 40 196 14 166 39 196 15 171 38 196 16 172 37 196 17 174 36 196 18 175 35 196 19 176 34 196 20 178 33 196 21 179 32 196 22 181 31 196 23 182 30 196 24 184 29 196 25 185 28 196 27 186 26 196 28 188 25 196 29 189 24 196 30 195 23 196 31 198 22 196 32 201 21 196 33 202 20 196 34 204 19 196 35 205 18 196 36 205 17 196 37 207 16 196 38 208 15 196 39 208 14 196 40 209 13 196 41 211 12 196 42 213 11 196 43 213 10 196 44 216 9 196 45 217 8 196 46 219 7 196 47 219 6 196 48 220 5 196 49 221 4 196 50 221 3 196 51 224 2 196 52 226 1 196 53 227 0 196 54 228 0 196 55 228 0 196 55 230 0 196 56 230 0 196 56 231 0 196 56 231 255 195 0 238 254 195 0 238 254 195 0 235 254 195 0 234 253 195 0 231 252 195 0 231 251 195 0 230 250 195 0 228 249 195 0 228 248 195 0 226 247 195 0 224 246 195 0 223 245 195 0 221 244 195 0 220 243 195 0 220 242 195 0 219 241 195 0 217 240 195 0 217 239 195 0 216 238 195 0 213 237 195 0 211 236 195 0 211 235 195 0 209 234 195 0 208 233 195 0 208 232 195 0 207 231 195 0 205 230 195 0 205 229 195 0 204 228 195 0 202 227 195 0 199 226 195 0 198 224 195 0 195 223 195 0 189 222 195 0 188 221 195 0 185 220 195 0 184 219 195 0 182 218 195 0 181 217 195 0 179 216 195 0 178 215 195 0 176 214 195 0 175 213 195 0 175 212 195 0 174 211 195 0 172 210 195 0 167 209 195 0 166 208 195 0 163 207 195 0 160 206 195 0 159 205 195 0 157 204 195 0 156 203 195 0 156 202 195 0 155 201 195 0 153 200 195 0 153 199 195 0 152 198 195 0 150 197 195 0 149 196 195 0 145 195 195 0 144 194 195 0 143 193 195 0 141 191 195 0 138 190 195 0 137 189 195 0 134 188 195 0 131 187 195 0 130 186 195 0 128 185 195 0 126 184 195 0 122 183 195 0 121 182 195 0 120 181 195 0 118 180 195 0 118 179 195 0 117 178 195 0 115 177 195 0 114 176 195 0 112 175 195 0 111 174 195 0 110 173 195 0 108 172 195 0 104 171 195 0 103 170 195 0 103 169 195 0 99 168 195 0 98 167 195 0 96 166 195 0 95 165 195 0 93 164 195 0 92 163 195 0 91 162 195 0 89 161 195 0 89 160 195 0 88 158 195 0 86 157 195 0 84 156 195 0 82 155 195 0 81 154 195 0 80 153 195 0 77 152 195 0 76 151 195 0 74 150 195 0 73 149 195 0 71 148 195 0 71 147 195 0 70 146 195 0 69 145 195 0 67 144 195 0 66 143 195 0 64 142 195 0 62 141 195 0 62 140 195 0 62 139 195 0 62 138 195 0 62 137 195 0 60 136 195 0 60 135 195 0 60 134 195 0 60 133 195 0 59 132 195 0 59 131 195 0 59 130 195 0 59 129 195 0 57 128 195 0 57 127 195 0 57 125 195 0 54 124 195 0 54 123 195 0 54 122 195 0 54 121 195 0 57 120 195 0 57 119 195 0 59 118 195 0 59 117 195 0 59 116 195 0 59 115 195 0 60 114 195 0 60 113 195 0 60 112 195 0 60 111 195 0 62 110 195 0 62 109 195 0 62 108 195 0 62 107 195 0 62 106 195 0 64 105 195 0 64 104 195 0 66 103 195 0 67 102 195 0 69 101 195 0 70 100 195 0 71 99 195 0 73 98 195 0 74 97 195 0 76 96 195 0 77 95 195 0 80 94 195 0 81 92 195 0 82 91 195 0 84 90 195 0 86 89 195 0 88 88 195 0 88 87 195 0 89 86 195 0 91 85 195 0 92 84 195 0 93 83 195 0 95 82 195 0 96 81 195 0 98 80 195 0 99 79 195 0 102 78 195 0 103 77 195 0 104 76 195 0 107 75 195 0 108 74 195 0 111 73 195 0 112 72 195 0 114 71 195 0 115 70 195 0 117 69 195 0 118 68 195 0 118 67 195 0 120 66 195 0 121 65 195 0 122 64 195 0 126 63 195 0 128 62 195 0 130 61 195 0 131 59 195 0 134 58 195 0 135 57 195 0 138 56 195 0 141 55 195 1 143 54 195 1 144 53 195 2 145 52 195 3 149 51 195 4 150 50 195 5 150 49 195 6 152 48 195 7 153 47 195 8 155 46 195 9 156 45 195 10 156 44 195 11 157 43 195 12 159 42 195 13 160 41 195 14 163 40 195 15 165 39 195 16 167 38 195 17 171 37 195 18 172 36 195 19 174 35 195 20 175 34 195 21 176 33 195 22 178 32 195 23 179 31 195 24 181 30 195 25 182 29 195 26 184 28 195 28 185 26 195 29 188 25 195 30 189 24 195 31 195 23 195 32 197 22 195 33 199 21 195 34 201 20 195 35 202 19 195 36 204 18 195 37 205 17 195 38 207 16 195 39 207 15 195 40 208 14 195 41 209 13 195 42 211 12 195 43 211 11 195 44 213 10 195 45 216 9 195 46 217 8 195 47 217 7 195 48 219 6 195 49 220 5 195 50 220 4 195 51 221 3 195 52 223 2 195 53 224 1 195 54 226 0 195 55 227 0 195 56 228 0 195 56 230 0 195 57 230 0 195 57 231 0 195 57 231 255 194 0 238 254 194 0 235 254 194 0 235 254 194 0 234 253 194 0 231 252 194 0 231 251 194 0 230 250 194 0 228 249 194 0 227 248 194 0 226 247 194 0 224 246 194 0 223 245 194 0 221 244 194 0 220 243 194 0 219 242 194 0 219 241 194 0 217 240 194 0 216 239 194 0 216 238 194 0 213 237 194 0 211 236 194 0 209 235 194 0 209 234 194 0 208 233 194 0 207 232 194 0 207 231 194 0 205 230 194 0 204 229 194 0 202 228 194 0 201 227 194 0 199 226 194 0 197 224 194 0 194 223 194 0 189 222 194 0 186 221 194 0 185 220 194 0 184 219 194 0 182 218 194 0 181 217 194 0 179 216 194 0 178 215 194 0 176 214 194 0 175 213 194 0 174 212 194 0 172 211 194 0 171 210 194 0 167 209 194 0 165 208 194 0 162 207 194 0 160 206 194 0 159 205 194 0 156 204 194 0 156 203 194 0 155 202 194 0 153 201 194 0 153 200 194 0 152 199 194 0 150 198 194 0 145 197 194 0 145 196 194 0 144 195 194 0 143 194 194 0 141 193 194 0 138 191 194 0 137 190 194 0 134 189 194 0 133 188 194 0 130 187 194 0 128 186 194 0 126 185 194 0 122 184 194 0 121 183 194 0 120 182 194 0 118 181 194 0 117 180 194 0 115 179 194 0 115 178 194 0 114 177 194 0 112 176 194 0 111 175 194 0 108 174 194 0 107 173 194 0 104 172 194 0 103 171 194 0 102 170 194 0 99 169 194 0 98 168 194 0 96 167 194 0 95 166 194 0 93 165 194 0 91 164 194 0 89 163 194 0 88 162 194 0 86 161 194 0 86 160 194 0 84 158 194 0 82 157 194 0 81 156 194 0 80 155 194 0 77 154 194 0 76 153 194 0 74 152 194 0 73 151 194 0 71 150 194 0 70 149 194 0 69 148 194 0 67 147 194 0 67 146 194 0 66 145 194 0 64 144 194 0 62 143 194 0 60 142 194 0 60 141 194 0 59 140 194 0 59 139 194 0 59 138 194 0 57 137 194 0 57 136 194 0 57 135 194 0 57 134 194 0 57 133 194 0 54 132 194 0 54 131 194 0 54 130 194 0 54 129 194 0 54 128 194 0 53 127 194 0 53 125 194 0 53 124 194 0 51 123 194 0 51 122 194 0 53 121 194 0 53 120 194 0 54 119 194 0 54 118 194 0 54 117 194 0 54 116 194 0 54 115 194 0 57 114 194 0 57 113 194 0 57 112 194 0 57 111 194 0 57 110 194 0 59 109 194 0 59 108 194 0 59 107 194 0 60 106 194 0 60 105 194 0 62 104 194 0 64 103 194 0 64 102 194 0 66 101 194 0 67 100 194 0 69 99 194 0 70 98 194 0 71 97 194 0 73 96 194 0 74 95 194 0 76 94 194 0 77 92 194 0 80 91 194 0 81 90 194 0 82 89 194 0 84 88 194 0 84 87 194 0 86 86 194 0 88 85 194 0 89 84 194 0 91 83 194 0 92 82 194 0 95 81 194 0 96 80 194 0 98 79 194 0 99 78 194 0 102 77 194 0 103 76 194 0 104 75 194 0 107 74 194 0 108 73 194 0 111 72 194 0 112 71 194 0 114 70 194 0 114 69 194 0 115 68 194 0 117 67 194 0 118 66 194 0 120 65 194 0 121 64 194 0 122 63 194 0 126 62 194 0 128 61 194 0 130 59 194 0 131 58 194 0 134 57 194 0 135 56 194 1 138 55 194 1 140 54 194 2 141 53 194 3 143 52 194 4 144 51 194 5 145 50 194 6 149 49 194 7 150 48 194 8 152 47 194 9 153 46 194 10 155 45 194 11 156 44 194 12 156 43 194 13 157 42 194 14 160 41 194 15 162 40 194 16 165 39 194 17 166 38 194 18 171 37 194 19 172 36 194 20 174 35 194 21 175 34 194 22 176 33 194 23 178 32 194 24 179 31 194 25 181 30 194 26 182 29 194 27 184 28 194 29 185 26 194 30 186 25 194 31 189 24 194 32 194 23 194 33 197 22 194 34 199 21 194 35 201 20 194 36 202 19 194 37 204 18 194 38 205 17 194 39 205 16 194 40 207 15 194 41 208 14 194 42 208 13 194 43 209 12 194 44 211 11 194 45 213 10 194 46 216 9 194 47 216 8 194 48 217 7 194 49 219 6 194 50 219 5 194 51 220 4 194 52 220 3 194 53 221 2 194 54 223 1 194 55 226 0 194 56 227 0 194 57 228 0 194 58 230 0 194 58 230 0 194 58 231 0 194 58 231 255 193 0 235 254 193 0 235 254 193 0 234 254 193 0 231 253 193 0 231 252 193 0 231 251 193 0 230 250 193 0 228 249 193 0 227 248 193 0 224 247 193 0 223 246 193 0 221 245 193 0 220 244 193 0 219 243 193 0 219 242 193 0 217 241 193 0 217 240 193 0 216 239 193 0 213 238 193 0 211 237 193 0 211 236 193 0 209 235 193 0 208 234 193 0 208 233 193 0 207 232 193 0 205 231 193 0 204 230 193 0 202 229 193 0 201 228 193 0 199 227 193 0 198 226 193 0 195 224 193 0 194 223 193 0 188 222 193 0 186 221 193 0 184 220 193 0 182 219 193 0 181 218 193 0 179 217 193 0 178 216 193 0 176 215 193 0 175 214 193 0 174 213 193 0 172 212 193 0 171 211 193 0 167 210 193 0 166 209 193 0 163 208 193 0 160 207 193 0 159 206 193 0 157 205 193 0 156 204 193 0 155 203 193 0 155 202 193 0 153 201 193 0 152 200 193 0 149 199 193 0 145 198 193 0 144 197 193 0 143 196 193 0 141 195 193 0 140 194 193 0 138 193 193 0 137 191 193 0 134 190 193 0 133 189 193 0 130 188 193 0 128 187 193 0 126 186 193 0 122 185 193 0 121 184 193 0 120 183 193 0 118 182 193 0 117 181 193 0 115 180 193 0 114 179 193 0 112 178 193 0 111 177 193 0 110 176 193 0 108 175 193 0 107 174 193 0 103 173 193 0 102 172 193 0 99 171 193 0 98 170 193 0 98 169 193 0 96 168 193 0 93 167 193 0 92 166 193 0 91 165 193 0 89 164 193 0 88 163 193 0 84 162 193 0 82 161 193 0 81 160 193 0 81 158 193 0 80 157 193 0 77 156 193 0 76 155 193 0 74 154 193 0 73 153 193 0 71 152 193 0 70 151 193 0 69 150 193 0 67 149 193 0 66 148 193 0 64 147 193 0 62 146 193 0 60 145 193 0 60 144 193 0 59 143 193 0 59 142 193 0 57 141 193 0 57 140 193 0 54 139 193 0 54 138 193 0 53 137 193 0 53 136 193 0 51 135 193 0 51 134 193 0 51 133 193 0 51 132 193 0 51 131 193 0 51 130 193 0 51 129 193 0 50 128 193 0 50 127 193 0 50 125 193 0 49 124 193 0 49 123 193 0 49 122 193 0 50 121 193 0 50 120 193 0 50 119 193 0 51 118 193 0 51 117 193 0 51 116 193 0 51 115 193 0 51 114 193 0 51 113 193 0 51 112 193 0 53 111 193 0 53 110 193 0 54 109 193 0 54 108 193 0 57 107 193 0 57 106 193 0 57 105 193 0 59 104 193 0 60 103 193 0 60 102 193 0 62 101 193 0 64 100 193 0 66 99 193 0 67 98 193 0 69 97 193 0 70 96 193 0 71 95 193 0 73 94 193 0 74 92 193 0 76 91 193 0 77 90 193 0 77 89 193 0 80 88 193 0 81 87 193 0 82 86 193 0 84 85 193 0 86 84 193 0 89 83 193 0 91 82 193 0 92 81 193 0 93 80 193 0 95 79 193 0 96 78 193 0 98 77 193 0 99 76 193 0 102 75 193 0 103 74 193 0 107 73 193 0 108 72 193 0 110 71 193 0 111 70 193 0 112 69 193 0 114 68 193 0 115 67 193 0 117 66 193 0 118 65 193 0 120 64 193 0 121 63 193 0 122 62 193 0 126 61 193 0 128 59 193 0 130 58 193 1 131 57 193 1 134 56 193 2 135 55 193 2 138 54 193 3 140 53 193 4 141 52 193 5 143 51 193 6 144 50 193 7 145 49 193 8 149 48 193 9 150 47 193 10 152 46 193 11 153 45 193 12 155 44 193 13 156 43 193 14 157 42 193 15 159 41 193 16 160 40 193 17 163 39 193 18 165 38 193 19 167 37 193 20 171 36 193 21 172 35 193 22 174 34 193 24 175 33 193 25 176 32 193 26 178 31 193 27 179 30 193 28 181 29 193 29 182 28 193 30 184 26 193 31 186 25 193 32 188 24 193 33 194 23 193 34 195 22 193 35 198 21 193 36 199 20 193 37 201 19 193 38 202 18 193 39 204 17 193 40 205 16 193 41 207 15 193 42 207 14 193 43 208 13 193 44 209 12 193 45 209 11 193 46 211 10 193 47 213 9 193 48 216 8 193 49 217 7 193 50 217 6 193 51 219 5 193 52 219 4 193 53 220 3 193 54 221 2 193 55 223 1 193 57 224 0 193 58 227 0 193 58 228 0 193 59 230 0 193 59 230 0 193 59 231 0 193 59 231 255 191 0 234 254 191 0 234 254 191 0 231 254 191 0 231 253 191 0 231 252 191 0 230 251 191 0 230 250 191 0 228 249 191 0 227 248 191 0 224 247 191 0 223 246 191 0 221 245 191 0 220 244 191 0 219 243 191 0 219 242 191 0 217 241 191 0 216 240 191 0 213 239 191 0 213 238 191 0 211 237 191 0 209 236 191 0 208 235 191 0 208 234 191 0 207 233 191 0 205 232 191 0 205 231 191 0 204 230 191 0 202 229 191 0 201 228 191 0 198 227 191 0 197 226 191 0 194 224 191 0 189 223 191 0 188 222 191 0 185 221 191 0 184 220 191 0 182 219 191 0 181 218 191 0 179 217 191 0 178 216 191 0 176 215 191 0 175 214 191 0 174 213 191 0 171 212 191 0 167 211 191 0 166 210 191 0 163 209 191 0 162 208 191 0 159 207 191 0 157 206 191 0 156 205 191 0 155 204 191 0 155 203 191 0 153 202 191 0 152 201 191 0 150 200 191 0 145 199 191 0 144 198 191 0 141 197 191 0 140 196 191 0 138 195 191 0 137 194 191 0 135 193 191 0 134 191 191 0 131 190 191 0 130 189 191 0 128 188 191 0 126 187 191 0 122 186 191 0 121 185 191 0 120 184 191 0 118 183 191 0 115 182 191 0 114 181 191 0 112 180 191 0 111 179 191 0 110 178 191 0 108 177 191 0 107 176 191 0 104 175 191 0 103 174 191 0 102 173 191 0 98 172 191 0 96 171 191 0 95 170 191 0 95 169 191 0 93 168 191 0 92 167 191 0 89 166 191 0 88 165 191 0 86 164 191 0 84 163 191 0 81 162 191 0 80 161 191 0 77 160 191 0 76 158 191 0 74 157 191 0 73 156 191 0 71 155 191 0 71 154 191 0 70 153 191 0 69 152 191 0 67 151 191 0 66 150 191 0 64 149 191 0 62 148 191 0 60 147 191 0 59 146 191 0 57 145 191 0 54 144 191 0 54 143 191 0 54 142 191 0 53 141 191 0 53 140 191 0 51 139 191 0 50 138 191 0 49 137 191 0 49 136 191 0 47 135 191 0 47 134 191 0 47 133 191 0 47 132 191 0 47 131 191 0 47 130 191 0 47 129 191 0 47 128 191 0 46 127 191 0 46 125 191 0 46 124 191 0 46 123 191 0 46 122 191 0 46 121 191 0 46 120 191 0 46 119 191 0 47 118 191 0 47 117 191 0 47 116 191 0 47 115 191 0 47 114 191 0 47 113 191 0 47 112 191 0 49 111 191 0 49 110 191 0 50 109 191 0 51 108 191 0 53 107 191 0 53 106 191 0 54 105 191 0 54 104 191 0 54 103 191 0 57 102 191 0 59 101 191 0 60 100 191 0 60 99 191 0 62 98 191 0 64 97 191 0 66 96 191 0 67 95 191 0 69 94 191 0 70 92 191 0 71 91 191 0 73 90 191 0 74 89 191 0 76 88 191 0 77 87 191 0 77 86 191 0 81 85 191 0 82 84 191 0 84 83 191 0 88 82 191 0 89 81 191 0 91 80 191 0 92 79 191 0 93 78 191 0 95 77 191 0 96 76 191 0 98 75 191 0 99 74 191 0 103 73 191 0 104 72 191 0 107 71 191 0 108 70 191 0 110 69 191 0 111 68 191 0 112 67 191 0 114 66 191 0 115 65 191 0 117 64 191 0 120 63 191 0 121 62 191 0 122 61 191 0 126 59 191 1 128 58 191 2 130 57 191 2 131 56 191 3 134 55 191 3 135 54 191 4 137 53 191 5 138 52 191 6 140 51 191 7 141 50 191 9 143 49 191 10 145 48 191 10 149 47 191 11 152 46 191 12 153 45 191 13 153 44 191 14 155 43 191 15 156 42 191 17 157 41 191 18 159 40 191 18 162 39 191 19 163 38 191 20 165 37 191 21 167 36 191 22 171 35 191 24 172 34 191 25 174 33 191 26 175 32 191 27 176 31 191 28 178 30 191 29 179 29 191 30 182 28 191 31 184 26 191 32 185 25 191 34 186 24 191 35 189 23 191 35 194 22 191 36 197 21 191 37 198 20 191 38 199 19 191 39 202 18 191 40 204 17 191 42 204 16 191 43 205 15 191 43 207 14 191 44 208 13 191 45 208 12 191 46 209 11 191 47 211 10 191 48 211 9 191 50 213 8 191 51 216 7 191 51 217 6 191 52 217 5 191 53 219 4 191 54 220 3 191 55 220 2 191 57 223 1 191 58 224 0 191 59 227 0 191 60 228 0 191 60 230 0 191 60 230 0 191 61 231 0 191 61 231 255 190 0 231 254 190 0 231 254 190 0 231 254 190 0 231 253 190 0 231 252 190 0 230 251 190 0 230 250 190 0 228 249 190 0 227 248 190 0 224 247 190 0 223 246 190 0 221 245 190 0 220 244 190 0 219 243 190 0 217 242 190 0 217 241 190 0 216 240 190 0 213 239 190 0 211 238 190 0 209 237 190 0 209 236 190 0 208 235 190 0 207 234 190 0 207 233 190 0 205 232 190 0 204 231 190 0 202 230 190 0 201 229 190 0 199 228 190 0 197 227 190 0 195 226 190 0 194 224 190 0 188 223 190 0 186 222 190 0 185 221 190 0 184 220 190 0 181 219 190 0 179 218 190 0 178 217 190 0 176 216 190 0 175 215 190 0 174 214 190 0 171 213 190 0 167 212 190 0 166 211 190 0 163 210 190 0 162 209 190 0 160 208 190 0 159 207 190 0 156 206 190 0 156 205 190 0 155 204 190 0 153 203 190 0 152 202 190 0 150 201 190 0 149 200 190 0 144 199 190 0 141 198 190 0 140 197 190 0 137 196 190 0 135 195 190 0 134 194 190 0 133 193 190 0 131 191 190 0 130 190 190 0 128 189 190 0 126 188 190 0 122 187 190 0 121 186 190 0 120 185 190 0 118 184 190 0 115 183 190 0 114 182 190 0 112 181 190 0 110 180 190 0 110 179 190 0 108 178 190 0 107 177 190 0 104 176 190 0 103 175 190 0 99 174 190 0 98 173 190 0 96 172 190 0 95 171 190 0 93 170 190 0 92 169 190 0 91 168 190 0 89 167 190 0 88 166 190 0 84 165 190 0 82 164 190 0 81 163 190 0 77 162 190 0 76 161 190 0 74 160 190 0 73 158 190 0 71 157 190 0 70 156 190 0 69 155 190 0 67 154 190 0 67 153 190 0 66 152 190 0 64 151 190 0 62 150 190 0 60 149 190 0 59 148 190 0 57 147 190 0 54 146 190 0 53 145 190 0 53 144 190 0 51 143 190 0 51 142 190 0 50 141 190 0 50 140 190 0 49 139 190 0 47 138 190 0 46 137 190 0 44 136 190 0 44 135 190 0 43 134 190 0 43 133 190 0 43 132 190 0 43 131 190 0 43 130 190 0 43 129 190 0 43 128 190 0 43 127 190 0 43 125 190 0 43 124 190 0 43 123 190 0 43 122 190 0 43 121 190 0 43 120 190 0 43 119 190 0 43 118 190 0 43 117 190 0 43 116 190 0 43 115 190 0 43 114 190 0 43 113 190 0 44 112 190 0 44 111 190 0 46 110 190 0 47 109 190 0 49 108 190 0 50 107 190 0 50 106 190 0 51 105 190 0 51 104 190 0 51 103 190 0 53 102 190 0 54 101 190 0 57 100 190 0 59 99 190 0 60 98 190 0 60 97 190 0 62 96 190 0 64 95 190 0 66 94 190 0 67 92 190 0 69 91 190 0 70 90 190 0 71 89 190 0 73 88 190 0 73 87 190 0 74 86 190 0 77 85 190 0 80 84 190 0 82 83 190 0 84 82 190 0 88 81 190 0 89 80 190 0 91 79 190 0 92 78 190 0 93 77 190 0 93 76 190 0 96 75 190 0 98 74 190 0 99 73 190 0 102 72 190 0 104 71 190 0 104 70 190 0 107 69 190 0 108 68 190 0 110 67 190 0 112 66 190 0 114 65 190 0 115 64 190 0 117 63 190 0 120 62 190 0 121 61 190 1 122 59 190 2 126 58 190 2 128 57 190 3 130 56 190 4 131 55 190 4 133 54 190 5 134 53 190 6 135 52 190 7 137 51 190 9 138 50 190 10 141 49 190 11 144 48 190 12 145 47 190 12 150 46 190 13 152 45 190 14 153 44 190 15 155 43 190 17 155 42 190 18 156 41 190 19 157 40 190 20 160 39 190 20 162 38 190 21 163 37 190 22 166 36 190 24 167 35 190 25 171 34 190 26 172 33 190 27 175 32 190 28 176 31 190 29 178 30 190 30 179 29 190 31 181 28 190 32 182 26 190 34 185 25 190 35 186 24 190 36 188 23 190 37 189 22 190 37 195 21 190 38 197 20 190 39 199 19 190 40 201 18 190 42 202 17 190 43 204 16 190 44 205 15 190 45 207 14 190 45 207 13 190 46 208 12 190 47 209 11 190 48 209 10 190 50 211 9 190 51 213 8 190 52 213 7 190 53 216 6 190 53 217 5 190 54 219 4 190 55 219 3 190 57 220 2 190 58 223 1 190 59 224 0 190 60 227 0 190 61 228 0 190 62 230 0 190 62 230 0 190 62 231 0 190 62 231 255 189 0 231 254 189 0 231 254 189 0 231 254 189 0 231 253 189 0 230 252 189 0 230 251 189 0 230 250 189 0 228 249 189 0 227 248 189 0 224 247 189 0 223 246 189 0 221 245 189 0 220 244 189 0 219 243 189 0 217 242 189 0 216 241 189 0 213 240 189 0 213 239 189 0 211 238 189 0 209 237 189 0 208 236 189 0 208 235 189 0 207 234 189 0 205 233 189 0 205 232 189 0 204 231 189 0 202 230 189 0 201 229 189 0 198 228 189 0 197 227 189 0 194 226 189 0 189 224 189 0 186 223 189 0 185 222 189 0 184 221 189 0 182 220 189 0 181 219 189 0 179 218 189 0 176 217 189 0 175 216 189 0 174 215 189 0 172 214 189 0 167 213 189 0 166 212 189 0 165 211 189 0 162 210 189 0 160 209 189 0 159 208 189 0 157 207 189 0 156 206 189 0 155 205 189 0 153 204 189 0 152 203 189 0 150 202 189 0 149 201 189 0 145 200 189 0 143 199 189 0 140 198 189 0 137 197 189 0 135 196 189 0 134 195 189 0 133 194 189 0 131 193 189 0 130 191 189 0 128 190 189 0 126 189 189 0 122 188 189 0 121 187 189 0 120 186 189 0 118 185 189 0 115 184 189 0 114 183 189 0 112 182 189 0 110 181 189 0 108 180 189 0 107 179 189 0 104 178 189 0 103 177 189 0 102 176 189 0 99 175 189 0 98 174 189 0 95 173 189 0 93 172 189 0 92 171 189 0 91 170 189 0 91 169 189 0 89 168 189 0 88 167 189 0 84 166 189 0 82 165 189 0 80 164 189 0 77 163 189 0 74 162 189 0 73 161 189 0 71 160 189 0 70 158 189 0 69 157 189 0 67 156 189 0 66 155 189 0 66 154 189 0 64 153 189 0 62 152 189 0 60 151 189 0 59 150 189 0 57 149 189 0 54 148 189 0 53 147 189 0 51 146 189 0 51 145 189 0 50 144 189 0 49 143 189 0 49 142 189 0 47 141 189 0 47 140 189 0 46 139 189 0 44 138 189 0 43 137 189 0 40 136 189 0 40 135 189 0 39 134 189 0 39 133 189 0 39 132 189 0 39 131 189 0 39 130 189 0 39 129 189 0 39 128 189 0 39 127 189 0 39 125 189 0 39 124 189 0 39 123 189 0 39 122 189 0 39 121 189 0 39 120 189 0 39 119 189 0 39 118 189 0 39 117 189 0 39 116 189 0 39 115 189 0 39 114 189 0 39 113 189 0 40 112 189 0 40 111 189 0 43 110 189 0 44 109 189 0 46 108 189 0 47 107 189 0 47 106 189 0 49 105 189 0 49 104 189 0 50 103 189 0 50 102 189 0 51 101 189 0 53 100 189 0 54 99 189 0 57 98 189 0 59 97 189 0 60 96 189 0 62 95 189 0 62 94 189 0 64 92 189 0 66 91 189 0 67 90 189 0 69 89 189 0 70 88 189 0 71 87 189 0 73 86 189 0 74 85 189 0 77 84 189 0 80 83 189 0 82 82 189 0 84 81 189 0 86 80 189 0 89 79 189 0 91 78 189 0 91 77 189 0 92 76 189 0 93 75 189 0 95 74 189 0 96 73 189 0 99 72 189 0 102 71 189 0 103 70 189 0 104 69 189 0 107 68 189 0 108 67 189 0 110 66 189 0 112 65 189 0 114 64 189 0 115 63 189 0 118 62 189 0 120 61 189 1 121 59 189 2 122 58 189 3 126 57 189 4 128 56 189 5 130 55 189 5 131 54 189 6 131 53 189 7 134 52 189 8 135 51 189 10 137 50 189 11 140 49 189 12 143 48 189 13 145 47 189 13 149 46 189 14 150 45 189 15 152 44 189 16 153 43 189 18 155 42 189 19 156 41 189 20 157 40 189 21 159 39 189 21 160 38 189 22 162 37 189 23 163 36 189 25 166 35 189 26 167 34 189 27 171 33 189 28 174 32 189 29 175 31 189 30 176 30 189 31 179 29 189 32 181 28 189 33 182 26 189 35 184 25 189 36 185 24 189 37 186 23 189 38 188 22 189 38 194 21 189 39 195 20 189 40 198 19 189 41 201 18 189 43 202 17 189 44 204 16 189 45 205 15 189 46 205 14 189 46 207 13 189 47 208 12 189 48 208 11 189 49 209 10 189 51 211 9 189 52 211 8 189 53 213 7 189 54 216 6 189 54 217 5 189 55 217 4 189 56 219 3 189 58 220 2 189 59 221 1 189 60 224 0 189 61 226 0 189 62 228 0 189 63 230 0 189 63 230 0 189 63 230 0 189 63 230 255 188 0 231 254 188 0 231 254 188 0 230 254 188 0 230 253 188 0 230 252 188 0 230 251 188 0 228 250 188 0 227 249 188 0 226 248 188 0 224 247 188 0 221 246 188 0 220 245 188 0 219 244 188 0 219 243 188 0 217 242 188 0 216 241 188 0 213 240 188 0 211 239 188 0 211 238 188 0 209 237 188 0 208 236 188 0 208 235 188 0 207 234 188 0 205 233 188 0 204 232 188 0 202 231 188 0 201 230 188 0 199 229 188 0 198 228 188 0 195 227 188 0 189 226 188 0 188 224 188 0 185 223 188 0 184 222 188 0 184 221 188 0 181 220 188 0 179 219 188 0 178 218 188 0 176 217 188 0 174 216 188 0 172 215 188 0 167 214 188 0 166 213 188 0 165 212 188 0 162 211 188 0 160 210 188 0 159 209 188 0 157 208 188 0 156 207 188 0 155 206 188 0 153 205 188 0 152 204 188 0 150 203 188 0 149 202 188 0 145 201 188 0 144 200 188 0 141 199 188 0 138 198 188 0 135 197 188 0 134 196 188 0 131 195 188 0 130 194 188 0 128 193 188 0 128 191 188 0 126 190 188 0 122 189 188 0 121 188 188 0 120 187 188 0 118 186 188 0 115 185 188 0 114 184 188 0 111 183 188 0 110 182 188 0 108 181 188 0 107 180 188 0 104 179 188 0 103 178 188 0 102 177 188 0 99 176 188 0 96 175 188 0 95 174 188 0 93 173 188 0 92 172 188 0 91 171 188 0 89 170 188 0 88 169 188 0 86 168 188 0 84 167 188 0 82 166 188 0 80 165 188 0 76 164 188 0 74 163 188 0 73 162 188 0 70 161 188 0 69 160 188 0 67 158 188 0 66 157 188 0 64 156 188 0 64 155 188 0 62 154 188 0 60 153 188 0 59 152 188 0 57 151 188 0 54 150 188 0 54 149 188 0 53 148 188 0 51 147 188 0 50 146 188 0 49 145 188 0 47 144 188 0 46 143 188 0 46 142 188 0 44 141 188 0 43 140 188 0 43 139 188 0 40 138 188 0 39 137 188 0 39 136 188 0 38 135 188 0 36 134 188 0 36 133 188 0 36 132 188 0 36 131 188 0 36 130 188 0 36 129 188 0 36 128 188 0 36 127 188 0 36 125 188 0 36 124 188 0 36 123 188 0 36 122 188 0 36 121 188 0 36 120 188 0 36 119 188 0 36 118 188 0 36 117 188 0 36 116 188 0 36 115 188 0 36 114 188 0 36 113 188 0 38 112 188 0 38 111 188 0 39 110 188 0 40 109 188 0 43 108 188 0 43 107 188 0 44 106 188 0 44 105 188 0 46 104 188 0 47 103 188 0 49 102 188 0 50 101 188 0 51 100 188 0 51 99 188 0 53 98 188 0 54 97 188 0 57 96 188 0 59 95 188 0 60 94 188 0 62 92 188 0 62 91 188 0 64 90 188 0 66 89 188 0 67 88 188 0 69 87 188 0 70 86 188 0 71 85 188 0 74 84 188 0 76 83 188 0 80 82 188 0 81 81 188 0 84 80 188 0 86 79 188 0 88 78 188 0 89 77 188 0 91 76 188 0 92 75 188 0 93 74 188 0 95 73 188 0 96 72 188 0 98 71 188 0 99 70 188 0 103 69 188 0 104 68 188 0 107 67 188 0 108 66 188 0 110 65 188 0 111 64 188 0 114 63 188 0 115 62 188 1 117 61 188 2 120 59 188 3 121 58 188 4 122 57 188 5 126 56 188 6 126 55 188 6 128 54 188 7 130 53 188 8 131 52 188 9 134 51 188 10 135 50 188 12 138 49 188 13 141 48 188 14 144 47 188 14 145 46 188 15 149 45 188 16 150 44 188 17 152 43 188 18 153 42 188 20 155 41 188 21 156 40 188 22 157 39 188 22 159 38 188 23 160 37 188 24 162 36 188 26 163 35 188 27 166 34 188 28 167 33 188 29 172 32 188 30 174 31 188 31 175 30 188 32 178 29 188 33 179 28 188 34 181 26 188 35 182 25 188 37 184 24 188 38 185 23 188 39 186 22 188 39 189 21 188 40 194 20 188 41 197 19 188 42 199 18 188 43 201 17 188 45 202 16 188 46 204 15 188 47 205 14 188 47 207 13 188 48 207 12 188 49 208 11 188 50 209 10 188 51 209 9 188 53 211 8 188 54 213 7 188 55 216 6 188 55 216 5 188 56 217 4 188 57 219 3 188 59 220 2 188 60 221 1 188 61 224 0 188 62 226 0 188 63 227 0 188 64 228 0 188 64 230 0 188 64 230 0 188 64 230 255 187 0 231 254 187 0 231 254 187 0 230 254 187 0 230 253 187 0 230 252 187 0 230 251 187 0 228 250 187 0 227 249 187 0 226 248 187 0 223 247 187 0 221 246 187 0 220 245 187 0 219 244 187 0 217 243 187 0 216 242 187 0 216 241 187 0 213 240 187 0 211 239 187 0 209 238 187 0 209 237 187 0 208 236 187 0 207 235 187 0 205 234 187 0 205 233 187 0 204 232 187 0 202 231 187 0 201 230 187 0 199 229 187 0 197 228 187 0 194 227 187 0 189 226 187 0 186 224 187 0 185 223 187 0 184 222 187 0 182 221 187 0 181 220 187 0 179 219 187 0 176 218 187 0 175 217 187 0 172 216 187 0 171 215 187 0 166 214 187 0 165 213 187 0 163 212 187 0 160 211 187 0 159 210 187 0 157 209 187 0 156 208 187 0 155 207 187 0 153 206 187 0 152 205 187 0 150 204 187 0 149 203 187 0 149 202 187 0 144 201 187 0 143 200 187 0 140 199 187 0 137 198 187 0 134 197 187 0 133 196 187 0 130 195 187 0 128 194 187 0 126 193 187 0 126 191 187 0 122 190 187 0 121 189 187 0 120 188 187 0 118 187 187 0 115 186 187 0 114 185 187 0 111 184 187 0 110 183 187 0 108 182 187 0 107 181 187 0 104 180 187 0 103 179 187 0 102 178 187 0 98 177 187 0 96 176 187 0 95 175 187 0 93 174 187 0 92 173 187 0 91 172 187 0 89 171 187 0 88 170 187 0 86 169 187 0 84 168 187 0 81 167 187 0 80 166 187 0 76 165 187 0 74 164 187 0 73 163 187 0 70 162 187 0 69 161 187 0 67 160 187 0 66 158 187 0 64 157 187 0 62 156 187 0 60 155 187 0 60 154 187 0 59 153 187 0 57 152 187 0 54 151 187 0 53 150 187 0 51 149 187 0 50 148 187 0 49 147 187 0 47 146 187 0 46 145 187 0 44 144 187 0 43 143 187 0 43 142 187 0 40 141 187 0 40 140 187 0 39 139 187 0 38 138 187 0 38 137 187 0 36 136 187 0 35 135 187 0 35 134 187 0 32 133 187 0 32 132 187 0 32 131 187 0 32 130 187 0 32 129 187 0 32 128 187 0 32 127 187 0 32 125 187 0 32 124 187 0 32 123 187 0 32 122 187 0 32 121 187 0 32 120 187 0 32 119 187 0 32 118 187 0 32 117 187 0 32 116 187 0 32 115 187 0 32 114 187 0 35 113 187 0 35 112 187 0 36 111 187 0 38 110 187 0 38 109 187 0 39 108 187 0 40 107 187 0 40 106 187 0 43 105 187 0 43 104 187 0 44 103 187 0 46 102 187 0 47 101 187 0 49 100 187 0 50 99 187 0 51 98 187 0 53 97 187 0 54 96 187 0 57 95 187 0 57 94 187 0 59 92 187 0 60 91 187 0 62 90 187 0 64 89 187 0 66 88 187 0 67 87 187 0 69 86 187 0 70 85 187 0 71 84 187 0 73 83 187 0 76 82 187 0 80 81 187 0 81 80 187 0 84 79 187 0 86 78 187 0 88 77 187 0 89 76 187 0 91 75 187 0 92 74 187 0 93 73 187 0 95 72 187 0 96 71 187 0 98 70 187 0 99 69 187 0 102 68 187 0 103 67 187 0 107 66 187 0 108 65 187 0 110 64 187 0 111 63 187 1 114 62 187 1 115 61 187 2 117 59 187 3 120 58 187 4 121 57 187 5 122 56 187 6 122 55 187 7 126 54 187 8 128 53 187 9 130 52 187 10 133 51 187 11 134 50 187 12 137 49 187 13 140 48 187 14 143 47 187 15 144 46 187 16 145 45 187 17 149 44 187 18 150 43 187 19 152 42 187 20 153 41 187 21 155 40 187 22 156 39 187 23 157 38 187 24 159 37 187 25 160 36 187 27 162 35 187 28 163 34 187 29 166 33 187 30 167 32 187 31 172 31 187 32 174 30 187 33 176 29 187 34 178 28 187 35 179 26 187 36 182 25 187 37 184 24 187 38 185 23 187 39 186 22 187 40 188 21 187 41 194 20 187 42 197 19 187 43 198 18 187 44 201 17 187 45 202 16 187 46 204 15 187 47 205 14 187 48 205 13 187 49 207 12 187 50 208 11 187 51 208 10 187 52 209 9 187 53 211 8 187 54 211 7 187 55 213 6 187 56 216 5 187 57 217 4 187 58 219 3 187 60 220 2 187 61 221 1 187 62 223 0 187 63 226 0 187 64 227 0 187 64 228 0 187 65 230 0 187 65 230 0 187 65 230 255 186 0 231 254 186 0 231 254 186 0 230 254 186 0 230 253 186 0 230 252 186 0 228 251 186 0 227 250 186 0 226 249 186 0 224 248 186 0 223 247 186 0 220 246 186 0 220 245 186 0 219 244 186 0 217 243 186 0 216 242 186 0 213 241 186 0 211 240 186 0 211 239 186 0 209 238 186 0 208 237 186 0 207 236 186 0 207 235 186 0 205 234 186 0 204 233 186 0 202 232 186 0 201 231 186 0 199 230 186 0 198 229 186 0 195 228 186 0 194 227 186 0 188 226 186 0 186 224 186 0 184 223 186 0 182 222 186 0 181 221 186 0 179 220 186 0 178 219 186 0 175 218 186 0 174 217 186 0 171 216 186 0 167 215 186 0 165 214 186 0 163 213 186 0 162 212 186 0 159 211 186 0 157 210 186 0 157 209 186 0 156 208 186 0 155 207 186 0 153 206 186 0 152 205 186 0 150 204 186 0 149 203 186 0 145 202 186 0 143 201 186 0 141 200 186 0 138 199 186 0 135 198 186 0 133 197 186 0 131 196 186 0 130 195 186 0 128 194 186 0 126 193 186 0 122 191 186 0 121 190 186 0 120 189 186 0 118 188 186 0 115 187 186 0 114 186 186 0 112 185 186 0 110 184 186 0 108 183 186 0 107 182 186 0 104 181 186 0 103 180 186 0 102 179 186 0 98 178 186 0 96 177 186 0 95 176 186 0 93 175 186 0 92 174 186 0 91 173 186 0 89 172 186 0 88 171 186 0 86 170 186 0 84 169 186 0 82 168 186 0 80 167 186 0 77 166 186 0 74 165 186 0 73 164 186 0 70 163 186 0 69 162 186 0 67 161 186 0 66 160 186 0 64 158 186 0 62 157 186 0 60 156 186 0 59 155 186 0 57 154 186 0 54 153 186 0 54 152 186 0 51 151 186 0 50 150 186 0 50 149 186 0 49 148 186 0 47 147 186 0 46 146 186 0 44 145 186 0 43 144 186 0 40 143 186 0 39 142 186 0 38 141 186 0 38 140 186 0 38 139 186 0 36 138 186 0 35 137 186 0 35 136 186 0 32 135 186 0 31 134 186 0 31 133 186 0 31 132 186 0 31 131 186 0 31 130 186 0 31 129 186 0 31 128 186 0 31 127 186 0 31 125 186 0 31 124 186 0 31 123 186 0 31 122 186 0 31 121 186 0 31 120 186 0 31 119 186 0 31 118 186 0 31 117 186 0 31 116 186 0 31 115 186 0 31 114 186 0 31 113 186 0 32 112 186 0 32 111 186 0 35 110 186 0 36 109 186 0 36 108 186 0 38 107 186 0 38 106 186 0 39 105 186 0 40 104 186 0 40 103 186 0 43 102 186 0 46 101 186 0 47 100 186 0 47 99 186 0 49 98 186 0 50 97 186 0 51 96 186 0 53 95 186 0 54 94 186 0 57 92 186 0 59 91 186 0 60 90 186 0 62 89 186 0 64 88 186 0 66 87 186 0 67 86 186 0 69 85 186 0 70 84 186 0 71 83 186 0 74 82 186 0 76 81 186 0 80 80 186 0 81 79 186 0 84 78 186 0 86 77 186 0 88 76 186 0 89 75 186 0 91 74 186 0 92 73 186 0 93 72 186 0 95 71 186 0 96 70 186 0 98 69 186 0 99 68 186 0 102 67 186 0 103 66 186 0 107 65 186 0 108 64 186 1 110 63 186 1 112 62 186 2 114 61 186 3 115 59 186 4 118 58 186 5 120 57 186 6 121 56 186 7 122 55 186 8 126 54 186 9 126 53 186 10 128 52 186 11 131 51 186 12 133 50 186 13 135 49 186 14 138 48 186 15 140 47 186 16 143 46 186 17 144 45 186 18 145 44 186 19 149 43 186 20 150 42 186 21 152 41 186 22 153 40 186 23 155 39 186 24 156 38 186 25 157 37 186 26 159 36 186 28 160 35 186 29 162 34 186 30 165 33 186 31 166 32 186 32 171 31 186 33 172 30 186 34 175 29 186 35 176 28 186 36 179 26 186 37 181 25 186 38 182 24 186 39 184 23 186 40 185 22 186 41 188 21 186 42 189 20 186 43 195 19 186 44 198 18 186 45 199 17 186 46 201 16 186 47 202 15 186 48 204 14 186 49 205 13 186 50 207 12 186 51 207 11 186 52 208 10 186 53 209 9 186 54 209 8 186 55 211 7 186 56 213 6 186 57 216 5 186 58 216 4 186 59 217 3 186 61 219 2 186 62 220 1 186 63 223 0 186 64 224 0 186 65 226 0 186 65 227 0 186 66 228 0 186 66 230 0 186 66 230 255 185 0 231 254 185 0 231 254 185 0 230 254 185 0 230 253 185 0 228 252 185 0 228 251 185 0 226 250 185 0 224 249 185 0 223 248 185 0 221 247 185 0 220 246 185 0 219 245 185 0 217 244 185 0 216 243 185 0 213 242 185 0 213 241 185 0 211 240 185 0 209 239 185 0 208 238 185 0 208 237 185 0 207 236 185 0 205 235 185 0 205 234 185 0 204 233 185 0 202 232 185 0 201 231 185 0 198 230 185 0 197 229 185 0 194 228 185 0 189 227 185 0 188 226 185 0 185 224 185 0 184 223 185 0 182 222 185 0 181 221 185 0 178 220 185 0 176 219 185 0 174 218 185 0 172 217 185 0 167 216 185 0 165 215 185 0 163 214 185 0 160 213 185 0 159 212 185 0 159 211 185 0 157 210 185 0 156 209 185 0 155 208 185 0 153 207 185 0 152 206 185 0 150 205 185 0 149 204 185 0 145 203 185 0 143 202 185 0 141 201 185 0 138 200 185 0 137 199 185 0 134 198 185 0 131 197 185 0 130 196 185 0 128 195 185 0 126 194 185 0 122 193 185 0 121 191 185 0 120 190 185 0 118 189 185 0 115 188 185 0 114 187 185 0 111 186 185 0 110 185 185 0 108 184 185 0 107 183 185 0 104 182 185 0 103 181 185 0 99 180 185 0 98 179 185 0 96 178 185 0 95 177 185 0 93 176 185 0 92 175 185 0 91 174 185 0 89 173 185 0 88 172 185 0 86 171 185 0 84 170 185 0 82 169 185 0 80 168 185 0 77 167 185 0 74 166 185 0 73 165 185 0 70 164 185 0 69 163 185 0 67 162 185 0 66 161 185 0 64 160 185 0 60 158 185 0 59 157 185 0 57 156 185 0 54 155 185 0 54 154 185 0 53 153 185 0 51 152 185 0 50 151 185 0 49 150 185 0 47 149 185 0 46 148 185 0 44 147 185 0 43 146 185 0 40 145 185 0 39 144 185 0 38 143 185 0 36 142 185 0 36 141 185 0 35 140 185 0 35 139 185 0 32 138 185 0 32 137 185 0 31 136 185 0 29 135 185 0 29 134 185 0 29 133 185 0 29 132 185 0 29 131 185 0 29 130 185 0 29 129 185 0 29 128 185 0 29 127 185 0 29 125 185 0 29 124 185 0 29 123 185 0 29 122 185 0 29 121 185 0 29 120 185 0 29 119 185 0 29 118 185 0 29 117 185 0 29 116 185 0 29 115 185 0 29 114 185 0 29 113 185 0 29 112 185 0 31 111 185 0 31 110 185 0 32 109 185 0 35 108 185 0 35 107 185 0 36 106 185 0 36 105 185 0 38 104 185 0 39 103 185 0 40 102 185 0 43 101 185 0 44 100 185 0 46 99 185 0 46 98 185 0 47 97 185 0 49 96 185 0 51 95 185 0 53 94 185 0 53 92 185 0 54 91 185 0 57 90 185 0 59 89 185 0 60 88 185 0 62 87 185 0 64 86 185 0 67 85 185 0 69 84 185 0 70 83 185 0 71 82 185 0 74 81 185 0 76 80 185 0 80 79 185 0 81 78 185 0 84 77 185 0 86 76 185 0 88 75 185 0 89 74 185 0 91 73 185 0 92 72 185 0 93 71 185 0 95 70 185 0 96 69 185 0 98 68 185 0 99 67 185 0 102 66 185 0 103 65 185 1 107 64 185 1 108 63 185 2 110 62 185 3 111 61 185 4 114 59 185 5 115 58 185 6 118 57 185 7 120 56 185 8 121 55 185 9 122 54 185 10 126 53 185 11 128 52 185 12 130 51 185 13 131 50 185 14 134 49 185 15 135 48 185 16 138 47 185 17 141 46 185 18 143 45 185 19 144 44 185 20 149 43 185 21 150 42 185 22 152 41 185 23 153 40 185 24 155 39 185 25 156 38 185 26 157 37 185 27 157 36 185 29 159 35 185 30 160 34 185 31 162 33 185 32 165 32 185 33 166 31 185 34 171 30 185 35 174 29 185 36 176 28 185 37 178 26 185 38 179 25 185 39 182 24 185 40 184 23 185 41 185 22 185 42 186 21 185 43 189 20 185 44 194 19 185 45 197 18 185 46 198 17 185 47 199 16 185 48 202 15 185 49 204 14 185 50 204 13 185 51 205 12 185 52 207 11 185 53 208 10 185 54 208 9 185 55 209 8 185 56 211 7 185 57 211 6 185 58 213 5 185 59 216 4 185 60 217 3 185 62 219 2 185 63 220 1 185 64 221 0 185 65 223 0 185 66 224 0 185 66 226 0 185 66 227 0 185 67 228 0 185 67 230 255 184 0 231 254 184 0 231 254 184 0 230 254 184 0 230 253 184 0 228 252 184 0 227 251 184 0 226 250 184 0 224 249 184 0 221 248 184 0 220 247 184 0 219 246 184 0 217 245 184 0 217 244 184 0 216 243 184 0 213 242 184 0 211 241 184 0 209 240 184 0 209 239 184 0 208 238 184 0 207 237 184 0 207 236 184 0 205 235 184 0 204 234 184 0 202 233 184 0 201 232 184 0 199 231 184 0 197 230 184 0 195 229 184 0 194 228 184 0 188 227 184 0 186 226 184 0 185 224 184 0 184 223 184 0 181 222 184 0 179 221 184 0 178 220 184 0 175 219 184 0 172 218 184 0 167 217 184 0 166 216 184 0 163 215 184 0 162 214 184 0 159 213 184 0 159 212 184 0 157 211 184 0 156 210 184 0 155 209 184 0 153 208 184 0 152 207 184 0 150 206 184 0 149 205 184 0 145 204 184 0 143 203 184 0 141 202 184 0 140 201 184 0 137 200 184 0 135 199 184 0 133 198 184 0 130 197 184 0 128 196 184 0 126 195 184 0 122 194 184 0 121 193 184 0 120 191 184 0 118 190 184 0 115 189 184 0 114 188 184 0 111 187 184 0 110 186 184 0 108 185 184 0 107 184 184 0 104 183 184 0 103 182 184 0 99 181 184 0 98 180 184 0 96 179 184 0 95 178 184 0 93 177 184 0 92 176 184 0 91 175 184 0 89 174 184 0 88 173 184 0 86 172 184 0 84 171 184 0 81 170 184 0 80 169 184 0 77 168 184 0 74 167 184 0 73 166 184 0 70 165 184 0 69 164 184 0 67 163 184 0 66 162 184 0 62 161 184 0 60 160 184 0 59 158 184 0 54 157 184 0 54 156 184 0 53 155 184 0 51 154 184 0 50 153 184 0 49 152 184 0 47 151 184 0 46 150 184 0 44 149 184 0 43 148 184 0 40 147 184 0 39 146 184 0 38 145 184 0 36 144 184 0 35 143 184 0 35 142 184 0 32 141 184 0 32 140 184 0 31 139 184 0 31 138 184 0 29 137 184 0 28 136 184 0 28 135 184 0 27 134 184 0 27 133 184 0 27 132 184 0 27 131 184 0 27 130 184 0 27 129 184 0 27 128 184 0 27 127 184 0 27 125 184 0 27 124 184 0 27 123 184 0 27 122 184 0 27 121 184 0 27 120 184 0 27 119 184 0 27 118 184 0 27 117 184 0 27 116 184 0 27 115 184 0 27 114 184 0 27 113 184 0 28 112 184 0 28 111 184 0 29 110 184 0 31 109 184 0 31 108 184 0 32 107 184 0 32 106 184 0 35 105 184 0 35 104 184 0 36 103 184 0 38 102 184 0 39 101 184 0 40 100 184 0 43 99 184 0 44 98 184 0 44 97 184 0 46 96 184 0 49 95 184 0 50 94 184 0 51 92 184 0 53 91 184 0 53 90 184 0 54 89 184 0 59 88 184 0 60 87 184 0 62 86 184 0 64 85 184 0 67 84 184 0 69 83 184 0 70 82 184 0 71 81 184 0 73 80 184 0 76 79 184 0 80 78 184 0 81 77 184 0 84 76 184 0 86 75 184 0 88 74 184 0 89 73 184 0 91 72 184 0 92 71 184 0 93 70 184 0 95 69 184 0 96 68 184 0 98 67 184 1 99 66 184 1 102 65 184 2 103 64 184 2 107 63 184 3 108 62 184 4 110 61 184 5 111 59 184 6 114 58 184 7 115 57 184 8 117 56 184 9 120 55 184 10 121 54 184 11 122 53 184 12 126 52 184 13 128 51 184 14 130 50 184 15 133 49 184 16 134 48 184 17 137 47 184 18 138 46 184 19 141 45 184 20 143 44 184 21 144 43 184 22 149 42 184 24 150 41 184 25 152 40 184 26 153 39 184 27 155 38 184 28 156 37 184 29 157 36 184 30 157 35 184 31 159 34 184 32 160 33 184 33 163 32 184 34 165 31 184 35 167 30 184 36 172 29 184 37 175 28 184 38 176 26 184 39 179 25 184 40 181 24 184 41 182 23 184 42 185 22 184 43 186 21 184 44 188 20 184 45 189 19 184 46 195 18 184 47 197 17 184 48 198 16 184 49 201 15 184 50 202 14 184 51 204 13 184 52 205 12 184 53 207 11 184 54 207 10 184 55 208 9 184 57 209 8 184 58 209 7 184 59 211 6 184 60 213 5 184 61 213 4 184 62 216 3 184 63 217 2 184 64 219 1 184 65 220 0 184 66 221 0 184 67 223 0 184 67 226 0 184 68 227 0 184 68 228 0 184 68 230 255 183 0 231 254 183 0 231 254 183 0 230 254 183 0 230 253 183 0 228 252 183 0 227 251 183 0 224 250 183 0 223 249 183 0 221 248 183 0 220 247 183 0 219 246 183 0 217 245 183 0 216 244 183 0 213 243 183 0 213 242 183 0 211 241 183 0 209 240 183 0 209 239 183 0 208 238 183 0 207 237 183 0 205 236 183 0 205 235 183 0 204 234 183 0 202 233 183 0 201 232 183 0 198 231 183 0 197 230 183 0 194 229 183 0 189 228 183 0 186 227 183 0 185 226 183 0 184 224 183 0 182 223 183 0 181 222 183 0 179 221 183 0 176 220 183 0 174 219 183 0 172 218 183 0 166 217 183 0 165 216 183 0 162 215 183 0 160 214 183 0 159 213 183 0 157 212 183 0 156 211 183 0 156 210 183 0 155 209 183 0 153 208 183 0 150 207 183 0 149 206 183 0 145 205 183 0 143 204 183 0 141 203 183 0 140 202 183 0 137 201 183 0 135 200 183 0 133 199 183 0 131 198 183 0 128 197 183 0 126 196 183 0 122 195 183 0 121 194 183 0 120 193 183 0 118 191 183 0 115 190 183 0 114 189 183 0 112 188 183 0 110 187 183 0 108 186 183 0 107 185 183 0 104 184 183 0 103 183 183 0 102 182 183 0 98 181 183 0 96 180 183 0 95 179 183 0 93 178 183 0 92 177 183 0 91 176 183 0 89 175 183 0 88 174 183 0 86 173 183 0 84 172 183 0 82 171 183 0 80 170 183 0 77 169 183 0 74 168 183 0 73 167 183 0 71 166 183 0 69 165 183 0 67 164 183 0 66 163 183 0 64 162 183 0 60 161 183 0 59 160 183 0 54 158 183 0 53 157 183 0 51 156 183 0 50 155 183 0 49 154 183 0 47 153 183 0 46 152 183 0 44 151 183 0 43 150 183 0 40 149 183 0 39 148 183 0 38 147 183 0 38 146 183 0 36 145 183 0 35 144 183 0 32 143 183 0 31 142 183 0 31 141 183 0 29 140 183 0 29 139 183 0 28 138 183 0 28 137 183 0 27 136 183 0 25 135 183 0 25 134 183 0 25 133 183 0 25 132 183 0 25 131 183 0 25 130 183 0 25 129 183 0 25 128 183 0 25 127 183 0 25 125 183 0 25 124 183 0 25 123 183 0 25 122 183 0 25 121 183 0 25 120 183 0 25 119 183 0 25 118 183 0 25 117 183 0 25 116 183 0 25 115 183 0 25 114 183 0 25 113 183 0 25 112 183 0 27 111 183 0 28 110 183 0 28 109 183 0 29 108 183 0 29 107 183 0 31 106 183 0 31 105 183 0 32 104 183 0 35 103 183 0 36 102 183 0 36 101 183 0 38 100 183 0 39 99 183 0 40 98 183 0 43 97 183 0 44 96 183 0 46 95 183 0 47 94 183 0 49 92 183 0 50 91 183 0 51 90 183 0 53 89 183 0 54 88 183 0 57 87 183 0 60 86 183 0 62 85 183 0 64 84 183 0 67 83 183 0 69 82 183 0 70 81 183 0 71 80 183 0 74 79 183 0 76 78 183 0 80 77 183 0 81 76 183 0 84 75 183 0 86 74 183 0 88 73 183 0 89 72 183 0 91 71 183 0 92 70 183 0 93 69 183 0 95 68 183 1 96 67 183 2 98 66 183 2 99 65 183 3 102 64 183 3 103 63 183 4 107 62 183 5 108 61 183 6 110 59 183 7 111 58 183 9 114 57 183 10 115 56 183 10 118 55 183 11 120 54 183 12 121 53 183 13 122 52 183 14 126 51 183 15 128 50 183 17 131 49 183 18 133 48 183 18 135 47 183 19 137 46 183 20 140 45 183 21 141 44 183 22 143 43 183 24 145 42 183 25 149 41 183 26 150 40 183 27 152 39 183 28 153 38 183 29 155 37 183 30 156 36 183 31 157 35 183 32 157 34 183 34 159 33 183 35 162 32 183 35 163 31 183 36 166 30 183 37 171 29 183 38 174 28 183 39 176 26 183 40 178 25 183 42 181 24 183 43 182 23 183 43 184 22 183 44 185 21 183 45 186 20 183 46 188 19 183 47 194 18 183 48 195 17 183 50 198 16 183 51 199 15 183 51 202 14 183 52 204 13 183 53 205 12 183 54 205 11 183 55 207 10 183 57 208 9 183 58 208 8 183 59 209 7 183 60 211 6 183 61 211 5 183 62 213 4 183 63 216 3 183 64 217 2 183 65 219 1 183 67 220 0 183 67 221 0 183 68 223 0 183 69 224 0 183 69 227 0 183 69 228 0 183 69 230 255 182 0 231 254 182 0 231 254 182 0 230 254 182 0 230 253 182 0 228 252 182 0 227 251 182 0 224 250 182 0 223 249 182 0 221 248 182 0 220 247 182 0 219 246 182 0 217 245 182 0 216 244 182 0 213 243 182 0 211 242 182 0 211 241 182 0 209 240 182 0 208 239 182 0 208 238 182 0 207 237 182 0 205 236 182 0 204 235 182 0 202 234 182 0 201 233 182 0 199 232 182 0 198 231 182 0 195 230 182 0 189 229 182 0 188 228 182 0 186 227 182 0 185 226 182 0 184 224 182 0 181 223 182 0 179 222 182 0 178 221 182 0 175 220 182 0 174 219 182 0 171 218 182 0 166 217 182 0 163 216 182 0 160 215 182 0 159 214 182 0 157 213 182 0 156 212 182 0 156 211 182 0 155 210 182 0 153 209 182 0 152 208 182 0 150 207 182 0 145 206 182 0 144 205 182 0 141 204 182 0 140 203 182 0 138 202 182 0 135 201 182 0 134 200 182 0 131 199 182 0 130 198 182 0 128 197 182 0 122 196 182 0 121 195 182 0 120 194 182 0 118 193 182 0 117 191 182 0 114 190 182 0 112 189 182 0 110 188 182 0 108 187 182 0 107 186 182 0 104 185 182 0 103 184 182 0 99 183 182 0 98 182 182 0 96 181 182 0 95 180 182 0 93 179 182 0 92 178 182 0 91 177 182 0 89 176 182 0 88 175 182 0 86 174 182 0 84 173 182 0 82 172 182 0 80 171 182 0 76 170 182 0 74 169 182 0 71 168 182 0 70 167 182 0 69 166 182 0 67 165 182 0 66 164 182 0 64 163 182 0 60 162 182 0 59 161 182 0 54 160 182 0 51 158 182 0 50 157 182 0 49 156 182 0 47 155 182 0 46 154 182 0 44 153 182 0 43 152 182 0 40 151 182 0 39 150 182 0 38 149 182 0 36 148 182 0 36 147 182 0 35 146 182 0 32 145 182 0 31 144 182 0 29 143 182 0 29 142 182 0 28 141 182 0 28 140 182 0 27 139 182 0 27 138 182 0 25 137 182 0 24 136 182 0 24 135 182 0 22 134 182 0 22 133 182 0 22 132 182 0 22 131 182 0 22 130 182 0 22 129 182 0 22 128 182 0 22 127 182 0 22 125 182 0 22 124 182 0 22 123 182 0 22 122 182 0 22 121 182 0 22 120 182 0 22 119 182 0 22 118 182 0 22 117 182 0 22 116 182 0 22 115 182 0 22 114 182 0 22 113 182 0 24 112 182 0 24 111 182 0 25 110 182 0 27 109 182 0 27 108 182 0 28 107 182 0 28 106 182 0 29 105 182 0 29 104 182 0 31 103 182 0 32 102 182 0 35 101 182 0 35 100 182 0 36 99 182 0 38 98 182 0 39 97 182 0 40 96 182 0 43 95 182 0 44 94 182 0 46 92 182 0 47 91 182 0 49 90 182 0 50 89 182 0 51 88 182 0 54 87 182 0 57 86 182 0 60 85 182 0 62 84 182 0 64 83 182 0 66 82 182 0 69 81 182 0 70 80 182 0 71 79 182 0 73 78 182 0 76 77 182 0 80 76 182 0 81 75 182 0 84 74 182 0 86 73 182 0 88 72 182 0 89 71 182 0 91 70 182 0 92 69 182 1 93 68 182 2 95 67 182 2 96 66 182 3 98 65 182 4 99 64 182 4 102 63 182 5 103 62 182 6 107 61 182 7 108 59 182 9 110 58 182 10 111 57 182 11 114 56 182 12 115 55 182 12 118 54 182 13 120 53 182 14 121 52 182 15 122 51 182 17 126 50 182 18 130 49 182 19 131 48 182 20 133 47 182 20 135 46 182 21 137 45 182 22 140 44 182 24 141 43 182 25 144 42 182 26 145 41 182 27 149 40 182 28 152 39 182 29 153 38 182 30 155 37 182 31 156 36 182 32 156 35 182 34 157 34 182 35 159 33 182 36 160 32 182 37 162 31 182 37 165 30 182 38 167 29 182 39 172 28 182 40 175 26 182 42 178 25 182 43 179 24 182 44 181 23 182 45 182 22 182 45 184 21 182 46 185 20 182 47 188 19 182 48 189 18 182 50 194 17 182 51 197 16 182 52 199 15 182 53 201 14 182 53 202 13 182 54 204 12 182 55 205 11 182 57 207 10 182 58 208 9 182 59 208 8 182 60 209 7 182 61 211 6 182 62 211 5 182 63 213 4 182 64 216 3 182 65 217 2 182 67 219 1 182 68 219 0 182 69 220 0 182 69 223 0 182 70 224 0 182 70 226 0 182 70 228 0 182 70 230 255 181 0 231 254 181 0 231 254 181 0 230 254 181 0 230 253 181 0 228 252 181 0 227 251 181 0 224 250 181 0 223 249 181 0 220 248 181 0 219 247 181 0 217 246 181 0 217 245 181 0 216 244 181 0 213 243 181 0 211 242 181 0 211 241 181 0 209 240 181 0 208 239 181 0 208 238 181 0 207 237 181 0 205 236 181 0 204 235 181 0 202 234 181 0 201 233 181 0 198 232 181 0 197 231 181 0 194 230 181 0 189 229 181 0 186 228 181 0 185 227 181 0 184 226 181 0 182 224 181 0 181 223 181 0 179 222 181 0 176 221 181 0 175 220 181 0 172 219 181 0 167 218 181 0 165 217 181 0 162 216 181 0 160 215 181 0 157 214 181 0 156 213 181 0 156 212 181 0 155 211 181 0 153 210 181 0 152 209 181 0 150 208 181 0 149 207 181 0 144 206 181 0 143 205 181 0 140 204 181 0 138 203 181 0 135 202 181 0 134 201 181 0 133 200 181 0 130 199 181 0 128 198 181 0 126 197 181 0 122 196 181 0 120 195 181 0 118 194 181 0 115 193 181 0 114 191 181 0 112 190 181 0 110 189 181 0 108 188 181 0 107 187 181 0 104 186 181 0 103 185 181 0 99 184 181 0 98 183 181 0 96 182 181 0 95 181 181 0 93 180 181 0 92 179 181 0 91 178 181 0 89 177 181 0 88 176 181 0 86 175 181 0 84 174 181 0 81 173 181 0 80 172 181 0 76 171 181 0 73 170 181 0 71 169 181 0 70 168 181 0 67 167 181 0 66 166 181 0 64 165 181 0 62 164 181 0 60 163 181 0 59 162 181 0 54 161 181 0 51 160 181 0 50 158 181 0 47 157 181 0 46 156 181 0 44 155 181 0 43 154 181 0 40 153 181 0 39 152 181 0 38 151 181 0 36 150 181 0 35 149 181 0 32 148 181 0 32 147 181 0 31 146 181 0 29 145 181 0 28 144 181 0 28 143 181 0 27 142 181 0 25 141 181 0 25 140 181 0 24 139 181 0 24 138 181 0 22 137 181 0 20 136 181 0 20 135 181 0 18 134 181 0 18 133 181 0 18 132 181 0 18 131 181 0 18 130 181 0 18 129 181 0 18 128 181 0 18 127 181 0 18 125 181 0 18 124 181 0 18 123 181 0 18 122 181 0 18 121 181 0 18 120 181 0 18 119 181 0 18 118 181 0 18 117 181 0 18 116 181 0 18 115 181 0 18 114 181 0 18 113 181 0 20 112 181 0 20 111 181 0 22 110 181 0 24 109 181 0 24 108 181 0 25 107 181 0 25 106 181 0 27 105 181 0 27 104 181 0 28 103 181 0 29 102 181 0 31 101 181 0 32 100 181 0 32 99 181 0 35 98 181 0 36 97 181 0 38 96 181 0 39 95 181 0 40 94 181 0 40 92 181 0 43 91 181 0 44 90 181 0 47 89 181 0 49 88 181 0 51 87 181 0 54 86 181 0 57 85 181 0 60 84 181 0 62 83 181 0 64 82 181 0 66 81 181 0 67 80 181 0 69 79 181 0 71 78 181 0 73 77 181 0 76 76 181 0 77 75 181 0 81 74 181 0 82 73 181 0 86 72 181 0 88 71 181 0 89 70 181 0 89 69 181 1 91 68 181 2 92 67 181 3 95 66 181 4 96 65 181 5 98 64 181 5 99 63 181 6 102 62 181 7 103 61 181 8 107 59 181 10 108 58 181 11 110 57 181 12 111 56 181 13 114 55 181 13 115 54 181 14 117 53 181 15 120 52 181 16 121 51 181 18 122 50 181 19 128 49 181 20 130 48 181 21 131 47 181 21 134 46 181 22 135 45 181 23 137 44 181 25 140 43 181 26 141 42 181 27 144 41 181 28 145 40 181 29 150 39 181 30 152 38 181 31 153 37 181 32 155 36 181 33 156 35 181 35 156 34 181 36 157 33 181 37 159 32 181 38 162 31 181 38 163 30 181 39 167 29 181 40 171 28 181 41 174 26 181 43 176 25 181 44 179 24 181 45 181 23 181 46 182 22 181 46 184 21 181 47 185 20 181 48 186 19 181 49 188 18 181 51 194 17 181 52 197 16 181 53 198 15 181 54 201 14 181 54 202 13 181 55 204 12 181 56 205 11 181 58 207 10 181 59 208 9 181 60 208 8 181 61 209 7 181 62 211 6 181 63 211 5 181 64 213 4 181 65 216 3 181 66 217 2 181 68 217 1 181 69 219 0 181 70 220 0 181 70 221 0 181 71 224 0 181 71 226 0 181 71 228 0 181 71 230 255 180 0 231 254 180 0 231 254 180 0 230 254 180 0 230 253 180 0 228 252 180 0 227 251 180 0 224 250 180 0 223 249 180 0 220 248 180 0 219 247 180 0 217 246 180 0 217 245 180 0 216 244 180 0 213 243 180 0 211 242 180 0 211 241 180 0 209 240 180 0 208 239 180 0 208 238 180 0 205 237 180 0 204 236 180 0 202 235 180 0 201 234 180 0 199 233 180 0 198 232 180 0 195 231 180 0 194 230 180 0 188 229 180 0 186 228 180 0 184 227 180 0 182 226 180 0 181 224 180 0 179 223 180 0 178 222 180 0 176 221 180 0 174 220 180 0 171 219 180 0 166 218 180 0 163 217 180 0 162 216 180 0 159 215 180 0 157 214 180 0 156 213 180 0 155 212 180 0 155 211 180 0 153 210 180 0 152 209 180 0 149 208 180 0 145 207 180 0 143 206 180 0 141 205 180 0 138 204 180 0 135 203 180 0 134 202 180 0 133 201 180 0 131 200 180 0 130 199 180 0 126 198 180 0 122 197 180 0 121 196 180 0 118 195 180 0 117 194 180 0 114 193 180 0 112 191 180 0 110 190 180 0 108 189 180 0 107 188 180 0 104 187 180 0 103 186 180 0 102 185 180 0 98 184 180 0 96 183 180 0 95 182 180 0 93 181 180 0 91 180 180 0 91 179 180 0 89 178 180 0 88 177 180 0 86 176 180 0 84 175 180 0 81 174 180 0 80 173 180 0 76 172 180 0 73 171 180 0 71 170 180 0 69 169 180 0 67 168 180 0 66 167 180 0 64 166 180 0 62 165 180 0 60 164 180 0 59 163 180 0 54 162 180 0 51 161 180 0 49 160 180 0 47 158 180 0 44 157 180 0 43 156 180 0 40 155 180 0 39 154 180 0 38 153 180 0 36 152 180 0 35 151 180 0 32 150 180 0 31 149 180 0 31 148 180 0 29 147 180 0 28 146 180 0 28 145 180 0 27 144 180 0 25 143 180 0 24 142 180 0 22 141 180 0 22 140 180 0 20 139 180 0 18 138 180 0 18 137 180 0 17 136 180 0 17 135 180 0 16 134 180 0 16 133 180 0 16 132 180 0 16 131 180 0 16 130 180 0 16 129 180 0 16 128 180 0 16 127 180 0 16 125 180 0 16 124 180 0 16 123 180 0 16 122 180 0 16 121 180 0 16 120 180 0 16 119 180 0 16 118 180 0 16 117 180 0 16 116 180 0 16 115 180 0 16 114 180 0 16 113 180 0 17 112 180 0 17 111 180 0 18 110 180 0 18 109 180 0 20 108 180 0 22 107 180 0 22 106 180 0 24 105 180 0 25 104 180 0 25 103 180 0 27 102 180 0 28 101 180 0 29 100 180 0 31 99 180 0 31 98 180 0 32 97 180 0 35 96 180 0 36 95 180 0 38 94 180 0 38 92 180 0 39 91 180 0 43 90 180 0 44 89 180 0 46 88 180 0 49 87 180 0 51 86 180 0 54 85 180 0 57 84 180 0 59 83 180 0 60 82 180 0 64 81 180 0 66 80 180 0 67 79 180 0 69 78 180 0 70 77 180 0 73 76 180 0 76 75 180 0 80 74 180 0 81 73 180 0 84 72 180 0 86 71 180 0 88 70 180 1 88 69 180 2 89 68 180 3 91 67 180 4 92 66 180 5 95 65 180 6 96 64 180 6 98 63 180 7 99 62 180 8 103 61 180 9 104 59 180 10 107 58 180 12 108 57 180 13 110 56 180 14 111 55 180 14 114 54 180 15 115 53 180 16 118 52 180 17 120 51 180 18 122 50 180 20 126 49 180 21 128 48 180 22 131 47 180 22 133 46 180 23 134 45 180 24 135 44 180 26 138 43 180 27 140 42 180 28 143 41 180 29 144 40 180 30 149 39 180 31 150 38 180 32 152 37 180 33 153 36 180 34 155 35 180 35 156 34 180 37 157 33 180 38 159 32 180 39 160 31 180 39 163 30 180 40 166 29 180 41 171 28 180 42 172 26 180 43 175 25 180 45 178 24 180 46 179 23 180 47 181 22 180 47 182 21 180 48 184 20 180 49 185 19 180 50 188 18 180 51 189 17 180 53 195 16 180 54 198 15 180 55 199 14 180 55 201 13 180 56 202 12 180 57 204 11 180 59 205 10 180 60 207 9 180 61 208 8 180 62 209 7 180 63 211 6 180 64 211 5 180 65 213 4 180 66 216 3 180 67 217 2 180 68 217 1 180 70 219 0 180 70 220 0 180 71 221 0 180 72 224 0 180 72 226 0 180 72 228 0 180 72 230 255 179 0 231 254 179 0 231 254 179 0 230 254 179 0 230 253 179 0 228 252 179 0 227 251 179 0 224 250 179 0 223 249 179 0 220 248 179 0 219 247 179 0 217 246 179 0 217 245 179 0 216 244 179 0 213 243 179 0 211 242 179 0 209 241 179 0 209 240 179 0 208 239 179 0 207 238 179 0 205 237 179 0 204 236 179 0 202 235 179 0 201 234 179 0 198 233 179 0 197 232 179 0 194 231 179 0 189 230 179 0 188 229 179 0 185 228 179 0 184 227 179 0 182 226 179 0 181 224 179 0 178 223 179 0 176 222 179 0 174 221 179 0 172 220 179 0 167 219 179 0 165 218 179 0 162 217 179 0 160 216 179 0 159 215 179 0 157 214 179 0 156 213 179 0 155 212 179 0 153 211 179 0 152 210 179 0 150 209 179 0 145 208 179 0 143 207 179 0 141 206 179 0 138 205 179 0 137 204 179 0 134 203 179 0 133 202 179 0 131 201 179 0 130 200 179 0 128 199 179 0 122 198 179 0 121 197 179 0 120 196 179 0 117 195 179 0 114 194 179 0 112 193 179 0 110 191 179 0 108 190 179 0 107 189 179 0 104 188 179 0 103 187 179 0 102 186 179 0 98 185 179 0 96 184 179 0 95 183 179 0 93 182 179 0 91 181 179 0 89 180 179 0 88 179 179 0 86 178 179 0 86 177 179 0 84 176 179 0 81 175 179 0 80 174 179 0 76 173 179 0 73 172 179 0 70 171 179 0 69 170 179 0 66 169 179 0 64 168 179 0 62 167 179 0 60 166 179 0 59 165 179 0 57 164 179 0 54 163 179 0 51 162 179 0 49 161 179 0 47 160 179 0 44 158 179 0 40 157 179 0 39 156 179 0 38 155 179 0 36 154 179 0 35 153 179 0 32 152 179 0 31 151 179 0 29 150 179 0 29 149 179 0 28 148 179 0 27 147 179 0 25 146 179 0 24 145 179 0 22 144 179 0 22 143 179 0 20 142 179 0 18 141 179 0 17 140 179 0 16 139 179 0 16 138 179 0 14 137 179 0 14 136 179 0 13 135 179 0 13 134 179 0 13 133 179 0 13 132 179 0 13 131 179 0 13 130 179 0 13 129 179 0 13 128 179 0 13 127 179 0 13 125 179 0 13 124 179 0 13 123 179 0 13 122 179 0 13 121 179 0 13 120 179 0 13 119 179 0 13 118 179 0 13 117 179 0 13 116 179 0 13 115 179 0 13 114 179 0 13 113 179 0 13 112 179 0 14 111 179 0 14 110 179 0 16 109 179 0 16 108 179 0 17 107 179 0 18 106 179 0 20 105 179 0 20 104 179 0 22 103 179 0 24 102 179 0 25 101 179 0 27 100 179 0 28 99 179 0 28 98 179 0 29 97 179 0 31 96 179 0 32 95 179 0 35 94 179 0 35 92 179 0 36 91 179 0 39 90 179 0 40 89 179 0 44 88 179 0 46 87 179 0 49 86 179 0 51 85 179 0 53 84 179 0 57 83 179 0 59 82 179 0 60 81 179 0 62 80 179 0 64 79 179 0 66 78 179 0 67 77 179 0 70 76 179 0 73 75 179 0 76 74 179 0 77 73 179 0 81 72 179 0 82 71 179 1 84 70 179 1 86 69 179 2 88 68 179 3 89 67 179 4 91 66 179 5 92 65 179 6 95 64 179 7 96 63 179 8 98 62 179 9 99 61 179 10 103 59 179 11 104 58 179 12 107 57 179 13 108 56 179 14 110 55 179 15 111 54 179 16 114 53 179 17 115 52 179 18 118 51 179 19 121 50 179 20 122 49 179 21 126 48 179 22 130 47 179 23 131 46 179 24 133 45 179 25 134 44 179 27 135 43 179 28 138 42 179 29 140 41 179 30 143 40 179 31 145 39 179 32 149 38 179 33 152 37 179 34 153 36 179 35 155 35 179 36 156 34 179 37 157 33 179 38 159 32 179 39 160 31 179 40 162 30 179 41 165 29 179 42 167 28 179 43 171 26 179 44 174 25 179 45 176 24 179 46 178 23 179 47 179 22 179 48 182 21 179 49 184 20 179 50 185 19 179 51 186 18 179 52 189 17 179 53 194 16 179 54 197 15 179 55 198 14 179 56 199 13 179 57 202 12 179 58 204 11 179 60 205 10 179 61 207 9 179 62 208 8 179 63 209 7 179 64 209 6 179 65 211 5 179 66 213 4 179 67 216 3 179 68 217 2 179 69 217 1 179 70 219 0 179 71 220 0 179 72 221 0 179 72 224 0 179 73 226 0 179 73 228 0 179 73 230 255 178 0 231 254 178 0 231 254 178 0 230 254 178 0 230 253 178 0 228 252 178 0 227 251 178 0 224 250 178 0 223 249 178 0 220 248 178 0 219 247 178 0 217 246 178 0 217 245 178 0 216 244 178 0 213 243 178 0 211 242 178 0 209 241 178 0 209 240 178 0 208 239 178 0 207 238 178 0 205 237 178 0 204 236 178 0 201 235 178 0 199 234 178 0 197 233 178 0 195 232 178 0 194 231 178 0 188 230 178 0 186 229 178 0 185 228 178 0 182 227 178 0 181 226 178 0 179 224 178 0 178 223 178 0 175 222 178 0 172 221 178 0 167 220 178 0 165 219 178 0 163 218 178 0 160 217 178 0 159 216 178 0 157 215 178 0 156 214 178 0 155 213 178 0 155 212 178 0 152 211 178 0 150 210 178 0 149 209 178 0 144 208 178 0 141 207 178 0 138 206 178 0 137 205 178 0 134 204 178 0 133 203 178 0 131 202 178 0 130 201 178 0 128 200 178 0 126 199 178 0 121 198 178 0 120 197 178 0 117 196 178 0 115 195 178 0 112 194 178 0 111 193 178 0 108 191 178 0 107 190 178 0 104 189 178 0 103 188 178 0 99 187 178 0 98 186 178 0 96 185 178 0 95 184 178 0 93 183 178 0 91 182 178 0 89 181 178 0 88 180 178 0 86 179 178 0 84 178 178 0 82 177 178 0 81 176 178 0 80 175 178 0 76 174 178 0 73 173 178 0 70 172 178 0 67 171 178 0 66 170 178 0 62 169 178 0 60 168 178 0 59 167 178 0 57 166 178 0 54 165 178 0 53 164 178 0 51 163 178 0 49 162 178 0 46 161 178 0 43 160 178 0 40 158 178 0 38 157 178 0 36 156 178 0 35 155 178 0 32 154 178 0 31 153 178 0 29 152 178 0 28 151 178 0 27 150 178 0 27 149 178 0 25 148 178 0 24 147 178 0 22 146 178 0 20 145 178 0 18 144 178 0 17 143 178 0 16 142 178 0 14 141 178 0 13 140 178 0 13 139 178 0 10 138 178 0 9 137 178 0 9 136 178 0 9 135 178 0 7 134 178 0 7 133 178 0 7 132 178 0 7 131 178 0 7 130 178 0 7 129 178 0 7 128 178 0 7 127 178 0 7 125 178 0 7 124 178 0 7 123 178 0 7 122 178 0 7 121 178 0 7 120 178 0 7 119 178 0 7 118 178 0 7 117 178 0 7 116 178 0 7 115 178 0 7 114 178 0 7 113 178 0 9 112 178 0 9 111 178 0 9 110 178 0 10 109 178 0 10 108 178 0 13 107 178 0 14 106 178 0 16 105 178 0 17 104 178 0 18 103 178 0 20 102 178 0 22 101 178 0 24 100 178 0 24 99 178 0 25 98 178 0 27 97 178 0 28 96 178 0 29 95 178 0 31 94 178 0 31 92 178 0 35 91 178 0 36 90 178 0 38 89 178 0 40 88 178 0 43 87 178 0 46 86 178 0 49 85 178 0 50 84 178 0 53 83 178 0 54 82 178 0 57 81 178 0 59 80 178 0 60 79 178 0 62 78 178 0 64 77 178 0 67 76 178 0 70 75 178 0 73 74 178 0 76 73 178 0 77 72 178 1 81 71 178 1 82 70 178 2 84 69 178 3 86 68 178 4 88 67 178 5 89 66 178 6 91 65 178 7 92 64 178 8 95 63 178 9 96 62 178 10 98 61 178 11 99 59 178 12 103 58 178 13 104 57 178 14 107 56 178 15 108 55 178 16 110 54 178 17 112 53 178 18 114 52 178 19 117 51 178 20 118 50 178 21 121 49 178 22 122 48 178 23 126 47 178 24 130 46 178 25 131 45 178 26 133 44 178 28 134 43 178 29 137 42 178 30 138 41 178 31 141 40 178 32 144 39 178 33 145 38 178 34 150 37 178 35 152 36 178 36 153 35 178 37 155 34 178 38 156 33 178 39 157 32 178 40 159 31 178 41 160 30 178 42 163 29 178 43 165 28 178 44 167 26 178 45 172 25 178 46 175 24 178 47 176 23 178 48 179 22 178 49 181 21 178 50 182 20 178 51 184 19 178 52 186 18 178 53 188 17 178 54 189 16 178 55 195 15 178 56 197 14 178 57 198 13 178 58 201 12 178 59 204 11 178 61 205 10 178 62 207 9 178 63 208 8 178 64 209 7 178 65 209 6 178 66 211 5 178 67 213 4 178 68 216 3 178 69 217 2 178 70 217 1 178 71 219 0 178 72 220 0 178 73 221 0 178 73 224 0 178 74 226 0 178 74 228 0 178 74 230 255 177 0 231 254 177 0 231 254 177 0 230 254 177 0 230 253 177 0 228 252 177 0 227 251 177 0 224 250 177 0 223 249 177 0 220 248 177 0 219 247 177 0 217 246 177 0 217 245 177 0 216 244 177 0 213 243 177 0 211 242 177 0 209 241 177 0 208 240 177 0 208 239 177 0 207 238 177 0 205 237 177 0 202 236 177 0 201 235 177 0 198 234 177 0 197 233 177 0 194 232 177 0 189 231 177 0 186 230 177 0 185 229 177 0 184 228 177 0 182 227 177 0 181 226 177 0 179 224 177 0 176 223 177 0 174 222 177 0 171 221 177 0 166 220 177 0 163 219 177 0 162 218 177 0 160 217 177 0 159 216 177 0 157 215 177 0 156 214 177 0 155 213 177 0 153 212 177 0 152 211 177 0 150 210 177 0 145 209 177 0 143 208 177 0 140 207 177 0 137 206 177 0 135 205 177 0 133 204 177 0 131 203 177 0 130 202 177 0 128 201 177 0 126 200 177 0 122 199 177 0 120 198 177 0 118 197 177 0 117 196 177 0 114 195 177 0 111 194 177 0 108 193 177 0 107 191 177 0 104 190 177 0 103 189 177 0 102 188 177 0 98 187 177 0 96 186 177 0 95 185 177 0 93 184 177 0 92 183 177 0 89 182 177 0 88 181 177 0 86 180 177 0 84 179 177 0 82 178 177 0 81 177 177 0 77 176 177 0 76 175 177 0 73 174 177 0 70 173 177 0 67 172 177 0 64 171 177 0 62 170 177 0 60 169 177 0 59 168 177 0 57 167 177 0 54 166 177 0 53 165 177 0 50 164 177 0 49 163 177 0 46 162 177 0 43 161 177 0 40 160 177 0 38 158 177 0 36 157 177 0 32 156 177 0 31 155 177 0 29 154 177 0 28 153 177 0 28 152 177 0 27 151 177 0 25 150 177 0 24 149 177 0 22 148 177 0 20 147 177 0 18 146 177 0 17 145 177 0 16 144 177 0 14 143 177 0 13 142 177 0 10 141 177 0 9 140 177 0 7 139 177 0 7 138 177 0 6 137 177 0 6 136 177 0 6 135 177 0 5 134 177 0 5 133 177 0 5 132 177 0 5 131 177 0 5 130 177 0 5 129 177 0 5 128 177 0 5 127 177 0 5 125 177 0 5 124 177 0 5 123 177 0 5 122 177 0 5 121 177 0 5 120 177 0 5 119 177 0 5 118 177 0 5 117 177 0 5 116 177 0 5 115 177 0 5 114 177 0 5 113 177 0 6 112 177 0 6 111 177 0 6 110 177 0 7 109 177 0 7 108 177 0 9 107 177 0 10 106 177 0 13 105 177 0 14 104 177 0 16 103 177 0 17 102 177 0 17 101 177 0 18 100 177 0 20 99 177 0 22 98 177 0 24 97 177 0 25 96 177 0 27 95 177 0 28 94 177 0 29 92 177 0 31 91 177 0 32 90 177 0 35 89 177 0 38 88 177 0 40 87 177 0 43 86 177 0 46 85 177 0 49 84 177 0 50 83 177 0 51 82 177 0 53 81 177 0 54 80 177 0 57 79 177 0 60 78 177 0 62 77 177 0 64 76 177 0 67 75 177 0 70 74 177 0 73 73 177 1 76 72 177 1 77 71 177 2 81 70 177 3 82 69 177 4 84 68 177 5 86 67 177 6 88 66 177 7 89 65 177 8 91 64 177 9 93 63 177 10 95 62 177 11 96 61 177 12 98 59 177 13 102 58 177 14 103 57 177 15 104 56 177 16 107 55 177 17 108 54 177 18 111 53 177 19 112 52 177 20 115 51 177 21 118 50 177 22 120 49 177 23 121 48 177 24 122 47 177 25 128 46 177 26 130 45 177 27 131 44 177 29 133 43 177 30 134 42 177 31 137 41 177 32 140 40 177 33 143 39 177 34 145 38 177 35 149 37 177 36 152 36 177 37 153 35 177 38 155 34 177 39 156 33 177 40 157 32 177 41 159 31 177 42 160 30 177 43 162 29 177 44 163 28 177 45 166 26 177 46 171 25 177 47 174 24 177 48 176 23 177 49 178 22 177 50 181 21 177 51 182 20 177 52 184 19 177 53 185 18 177 54 186 17 177 55 188 16 177 56 194 15 177 57 195 14 177 58 198 13 177 59 201 12 177 60 202 11 177 62 204 10 177 63 207 9 177 64 208 8 177 65 208 7 177 66 209 6 177 67 211 5 177 68 213 4 177 69 216 3 177 70 217 2 177 71 217 1 177 72 219 0 177 73 220 0 177 74 221 0 177 74 224 0 177 74 226 0 177 75 228 0 177 75 230 255 176 0 230 254 176 0 230 254 176 0 230 254 176 0 230 253 176 0 228 252 176 0 226 251 176 0 224 250 176 0 221 249 176 0 220 248 176 0 219 247 176 0 217 246 176 0 216 245 176 0 216 244 176 0 213 243 176 0 211 242 176 0 209 241 176 0 208 240 176 0 207 239 176 0 205 238 176 0 204 237 176 0 202 236 176 0 201 235 176 0 198 234 176 0 195 233 176 0 189 232 176 0 188 231 176 0 186 230 176 0 185 229 176 0 184 228 176 0 182 227 176 0 181 226 176 0 178 224 176 0 176 223 176 0 174 222 176 0 171 221 176 0 165 220 176 0 163 219 176 0 160 218 176 0 159 217 176 0 157 216 176 0 156 215 176 0 156 214 176 0 155 213 176 0 153 212 176 0 152 211 176 0 149 210 176 0 144 209 176 0 141 208 176 0 138 207 176 0 135 206 176 0 134 205 176 0 131 204 176 0 130 203 176 0 128 202 176 0 126 201 176 0 122 200 176 0 121 199 176 0 118 198 176 0 117 197 176 0 115 196 176 0 112 195 176 0 110 194 176 0 108 193 176 0 104 191 176 0 103 190 176 0 102 189 176 0 99 188 176 0 96 187 176 0 95 186 176 0 93 185 176 0 92 184 176 0 91 183 176 0 88 182 176 0 86 181 176 0 84 180 176 0 82 179 176 0 81 178 176 0 77 177 176 0 76 176 176 0 73 175 176 0 70 174 176 0 67 173 176 0 66 172 176 0 62 171 176 0 59 170 176 0 57 169 176 0 54 168 176 0 53 167 176 0 51 166 176 0 50 165 176 0 49 164 176 0 46 163 176 0 44 162 176 0 40 161 176 0 38 160 176 0 36 158 176 0 32 157 176 0 31 156 176 0 29 155 176 0 28 154 176 0 27 153 176 0 25 152 176 0 24 151 176 0 22 150 176 0 20 149 176 0 18 148 176 0 16 147 176 0 14 146 176 0 13 145 176 0 13 144 176 0 10 143 176 0 9 142 176 0 7 141 176 0 6 140 176 0 5 139 176 0 5 138 176 0 3 137 176 0 3 136 176 0 3 135 176 0 2 134 176 0 2 133 176 0 2 132 176 0 2 131 176 0 2 130 176 0 2 129 176 0 2 128 176 0 2 127 176 0 2 125 176 0 2 124 176 0 2 123 176 0 2 122 176 0 2 121 176 0 2 120 176 0 2 119 176 0 2 118 176 0 2 117 176 0 2 116 176 0 2 115 176 0 2 114 176 0 2 113 176 0 3 112 176 0 3 111 176 0 3 110 176 0 3 109 176 0 5 108 176 0 6 107 176 0 7 106 176 0 9 105 176 0 10 104 176 0 13 103 176 0 13 102 176 0 14 101 176 0 16 100 176 0 17 99 176 0 20 98 176 0 22 97 176 0 24 96 176 0 25 95 176 0 27 94 176 0 28 92 176 0 29 91 176 0 31 90 176 0 32 89 176 0 35 88 176 0 38 87 176 0 39 86 176 0 43 85 176 0 46 84 176 0 47 83 176 0 50 82 176 0 51 81 176 0 53 80 176 0 54 79 176 0 57 78 176 0 59 77 176 0 62 76 176 0 66 75 176 1 67 74 176 1 70 73 176 2 73 72 176 2 76 71 176 3 77 70 176 4 80 69 176 5 82 68 176 6 84 67 176 7 86 66 176 8 88 65 176 9 89 64 176 10 92 63 176 11 93 62 176 12 95 61 176 13 96 59 176 14 99 58 176 15 102 57 176 16 103 56 176 17 104 55 176 18 107 54 176 19 110 53 176 20 111 52 176 21 114 51 176 22 117 50 176 24 118 49 176 25 120 48 176 26 121 47 176 27 126 46 176 28 128 45 176 29 130 44 176 30 131 43 176 31 133 42 176 32 135 41 176 33 138 40 176 34 141 39 176 35 144 38 176 36 149 37 176 37 150 36 176 38 153 35 176 39 155 34 176 40 156 33 176 41 156 32 176 42 157 31 176 43 159 30 176 44 160 29 176 45 163 28 176 46 165 26 176 47 167 25 176 48 172 24 176 49 175 23 176 50 178 22 176 51 179 21 176 52 181 20 176 53 184 19 176 54 185 18 176 55 185 17 176 57 188 16 176 58 189 15 176 59 194 14 176 60 197 13 176 61 199 12 176 62 202 11 176 63 204 10 176 64 205 9 176 65 207 8 176 66 208 7 176 67 209 6 176 68 211 5 176 69 211 4 176 70 213 3 176 71 216 2 176 72 217 1 176 73 219 0 176 74 220 0 176 75 221 0 176 75 223 0 176 76 226 0 176 76 227 0 176 76 228 255 175 0 230 254 175 0 230 254 175 0 230 254 175 0 228 253 175 0 227 252 175 0 226 251 175 0 224 250 175 0 221 249 175 0 220 248 175 0 219 247 175 0 217 246 175 0 216 245 175 0 213 244 175 0 211 243 175 0 209 242 175 0 208 241 175 0 208 240 175 0 207 239 175 0 205 238 175 0 204 237 175 0 202 236 175 0 199 235 175 0 197 234 175 0 195 233 175 0 189 232 175 0 186 231 175 0 185 230 175 0 184 229 175 0 182 228 175 0 181 227 175 0 179 226 175 0 178 224 175 0 175 223 175 0 172 222 175 0 167 221 175 0 165 220 175 0 162 219 175 0 160 218 175 0 157 217 175 0 157 216 175 0 156 215 175 0 155 214 175 0 153 213 175 0 152 212 175 0 150 211 175 0 145 210 175 0 143 209 175 0 140 208 175 0 137 207 175 0 134 206 175 0 133 205 175 0 130 204 175 0 128 203 175 0 126 202 175 0 122 201 175 0 121 200 175 0 120 199 175 0 117 198 175 0 115 197 175 0 114 196 175 0 111 195 175 0 108 194 175 0 107 193 175 0 103 191 175 0 102 190 175 0 99 189 175 0 98 188 175 0 95 187 175 0 93 186 175 0 92 185 175 0 91 184 175 0 89 183 175 0 88 182 175 0 84 181 175 0 82 180 175 0 81 179 175 0 77 178 175 0 74 177 175 0 73 176 175 0 70 175 175 0 67 174 175 0 66 173 175 0 62 172 175 0 59 171 175 0 57 170 175 0 54 169 175 0 53 168 175 0 51 167 175 0 49 166 175 0 47 165 175 0 46 164 175 0 43 163 175 0 40 162 175 0 38 161 175 0 35 160 175 0 32 158 175 0 31 157 175 0 28 156 175 0 27 155 175 0 27 154 175 0 25 153 175 0 24 152 175 0 22 151 175 0 18 150 175 0 17 149 175 0 14 148 175 0 13 147 175 0 10 146 175 0 9 145 175 0 7 144 175 0 7 143 175 0 6 142 175 0 5 141 175 0 3 140 175 0 2 139 175 0 2 138 175 0 0 137 175 0 0 136 175 0 0 135 175 0 0 134 175 0 0 133 175 0 0 132 175 0 0 131 175 0 0 130 175 0 0 129 175 0 0 128 175 0 0 127 175 0 0 125 175 0 0 124 175 0 0 123 175 0 0 122 175 0 0 121 175 0 0 120 175 0 0 119 175 0 0 118 175 0 0 117 175 0 0 116 175 0 0 115 175 0 0 114 175 0 0 113 175 0 0 112 175 0 0 111 175 0 0 110 175 0 2 109 175 0 2 108 175 0 3 107 175 0 5 106 175 0 6 105 175 0 7 104 175 0 7 103 175 0 9 102 175 0 10 101 175 0 13 100 175 0 14 99 175 0 17 98 175 0 18 97 175 0 20 96 175 0 22 95 175 0 24 94 175 0 25 92 175 0 27 91 175 0 28 90 175 0 29 89 175 0 32 88 175 0 35 87 175 0 38 86 175 0 39 85 175 0 43 84 175 0 44 83 175 0 47 82 175 0 49 81 175 0 50 80 175 0 51 79 175 0 54 78 175 0 57 77 175 0 59 76 175 1 62 75 175 2 66 74 175 2 67 73 175 3 70 72 175 3 73 71 175 4 74 70 175 5 77 69 175 6 80 68 175 7 82 67 175 9 84 66 175 10 86 65 175 10 88 64 175 11 91 63 175 12 92 62 175 13 93 61 175 14 95 59 175 15 96 58 175 17 99 57 175 18 102 56 175 18 103 55 175 19 104 54 175 20 108 53 175 21 111 52 175 22 112 51 175 24 115 50 175 25 117 49 175 26 118 48 175 27 120 47 175 28 122 46 175 29 126 45 175 30 128 44 175 31 130 43 175 32 133 42 175 34 134 41 175 35 137 40 175 35 140 39 175 36 143 38 175 37 145 37 175 38 150 36 175 39 152 35 175 40 153 34 175 42 155 33 175 43 156 32 175 43 156 31 175 44 157 30 175 45 159 29 175 46 162 28 175 47 165 26 175 48 167 25 175 50 172 24 175 51 175 23 175 51 176 22 175 52 179 21 175 53 181 20 175 54 182 19 175 55 184 18 175 57 185 17 175 58 186 16 175 59 188 15 175 60 194 14 175 61 197 13 175 62 199 12 175 63 201 11 175 64 204 10 175 65 205 9 175 67 207 8 175 68 207 7 175 68 208 6 175 69 209 5 175 70 211 4 175 71 213 3 175 72 216 2 175 73 217 1 175 75 219 0 175 75 220 0 175 76 221 0 175 77 223 0 175 77 226 0 175 77 227 0 175 77 228 255 174 0 230 254 174 0 230 254 174 0 230 254 174 0 228 253 174 0 227 252 174 0 226 251 174 0 223 250 174 0 221 249 174 0 220 248 174 0 219 247 174 0 217 246 174 0 216 245 174 0 213 244 174 0 211 243 174 0 209 242 174 0 208 241 174 0 207 240 174 0 207 239 174 0 205 238 174 0 204 237 174 0 202 236 174 0 199 235 174 0 197 234 174 0 194 233 174 0 188 232 174 0 186 231 174 0 184 230 174 0 182 229 174 0 181 228 174 0 179 227 174 0 179 226 174 0 176 224 174 0 175 223 174 0 172 222 174 0 167 221 174 0 165 220 174 0 162 219 174 0 159 218 174 0 157 217 174 0 156 216 174 0 155 215 174 0 155 214 174 0 153 213 174 0 150 212 174 0 149 211 174 0 144 210 174 0 143 209 174 0 140 208 174 0 137 207 174 0 134 206 174 0 131 205 174 0 130 204 174 0 126 203 174 0 122 202 174 0 121 201 174 0 120 200 174 0 118 199 174 0 115 198 174 0 114 197 174 0 112 196 174 0 110 195 174 0 107 194 174 0 104 193 174 0 102 191 174 0 99 190 174 0 98 189 174 0 96 188 174 0 93 187 174 0 92 186 174 0 91 185 174 0 89 184 174 0 88 183 174 0 86 182 174 0 82 181 174 0 81 180 174 0 77 179 174 0 76 178 174 0 73 177 174 0 70 176 174 0 69 175 174 0 66 174 174 0 62 173 174 0 60 172 174 0 57 171 174 0 54 170 174 0 53 169 174 0 51 168 174 0 49 167 174 0 47 166 174 0 46 165 174 0 43 164 174 0 40 163 174 0 38 162 174 0 35 161 174 0 32 160 174 0 29 158 174 0 28 157 174 0 27 156 174 0 25 155 174 0 24 154 174 0 22 153 174 0 20 152 174 0 18 151 174 0 17 150 174 0 14 149 174 0 13 148 174 0 9 147 174 0 7 146 174 0 6 145 174 0 5 144 174 0 5 143 174 0 3 142 174 0 3 141 174 0 2 140 174 0 0 139 174 0 0 138 174 0 0 137 174 0 0 136 174 0 0 135 174 0 0 134 174 0 0 133 174 0 0 132 174 0 0 131 174 0 0 130 174 0 0 129 174 0 0 128 174 0 0 127 174 0 0 125 174 0 0 124 174 0 0 123 174 0 0 122 174 0 0 121 174 0 0 120 174 0 0 119 174 0 0 118 174 0 0 117 174 0 0 116 174 0 0 115 174 0 0 114 174 0 0 113 174 0 0 112 174 0 0 111 174 0 0 110 174 0 0 109 174 0 0 108 174 0 2 107 174 0 2 106 174 0 3 105 174 0 5 104 174 0 5 103 174 0 6 102 174 0 7 101 174 0 9 100 174 0 10 99 174 0 14 98 174 0 16 97 174 0 18 96 174 0 20 95 174 0 22 94 174 0 24 92 174 0 25 91 174 0 27 90 174 0 28 89 174 0 29 88 174 0 32 87 174 0 35 86 174 0 38 85 174 0 39 84 174 0 43 83 174 0 44 82 174 0 47 81 174 0 49 80 174 0 50 79 174 0 53 78 174 0 54 77 174 1 57 76 174 2 60 75 174 2 62 74 174 3 66 73 174 4 67 72 174 4 70 71 174 5 71 70 174 6 74 69 174 7 77 68 174 9 80 67 174 10 82 66 174 11 86 65 174 12 88 64 174 12 89 63 174 13 91 62 174 14 92 61 174 15 93 59 174 17 96 58 174 18 98 57 174 19 99 56 174 20 102 55 174 20 104 54 174 21 107 53 174 22 110 52 174 24 111 51 174 25 114 50 174 26 115 49 174 27 118 48 174 28 120 47 174 29 121 46 174 30 122 45 174 31 126 44 174 32 130 43 174 34 131 42 174 35 134 41 174 36 135 40 174 37 138 39 174 37 141 38 174 38 144 37 174 39 149 36 174 40 150 35 174 42 153 34 174 43 153 33 174 44 155 32 174 45 156 31 174 45 157 30 174 46 159 29 174 47 162 28 174 48 165 26 174 50 167 25 174 51 172 24 174 52 174 23 174 53 176 22 174 53 178 21 174 54 179 20 174 55 181 19 174 57 182 18 174 58 184 17 174 59 185 16 174 60 188 15 174 61 189 14 174 62 195 13 174 63 199 12 174 64 201 11 174 65 204 10 174 67 205 9 174 68 205 8 174 69 207 7 174 70 208 6 174 70 209 5 174 71 211 4 174 72 213 3 174 73 216 2 174 75 217 1 174 76 219 0 174 77 219 0 174 77 221 0 174 78 223 0 174 78 224 0 174 78 226 0 174 78 227 255 173 0 230 254 173 0 230 254 173 0 228 254 173 0 227 253 173 0 226 252 173 0 224 251 173 0 221 250 173 0 220 249 173 0 219 248 173 0 217 247 173 0 216 246 173 0 216 245 173 0 213 244 173 0 211 243 173 0 209 242 173 0 208 241 173 0 207 240 173 0 205 239 173 0 204 238 173 0 204 237 173 0 201 236 173 0 199 235 173 0 197 234 173 0 194 233 173 0 188 232 173 0 185 231 173 0 184 230 173 0 182 229 173 0 181 228 173 0 179 227 173 0 178 226 173 0 176 224 173 0 174 223 173 0 172 222 173 0 167 221 173 0 165 220 173 0 162 219 173 0 159 218 173 0 157 217 173 0 156 216 173 0 155 215 173 0 153 214 173 0 152 213 173 0 150 212 173 0 145 211 173 0 143 210 173 0 141 209 173 0 138 208 173 0 135 207 173 0 133 206 173 0 131 205 173 0 128 204 173 0 126 203 173 0 122 202 173 0 120 201 173 0 118 200 173 0 117 199 173 0 114 198 173 0 112 197 173 0 111 196 173 0 108 195 173 0 104 194 173 0 103 193 173 0 102 191 173 0 98 190 173 0 96 189 173 0 95 188 173 0 93 187 173 0 92 186 173 0 89 185 173 0 88 184 173 0 86 183 173 0 84 182 173 0 81 181 173 0 77 180 173 0 76 179 173 0 73 178 173 0 70 177 173 0 69 176 173 0 66 175 173 0 64 174 173 0 60 173 173 0 59 172 173 0 57 171 173 0 53 170 173 0 51 169 173 0 49 168 173 0 47 167 173 0 46 166 173 0 43 165 173 0 40 164 173 0 38 163 173 0 35 162 173 0 32 161 173 0 29 160 173 0 28 158 173 0 27 157 173 0 25 156 173 0 24 155 173 0 22 154 173 0 20 153 173 0 18 152 173 0 17 151 173 0 14 150 173 0 10 149 173 0 9 148 173 0 6 147 173 0 5 146 173 0 5 145 173 0 3 144 173 0 2 143 173 0 2 142 173 0 0 141 173 0 0 140 173 0 0 139 173 0 0 138 173 0 0 137 173 0 0 136 173 0 0 135 173 0 0 134 173 0 0 133 173 0 0 132 173 0 0 131 173 0 0 130 173 0 0 129 173 0 0 128 173 0 0 127 173 0 0 125 173 0 0 124 173 0 0 123 173 0 0 122 173 0 0 121 173 0 0 120 173 0 0 119 173 0 0 118 173 0 0 117 173 0 0 116 173 0 0 115 173 0 0 114 173 0 0 113 173 0 0 112 173 0 0 111 173 0 0 110 173 0 0 109 173 0 0 108 173 0 0 107 173 0 0 106 173 0 2 105 173 0 2 104 173 0 3 103 173 0 3 102 173 0 5 101 173 0 6 100 173 0 7 99 173 0 10 98 173 0 14 97 173 0 16 96 173 0 18 95 173 0 20 94 173 0 22 92 173 0 24 91 173 0 25 90 173 0 27 89 173 0 28 88 173 0 29 87 173 0 32 86 173 0 35 85 173 0 38 84 173 0 39 83 173 0 43 82 173 0 44 81 173 0 47 80 173 0 49 79 173 0 51 78 173 0 53 77 173 1 54 76 173 2 59 75 173 3 60 74 173 4 64 73 173 5 66 72 173 5 67 71 173 6 70 70 173 7 73 69 173 8 74 68 173 10 77 67 173 11 81 66 173 12 82 65 173 13 86 64 173 13 88 63 173 14 89 62 173 15 91 61 173 16 93 59 173 18 95 58 173 19 96 57 173 20 98 56 173 21 99 55 173 21 103 54 173 22 104 53 173 23 108 52 173 25 110 51 173 26 112 50 173 27 114 49 173 28 117 48 173 29 118 47 173 30 120 46 173 31 121 45 173 32 126 44 173 33 128 43 173 35 131 42 173 36 133 41 173 37 135 40 173 38 138 39 173 38 140 38 173 39 143 37 173 40 145 36 173 41 150 35 173 43 152 34 173 44 153 33 173 45 155 32 173 46 156 31 173 46 157 30 173 47 159 29 173 48 160 28 173 49 163 26 173 51 166 25 173 52 171 24 173 53 174 23 173 54 176 22 173 54 178 21 173 55 179 20 173 56 181 19 173 58 182 18 173 59 184 17 173 60 185 16 173 61 188 15 173 62 189 14 173 63 195 13 173 64 198 12 173 65 201 11 173 66 202 10 173 68 204 9 173 69 205 8 173 70 207 7 173 71 208 6 173 71 209 5 173 72 211 4 173 73 213 3 173 74 216 2 173 76 216 1 173 77 217 0 173 78 219 0 173 78 220 0 173 79 221 0 173 79 223 0 173 79 224 0 173 79 226 255 172 0 230 254 172 0 228 254 172 0 227 254 172 0 226 253 172 0 224 252 172 0 223 251 172 0 221 250 172 0 220 249 172 0 219 248 172 0 217 247 172 0 216 246 172 0 213 245 172 0 211 244 172 0 209 243 172 0 209 242 172 0 208 241 172 0 207 240 172 0 205 239 172 0 204 238 172 0 202 237 172 0 201 236 172 0 199 235 172 0 197 234 172 0 194 233 172 0 188 232 172 0 185 231 172 0 184 230 172 0 181 229 172 0 179 228 172 0 178 227 172 0 176 226 172 0 175 224 172 0 174 223 172 0 171 222 172 0 166 221 172 0 163 220 172 0 160 219 172 0 159 218 172 0 157 217 172 0 155 216 172 0 155 215 172 0 152 214 172 0 150 213 172 0 149 212 172 0 144 211 172 0 141 210 172 0 138 209 172 0 137 208 172 0 134 207 172 0 133 206 172 0 130 205 172 0 128 204 172 0 122 203 172 0 121 202 172 0 118 201 172 0 117 200 172 0 115 199 172 0 112 198 172 0 111 197 172 0 108 196 172 0 107 195 172 0 103 194 172 0 102 193 172 0 99 191 172 0 96 190 172 0 95 189 172 0 93 188 172 0 92 187 172 0 91 186 172 0 88 185 172 0 86 184 172 0 84 183 172 0 81 182 172 0 77 181 172 0 76 180 172 0 73 179 172 0 70 178 172 0 69 177 172 0 66 176 172 0 64 175 172 0 62 174 172 0 59 173 172 0 57 172 172 0 54 171 172 0 51 170 172 0 50 169 172 0 47 168 172 0 44 167 172 0 43 166 172 0 39 165 172 0 38 164 172 0 35 163 172 0 32 162 172 0 29 161 172 0 28 160 172 0 27 158 172 0 24 157 172 0 22 156 172 0 20 155 172 0 18 154 172 0 17 153 172 0 16 152 172 0 14 151 172 0 10 150 172 0 9 149 172 0 6 148 172 0 5 147 172 0 3 146 172 0 2 145 172 0 0 144 172 0 0 143 172 0 0 142 172 0 0 141 172 0 0 140 172 0 0 139 172 0 0 138 172 0 0 137 172 0 0 136 172 0 0 135 172 0 0 134 172 0 0 133 172 0 0 132 172 0 0 131 172 0 0 130 172 0 0 129 172 0 0 128 172 0 0 127 172 0 0 125 172 0 0 124 172 0 0 123 172 0 0 122 172 0 0 121 172 0 0 120 172 0 0 119 172 0 0 118 172 0 0 117 172 0 0 116 172 0 0 115 172 0 0 114 172 0 0 113 172 0 0 112 172 0 0 111 172 0 0 110 172 0 0 109 172 0 0 108 172 0 0 107 172 0 0 106 172 0 0 105 172 0 0 104 172 0 0 103 172 0 2 102 172 0 3 101 172 0 5 100 172 0 6 99 172 0 7 98 172 0 10 97 172 0 13 96 172 0 16 95 172 0 17 94 172 0 18 92 172 0 20 91 172 0 22 90 172 0 24 89 172 0 25 88 172 0 28 87 172 0 29 86 172 0 31 85 172 0 35 84 172 0 36 83 172 0 39 82 172 0 43 81 172 0 44 80 172 0 47 79 172 0 49 78 172 1 51 77 172 2 53 76 172 3 57 75 172 4 59 74 172 5 60 73 172 6 64 72 172 6 66 71 172 7 67 70 172 8 70 69 172 9 73 68 172 10 74 67 172 12 77 66 172 13 81 65 172 14 82 64 172 14 86 63 172 15 88 62 172 16 91 61 172 17 92 59 172 18 93 58 172 20 95 57 172 21 96 56 172 22 99 55 172 22 102 54 172 23 103 53 172 24 107 52 172 26 108 51 172 27 111 50 172 28 112 49 172 29 115 48 172 30 117 47 172 31 118 46 172 32 121 45 172 33 122 44 172 34 126 43 172 35 130 42 172 37 131 41 172 38 134 40 172 39 135 39 172 39 138 38 172 40 141 37 172 41 144 36 172 42 145 35 172 43 150 34 172 45 152 33 172 46 153 32 172 47 155 31 172 47 156 30 172 48 159 29 172 49 160 28 172 50 163 26 172 51 166 25 172 53 171 24 172 54 172 23 172 55 175 22 172 55 176 21 172 56 178 20 172 57 179 19 172 59 181 18 172 60 182 17 172 61 185 16 172 62 186 15 172 63 189 14 172 64 195 13 172 65 198 12 172 66 201 11 172 67 202 10 172 68 204 9 172 70 205 8 172 71 207 7 172 72 208 6 172 72 208 5 172 73 209 4 172 74 211 3 172 75 213 2 172 76 216 1 172 78 217 0 172 78 219 0 172 79 219 0 172 80 220 0 172 80 221 0 172 80 223 0 172 80 223 255 171 0 230 254 171 0 228 254 171 0 227 254 171 0 224 253 171 0 223 252 171 0 221 251 171 0 220 250 171 0 219 249 171 0 217 248 171 0 216 247 171 0 213 246 171 0 213 245 171 0 211 244 171 0 209 243 171 0 208 242 171 0 208 241 171 0 205 240 171 0 205 239 171 0 204 238 171 0 202 237 171 0 199 236 171 0 198 235 171 0 195 234 171 0 189 233 171 0 188 232 171 0 185 231 171 0 182 230 171 0 181 229 171 0 179 228 171 0 176 227 171 0 175 226 171 0 174 224 171 0 172 223 171 0 167 222 171 0 166 221 171 0 163 220 171 0 160 219 171 0 159 218 171 0 156 217 171 0 155 216 171 0 153 215 171 0 152 214 171 0 149 213 171 0 145 212 171 0 143 211 171 0 140 210 171 0 137 209 171 0 135 208 171 0 133 207 171 0 131 206 171 0 130 205 171 0 126 204 171 0 122 203 171 0 120 202 171 0 118 201 171 0 115 200 171 0 114 199 171 0 111 198 171 0 110 197 171 0 107 196 171 0 104 195 171 0 102 194 171 0 99 193 171 0 98 191 171 0 96 190 171 0 95 189 171 0 92 188 171 0 91 187 171 0 89 186 171 0 86 185 171 0 84 184 171 0 81 183 171 0 80 182 171 0 76 181 171 0 73 180 171 0 70 179 171 0 69 178 171 0 66 177 171 0 64 176 171 0 62 175 171 0 59 174 171 0 57 173 171 0 54 172 171 0 53 171 171 0 50 170 171 0 47 169 171 0 46 168 171 0 43 167 171 0 39 166 171 0 38 165 171 0 35 164 171 0 32 163 171 0 29 162 171 0 28 161 171 0 25 160 171 0 24 158 171 0 22 157 171 0 20 156 171 0 18 155 171 0 17 154 171 0 16 153 171 0 13 152 171 0 10 151 171 0 7 150 171 0 6 149 171 0 5 148 171 0 2 147 171 0 2 146 171 0 0 145 171 0 0 144 171 0 0 143 171 0 0 142 171 0 0 141 171 0 0 140 171 0 0 139 171 0 0 138 171 0 0 137 171 0 0 136 171 0 0 135 171 0 0 134 171 0 0 133 171 0 0 132 171 0 0 131 171 0 0 130 171 0 0 129 171 0 0 128 171 0 0 127 171 0 0 125 171 0 0 124 171 0 0 123 171 0 0 122 171 0 0 121 171 0 0 120 171 0 0 119 171 0 0 118 171 0 0 117 171 0 0 116 171 0 0 115 171 0 0 114 171 0 0 113 171 0 0 112 171 0 0 111 171 0 0 110 171 0 0 109 171 0 0 108 171 0 0 107 171 0 0 106 171 0 0 105 171 0 0 104 171 0 0 103 171 0 0 102 171 0 0 101 171 0 2 100 171 0 3 99 171 0 6 98 171 0 7 97 171 0 9 96 171 0 13 95 171 0 16 94 171 0 17 92 171 0 18 91 171 0 20 90 171 0 22 89 171 0 24 88 171 0 25 87 171 0 28 86 171 0 29 85 171 0 31 84 171 0 35 83 171 0 36 82 171 0 39 81 171 0 40 80 171 0 44 79 171 1 47 78 171 1 50 77 171 2 51 76 171 3 54 75 171 4 57 74 171 5 59 73 171 6 62 72 171 7 64 71 171 8 66 70 171 9 67 69 171 10 70 68 171 11 73 67 171 12 76 66 171 13 77 65 171 14 81 64 171 15 84 63 171 16 86 62 171 17 89 61 171 18 91 59 171 19 92 58 171 20 93 57 171 21 96 56 171 22 98 55 171 23 99 54 171 24 102 53 171 25 104 52 171 27 107 51 171 28 108 50 171 29 111 49 171 30 112 48 171 31 115 47 171 32 117 46 171 33 120 45 171 34 121 44 171 35 126 43 171 36 128 42 171 37 131 41 171 38 133 40 171 39 134 39 171 40 137 38 171 41 140 37 171 42 143 36 171 43 144 35 171 44 149 34 171 45 152 33 171 46 153 32 171 47 155 31 171 48 156 30 171 49 157 29 171 50 160 28 171 51 162 26 171 52 165 25 171 53 167 24 171 54 171 23 171 55 174 22 171 56 175 21 171 57 176 20 171 58 179 19 171 60 181 18 171 61 182 17 171 62 185 16 171 63 186 15 171 64 189 14 171 65 195 13 171 66 198 12 171 67 199 11 171 68 201 10 171 69 204 9 171 70 205 8 171 71 205 7 171 72 207 6 171 73 208 5 171 74 209 4 171 75 211 3 171 76 213 2 171 77 213 1 171 78 216 0 171 79 217 0 171 80 219 0 171 80 220 0 171 81 220 0 171 81 221 0 171 81 221 255 170 0 230 254 170 0 228 254 170 0 226 254 170 0 224 253 170 0 223 252 170 0 221 251 170 0 220 250 170 0 219 249 170 0 217 248 170 0 216 247 170 0 213 246 170 0 211 245 170 0 211 244 170 0 209 243 170 0 208 242 170 0 207 241 170 0 205 240 170 0 204 239 170 0 202 238 170 0 201 237 170 0 199 236 170 0 197 235 170 0 195 234 170 0 189 233 170 0 186 232 170 0 185 231 170 0 182 230 170 0 181 229 170 0 178 228 170 0 176 227 170 0 175 226 170 0 172 224 170 0 171 223 170 0 166 222 170 0 165 221 170 0 162 220 170 0 159 219 170 0 157 218 170 0 156 217 170 0 155 216 170 0 153 215 170 0 152 214 170 0 149 213 170 0 144 212 170 0 141 211 170 0 138 210 170 0 135 209 170 0 134 208 170 0 131 207 170 0 130 206 170 0 128 205 170 0 122 204 170 0 121 203 170 0 118 202 170 0 117 201 170 0 114 200 170 0 112 199 170 0 110 198 170 0 108 197 170 0 104 196 170 0 103 195 170 0 99 194 170 0 98 193 170 0 96 191 170 0 95 190 170 0 93 189 170 0 92 188 170 0 89 187 170 0 88 186 170 0 84 185 170 0 81 184 170 0 80 183 170 0 76 182 170 0 73 181 170 0 70 180 170 0 69 179 170 0 66 178 170 0 64 177 170 0 62 176 170 0 60 175 170 0 59 174 170 0 57 173 170 0 53 172 170 0 50 171 170 0 49 170 170 0 46 169 170 0 43 168 170 0 40 167 170 0 38 166 170 0 35 165 170 0 32 164 170 0 29 163 170 0 28 162 170 0 27 161 170 0 24 160 170 0 22 158 170 0 20 157 170 0 18 156 170 0 17 155 170 0 14 154 170 0 13 153 170 0 10 152 170 0 7 151 170 0 6 150 170 0 3 149 170 0 2 148 170 0 0 147 170 0 0 146 170 0 0 145 170 0 0 144 170 0 0 143 170 0 0 142 170 0 0 141 170 0 0 140 170 0 0 139 170 0 0 138 170 0 0 137 170 0 0 136 170 0 0 135 170 0 0 134 170 0 0 133 170 0 0 132 170 0 0 131 170 0 0 130 170 0 0 129 170 0 0 128 170 0 0 127 170 0 0 125 170 0 0 124 170 0 0 123 170 0 0 122 170 0 0 121 170 0 0 120 170 0 0 119 170 0 0 118 170 0 0 117 170 0 0 116 170 0 0 115 170 0 0 114 170 0 0 113 170 0 0 112 170 0 0 111 170 0 0 110 170 0 0 109 170 0 0 108 170 0 0 107 170 0 0 106 170 0 0 105 170 0 0 104 170 0 0 103 170 0 0 102 170 0 0 101 170 0 0 100 170 0 2 99 170 0 3 98 170 0 5 97 170 0 7 96 170 0 9 95 170 0 13 94 170 0 14 92 170 0 17 91 170 0 18 90 170 0 20 89 170 0 22 88 170 0 24 87 170 0 25 86 170 0 28 85 170 0 29 84 170 0 32 83 170 0 35 82 170 0 38 81 170 0 39 80 170 1 43 79 170 1 46 78 170 2 47 77 170 3 50 76 170 4 53 75 170 5 54 74 170 6 59 73 170 7 60 72 170 8 62 71 170 9 64 70 170 10 66 69 170 11 67 68 170 12 70 67 170 13 73 66 170 14 76 65 170 15 80 64 170 16 81 63 170 17 84 62 170 18 88 61 170 19 89 59 170 20 91 58 170 21 93 57 170 22 95 56 170 23 96 55 170 24 98 54 170 25 99 53 170 26 103 52 170 28 104 51 170 29 107 50 170 30 110 49 170 31 111 48 170 32 114 47 170 33 115 46 170 34 118 45 170 35 121 44 170 36 122 43 170 37 128 42 170 38 130 41 170 39 131 40 170 40 133 39 170 41 135 38 170 42 138 37 170 43 141 36 170 44 144 35 170 45 145 34 170 46 150 33 170 47 153 32 170 48 155 31 170 49 156 30 170 50 157 29 170 51 159 28 170 52 162 26 170 53 163 25 170 54 166 24 170 55 171 23 170 56 172 22 170 57 174 21 170 58 176 20 170 59 178 19 170 61 181 18 170 62 182 17 170 63 184 16 170 64 186 15 170 65 189 14 170 66 194 13 170 67 197 12 170 68 198 11 170 69 201 10 170 70 202 9 170 71 204 8 170 72 205 7 170 73 207 6 170 74 208 5 170 75 209 4 170 76 211 3 170 77 211 2 170 78 213 1 170 79 216 0 170 80 217 0 170 81 219 0 170 81 219 0 170 82 220 0 170 82 220 0 170 82 220 255 169 0 230 254 169 0 228 254 169 0 226 254 169 0 224 253 169 0 221 252 169 0 220 251 169 0 219 250 169 0 217 249 169 0 217 248 169 0 216 247 169 0 213 246 169 0 211 245 169 0 211 244 169 0 209 243 169 0 208 242 169 0 207 241 169 0 205 240 169 0 204 239 169 0 202 238 169 0 199 237 169 0 198 236 169 0 195 235 169 0 194 234 169 0 188 233 169 0 186 232 169 0 184 231 169 0 182 230 169 0 181 229 169 0 178 228 169 0 175 227 169 0 174 226 169 0 172 224 169 0 167 223 169 0 165 222 169 0 163 221 169 0 160 220 169 0 159 219 169 0 156 218 169 0 155 217 169 0 153 216 169 0 152 215 169 0 150 214 169 0 145 213 169 0 143 212 169 0 140 211 169 0 137 210 169 0 134 209 169 0 133 208 169 0 130 207 169 0 128 206 169 0 126 205 169 0 121 204 169 0 120 203 169 0 117 202 169 0 115 201 169 0 112 200 169 0 111 199 169 0 108 198 169 0 107 197 169 0 103 196 169 0 102 195 169 0 99 194 169 0 96 193 169 0 95 191 169 0 93 190 169 0 92 189 169 0 91 188 169 0 88 187 169 0 86 186 169 0 82 185 169 0 80 184 169 0 76 183 169 0 73 182 169 0 70 181 169 0 69 180 169 0 66 179 169 0 64 178 169 0 62 177 169 0 60 176 169 0 59 175 169 0 54 174 169 0 53 173 169 0 51 172 169 0 49 171 169 0 46 170 169 0 43 169 169 0 40 168 169 0 38 167 169 0 35 166 169 0 32 165 169 0 29 164 169 0 28 163 169 0 27 162 169 0 24 161 169 0 22 160 169 0 20 158 169 0 17 157 169 0 16 156 169 0 14 155 169 0 13 154 169 0 9 153 169 0 7 152 169 0 5 151 169 0 3 150 169 0 2 149 169 0 0 148 169 0 0 147 169 0 0 146 169 0 0 145 169 0 0 144 169 0 0 143 169 0 0 142 169 0 0 141 169 0 0 140 169 0 0 139 169 0 0 138 169 0 0 137 169 0 0 136 169 0 0 135 169 0 0 134 169 0 0 133 169 0 0 132 169 0 0 131 169 0 0 130 169 0 0 129 169 0 0 128 169 0 0 127 169 0 0 125 169 0 0 124 169 0 0 123 169 0 0 122 169 0 0 121 169 0 0 120 169 0 0 119 169 0 0 118 169 0 0 117 169 0 0 116 169 0 0 115 169 0 0 114 169 0 0 113 169 0 0 112 169 0 0 111 169 0 0 110 169 0 0 109 169 0 0 108 169 0 0 107 169 0 0 106 169 0 0 105 169 0 0 104 169 0 0 103 169 0 0 102 169 0 0 101 169 0 0 100 169 0 0 99 169 0 0 98 169 0 2 97 169 0 5 96 169 0 6 95 169 0 9 94 169 0 10 92 169 0 14 91 169 0 16 90 169 0 17 89 169 0 20 88 169 0 22 87 169 0 24 86 169 0 25 85 169 0 28 84 169 0 29 83 169 0 32 82 169 0 35 81 169 1 36 80 169 1 39 79 169 2 43 78 169 3 46 77 169 4 47 76 169 5 50 75 169 6 53 74 169 7 54 73 169 8 59 72 169 9 60 71 169 10 62 70 169 11 64 69 169 12 66 68 169 13 67 67 169 14 70 66 169 15 73 65 169 16 76 64 169 17 80 63 169 18 82 62 169 19 86 61 169 20 88 59 169 21 89 58 169 22 92 57 169 23 93 56 169 24 95 55 169 25 96 54 169 26 98 53 169 27 102 52 169 29 103 51 169 30 104 50 169 31 108 49 169 32 110 48 169 33 112 47 169 34 114 46 169 35 117 45 169 36 118 44 169 37 121 43 169 38 126 42 169 39 128 41 169 40 130 40 169 41 133 39 169 42 134 38 169 43 137 37 169 44 140 36 169 45 143 35 169 46 145 34 169 47 150 33 169 48 152 32 169 49 153 31 169 50 155 30 169 51 156 29 169 52 157 28 169 53 160 26 169 54 162 25 169 55 165 24 169 56 166 23 169 57 171 22 169 58 174 21 169 59 175 20 169 60 178 19 169 62 179 18 169 63 182 17 169 64 184 16 169 65 186 15 169 66 188 14 169 67 189 13 169 68 195 12 169 69 197 11 169 70 199 10 169 71 201 9 169 72 204 8 169 73 205 7 169 74 207 6 169 75 208 5 169 76 209 4 169 77 209 3 169 78 211 2 169 79 213 1 169 80 216 0 169 81 217 0 169 82 217 0 169 82 219 0 169 82 219 0 169 83 220 0 169 83 220 255 168 0 230 254 168 0 228 254 168 0 226 254 168 0 224 253 168 0 221 252 168 0 220 251 168 0 219 250 168 0 217 249 168 0 217 248 168 0 216 247 168 0 213 246 168 0 211 245 168 0 211 244 168 0 209 243 168 0 208 242 168 0 207 241 168 0 205 240 168 0 204 239 168 0 201 238 168 0 198 237 168 0 197 236 168 0 194 235 168 0 189 234 168 0 186 233 168 0 185 232 168 0 184 231 168 0 182 230 168 0 179 229 168 0 178 228 168 0 175 227 168 0 174 226 168 0 171 224 168 0 166 223 168 0 163 222 168 0 162 221 168 0 159 220 168 0 157 219 168 0 156 218 168 0 155 217 168 0 153 216 168 0 152 215 168 0 149 214 168 0 144 213 168 0 143 212 168 0 140 211 168 0 137 210 168 0 134 209 168 0 131 208 168 0 130 207 168 0 126 206 168 0 122 205 168 0 120 204 168 0 118 203 168 0 115 202 168 0 114 201 168 0 111 200 168 0 108 199 168 0 107 198 168 0 104 197 168 0 102 196 168 0 99 195 168 0 98 194 168 0 95 193 168 0 93 191 168 0 92 190 168 0 91 189 168 0 89 188 168 0 86 187 168 0 84 186 168 0 81 185 168 0 77 184 168 0 74 183 168 0 71 182 168 0 69 181 168 0 66 180 168 0 64 179 168 0 62 178 168 0 60 177 168 0 59 176 168 0 57 175 168 0 53 174 168 0 51 173 168 0 49 172 168 0 46 171 168 0 43 170 168 0 40 169 168 0 38 168 168 0 35 167 168 0 32 166 168 0 31 165 168 0 28 164 168 0 27 163 168 0 25 162 168 0 22 161 168 0 20 160 168 0 18 158 168 0 16 157 168 0 14 156 168 0 13 155 168 0 9 154 168 0 6 153 168 0 5 152 168 0 2 151 168 0 0 150 168 0 0 149 168 0 0 148 168 0 0 147 168 0 0 146 168 0 0 145 168 0 0 144 168 0 0 143 168 0 0 142 168 0 0 141 168 0 0 140 168 0 0 139 168 0 0 138 168 0 0 137 168 0 0 136 168 0 0 135 168 0 0 134 168 0 0 133 168 0 0 132 168 0 0 131 168 0 0 130 168 0 0 129 168 0 0 128 168 0 0 127 168 0 0 125 168 0 0 124 168 0 0 123 168 0 0 122 168 0 0 121 168 0 0 120 168 0 0 119 168 0 0 118 168 0 0 117 168 0 0 116 168 0 0 115 168 0 0 114 168 0 0 113 168 0 0 112 168 0 0 111 168 0 0 110 168 0 0 109 168 0 0 108 168 0 0 107 168 0 0 106 168 0 0 105 168 0 0 104 168 0 0 103 168 0 0 102 168 0 0 101 168 0 0 100 168 0 0 99 168 0 0 98 168 0 0 97 168 0 2 96 168 0 3 95 168 0 6 94 168 0 9 92 168 0 10 91 168 0 14 90 168 0 16 89 168 0 17 88 168 0 20 87 168 0 22 86 168 0 24 85 168 0 27 84 168 0 28 83 168 1 29 82 168 1 32 81 168 2 35 80 168 2 36 79 168 3 39 78 168 4 43 77 168 5 46 76 168 6 49 75 168 7 50 74 168 8 53 73 168 9 54 72 168 10 59 71 168 11 59 70 168 12 62 69 168 13 64 68 168 14 66 67 168 15 69 66 168 16 71 65 168 17 73 64 168 18 76 63 168 19 81 62 168 20 82 61 168 21 86 59 168 22 88 58 168 24 91 57 168 25 92 56 168 26 93 55 168 27 95 54 168 28 98 53 168 29 99 52 168 30 102 51 168 31 103 50 168 32 107 49 168 33 108 48 168 34 111 47 168 35 112 46 168 36 115 45 168 37 118 44 168 38 120 43 168 39 122 42 168 40 126 41 168 41 128 40 168 42 131 39 168 43 133 38 168 44 135 37 168 45 138 36 168 46 141 35 168 47 144 34 168 48 149 33 168 49 150 32 168 50 153 31 168 51 155 30 168 52 156 29 168 53 157 28 168 54 159 26 168 55 160 25 168 57 163 24 168 58 166 23 168 59 167 22 168 60 172 21 168 61 175 20 168 62 178 19 168 63 179 18 168 64 181 17 168 65 184 16 168 66 185 15 168 67 186 14 168 68 188 13 168 69 194 12 168 70 195 11 168 71 198 10 168 72 201 9 168 73 202 8 168 74 205 7 168 75 207 6 168 76 208 5 168 77 209 4 168 78 209 3 168 79 211 2 168 80 213 1 168 81 216 0 168 82 217 0 168 83 217 0 168 83 219 0 168 84 219 0 168 84 220 0 168 84 220 255 167 0 230 254 167 0 228 254 167 0 226 254 167 0 224 253 167 0 221 252 167 0 220 251 167 0 219 250 167 0 217 249 167 0 217 248 167 0 216 247 167 0 213 246 167 0 211 245 167 0 209 244 167 0 209 243 167 0 208 242 167 0 207 241 167 0 205 240 167 0 202 239 167 0 201 238 167 0 198 237 167 0 195 236 167 0 189 235 167 0 188 234 167 0 186 233 167 0 185 232 167 0 184 231 167 0 181 230 167 0 179 229 167 0 178 228 167 0 175 227 167 0 172 226 167 0 167 224 167 0 165 223 167 0 162 222 167 0 160 221 167 0 157 220 167 0 156 219 167 0 155 218 167 0 153 217 167 0 152 216 167 0 150 215 167 0 145 214 167 0 143 213 167 0 141 212 167 0 138 211 167 0 135 210 167 0 133 209 167 0 131 208 167 0 128 207 167 0 126 206 167 0 122 205 167 0 120 204 167 0 117 203 167 0 115 202 167 0 112 201 167 0 110 200 167 0 108 199 167 0 104 198 167 0 103 197 167 0 102 196 167 0 98 195 167 0 96 194 167 0 95 193 167 0 92 191 167 0 91 190 167 0 89 189 167 0 88 188 167 0 84 187 167 0 82 186 167 0 80 185 167 0 76 184 167 0 73 183 167 0 70 182 167 0 67 181 167 0 64 180 167 0 62 179 167 0 60 178 167 0 59 177 167 0 57 176 167 0 53 175 167 0 51 174 167 0 49 173 167 0 46 172 167 0 43 171 167 0 40 170 167 0 38 169 167 0 35 168 167 0 32 167 167 0 31 166 167 0 29 165 167 0 27 164 167 0 25 163 167 0 24 162 167 0 20 161 167 0 18 160 167 0 17 158 167 0 14 157 167 0 13 156 167 0 9 155 167 0 6 154 167 0 5 153 167 0 2 152 167 0 0 151 167 0 0 150 167 0 0 149 167 0 0 148 167 0 0 147 167 0 0 146 167 0 0 145 167 0 0 144 167 0 0 143 167 0 0 142 167 0 0 141 167 0 0 140 167 0 0 139 167 0 0 138 167 0 0 137 167 0 0 136 167 0 0 135 167 0 0 134 167 0 0 133 167 0 0 132 167 0 0 131 167 0 0 130 167 0 0 129 167 0 0 128 167 0 0 127 167 0 0 125 167 0 0 124 167 0 0 123 167 0 0 122 167 0 0 121 167 0 0 120 167 0 0 119 167 0 0 118 167 0 0 117 167 0 0 116 167 0 0 115 167 0 0 114 167 0 0 113 167 0 0 112 167 0 0 111 167 0 0 110 167 0 0 109 167 0 0 108 167 0 0 107 167 0 0 106 167 0 0 105 167 0 0 104 167 0 0 103 167 0 0 102 167 0 0 101 167 0 0 100 167 0 0 99 167 0 0 98 167 0 0 97 167 0 0 96 167 0 2 95 167 0 3 94 167 0 6 92 167 0 9 91 167 0 13 90 167 0 14 89 167 0 16 88 167 0 18 87 167 0 20 86 167 0 22 85 167 0 25 84 167 1 27 83 167 2 28 82 167 2 31 81 167 3 32 80 167 3 35 79 167 4 38 78 167 5 39 77 167 6 43 76 167 7 46 75 167 9 49 74 167 10 50 73 167 10 53 72 167 11 54 71 167 12 59 70 167 13 60 69 167 14 62 68 167 15 64 67 167 17 67 66 167 18 70 65 167 18 73 64 167 19 76 63 167 20 80 62 167 21 82 61 167 22 84 59 167 24 86 58 167 25 89 57 167 26 91 56 167 27 92 55 167 28 93 54 167 29 96 53 167 30 98 52 167 31 99 51 167 32 102 50 167 34 104 49 167 35 107 48 167 35 110 47 167 36 111 46 167 37 114 45 167 38 117 44 167 39 120 43 167 40 121 42 167 42 126 41 167 43 128 40 167 43 130 39 167 44 133 38 167 45 135 37 167 46 137 36 167 47 140 35 167 48 143 34 167 50 145 33 167 51 150 32 167 51 152 31 167 52 153 30 167 53 155 29 167 54 156 28 167 55 157 26 167 57 160 25 167 58 162 24 167 59 165 23 167 60 167 22 167 61 172 21 167 62 175 20 167 63 176 19 167 64 179 18 167 65 181 17 167 67 182 16 167 68 185 15 167 68 186 14 167 69 188 13 167 70 189 12 167 71 195 11 167 72 197 10 167 73 199 9 167 75 202 8 167 76 205 7 167 76 207 6 167 77 208 5 167 78 209 4 167 79 209 3 167 80 211 2 167 81 213 1 167 83 216 0 167 83 217 0 167 84 217 0 167 85 219 0 167 85 219 0 167 85 220 0 167 85 220 255 166 0 230 254 166 0 228 254 166 0 226 254 166 0 224 253 166 0 221 252 166 0 220 251 166 0 219 250 166 0 217 249 166 0 217 248 166 0 216 247 166 0 213 246 166 0 211 245 166 0 209 244 166 0 209 243 166 0 208 242 166 0 207 241 166 0 205 240 166 0 202 239 166 0 199 238 166 0 197 237 166 0 194 236 166 0 189 235 166 0 186 234 166 0 185 233 166 0 184 232 166 0 182 231 166 0 181 230 166 0 179 229 166 0 176 228 166 0 175 227 166 0 172 226 166 0 167 224 166 0 165 223 166 0 162 222 166 0 159 221 166 0 157 220 166 0 156 219 166 0 155 218 166 0 152 217 166 0 150 216 166 0 149 215 166 0 144 214 166 0 141 213 166 0 140 212 166 0 137 211 166 0 134 210 166 0 133 209 166 0 130 208 166 0 128 207 166 0 122 206 166 0 121 205 166 0 118 204 166 0 115 203 166 0 114 202 166 0 111 201 166 0 108 200 166 0 107 199 166 0 103 198 166 0 102 197 166 0 99 196 166 0 96 195 166 0 95 194 166 0 92 193 166 0 91 191 166 0 89 190 166 0 86 189 166 0 84 188 166 0 82 187 166 0 81 186 166 0 77 185 166 0 74 184 166 0 71 183 166 0 69 182 166 0 66 181 166 0 64 180 166 0 60 179 166 0 59 178 166 0 57 177 166 0 53 176 166 0 51 175 166 0 49 174 166 0 46 173 166 0 44 172 166 0 40 171 166 0 38 170 166 0 35 169 166 0 32 168 166 0 31 167 166 0 28 166 166 0 27 165 166 0 25 164 166 0 24 163 166 0 22 162 166 0 18 161 166 0 17 160 166 0 14 158 166 0 10 157 166 0 9 156 166 0 6 155 166 0 3 154 166 0 2 153 166 0 0 152 166 0 0 151 166 0 0 150 166 0 0 149 166 0 0 148 166 0 0 147 166 0 0 146 166 0 0 145 166 0 0 144 166 0 0 143 166 0 0 142 166 0 0 141 166 0 0 140 166 0 0 139 166 0 0 138 166 0 0 137 166 0 0 136 166 0 0 135 166 0 0 134 166 0 0 133 166 0 0 132 166 0 0 131 166 0 0 130 166 0 0 129 166 0 0 128 166 0 0 127 166 0 0 125 166 0 0 124 166 0 0 123 166 0 0 122 166 0 0 121 166 0 0 120 166 0 0 119 166 0 0 118 166 0 0 117 166 0 0 116 166 0 0 115 166 0 0 114 166 0 0 113 166 0 0 112 166 0 0 111 166 0 0 110 166 0 0 109 166 0 0 108 166 0 0 107 166 0 0 106 166 0 0 105 166 0 0 104 166 0 0 103 166 0 0 102 166 0 0 101 166 0 0 100 166 0 0 99 166 0 0 98 166 0 0 97 166 0 0 96 166 0 0 95 166 0 2 94 166 0 3 92 166 0 6 91 166 0 9 90 166 0 10 89 166 0 14 88 166 0 16 87 166 0 18 86 166 0 20 85 166 1 24 84 166 2 25 83 166 2 27 82 166 3 28 81 166 4 29 80 166 4 32 79 166 5 35 78 166 6 38 77 166 7 39 76 166 9 43 75 166 10 46 74 166 11 49 73 166 12 50 72 166 12 53 71 166 13 54 70 166 14 59 69 166 15 60 68 166 17 62 67 166 18 66 66 166 19 69 65 166 20 71 64 166 20 74 63 166 21 77 62 166 22 80 61 166 24 82 59 166 25 84 58 166 26 86 57 166 27 88 56 166 28 91 55 166 29 92 54 166 30 95 53 166 31 96 52 166 32 98 51 166 34 99 50 166 35 103 49 166 36 104 48 166 37 108 47 166 37 110 46 166 38 112 45 166 39 115 44 166 40 118 43 166 42 121 42 166 43 122 41 166 44 126 40 166 45 130 39 166 45 131 38 166 46 134 37 166 47 137 36 166 48 138 35 166 50 141 34 166 51 144 33 166 52 149 32 166 53 150 31 166 53 152 30 166 54 155 29 166 55 156 28 166 57 157 26 166 58 159 25 166 59 162 24 166 60 163 23 166 61 166 22 166 62 171 21 166 63 174 20 166 64 176 19 166 65 178 18 166 67 181 17 166 68 182 16 166 69 184 15 166 70 185 14 166 70 186 13 166 71 188 12 166 72 194 11 166 73 197 10 166 75 199 9 166 76 202 8 166 77 204 7 166 78 207 6 166 78 208 5 166 79 209 4 166 80 209 3 166 81 211 2 166 83 213 1 166 84 216 0 166 85 217 0 166 85 217 0 166 86 219 0 166 86 219 0 166 86 220 0 166 86 220 255 165 0 230 254 165 0 228 254 165 0 226 254 165 0 224 253 165 0 221 252 165 0 220 251 165 0 219 250 165 0 217 249 165 0 217 248 165 0 216 247 165 0 213 246 165 0 211 245 165 0 209 244 165 0 208 243 165 0 208 242 165 0 207 241 165 0 204 240 165 0 202 239 165 0 199 238 165 0 197 237 165 0 194 236 165 0 188 235 165 0 186 234 165 0 184 233 165 0 182 232 165 0 181 231 165 0 179 230 165 0 178 229 165 0 176 228 165 0 174 227 165 0 171 226 165 0 166 224 165 0 163 223 165 0 160 222 165 0 159 221 165 0 156 220 165 0 155 219 165 0 153 218 165 0 152 217 165 0 149 216 165 0 145 215 165 0 143 214 165 0 140 213 165 0 137 212 165 0 135 211 165 0 133 210 165 0 131 209 165 0 130 208 165 0 126 207 165 0 122 206 165 0 120 205 165 0 117 204 165 0 115 203 165 0 112 202 165 0 110 201 165 0 107 200 165 0 104 199 165 0 102 198 165 0 99 197 165 0 96 196 165 0 95 195 165 0 92 194 165 0 91 193 165 0 89 191 165 0 86 190 165 0 84 189 165 0 82 188 165 0 81 187 165 0 80 186 165 0 76 185 165 0 73 184 165 0 70 183 165 0 67 182 165 0 64 181 165 0 62 180 165 0 59 179 165 0 57 178 165 0 53 177 165 0 51 176 165 0 49 175 165 0 46 174 165 0 43 173 165 0 40 172 165 0 38 171 165 0 35 170 165 0 32 169 165 0 29 168 165 0 28 167 165 0 27 166 165 0 25 165 165 0 22 164 165 0 20 163 165 0 18 162 165 0 16 161 165 0 14 160 165 0 10 158 165 0 9 157 165 0 6 156 165 0 3 155 165 0 2 154 165 0 0 153 165 0 0 152 165 0 0 151 165 0 0 150 165 0 0 149 165 0 0 148 165 0 0 147 165 0 0 146 165 0 0 145 165 0 0 144 165 0 0 143 165 0 0 142 165 0 0 141 165 0 0 140 165 0 0 139 165 0 0 138 165 0 0 137 165 0 0 136 165 0 0 135 165 0 0 134 165 0 0 133 165 0 0 132 165 0 0 131 165 0 0 130 165 0 0 129 165 0 0 128 165 0 0 127 165 0 0 125 165 0 0 124 165 0 0 123 165 0 0 122 165 0 0 121 165 0 0 120 165 0 0 119 165 0 0 118 165 0 0 117 165 0 0 116 165 0 0 115 165 0 0 114 165 0 0 113 165 0 0 112 165 0 0 111 165 0 0 110 165 0 0 109 165 0 0 108 165 0 0 107 165 0 0 106 165 0 0 105 165 0 0 104 165 0 0 103 165 0 0 102 165 0 0 101 165 0 0 100 165 0 0 99 165 0 0 98 165 0 0 97 165 0 0 96 165 0 0 95 165 0 0 94 165 0 0 92 165 0 3 91 165 0 6 90 165 0 7 89 165 0 10 88 165 0 14 87 165 0 16 86 165 0 18 85 165 1 20 84 165 2 22 83 165 3 24 82 165 4 27 81 165 5 28 80 165 5 29 79 165 6 32 78 165 7 35 77 165 8 38 76 165 10 39 75 165 11 43 74 165 12 46 73 165 13 49 72 165 13 50 71 165 14 53 70 165 15 54 69 165 16 59 68 165 18 60 67 165 19 64 66 165 20 67 65 165 21 70 64 165 21 73 63 165 22 76 62 165 23 77 61 165 25 81 59 165 26 82 58 165 27 84 57 165 28 86 56 165 29 88 55 165 30 91 54 165 31 92 53 165 32 95 52 165 33 96 51 165 35 98 50 165 36 102 49 165 37 103 48 165 38 107 47 165 38 108 46 165 39 112 45 165 40 114 44 165 41 117 43 165 43 120 42 165 44 121 41 165 45 126 40 165 46 128 39 165 46 131 38 165 47 133 37 165 48 134 36 165 49 137 35 165 51 140 34 165 52 143 33 165 53 145 32 165 54 149 31 165 54 152 30 165 55 153 29 165 56 155 28 165 58 156 26 165 59 159 25 165 60 160 24 165 61 163 23 165 62 166 22 165 63 171 21 165 64 172 20 165 65 175 19 165 66 178 18 165 68 179 17 165 69 181 16 165 70 182 15 165 71 184 14 165 71 185 13 165 72 188 12 165 73 194 11 165 74 195 10 165 76 199 9 165 77 202 8 165 78 204 7 165 79 207 6 165 79 208 5 165 80 208 4 165 81 209 3 165 82 211 2 165 84 213 1 165 85 213 0 165 86 217 0 165 86 217 0 165 87 219 0 165 87 219 0 165 87 220 0 165 87 220 255 164 0 230 254 164 0 228 254 164 0 226 254 164 0 224 253 164 0 221 252 164 0 220 251 164 0 219 250 164 0 217 249 164 0 217 248 164 0 213 247 164 0 211 246 164 0 211 245 164 0 209 244 164 0 208 243 164 0 207 242 164 0 207 241 164 0 204 240 164 0 202 239 164 0 199 238 164 0 197 237 164 0 189 236 164 0 188 235 164 0 185 234 164 0 184 233 164 0 182 232 164 0 181 231 164 0 179 230 164 0 176 229 164 0 175 228 164 0 172 227 164 0 167 226 164 0 166 224 164 0 163 223 164 0 160 222 164 0 159 221 164 0 156 220 164 0 155 219 164 0 153 218 164 0 150 217 164 0 149 216 164 0 144 215 164 0 141 214 164 0 138 213 164 0 135 212 164 0 134 211 164 0 131 210 164 0 130 209 164 0 128 208 164 0 122 207 164 0 121 206 164 0 118 205 164 0 117 204 164 0 114 203 164 0 111 202 164 0 108 201 164 0 104 200 164 0 103 199 164 0 99 198 164 0 96 197 164 0 95 196 164 0 93 195 164 0 91 194 164 0 89 193 164 0 86 191 164 0 84 190 164 0 82 189 164 0 81 188 164 0 77 187 164 0 76 186 164 0 74 185 164 0 71 184 164 0 69 183 164 0 66 182 164 0 64 181 164 0 60 180 164 0 57 179 164 0 54 178 164 0 51 177 164 0 49 176 164 0 46 175 164 0 43 174 164 0 40 173 164 0 38 172 164 0 35 171 164 0 32 170 164 0 29 169 164 0 28 168 164 0 25 167 164 0 24 166 164 0 22 165 164 0 20 164 164 0 18 163 164 0 16 162 164 0 14 161 164 0 10 160 164 0 7 158 164 0 6 157 164 0 3 156 164 0 0 155 164 0 0 154 164 0 0 153 164 0 0 152 164 0 0 151 164 0 0 150 164 0 0 149 164 0 0 148 164 0 0 147 164 0 0 146 164 0 0 145 164 0 0 144 164 0 0 143 164 0 0 142 164 0 0 141 164 0 0 140 164 0 0 139 164 0 0 138 164 0 0 137 164 0 0 136 164 0 0 135 164 0 0 134 164 0 0 133 164 0 0 132 164 0 0 131 164 0 0 130 164 0 0 129 164 0 0 128 164 0 0 127 164 0 0 125 164 0 0 124 164 0 0 123 164 0 0 122 164 0 0 121 164 0 0 120 164 0 0 119 164 0 0 118 164 0 0 117 164 0 0 116 164 0 0 115 164 0 0 114 164 0 0 113 164 0 0 112 164 0 0 111 164 0 0 110 164 0 0 109 164 0 0 108 164 0 0 107 164 0 0 106 164 0 0 105 164 0 0 104 164 0 0 103 164 0 0 102 164 0 0 101 164 0 0 100 164 0 0 99 164 0 0 98 164 0 0 97 164 0 0 96 164 0 0 95 164 0 0 94 164 0 0 92 164 0 0 91 164 0 3 90 164 0 5 89 164 0 7 88 164 0 10 87 164 0 13 86 164 1 16 85 164 2 17 84 164 3 18 83 164 4 22 82 164 5 24 81 164 6 25 80 164 6 28 79 164 7 29 78 164 8 32 77 164 9 35 76 164 10 38 75 164 12 40 74 164 13 43 73 164 14 46 72 164 14 49 71 164 15 51 70 164 16 53 69 164 17 57 68 164 18 59 67 164 20 62 66 164 21 66 65 164 22 69 64 164 22 71 63 164 23 74 62 164 24 76 61 164 26 77 59 164 27 80 58 164 28 81 57 164 29 82 56 164 30 86 55 164 31 88 54 164 32 91 53 164 33 92 52 164 34 95 51 164 35 96 50 164 37 99 49 164 38 102 48 164 39 104 47 164 39 108 46 164 40 111 45 164 41 112 44 164 42 115 43 164 43 118 42 164 45 121 41 164 46 122 40 164 47 126 39 164 47 130 38 164 48 131 37 164 49 133 36 164 50 135 35 164 51 138 34 164 53 141 33 164 54 144 32 164 55 149 31 164 55 150 30 164 56 153 29 164 57 155 28 164 59 156 26 164 60 157 25 164 61 160 24 164 62 162 23 164 63 165 22 164 64 167 21 164 65 172 20 164 66 174 19 164 67 176 18 164 68 178 17 164 70 181 16 164 71 182 15 164 72 184 14 164 72 185 13 164 73 188 12 164 74 189 11 164 75 195 10 164 76 199 9 164 78 201 8 164 79 204 7 164 80 205 6 164 80 207 5 164 81 208 4 164 82 209 3 164 83 211 2 164 84 211 1 164 86 213 0 164 86 217 0 164 87 217 0 164 88 219 0 164 88 219 0 164 88 220 0 164 88 220 255 163 0 230 254 163 0 228 254 163 0 226 254 163 0 223 253 163 0 221 252 163 0 220 251 163 0 219 250 163 0 217 249 163 0 216 248 163 0 213 247 163 0 211 246 163 0 209 245 163 0 209 244 163 0 208 243 163 0 207 242 163 0 205 241 163 0 204 240 163 0 201 239 163 0 199 238 163 0 195 237 163 0 189 236 163 0 188 235 163 0 185 234 163 0 182 233 163 0 181 232 163 0 179 231 163 0 178 230 163 0 175 229 163 0 174 228 163 0 171 227 163 0 166 226 163 0 165 224 163 0 162 223 163 0 160 222 163 0 157 221 163 0 156 220 163 0 155 219 163 0 153 218 163 0 150 217 163 0 145 216 163 0 143 215 163 0 140 214 163 0 137 213 163 0 134 212 163 0 133 211 163 0 130 210 163 0 128 209 163 0 126 208 163 0 122 207 163 0 120 206 163 0 118 205 163 0 115 204 163 0 112 203 163 0 110 202 163 0 107 201 163 0 103 200 163 0 102 199 163 0 98 198 163 0 95 197 163 0 93 196 163 0 91 195 163 0 89 194 163 0 86 193 163 0 84 191 163 0 81 190 163 0 80 189 163 0 77 188 163 0 76 187 163 0 74 186 163 0 71 185 163 0 70 184 163 0 67 183 163 0 64 182 163 0 60 181 163 0 59 180 163 0 54 179 163 0 51 178 163 0 49 177 163 0 46 176 163 0 44 175 163 0 40 174 163 0 38 173 163 0 35 172 163 0 32 171 163 0 29 170 163 0 28 169 163 0 25 168 163 0 24 167 163 0 20 166 163 0 18 165 163 0 17 164 163 0 14 163 163 0 13 162 163 0 9 161 163 0 7 160 163 0 5 158 163 0 2 157 163 0 0 156 163 0 0 155 163 0 0 154 163 0 0 153 163 0 0 152 163 0 0 151 163 0 0 150 163 0 0 149 163 0 0 148 163 0 0 147 163 0 0 146 163 0 0 145 163 0 0 144 163 0 0 143 163 0 0 142 163 0 0 141 163 0 0 140 163 0 0 139 163 0 0 138 163 0 0 137 163 0 0 136 163 0 0 135 163 0 0 134 163 0 0 133 163 0 0 132 163 0 0 131 163 0 0 130 163 0 0 129 163 0 0 128 163 0 0 127 163 0 0 125 163 0 0 124 163 0 0 123 163 0 0 122 163 0 0 121 163 0 0 120 163 0 0 119 163 0 0 118 163 0 0 117 163 0 0 116 163 0 0 115 163 0 0 114 163 0 0 113 163 0 0 112 163 0 0 111 163 0 0 110 163 0 0 109 163 0 0 108 163 0 0 107 163 0 0 106 163 0 0 105 163 0 0 104 163 0 0 103 163 0 0 102 163 0 0 101 163 0 0 100 163 0 0 99 163 0 0 98 163 0 0 97 163 0 0 96 163 0 0 95 163 0 0 94 163 0 0 92 163 0 0 91 163 0 0 90 163 0 2 89 163 0 5 88 163 0 6 87 163 1 9 86 163 1 13 85 163 2 14 84 163 3 16 83 163 4 18 82 163 5 20 81 163 6 24 80 163 7 25 79 163 8 28 78 163 9 29 77 163 10 32 76 163 11 35 75 163 12 38 74 163 13 39 73 163 14 43 72 163 15 46 71 163 16 49 70 163 17 51 69 163 18 54 68 163 19 57 67 163 20 60 66 163 21 64 65 163 22 67 64 163 23 69 63 163 24 71 62 163 25 73 61 163 27 76 59 163 28 77 58 163 29 80 57 163 30 81 56 163 31 82 55 163 32 86 54 163 33 88 53 163 34 91 52 163 35 93 51 163 36 95 50 163 37 96 49 163 38 99 48 163 39 103 47 163 40 104 46 163 41 110 45 163 42 111 44 163 43 114 43 163 44 117 42 163 45 120 41 163 46 121 40 163 47 126 39 163 48 128 38 163 49 130 37 163 50 131 36 163 51 134 35 163 52 137 34 163 53 140 33 163 54 143 32 163 55 145 31 163 56 150 30 163 57 152 29 163 58 155 28 163 60 156 26 163 61 157 25 163 62 159 24 163 63 162 23 163 64 163 22 163 65 166 21 163 66 167 20 163 67 172 19 163 68 175 18 163 69 176 17 163 70 179 16 163 71 181 15 163 72 182 14 163 73 185 13 163 74 186 12 163 75 189 11 163 76 195 10 163 77 198 9 163 78 201 8 163 79 204 7 163 80 205 6 163 81 207 5 163 82 208 4 163 83 208 3 163 84 209 2 163 85 211 1 163 86 213 0 163 87 216 0 163 88 217 0 163 88 219 0 163 89 219 0 163 89 219 0 163 89 219 255 162 0 230 254 162 0 228 254 162 0 226 254 162 0 223 253 162 0 221 252 162 0 220 251 162 0 219 250 162 0 217 249 162 0 216 248 162 0 213 247 162 0 211 246 162 0 209 245 162 0 208 244 162 0 207 243 162 0 205 242 162 0 204 241 162 0 202 240 162 0 201 239 162 0 198 238 162 0 195 237 162 0 189 236 162 0 186 235 162 0 185 234 162 0 182 233 162 0 181 232 162 0 179 231 162 0 176 230 162 0 174 229 162 0 172 228 162 0 167 227 162 0 165 226 162 0 163 224 162 0 160 223 162 0 159 222 162 0 157 221 162 0 156 220 162 0 153 219 162 0 152 218 162 0 149 217 162 0 144 216 162 0 141 215 162 0 138 214 162 0 135 213 162 0 133 212 162 0 131 211 162 0 130 210 162 0 126 209 162 0 122 208 162 0 121 207 162 0 118 206 162 0 115 205 162 0 112 204 162 0 110 203 162 0 108 202 162 0 104 201 162 0 102 200 162 0 98 199 162 0 96 198 162 0 93 197 162 0 92 196 162 0 89 195 162 0 86 194 162 0 84 193 162 0 81 191 162 0 77 190 162 0 76 189 162 0 74 188 162 0 73 187 162 0 71 186 162 0 69 185 162 0 67 184 162 0 64 183 162 0 62 182 162 0 59 181 162 0 54 180 162 0 51 179 162 0 49 178 162 0 46 177 162 0 43 176 162 0 40 175 162 0 38 174 162 0 35 173 162 0 32 172 162 0 29 171 162 0 28 170 162 0 25 169 162 0 22 168 162 0 20 167 162 0 17 166 162 0 16 165 162 0 13 164 162 0 10 163 162 0 7 162 162 0 6 161 162 0 3 160 162 0 2 158 162 0 0 157 162 0 0 156 162 0 0 155 162 0 0 154 162 0 0 153 162 0 0 152 162 0 0 151 162 0 0 150 162 0 0 149 162 0 0 148 162 0 0 147 162 0 0 146 162 0 0 145 162 0 0 144 162 0 0 143 162 0 0 142 162 0 0 141 162 0 0 140 162 0 0 139 162 0 0 138 162 0 0 137 162 0 0 136 162 0 0 135 162 0 0 134 162 0 0 133 162 0 0 132 162 0 0 131 162 0 0 130 162 0 0 129 162 0 0 128 162 0 0 127 162 0 0 125 162 0 0 124 162 0 0 123 162 0 0 122 162 0 0 121 162 0 0 120 162 0 0 119 162 0 0 118 162 0 0 117 162 0 0 116 162 0 0 115 162 0 0 114 162 0 0 113 162 0 0 112 162 0 0 111 162 0 0 110 162 0 0 109 162 0 0 108 162 0 0 107 162 0 0 106 162 0 0 105 162 0 0 104 162 0 0 103 162 0 0 102 162 0 0 101 162 0 0 100 162 0 0 99 162 0 0 98 162 0 0 97 162 0 0 96 162 0 0 95 162 0 0 94 162 0 0 92 162 0 0 91 162 0 0 90 162 0 0 89 162 0 0 88 162 1 3 87 162 1 5 86 162 2 7 85 162 3 10 84 162 4 13 83 162 5 14 82 162 6 17 81 162 7 18 80 162 8 22 79 162 9 25 78 162 10 27 77 162 11 29 76 162 12 32 75 162 13 35 74 162 14 38 73 162 15 39 72 162 16 43 71 162 17 46 70 162 18 49 69 162 19 51 68 162 20 53 67 162 21 57 66 162 22 60 65 162 23 64 64 162 24 67 63 162 25 69 62 162 26 71 61 162 28 73 59 162 29 74 58 162 30 76 57 162 31 77 56 162 32 81 55 162 33 84 54 162 34 86 53 162 35 89 52 162 36 91 51 162 37 93 50 162 38 95 49 162 39 98 48 162 40 102 47 162 41 103 46 162 42 107 45 162 43 110 44 162 44 112 43 162 45 115 42 162 46 118 41 162 47 120 40 162 48 122 39 162 49 126 38 162 50 128 37 162 51 131 36 162 52 133 35 162 53 135 34 162 54 138 33 162 55 141 32 162 56 144 31 162 57 149 30 162 58 152 29 162 59 153 28 162 61 155 26 162 62 157 25 162 63 159 24 162 64 160 23 162 65 162 22 162 66 165 21 162 67 166 20 162 68 171 19 162 69 174 18 162 70 176 17 162 71 178 16 162 72 181 15 162 73 182 14 162 74 184 13 162 75 186 12 162 76 189 11 162 77 195 10 162 78 198 9 162 79 201 8 162 80 202 7 162 81 204 6 162 82 205 5 162 83 207 4 162 84 208 3 162 85 209 2 162 86 211 1 162 87 213 0 162 88 216 0 162 89 217 0 162 89 217 0 162 90 219 0 162 90 219 0 162 90 219 255 161 0 230 254 161 0 228 254 161 0 226 254 161 0 223 253 161 0 221 252 161 0 220 251 161 0 217 250 161 0 217 249 161 0 216 248 161 0 213 247 161 0 211 246 161 0 209 245 161 0 208 244 161 0 207 243 161 0 205 242 161 0 204 241 161 0 201 240 161 0 199 239 161 0 198 238 161 0 195 237 161 0 189 236 161 0 186 235 161 0 185 234 161 0 182 233 161 0 181 232 161 0 178 231 161 0 175 230 161 0 174 229 161 0 171 228 161 0 166 227 161 0 163 226 161 0 162 224 161 0 159 223 161 0 157 222 161 0 156 221 161 0 155 220 161 0 153 219 161 0 150 218 161 0 145 217 161 0 143 216 161 0 140 215 161 0 137 214 161 0 134 213 161 0 133 212 161 0 130 211 161 0 128 210 161 0 126 209 161 0 122 208 161 0 120 207 161 0 117 206 161 0 115 205 161 0 112 204 161 0 110 203 161 0 107 202 161 0 103 201 161 0 99 200 161 0 98 199 161 0 95 198 161 0 92 197 161 0 91 196 161 0 88 195 161 0 86 194 161 0 82 193 161 0 80 191 161 0 76 190 161 0 74 189 161 0 71 188 161 0 70 187 161 0 69 186 161 0 67 185 161 0 64 184 161 0 62 183 161 0 59 182 161 0 54 181 161 0 51 180 161 0 49 179 161 0 47 178 161 0 43 177 161 0 40 176 161 0 38 175 161 0 35 174 161 0 32 173 161 0 29 172 161 0 28 171 161 0 25 170 161 0 24 169 161 0 20 168 161 0 17 167 161 0 14 166 161 0 13 165 161 0 9 164 161 0 7 163 161 0 5 162 161 0 3 161 161 0 0 160 161 0 0 158 161 0 0 157 161 0 0 156 161 0 0 155 161 0 0 154 161 0 0 153 161 0 0 152 161 0 0 151 161 0 0 150 161 0 0 149 161 0 0 148 161 0 0 147 161 0 0 146 161 0 0 145 161 0 0 144 161 0 0 143 161 0 0 142 161 0 0 141 161 0 0 140 161 0 0 139 161 0 0 138 161 0 0 137 161 0 0 136 161 0 0 135 161 0 0 134 161 0 0 133 161 0 0 132 161 0 0 131 161 0 0 130 161 0 0 129 161 0 0 128 161 0 0 127 161 0 0 125 161 0 0 124 161 0 0 123 161 0 0 122 161 0 0 121 161 0 0 120 161 0 0 119 161 0 0 118 161 0 0 117 161 0 0 116 161 0 0 115 161 0 0 114 161 0 0 113 161 0 0 112 161 0 0 111 161 0 0 110 161 0 0 109 161 0 0 108 161 0 0 107 161 0 0 106 161 0 0 105 161 0 0 104 161 0 0 103 161 0 0 102 161 0 0 101 161 0 0 100 161 0 0 99 161 0 0 98 161 0 0 97 161 0 0 96 161 0 0 95 161 0 0 94 161 0 0 92 161 0 0 91 161 0 0 90 161 0 0 89 161 1 0 88 161 1 0 87 161 2 3 86 161 3 5 85 161 4 7 84 161 5 9 83 161 6 10 82 161 7 14 81 161 8 17 80 161 9 18 79 161 10 22 78 161 11 25 77 161 12 27 76 161 13 29 75 161 14 32 74 161 15 35 73 161 16 38 72 161 17 40 71 161 18 43 70 161 19 46 69 161 20 49 68 161 21 51 67 161 22 54 66 161 23 59 65 161 24 60 64 161 25 64 63 161 26 67 62 161 27 69 61 161 29 70 59 161 30 71 58 161 31 73 57 161 32 76 56 161 33 80 55 161 34 82 54 161 35 84 53 161 36 88 52 161 37 91 51 161 38 92 50 161 39 93 49 161 40 96 48 161 41 99 47 161 42 102 46 161 43 104 45 161 44 108 44 161 45 111 43 161 46 114 42 161 47 117 41 161 48 120 40 161 49 121 39 161 50 122 38 161 51 126 37 161 52 130 36 161 53 131 35 161 54 134 34 161 55 137 33 161 56 140 32 161 57 143 31 161 58 145 30 161 59 150 29 161 60 152 28 161 62 155 26 161 63 156 25 161 64 157 24 161 65 159 23 161 66 160 22 161 67 163 21 161 68 165 20 161 69 167 19 161 70 172 18 161 71 175 17 161 72 178 16 161 73 179 15 161 74 182 14 161 75 184 13 161 76 186 12 161 77 189 11 161 78 194 10 161 79 197 9 161 80 199 8 161 81 201 7 161 82 204 6 161 83 205 5 161 84 207 4 161 85 208 3 161 86 209 2 161 87 211 1 161 88 213 0 161 89 216 0 161 90 216 0 161 91 217 0 161 91 219 0 161 91 219 0 161 91 219 255 160 0 228 254 160 0 227 254 160 0 226 254 160 0 223 253 160 0 221 252 160 0 219 251 160 0 217 250 160 0 216 249 160 0 213 248 160 0 213 247 160 0 211 246 160 0 209 245 160 0 208 244 160 0 205 243 160 0 204 242 160 0 202 241 160 0 199 240 160 0 198 239 160 0 197 238 160 0 194 237 160 0 188 236 160 0 186 235 160 0 184 234 160 0 182 233 160 0 181 232 160 0 178 231 160 0 175 230 160 0 172 229 160 0 167 228 160 0 165 227 160 0 162 226 160 0 160 224 160 0 159 223 160 0 157 222 160 0 156 221 160 0 153 220 160 0 152 219 160 0 149 218 160 0 144 217 160 0 141 216 160 0 138 215 160 0 135 214 160 0 133 213 160 0 131 212 160 0 128 211 160 0 126 210 160 0 122 209 160 0 121 208 160 0 118 207 160 0 117 206 160 0 114 205 160 0 111 204 160 0 108 203 160 0 104 202 160 0 102 201 160 0 98 200 160 0 96 199 160 0 93 198 160 0 92 197 160 0 89 196 160 0 88 195 160 0 84 194 160 0 81 193 160 0 77 191 160 0 74 190 160 0 71 189 160 0 70 188 160 0 69 187 160 0 66 186 160 0 64 185 160 0 62 184 160 0 59 183 160 0 54 182 160 0 53 181 160 0 50 180 160 0 47 179 160 0 44 178 160 0 40 177 160 0 38 176 160 0 36 175 160 0 32 174 160 0 29 173 160 0 28 172 160 0 25 171 160 0 24 170 160 0 20 169 160 0 17 168 160 0 14 167 160 0 10 166 160 0 9 165 160 0 6 164 160 0 5 163 160 0 3 162 160 0 0 161 160 0 0 160 160 0 0 158 160 0 0 157 160 0 0 156 160 0 0 155 160 0 0 154 160 0 0 153 160 0 0 152 160 0 0 151 160 0 0 150 160 0 0 149 160 0 0 148 160 0 0 147 160 0 0 146 160 0 0 145 160 0 0 144 160 0 0 143 160 0 0 142 160 0 0 141 160 0 0 140 160 0 0 139 160 0 0 138 160 0 0 137 160 0 0 136 160 0 0 135 160 0 0 134 160 0 0 133 160 0 0 132 160 0 0 131 160 0 0 130 160 0 0 129 160 0 0 128 160 0 0 127 160 0 0 125 160 0 0 124 160 0 0 123 160 0 0 122 160 0 0 121 160 0 0 120 160 0 0 119 160 0 0 118 160 0 0 117 160 0 0 116 160 0 0 115 160 0 0 114 160 0 0 113 160 0 0 112 160 0 0 111 160 0 0 110 160 0 0 109 160 0 0 108 160 0 0 107 160 0 0 106 160 0 0 105 160 0 0 104 160 0 0 103 160 0 0 102 160 0 0 101 160 0 0 100 160 0 0 99 160 0 0 98 160 0 0 97 160 0 0 96 160 0 0 95 160 0 0 94 160 0 0 92 160 0 0 91 160 1 0 90 160 1 0 89 160 2 0 88 160 2 0 87 160 3 0 86 160 4 3 85 160 5 5 84 160 6 6 83 160 7 9 82 160 8 10 81 160 9 14 80 160 10 17 79 160 11 20 78 160 12 22 77 160 13 25 76 160 14 28 75 160 15 29 74 160 16 32 73 160 17 35 72 160 18 38 71 160 19 40 70 160 20 44 69 160 21 46 68 160 22 49 67 160 24 51 66 160 25 54 65 160 26 59 64 160 27 62 63 160 28 64 62 160 29 66 61 160 30 67 59 160 31 70 58 160 32 71 57 160 33 74 56 160 34 77 55 160 35 81 54 160 36 82 53 160 37 86 52 160 38 89 51 160 39 91 50 160 40 93 49 160 41 95 48 160 42 98 47 160 43 102 46 160 44 104 45 160 45 107 44 160 46 110 43 160 47 112 42 160 48 115 41 160 49 118 40 160 50 120 39 160 51 122 38 160 52 126 37 160 53 128 36 160 54 130 35 160 55 133 34 160 57 135 33 160 58 138 32 160 59 141 31 160 60 144 30 160 61 149 29 160 62 150 28 160 63 153 26 160 64 155 25 160 65 156 24 160 66 157 23 160 67 160 22 160 68 162 21 160 69 163 20 160 70 166 19 160 71 172 18 160 72 174 17 160 73 176 16 160 74 179 15 160 75 182 14 160 76 184 13 160 77 186 12 160 78 188 11 160 79 194 10 160 80 197 9 160 81 198 8 160 82 199 7 160 83 202 6 160 84 204 5 160 85 205 4 160 86 207 3 160 87 208 2 160 88 209 1 160 90 211 0 160 91 213 0 160 91 216 0 160 92 217 0 160 92 217 0 160 92 219 0 160 92 219 255 158 0 228 254 158 0 227 254 158 0 226 254 158 0 223 253 158 0 220 252 158 0 219 251 158 0 217 250 158 0 216 249 158 0 213 248 158 0 211 247 158 0 209 246 158 0 208 245 158 0 207 244 158 0 205 243 158 0 204 242 158 0 201 241 158 0 198 240 158 0 197 239 158 0 195 238 158 0 189 237 158 0 188 236 158 0 186 235 158 0 184 234 158 0 182 233 158 0 179 232 158 0 178 231 158 0 175 230 158 0 172 229 158 0 167 228 158 0 165 227 158 0 162 226 158 0 159 224 158 0 157 223 158 0 156 222 158 0 155 221 158 0 152 220 158 0 150 219 158 0 145 218 158 0 143 217 158 0 140 216 158 0 137 215 158 0 134 214 158 0 131 213 158 0 130 212 158 0 126 211 158 0 122 210 158 0 121 209 158 0 120 208 158 0 117 207 158 0 115 206 158 0 112 205 158 0 110 204 158 0 107 203 158 0 103 202 158 0 99 201 158 0 96 200 158 0 95 199 158 0 92 198 158 0 91 197 158 0 88 196 158 0 86 195 158 0 82 194 158 0 80 193 158 0 76 191 158 0 73 190 158 0 70 189 158 0 69 188 158 0 66 187 158 0 64 186 158 0 62 185 158 0 59 184 158 0 57 183 158 0 53 182 158 0 50 181 158 0 47 180 158 0 44 179 158 0 40 178 158 0 38 177 158 0 36 176 158 0 32 175 158 0 31 174 158 0 28 173 158 0 27 172 158 0 24 171 158 0 20 170 158 0 17 169 158 0 14 168 158 0 10 167 158 0 9 166 158 0 6 165 158 0 5 164 158 0 3 163 158 0 0 162 158 0 0 161 158 0 0 160 158 0 0 158 158 0 0 157 158 0 0 156 158 0 0 155 158 0 0 154 158 0 0 153 158 0 0 152 158 0 0 151 158 0 0 150 158 0 0 149 158 0 0 148 158 0 0 147 158 0 0 146 158 0 0 145 158 0 0 144 158 0 0 143 158 0 0 142 158 0 0 141 158 0 0 140 158 0 0 139 158 0 0 138 158 0 0 137 158 0 0 136 158 0 0 135 158 0 0 134 158 0 0 133 158 0 0 132 158 0 0 131 158 0 0 130 158 0 0 129 158 0 0 128 158 0 0 127 158 0 0 125 158 0 0 124 158 0 0 123 158 0 0 122 158 0 0 121 158 0 0 120 158 0 0 119 158 0 0 118 158 0 0 117 158 0 0 116 158 0 0 115 158 0 0 114 158 0 0 113 158 0 0 112 158 0 0 111 158 0 0 110 158 0 0 109 158 0 0 108 158 0 0 107 158 0 0 106 158 0 0 105 158 0 0 104 158 0 0 103 158 0 0 102 158 0 0 101 158 0 0 100 158 0 0 99 158 0 0 98 158 0 0 97 158 0 0 96 158 0 0 95 158 0 0 94 158 0 0 92 158 1 0 91 158 2 0 90 158 2 0 89 158 3 0 88 158 3 0 87 158 4 0 86 158 5 0 85 158 6 2 84 158 7 5 83 158 9 6 82 158 10 7 81 158 10 10 80 158 11 14 79 158 12 17 78 158 13 20 77 158 14 24 76 158 15 25 75 158 17 28 74 158 18 29 73 158 18 32 72 158 19 36 71 158 20 38 70 158 21 40 69 158 22 44 68 158 24 47 67 158 25 50 66 158 26 53 65 158 27 54 64 158 28 59 63 158 29 62 62 158 30 64 61 158 31 66 59 158 32 67 58 158 34 70 57 158 35 73 56 158 35 76 55 158 36 80 54 158 37 82 53 158 38 84 52 158 39 88 51 158 40 91 50 158 42 92 49 158 43 95 48 158 43 96 47 158 44 99 46 158 45 103 45 158 46 104 44 158 47 108 43 158 48 112 42 158 50 114 41 158 51 117 40 158 51 120 39 158 52 121 38 158 53 122 37 158 54 126 36 158 55 128 35 158 57 131 34 158 58 133 33 158 59 135 32 158 60 138 31 158 61 141 30 158 62 144 29 158 63 149 28 158 64 152 26 158 65 155 25 158 67 156 24 158 68 157 23 158 68 159 22 158 69 160 21 158 70 163 20 158 71 166 19 158 72 171 18 158 73 174 17 158 75 176 16 158 76 179 15 158 76 181 14 158 77 184 13 158 78 185 12 158 79 188 11 158 80 189 10 158 81 194 9 158 83 197 8 158 84 198 7 158 84 201 6 158 85 202 5 158 86 205 4 158 87 207 3 158 88 208 2 158 90 209 1 158 91 211 0 158 92 213 0 158 93 213 0 158 93 216 0 158 93 217 0 158 94 219 0 158 94 219 255 157 0 227 254 157 0 226 254 157 0 224 254 157 0 221 253 157 0 220 252 157 0 219 251 157 0 216 250 157 0 213 249 157 0 213 248 157 0 211 247 157 0 209 246 157 0 208 245 157 0 207 244 157 0 205 243 157 0 202 242 157 0 201 241 157 0 198 240 157 0 195 239 157 0 194 238 157 0 188 237 157 0 186 236 157 0 185 235 157 0 184 234 157 0 181 233 157 0 179 232 157 0 176 231 157 0 175 230 157 0 172 229 157 0 167 228 157 0 163 227 157 0 162 226 157 0 159 224 157 0 156 223 157 0 155 222 157 0 153 221 157 0 152 220 157 0 149 219 157 0 144 218 157 0 141 217 157 0 138 216 157 0 135 215 157 0 133 214 157 0 130 213 157 0 128 212 157 0 126 211 157 0 121 210 157 0 120 209 157 0 118 208 157 0 115 207 157 0 114 206 157 0 111 205 157 0 108 204 157 0 104 203 157 0 102 202 157 0 99 201 157 0 96 200 157 0 93 199 157 0 92 198 157 0 89 197 157 0 88 196 157 0 84 195 157 0 81 194 157 0 77 193 157 0 74 191 157 0 71 190 157 0 69 189 157 0 67 188 157 0 64 187 157 0 62 186 157 0 60 185 157 0 57 184 157 0 54 183 157 0 51 182 157 0 49 181 157 0 46 180 157 0 43 179 157 0 39 178 157 0 36 177 157 0 35 176 157 0 31 175 157 0 29 174 157 0 27 173 157 0 25 172 157 0 22 171 157 0 18 170 157 0 16 169 157 0 13 168 157 0 9 167 157 0 6 166 157 0 5 165 157 0 3 164 157 0 0 163 157 0 0 162 157 0 0 161 157 0 0 160 157 0 0 158 157 0 0 157 157 0 0 156 157 0 0 155 157 0 0 154 157 0 0 153 157 0 0 152 157 0 0 151 157 0 0 150 157 0 0 149 157 0 0 148 157 0 0 147 157 0 0 146 157 0 0 145 157 0 0 144 157 0 0 143 157 0 0 142 157 0 0 141 157 0 0 140 157 0 0 139 157 0 0 138 157 0 0 137 157 0 0 136 157 0 0 135 157 0 0 134 157 0 0 133 157 0 0 132 157 0 0 131 157 0 0 130 157 0 0 129 157 0 0 128 157 0 0 127 157 0 0 125 157 0 0 124 157 0 0 123 157 0 0 122 157 0 0 121 157 0 0 120 157 0 0 119 157 0 0 118 157 0 0 117 157 0 0 116 157 0 0 115 157 0 0 114 157 0 0 113 157 0 0 112 157 0 0 111 157 0 0 110 157 0 0 109 157 0 0 108 157 0 0 107 157 0 0 106 157 0 0 105 157 0 0 104 157 0 0 103 157 0 0 102 157 0 0 101 157 0 0 100 157 0 0 99 157 0 0 98 157 0 0 97 157 0 0 96 157 0 0 95 157 0 0 94 157 1 0 92 157 2 0 91 157 2 0 90 157 3 0 89 157 4 0 88 157 4 0 87 157 5 0 86 157 6 0 85 157 7 0 84 157 9 2 83 157 10 5 82 157 11 6 81 157 12 9 80 157 12 10 79 157 13 16 78 157 14 18 77 157 15 22 76 157 17 25 75 157 18 27 74 157 19 28 73 157 20 31 72 157 20 35 71 157 21 36 70 157 22 39 69 157 24 43 68 157 25 44 67 157 26 47 66 157 27 50 65 157 28 53 64 157 29 57 63 157 30 60 62 157 31 62 61 157 32 64 59 157 34 66 58 157 35 69 57 157 36 71 56 157 37 74 55 157 37 77 54 157 38 81 53 157 39 84 52 157 40 86 51 157 42 89 50 157 43 91 49 157 44 93 48 157 45 95 47 157 45 98 46 157 46 102 45 157 47 104 44 157 48 107 43 157 50 111 42 157 51 114 41 157 52 115 40 157 53 118 39 157 53 120 38 157 54 121 37 157 55 122 36 157 57 126 35 157 58 130 34 157 59 131 33 157 60 134 32 157 61 137 31 157 62 140 30 157 63 144 29 157 64 149 28 157 65 150 26 157 67 153 25 157 68 155 24 157 69 156 23 157 70 159 22 157 70 160 21 157 71 163 20 157 72 166 19 157 73 171 18 157 75 174 17 157 76 176 16 157 77 179 15 157 78 181 14 157 78 182 13 157 79 185 12 157 80 186 11 157 81 188 10 157 83 194 9 157 84 195 8 157 85 197 7 157 86 199 6 157 86 202 5 157 87 204 4 157 88 207 3 157 90 208 2 157 91 209 1 157 92 211 0 157 93 211 0 157 94 213 0 157 95 216 0 157 95 217 0 157 95 217 0 157 95 219 255 156 0 226 254 156 0 224 254 156 0 223 254 156 0 221 253 156 0 220 252 156 0 217 251 156 0 216 250 156 0 213 249 156 0 211 248 156 0 211 247 156 0 209 246 156 0 208 245 156 0 207 244 156 0 205 243 156 0 202 242 156 0 199 241 156 0 197 240 156 0 194 239 156 0 189 238 156 0 186 237 156 0 185 236 156 0 184 235 156 0 182 234 156 0 181 233 156 0 179 232 156 0 176 231 156 0 174 230 156 0 172 229 156 0 166 228 156 0 163 227 156 0 160 226 156 0 159 224 156 0 156 223 156 0 155 222 156 0 153 221 156 0 150 220 156 0 145 219 156 0 144 218 156 0 140 217 156 0 137 216 156 0 134 215 156 0 131 214 156 0 128 213 156 0 126 212 156 0 122 211 156 0 121 210 156 0 120 209 156 0 117 208 156 0 115 207 156 0 112 206 156 0 110 205 156 0 107 204 156 0 103 203 156 0 99 202 156 0 98 201 156 0 95 200 156 0 93 199 156 0 91 198 156 0 88 197 156 0 86 196 156 0 82 195 156 0 80 194 156 0 76 193 156 0 73 191 156 0 70 190 156 0 67 189 156 0 66 188 156 0 64 187 156 0 60 186 156 0 59 185 156 0 54 184 156 0 53 183 156 0 50 182 156 0 47 181 156 0 44 180 156 0 40 179 156 0 38 178 156 0 36 177 156 0 32 176 156 0 31 175 156 0 28 174 156 0 27 173 156 0 24 172 156 0 20 171 156 0 17 170 156 0 14 169 156 0 10 168 156 0 7 167 156 0 5 166 156 0 3 165 156 0 2 164 156 0 0 163 156 0 0 162 156 0 0 161 156 0 0 160 156 0 0 158 156 0 0 157 156 0 0 156 156 0 0 155 156 0 0 154 156 0 0 153 156 0 0 152 156 0 0 151 156 0 0 150 156 0 0 149 156 0 0 148 156 0 0 147 156 0 0 146 156 0 0 145 156 0 0 144 156 0 0 143 156 0 0 142 156 0 0 141 156 0 0 140 156 0 0 139 156 0 0 138 156 0 0 137 156 0 0 136 156 0 0 135 156 0 0 134 156 0 0 133 156 0 0 132 156 0 0 131 156 0 0 130 156 0 0 129 156 0 0 128 156 0 0 127 156 0 0 125 156 0 0 124 156 0 0 123 156 0 0 122 156 0 0 121 156 0 0 120 156 0 0 119 156 0 0 118 156 0 0 117 156 0 0 116 156 0 0 115 156 0 0 114 156 0 0 113 156 0 0 112 156 0 0 111 156 0 0 110 156 0 0 109 156 0 0 108 156 0 0 107 156 0 0 106 156 0 0 105 156 0 0 104 156 0 0 103 156 0 0 102 156 0 0 101 156 0 0 100 156 0 0 99 156 0 0 98 156 0 0 97 156 0 0 96 156 0 0 95 156 0 0 94 156 1 0 92 156 2 0 91 156 3 0 90 156 4 0 89 156 5 0 88 156 5 0 87 156 6 0 86 156 7 0 85 156 8 0 84 156 10 0 83 156 11 3 82 156 12 5 81 156 13 7 80 156 13 9 79 156 14 14 78 156 15 17 77 156 16 20 76 156 18 24 75 156 19 25 74 156 20 28 73 156 21 29 72 156 21 32 71 156 22 35 70 156 23 38 69 156 25 40 68 156 26 43 67 156 27 46 66 156 28 50 65 156 29 51 64 156 30 54 63 156 31 59 62 156 32 60 61 156 33 62 59 156 35 66 58 156 36 67 57 156 37 70 56 156 38 73 55 156 38 76 54 156 39 80 53 156 40 82 52 156 41 84 51 156 43 88 50 156 44 89 49 156 45 92 48 156 46 95 47 156 46 96 46 156 47 99 45 156 48 103 44 156 49 107 43 156 51 110 42 156 52 112 41 156 53 114 40 156 54 117 39 156 54 118 38 156 55 120 37 156 56 122 36 156 58 126 35 156 59 128 34 156 60 130 33 156 61 133 32 156 62 135 31 156 63 138 30 156 64 143 29 156 65 145 28 156 66 150 26 156 68 153 25 156 69 155 24 156 70 156 23 156 71 157 22 156 71 160 21 156 72 163 20 156 73 166 19 156 74 171 18 156 76 174 17 156 77 176 16 156 78 178 15 156 79 181 14 156 79 182 13 156 80 184 12 156 81 185 11 156 82 186 10 156 84 189 9 156 85 194 8 156 86 197 7 156 87 199 6 156 87 202 5 156 88 204 4 156 89 207 3 156 91 208 2 156 92 209 1 156 93 209 0 156 94 211 0 156 95 213 0 156 96 216 0 156 96 217 0 156 96 217 0 156 96 219 255 155 0 223 254 155 0 223 254 155 0 221 254 155 0 220 253 155 0 219 252 155 0 217 251 155 0 216 250 155 0 213 249 155 0 211 248 155 0 209 247 155 0 209 246 155 0 208 245 155 0 207 244 155 0 204 243 155 0 202 242 155 0 199 241 155 0 197 240 155 0 194 239 155 0 188 238 155 0 186 237 155 0 185 236 155 0 184 235 155 0 182 234 155 0 179 233 155 0 178 232 155 0 176 231 155 0 174 230 155 0 171 229 155 0 166 228 155 0 163 227 155 0 160 226 155 0 159 224 155 0 156 223 155 0 155 222 155 0 153 221 155 0 150 220 155 0 145 219 155 0 143 218 155 0 140 217 155 0 135 216 155 0 133 215 155 0 130 214 155 0 128 213 155 0 122 212 155 0 121 211 155 0 120 210 155 0 118 209 155 0 115 208 155 0 112 207 155 0 111 206 155 0 108 205 155 0 104 204 155 0 102 203 155 0 98 202 155 0 96 201 155 0 93 200 155 0 92 199 155 0 89 198 155 0 86 197 155 0 84 196 155 0 81 195 155 0 77 194 155 0 74 193 155 0 71 191 155 0 69 190 155 0 66 189 155 0 64 188 155 0 62 187 155 0 60 186 155 0 57 185 155 0 54 184 155 0 51 183 155 0 49 182 155 0 46 181 155 0 43 180 155 0 39 179 155 0 38 178 155 0 35 177 155 0 32 176 155 0 29 175 155 0 28 174 155 0 25 173 155 0 22 172 155 0 18 171 155 0 16 170 155 0 13 169 155 0 9 168 155 0 6 167 155 0 3 166 155 0 2 165 155 0 0 164 155 0 0 163 155 0 0 162 155 0 0 161 155 0 0 160 155 0 0 158 155 0 0 157 155 0 0 156 155 0 0 155 155 0 0 154 155 0 0 153 155 0 0 152 155 0 0 151 155 0 0 150 155 0 0 149 155 0 0 148 155 0 0 147 155 0 0 146 155 0 0 145 155 0 0 144 155 0 0 143 155 0 0 142 155 0 0 141 155 0 0 140 155 0 0 139 155 0 0 138 155 0 0 137 155 0 0 136 155 0 0 135 155 0 0 134 155 0 0 133 155 0 0 132 155 0 0 131 155 0 0 130 155 0 0 129 155 0 0 128 155 0 0 127 155 0 0 125 155 0 0 124 155 0 0 123 155 0 0 122 155 0 0 121 155 0 0 120 155 0 0 119 155 0 0 118 155 0 0 117 155 0 0 116 155 0 0 115 155 0 0 114 155 0 0 113 155 0 0 112 155 0 0 111 155 0 0 110 155 0 0 109 155 0 0 108 155 0 0 107 155 0 0 106 155 0 0 105 155 0 0 104 155 0 0 103 155 0 0 102 155 0 0 101 155 0 0 100 155 0 0 99 155 0 0 98 155 0 0 97 155 0 0 96 155 0 0 95 155 1 0 94 155 2 0 92 155 3 0 91 155 4 0 90 155 5 0 89 155 6 0 88 155 6 0 87 155 7 0 86 155 8 0 85 155 9 0 84 155 10 0 83 155 12 2 82 155 13 3 81 155 14 6 80 155 14 7 79 155 15 13 78 155 16 16 77 155 17 18 76 155 18 22 75 155 20 25 74 155 21 27 73 155 22 29 72 155 22 31 71 155 23 35 70 155 24 36 69 155 26 39 68 155 27 43 67 155 28 44 66 155 29 49 65 155 30 51 64 155 31 53 63 155 32 57 62 155 33 59 61 155 34 60 59 155 35 64 58 155 37 66 57 155 38 67 56 155 39 70 55 155 39 73 54 155 40 76 53 155 41 80 52 155 42 82 51 155 43 86 50 155 45 88 49 155 46 91 48 155 47 93 47 155 47 95 46 155 48 98 45 155 49 102 44 155 50 103 43 155 51 107 42 155 53 110 41 155 54 112 40 155 55 115 39 155 55 117 38 155 56 120 37 155 57 121 36 155 59 122 35 155 60 126 34 155 61 130 33 155 62 133 32 155 63 135 31 155 64 138 30 155 65 141 29 155 66 144 28 155 67 149 26 155 68 152 25 155 70 155 24 155 71 156 23 155 72 157 22 155 72 160 21 155 73 162 20 155 74 165 19 155 75 171 18 155 76 172 17 155 78 175 16 155 79 178 15 155 80 179 14 155 80 181 13 155 81 184 12 155 82 184 11 155 83 186 10 155 84 188 9 155 86 194 8 155 87 195 7 155 88 198 6 155 88 201 5 155 89 204 4 155 90 205 3 155 92 207 2 155 93 208 1 155 94 209 0 155 95 211 0 155 96 213 0 155 97 213 0 155 97 217 0 155 97 217 0 155 97 219 255 154 0 221 254 154 0 221 254 154 0 220 254 154 0 220 253 154 0 219 252 154 0 217 251 154 0 216 250 154 0 213 249 154 0 211 248 154 0 209 247 154 0 208 246 154 0 208 245 154 0 205 244 154 0 204 243 154 0 202 242 154 0 199 241 154 0 195 240 154 0 189 239 154 0 188 238 154 0 185 237 154 0 184 236 154 0 182 235 154 0 181 234 154 0 179 233 154 0 178 232 154 0 175 231 154 0 172 230 154 0 167 229 154 0 166 228 154 0 162 227 154 0 160 226 154 0 157 224 154 0 156 223 154 0 155 222 154 0 153 221 154 0 150 220 154 0 145 219 154 0 143 218 154 0 140 217 154 0 135 216 154 0 133 215 154 0 130 214 154 0 126 213 154 0 122 212 154 0 121 211 154 0 118 210 154 0 117 209 154 0 114 208 154 0 111 207 154 0 110 206 154 0 107 205 154 0 103 204 154 0 99 203 154 0 96 202 154 0 95 201 154 0 92 200 154 0 91 199 154 0 88 198 154 0 84 197 154 0 82 196 154 0 80 195 154 0 76 194 154 0 73 193 154 0 70 191 154 0 67 190 154 0 64 189 154 0 62 188 154 0 60 187 154 0 59 186 154 0 54 185 154 0 53 184 154 0 50 183 154 0 47 182 154 0 44 181 154 0 40 180 154 0 38 179 154 0 36 178 154 0 32 177 154 0 31 176 154 0 28 175 154 0 27 174 154 0 24 173 154 0 22 172 154 0 17 171 154 0 14 170 154 0 10 169 154 0 7 168 154 0 5 167 154 0 2 166 154 0 0 165 154 0 0 164 154 0 0 163 154 0 0 162 154 0 0 161 154 0 0 160 154 0 0 158 154 0 0 157 154 0 0 156 154 0 0 155 154 0 0 154 154 0 0 153 154 0 0 152 154 0 0 151 154 0 0 150 154 0 0 149 154 0 0 148 154 0 0 147 154 0 0 146 154 0 0 145 154 0 0 144 154 0 0 143 154 0 0 142 154 0 0 141 154 0 0 140 154 0 0 139 154 0 0 138 154 0 0 137 154 0 0 136 154 0 0 135 154 0 0 134 154 0 0 133 154 0 0 132 154 0 0 131 154 0 0 130 154 0 0 129 154 0 0 128 154 0 0 127 154 0 0 125 154 0 0 124 154 0 0 123 154 0 0 122 154 0 0 121 154 0 0 120 154 0 0 119 154 0 0 118 154 0 0 117 154 0 0 116 154 0 0 115 154 0 0 114 154 0 0 113 154 0 0 112 154 0 0 111 154 0 0 110 154 0 0 109 154 0 0 108 154 0 0 107 154 0 0 106 154 0 0 105 154 0 0 104 154 0 0 103 154 0 0 102 154 0 0 101 154 0 0 100 154 0 0 99 154 0 0 98 154 0 0 97 154 0 0 96 154 1 0 95 154 1 0 94 154 2 0 92 154 3 0 91 154 4 0 90 154 5 0 89 154 6 0 88 154 7 0 87 154 8 0 86 154 9 0 85 154 10 0 84 154 11 0 83 154 12 0 82 154 13 2 81 154 14 5 80 154 15 6 79 154 16 10 78 154 17 14 77 154 18 17 76 154 19 20 75 154 20 24 74 154 21 25 73 154 22 28 72 154 23 31 71 154 24 32 70 154 25 35 69 154 27 38 68 154 28 40 67 154 29 44 66 154 30 47 65 154 31 50 64 154 32 51 63 154 33 54 62 154 34 57 61 154 35 60 59 154 36 62 58 154 37 64 57 154 38 66 56 154 39 69 55 154 40 71 54 154 41 74 53 154 42 77 52 154 43 81 51 154 44 84 50 154 45 88 49 154 46 89 48 154 47 92 47 154 48 93 46 154 49 96 45 154 50 99 44 154 51 102 43 154 52 104 42 154 53 108 41 154 54 111 40 154 55 114 39 154 56 117 38 154 57 118 37 154 58 121 36 154 60 122 35 154 61 126 34 154 62 130 33 154 63 133 32 154 64 134 31 154 65 138 30 154 66 141 29 154 67 144 28 154 68 149 26 154 69 152 25 154 70 155 24 154 71 156 23 154 72 157 22 154 73 160 21 154 74 162 20 154 75 165 19 154 76 167 18 154 77 172 17 154 78 175 16 154 79 176 15 154 80 179 14 154 81 181 13 154 82 182 12 154 83 184 11 154 84 185 10 154 85 188 9 154 86 189 8 154 87 195 7 154 88 198 6 154 89 201 5 154 90 204 4 154 91 205 3 154 93 207 2 154 94 208 1 154 95 209 0 154 96 211 0 154 97 211 0 154 97 213 0 154 98 216 0 154 98 217 0 154 98 219 255 153 0 220 254 153 0 220 254 153 0 220 254 153 0 219 253 153 0 219 252 153 0 217 251 153 0 213 250 153 0 211 249 153 0 209 248 153 0 209 247 153 0 208 246 153 0 207 245 153 0 205 244 153 0 204 243 153 0 201 242 153 0 199 241 153 0 195 240 153 0 189 239 153 0 188 238 153 0 185 237 153 0 182 236 153 0 181 235 153 0 179 234 153 0 178 233 153 0 176 232 153 0 174 231 153 0 171 230 153 0 167 229 153 0 165 228 153 0 162 227 153 0 160 226 153 0 157 224 153 0 156 223 153 0 155 222 153 0 152 221 153 0 150 220 153 0 145 219 153 0 143 218 153 0 138 217 153 0 135 216 153 0 133 215 153 0 130 214 153 0 126 213 153 0 122 212 153 0 121 211 153 0 118 210 153 0 115 209 153 0 114 208 153 0 111 207 153 0 108 206 153 0 104 205 153 0 102 204 153 0 98 203 153 0 96 202 153 0 93 201 153 0 92 200 153 0 89 199 153 0 88 198 153 0 84 197 153 0 81 196 153 0 77 195 153 0 74 194 153 0 71 193 153 0 69 191 153 0 66 190 153 0 64 189 153 0 60 188 153 0 59 187 153 0 57 186 153 0 53 185 153 0 51 184 153 0 49 183 153 0 46 182 153 0 43 181 153 0 39 180 153 0 38 179 153 0 35 178 153 0 31 177 153 0 29 176 153 0 28 175 153 0 25 174 153 0 22 173 153 0 18 172 153 0 16 171 153 0 13 170 153 0 9 169 153 0 6 168 153 0 3 167 153 0 0 166 153 0 0 165 153 0 0 164 153 0 0 163 153 0 0 162 153 0 0 161 153 0 0 160 153 0 0 158 153 0 0 157 153 0 0 156 153 0 0 155 153 0 0 154 153 0 0 153 153 0 0 152 153 0 0 151 153 0 0 150 153 0 0 149 153 0 0 148 153 0 0 147 153 0 0 146 153 0 0 145 153 0 0 144 153 0 0 143 153 0 0 142 153 0 0 141 153 0 0 140 153 0 0 139 153 0 0 138 153 0 0 137 153 0 0 136 153 0 0 135 153 0 0 134 153 0 0 133 153 0 0 132 153 0 0 131 153 0 0 130 153 0 0 129 153 0 0 128 153 0 0 127 153 0 0 125 153 0 0 124 153 0 0 123 153 0 0 122 153 0 0 121 153 0 0 120 153 0 0 119 153 0 0 118 153 0 0 117 153 0 0 116 153 0 0 115 153 0 0 114 153 0 0 113 153 0 0 112 153 0 0 111 153 0 0 110 153 0 0 109 153 0 0 108 153 0 0 107 153 0 0 106 153 0 0 105 153 0 0 104 153 0 0 103 153 0 0 102 153 0 0 101 153 0 0 100 153 0 0 99 153 0 0 98 153 0 0 97 153 1 0 96 153 1 0 95 153 2 0 94 153 3 0 92 153 4 0 91 153 5 0 90 153 6 0 89 153 7 0 88 153 8 0 87 153 9 0 86 153 10 0 85 153 11 0 84 153 12 0 83 153 13 0 82 153 14 0 81 153 15 3 80 153 16 5 79 153 17 9 78 153 18 13 77 153 19 16 76 153 20 18 75 153 21 22 74 153 22 24 73 153 23 27 72 153 24 29 71 153 25 31 70 153 26 35 69 153 28 36 68 153 29 39 67 153 30 43 66 153 31 46 65 153 32 49 64 153 33 50 63 153 34 53 62 153 35 57 61 153 36 59 59 153 37 60 58 153 38 62 57 153 39 66 56 153 40 67 55 153 41 70 54 153 42 73 53 153 43 76 52 153 44 80 51 153 45 82 50 153 46 86 49 153 47 89 48 153 48 91 47 153 49 93 46 153 50 95 45 153 51 98 44 153 52 102 43 153 53 103 42 153 54 107 41 153 55 110 40 153 56 112 39 153 57 115 38 153 58 118 37 153 59 120 36 153 61 122 35 153 62 126 34 153 63 130 33 153 64 131 32 153 65 134 31 153 66 137 30 153 67 141 29 153 68 144 28 153 69 149 26 153 70 152 25 153 71 155 24 153 72 156 23 153 73 157 22 153 74 159 21 153 75 162 20 153 76 163 19 153 77 166 18 153 78 171 17 153 79 174 16 153 80 175 15 153 81 178 14 153 82 179 13 153 83 181 12 153 84 182 11 153 85 185 10 153 86 186 9 153 87 189 8 153 88 195 7 153 89 198 6 153 90 201 5 153 91 204 4 153 92 205 3 153 94 207 2 153 95 208 1 153 96 208 0 153 97 209 0 153 98 211 0 153 98 213 0 153 99 216 0 153 99 217 0 153 99 219 255 152 0 220 254 152 0 220 254 152 0 219 254 152 0 219 253 152 0 217 252 152 0 217 251 152 0 213 250 152 0 211 249 152 0 209 248 152 0 208 247 152 0 207 246 152 0 207 245 152 0 205 244 152 0 204 243 152 0 201 242 152 0 199 241 152 0 195 240 152 0 189 239 152 0 186 238 152 0 185 237 152 0 182 236 152 0 181 235 152 0 178 234 152 0 176 233 152 0 175 232 152 0 172 231 152 0 167 230 152 0 165 229 152 0 163 228 152 0 160 227 152 0 159 226 152 0 157 224 152 0 155 223 152 0 153 222 152 0 152 221 152 0 149 220 152 0 144 219 152 0 141 218 152 0 138 217 152 0 135 216 152 0 133 215 152 0 130 214 152 0 126 213 152 0 122 212 152 0 120 211 152 0 117 210 152 0 115 209 152 0 112 208 152 0 110 207 152 0 107 206 152 0 103 205 152 0 99 204 152 0 96 203 152 0 95 202 152 0 92 201 152 0 91 200 152 0 88 199 152 0 86 198 152 0 82 197 152 0 80 196 152 0 76 195 152 0 73 194 152 0 70 193 152 0 67 191 152 0 64 190 152 0 62 189 152 0 59 188 152 0 57 187 152 0 54 186 152 0 51 185 152 0 49 184 152 0 46 183 152 0 44 182 152 0 40 181 152 0 38 180 152 0 35 179 152 0 32 178 152 0 29 177 152 0 28 176 152 0 25 175 152 0 22 174 152 0 20 173 152 0 17 172 152 0 14 171 152 0 10 170 152 0 7 169 152 0 5 168 152 0 2 167 152 0 0 166 152 0 0 165 152 0 0 164 152 0 0 163 152 0 0 162 152 0 0 161 152 0 0 160 152 0 0 158 152 0 0 157 152 0 0 156 152 0 0 155 152 0 0 154 152 0 0 153 152 0 0 152 152 0 0 151 152 0 0 150 152 0 0 149 152 0 0 148 152 0 0 147 152 0 0 146 152 0 0 145 152 0 0 144 152 0 0 143 152 0 0 142 152 0 0 141 152 0 0 140 152 0 0 139 152 0 0 138 152 0 0 137 152 0 0 136 152 0 0 135 152 0 0 134 152 0 0 133 152 0 0 132 152 0 0 131 152 0 0 130 152 0 0 129 152 0 0 128 152 0 0 127 152 0 0 125 152 0 0 124 152 0 0 123 152 0 0 122 152 0 0 121 152 0 0 120 152 0 0 119 152 0 0 118 152 0 0 117 152 0 0 116 152 0 0 115 152 0 0 114 152 0 0 113 152 0 0 112 152 0 0 111 152 0 0 110 152 0 0 109 152 0 0 108 152 0 0 107 152 0 0 106 152 0 0 105 152 0 0 104 152 0 0 103 152 0 0 102 152 0 0 101 152 0 0 100 152 0 0 99 152 0 0 98 152 1 0 97 152 1 0 96 152 2 0 95 152 3 0 94 152 4 0 92 152 5 0 91 152 6 0 90 152 7 0 89 152 8 0 88 152 9 0 87 152 10 0 86 152 11 0 85 152 12 0 84 152 13 0 83 152 14 0 82 152 15 0 81 152 16 0 80 152 17 3 79 152 18 6 78 152 19 9 77 152 20 13 76 152 21 16 75 152 22 18 74 152 23 22 73 152 24 25 72 152 25 28 71 152 26 29 70 152 27 31 69 152 29 35 68 152 30 38 67 152 31 39 66 152 32 43 65 152 33 46 64 152 34 49 63 152 35 51 62 152 36 53 61 152 37 57 59 152 38 59 58 152 39 60 57 152 40 64 56 152 41 66 55 152 42 69 54 152 43 71 53 152 44 74 52 152 45 80 51 152 46 81 50 152 47 84 49 152 48 88 48 152 49 89 47 152 50 92 46 152 51 95 45 152 52 96 44 152 53 99 43 152 54 103 42 152 55 104 41 152 56 108 40 152 57 111 39 152 58 114 38 152 59 117 37 152 60 120 36 152 62 121 35 152 63 126 34 152 64 128 33 152 65 131 32 152 66 134 31 152 67 137 30 152 68 141 29 152 69 144 28 152 70 149 26 152 71 152 25 152 72 153 24 152 73 155 23 152 74 157 22 152 75 159 21 152 76 160 20 152 77 162 19 152 78 165 18 152 79 167 17 152 80 172 16 152 81 174 15 152 82 176 14 152 83 178 13 152 84 181 12 152 85 182 11 152 86 184 10 152 87 186 9 152 88 189 8 152 89 195 7 152 90 198 6 152 91 201 5 152 92 202 4 152 93 205 3 152 95 205 2 152 96 207 1 152 97 208 0 152 98 209 0 152 99 211 0 152 99 213 0 152 99 216 0 152 100 217 0 152 100 219 255 151 0 220 254 151 0 220 254 151 0 219 254 151 0 219 253 151 0 217 252 151 0 217 251 151 0 213 250 151 0 211 249 151 0 209 248 151 0 208 247 151 0 207 246 151 0 205 245 151 0 205 244 151 0 204 243 151 0 201 242 151 0 199 241 151 0 195 240 151 0 189 239 151 0 186 238 151 0 184 237 151 0 182 236 151 0 179 235 151 0 178 234 151 0 175 233 151 0 174 232 151 0 171 231 151 0 166 230 151 0 163 229 151 0 162 228 151 0 159 227 151 0 157 226 151 0 156 224 151 0 155 223 151 0 153 222 151 0 150 221 151 0 145 220 151 0 144 219 151 0 141 218 151 0 137 217 151 0 134 216 151 0 131 215 151 0 128 214 151 0 122 213 151 0 121 212 151 0 120 211 151 0 117 210 151 0 114 209 151 0 111 208 151 0 108 207 151 0 104 206 151 0 102 205 151 0 98 204 151 0 96 203 151 0 93 202 151 0 92 201 151 0 89 200 151 0 88 199 151 0 84 198 151 0 81 197 151 0 77 196 151 0 74 195 151 0 71 194 151 0 69 193 151 0 66 191 151 0 62 190 151 0 60 189 151 0 57 188 151 0 54 187 151 0 51 186 151 0 49 185 151 0 47 184 151 0 44 183 151 0 40 182 151 0 38 181 151 0 35 180 151 0 32 179 151 0 29 178 151 0 28 177 151 0 25 176 151 0 24 175 151 0 20 174 151 0 17 173 151 0 14 172 151 0 10 171 151 0 7 170 151 0 5 169 151 0 2 168 151 0 0 167 151 0 0 166 151 0 0 165 151 0 0 164 151 0 0 163 151 0 0 162 151 0 0 161 151 0 0 160 151 0 0 158 151 0 0 157 151 0 0 156 151 0 0 155 151 0 0 154 151 0 0 153 151 0 0 152 151 0 0 151 151 0 0 150 151 0 0 149 151 0 0 148 151 0 0 147 151 0 0 146 151 0 0 145 151 0 0 144 151 0 0 143 151 0 0 142 151 0 0 141 151 0 0 140 151 0 0 139 151 0 0 138 151 0 0 137 151 0 0 136 151 0 0 135 151 0 0 134 151 0 0 133 151 0 0 132 151 0 0 131 151 0 0 130 151 0 0 129 151 0 0 128 151 0 0 127 151 0 0 125 151 0 0 124 151 0 0 123 151 0 0 122 151 0 0 121 151 0 0 120 151 0 0 119 151 0 0 118 151 0 0 117 151 0 0 116 151 0 0 115 151 0 0 114 151 0 0 113 151 0 0 112 151 0 0 111 151 0 0 110 151 0 0 109 151 0 0 108 151 0 0 107 151 0 0 106 151 0 0 105 151 0 0 104 151 0 0 103 151 0 0 102 151 0 0 101 151 0 0 100 151 1 0 99 151 1 0 98 151 2 0 97 151 2 0 96 151 3 0 95 151 4 0 94 151 5 0 92 151 6 0 91 151 7 0 90 151 8 0 89 151 9 0 88 151 10 0 87 151 11 0 86 151 12 0 85 151 13 0 84 151 14 0 83 151 15 0 82 151 16 0 81 151 17 0 80 151 18 2 79 151 19 3 78 151 20 6 77 151 21 9 76 151 22 14 75 151 24 17 74 151 25 18 73 151 26 22 72 151 27 25 71 151 28 27 70 151 29 29 69 151 30 32 68 151 31 35 67 151 32 38 66 151 33 40 65 151 34 43 64 151 35 46 63 151 36 49 62 151 37 51 61 151 38 53 59 151 39 57 58 151 40 59 57 151 41 62 56 151 42 66 55 151 43 67 54 151 44 70 53 151 45 74 52 151 46 77 51 151 47 80 50 151 48 82 49 151 49 86 48 151 50 89 47 151 51 91 46 151 52 93 45 151 53 95 44 151 54 98 43 151 55 102 42 151 57 104 41 151 58 107 40 151 59 110 39 151 60 112 38 151 61 115 37 151 62 118 36 151 63 121 35 151 64 122 34 151 65 128 33 151 66 131 32 151 67 133 31 151 68 135 30 151 69 140 29 151 70 143 28 151 71 145 26 151 72 150 25 151 73 153 24 151 74 155 23 151 75 156 22 151 76 157 21 151 77 159 20 151 78 160 19 151 79 163 18 151 80 166 17 151 81 167 16 151 82 172 15 151 83 175 14 151 84 178 13 151 85 179 12 151 86 182 11 151 87 184 10 151 88 186 9 151 90 189 8 151 91 195 7 151 92 198 6 151 93 201 5 151 94 202 4 151 95 204 3 151 96 205 2 151 97 207 1 151 98 208 0 151 99 209 0 151 100 211 0 151 100 213 0 151 101 216 0 151 101 217 0 151 101 219 255 150 0 220 254 150 0 220 254 150 0 219 254 150 0 219 253 150 0 217 252 150 0 217 251 150 0 213 250 150 0 211 249 150 0 209 248 150 0 208 247 150 0 207 246 150 0 205 245 150 0 204 244 150 0 202 243 150 0 201 242 150 0 199 241 150 0 195 240 150 0 189 239 150 0 186 238 150 0 184 237 150 0 182 236 150 0 179 235 150 0 176 234 150 0 175 233 150 0 172 232 150 0 167 231 150 0 165 230 150 0 162 229 150 0 160 228 150 0 159 227 150 0 157 226 150 0 156 224 150 0 153 223 150 0 152 222 150 0 149 221 150 0 144 220 150 0 141 219 150 0 138 218 150 0 135 217 150 0 133 216 150 0 130 215 150 0 128 214 150 0 122 213 150 0 120 212 150 0 118 211 150 0 115 210 150 0 112 209 150 0 110 208 150 0 107 207 150 0 103 206 150 0 99 205 150 0 98 204 150 0 95 203 150 0 93 202 150 0 91 201 150 0 88 200 150 0 86 199 150 0 82 198 150 0 80 197 150 0 76 196 150 0 73 195 150 0 70 194 150 0 67 193 150 0 64 191 150 0 60 190 150 0 59 189 150 0 54 188 150 0 51 187 150 0 49 186 150 0 47 185 150 0 44 184 150 0 40 183 150 0 38 182 150 0 36 181 150 0 32 180 150 0 31 179 150 0 28 178 150 0 25 177 150 0 24 176 150 0 20 175 150 0 17 174 150 0 14 173 150 0 10 172 150 0 7 171 150 0 5 170 150 0 2 169 150 0 0 168 150 0 0 167 150 0 0 166 150 0 0 165 150 0 0 164 150 0 0 163 150 0 0 162 150 0 0 161 150 0 0 160 150 0 0 158 150 0 0 157 150 0 0 156 150 0 0 155 150 0 0 154 150 0 0 153 150 0 0 152 150 0 0 151 150 0 0 150 150 0 0 149 150 0 0 148 150 0 0 147 150 0 0 146 150 0 0 145 150 0 0 144 150 0 0 143 150 0 0 142 150 0 0 141 150 0 0 140 150 0 0 139 150 0 0 138 150 0 0 137 150 0 0 136 150 0 0 135 150 0 0 134 150 0 0 133 150 0 0 132 150 0 0 131 150 0 0 130 150 0 0 129 150 0 0 128 150 0 0 127 150 0 0 125 150 0 0 124 150 0 0 123 150 0 0 122 150 0 0 121 150 0 0 120 150 0 0 119 150 0 0 118 150 0 0 117 150 0 0 116 150 0 0 115 150 0 0 114 150 0 0 113 150 0 0 112 150 0 0 111 150 0 0 110 150 0 0 109 150 0 0 108 150 0 0 107 150 0 0 106 150 0 0 105 150 0 0 104 150 0 0 103 150 0 0 102 150 0 0 101 150 1 0 100 150 2 0 99 150 2 0 98 150 3 0 97 150 3 0 96 150 4 0 95 150 5 0 94 150 6 0 92 150 7 0 91 150 9 0 90 150 10 0 89 150 10 0 88 150 11 0 87 150 12 0 86 150 13 0 85 150 14 0 84 150 15 0 83 150 17 0 82 150 18 0 81 150 18 0 80 150 19 0 79 150 20 2 78 150 21 5 77 150 22 7 76 150 24 10 75 150 25 14 74 150 26 17 73 150 27 20 72 150 28 24 71 150 29 25 70 150 30 28 69 150 31 29 68 150 32 32 67 150 34 35 66 150 35 38 65 150 35 40 64 150 36 43 63 150 37 46 62 150 38 49 61 150 39 51 59 150 40 54 58 150 42 57 57 150 43 60 56 150 43 64 55 150 44 67 54 150 45 69 53 150 46 73 52 150 47 76 51 150 48 80 50 150 50 81 49 150 51 84 48 150 51 88 47 150 52 89 46 150 53 92 45 150 54 95 44 150 55 96 43 150 57 99 42 150 58 103 41 150 59 107 40 150 60 110 39 150 61 112 38 150 62 114 37 150 63 117 36 150 64 120 35 150 65 121 34 150 67 126 33 150 68 130 32 150 68 133 31 150 69 135 30 150 70 138 29 150 71 141 28 150 72 144 26 150 73 149 25 150 75 152 24 150 76 153 23 150 76 155 22 150 77 156 21 150 78 157 20 150 79 160 19 150 80 162 18 150 81 165 17 150 83 167 16 150 84 172 15 150 84 174 14 150 85 176 13 150 86 179 12 150 87 182 11 150 88 184 10 150 90 186 9 150 91 189 8 150 92 195 7 150 93 198 6 150 94 201 5 150 95 202 4 150 96 204 3 150 97 205 2 150 98 207 1 150 100 207 0 150 100 209 0 150 101 211 0 150 102 213 0 150 102 216 0 150 102 217 0 150 102 219 255 149 0 220 254 149 0 220 254 149 0 219 254 149 0 219 253 149 0 217 252 149 0 217 251 149 0 213 250 149 0 211 249 149 0 209 248 149 0 208 247 149 0 207 246 149 0 205 245 149 0 204 244 149 0 202 243 149 0 201 242 149 0 199 241 149 0 195 240 149 0 189 239 149 0 186 238 149 0 184 237 149 0 182 236 149 0 179 235 149 0 176 234 149 0 174 233 149 0 171 232 149 0 166 231 149 0 163 230 149 0 162 229 149 0 159 228 149 0 157 227 149 0 156 226 149 0 155 224 149 0 153 223 149 0 150 222 149 0 145 221 149 0 143 220 149 0 140 219 149 0 137 218 149 0 134 217 149 0 131 216 149 0 128 215 149 0 126 214 149 0 121 213 149 0 118 212 149 0 117 211 149 0 114 210 149 0 111 209 149 0 108 208 149 0 104 207 149 0 102 206 149 0 98 205 149 0 96 204 149 0 93 203 149 0 92 202 149 0 89 201 149 0 86 200 149 0 84 199 149 0 81 198 149 0 77 197 149 0 74 196 149 0 71 195 149 0 69 194 149 0 66 193 149 0 62 191 149 0 59 190 149 0 54 189 149 0 53 188 149 0 50 187 149 0 47 186 149 0 44 185 149 0 40 184 149 0 39 183 149 0 36 182 149 0 32 181 149 0 31 180 149 0 28 179 149 0 27 178 149 0 24 177 149 0 20 176 149 0 17 175 149 0 14 174 149 0 10 173 149 0 7 172 149 0 5 171 149 0 2 170 149 0 0 169 149 0 0 168 149 0 0 167 149 0 0 166 149 0 0 165 149 0 0 164 149 0 0 163 149 0 0 162 149 0 0 161 149 0 0 160 149 0 0 158 149 0 0 157 149 0 0 156 149 0 0 155 149 0 0 154 149 0 0 153 149 0 0 152 149 0 0 151 149 0 0 150 149 0 0 149 149 0 0 148 149 0 0 147 149 0 0 146 149 0 0 145 149 0 0 144 149 0 0 143 149 0 0 142 149 0 0 141 149 0 0 140 149 0 0 139 149 0 0 138 149 0 0 137 149 0 0 136 149 0 0 135 149 0 0 134 149 0 0 133 149 0 0 132 149 0 0 131 149 0 0 130 149 0 0 129 149 0 0 128 149 0 0 127 149 0 0 125 149 0 0 124 149 0 0 123 149 0 0 122 149 0 0 121 149 0 0 120 149 0 0 119 149 0 0 118 149 0 0 117 149 0 0 116 149 0 0 115 149 0 0 114 149 0 0 113 149 0 0 112 149 0 0 111 149 0 0 110 149 0 0 109 149 0 0 108 149 0 0 107 149 0 0 106 149 0 0 105 149 0 0 104 149 0 0 103 149 0 0 102 149 1 0 101 149 2 0 100 149 2 0 99 149 3 0 98 149 4 0 97 149 4 0 96 149 5 0 95 149 6 0 94 149 7 0 92 149 9 0 91 149 10 0 90 149 11 0 89 149 12 0 88 149 12 0 87 149 13 0 86 149 14 0 85 149 15 0 84 149 17 0 83 149 18 0 82 149 19 0 81 149 20 0 80 149 20 0 79 149 21 0 78 149 22 2 77 149 24 5 76 149 25 7 75 149 26 10 74 149 27 14 73 149 28 17 72 149 29 20 71 149 30 24 70 149 31 25 69 149 32 28 68 149 34 29 67 149 35 32 66 149 36 36 65 149 37 38 64 149 37 40 63 149 38 44 62 149 39 47 61 149 40 49 59 149 42 51 58 149 43 54 57 149 44 59 56 149 45 62 55 149 45 66 54 149 46 67 53 149 47 70 52 149 48 73 51 149 50 76 50 149 51 80 49 149 52 82 48 149 53 86 47 149 53 88 46 149 54 91 45 149 55 93 44 149 57 95 43 149 58 98 42 149 59 102 41 149 60 103 40 149 61 107 39 149 62 110 38 149 63 112 37 149 64 115 36 149 65 118 35 149 67 120 34 149 68 122 33 149 69 128 32 149 70 131 31 149 70 133 30 149 71 137 29 149 72 140 28 149 73 143 26 149 75 145 25 149 76 150 24 149 77 152 23 149 78 155 22 149 78 156 21 149 79 157 20 149 80 159 19 149 81 160 18 149 83 163 17 149 84 166 16 149 85 171 15 149 86 174 14 149 86 176 13 149 87 179 12 149 88 182 11 149 90 184 10 149 91 186 9 149 92 189 8 149 93 195 7 149 94 198 6 149 95 201 5 149 96 202 4 149 97 204 3 149 98 205 2 149 100 205 1 149 101 207 0 149 102 208 0 149 102 211 0 149 103 213 0 149 103 216 0 149 103 217 0 149 103 219 255 148 0 220 254 148 0 220 254 148 0 219 254 148 0 219 253 148 0 217 252 148 0 217 251 148 0 213 250 148 0 211 249 148 0 209 248 148 0 208 247 148 0 207 246 148 0 205 245 148 0 204 244 148 0 202 243 148 0 201 242 148 0 199 241 148 0 195 240 148 0 189 239 148 0 186 238 148 0 184 237 148 0 182 236 148 0 179 235 148 0 176 234 148 0 174 233 148 0 171 232 148 0 166 231 148 0 163 230 148 0 160 229 148 0 159 228 148 0 156 227 148 0 155 226 148 0 153 224 148 0 152 223 148 0 149 222 148 0 144 221 148 0 141 220 148 0 138 219 148 0 135 218 148 0 133 217 148 0 130 216 148 0 126 215 148 0 122 214 148 0 120 213 148 0 117 212 148 0 115 211 148 0 112 210 148 0 110 209 148 0 107 208 148 0 103 207 148 0 99 206 148 0 96 205 148 0 95 204 148 0 92 203 148 0 91 202 148 0 88 201 148 0 84 200 148 0 82 199 148 0 80 198 148 0 76 197 148 0 73 196 148 0 70 195 148 0 67 194 148 0 64 193 148 0 60 191 148 0 57 190 148 0 53 189 148 0 51 188 148 0 47 187 148 0 44 186 148 0 43 185 148 0 39 184 148 0 36 183 148 0 35 182 148 0 31 181 148 0 29 180 148 0 27 179 148 0 25 178 148 0 22 177 148 0 18 176 148 0 16 175 148 0 13 174 148 0 9 173 148 0 6 172 148 0 3 171 148 0 0 170 148 0 0 169 148 0 0 168 148 0 0 167 148 0 0 166 148 0 0 165 148 0 0 164 148 0 0 163 148 0 0 162 148 0 0 161 148 0 0 160 148 0 0 158 148 0 0 157 148 0 0 156 148 0 0 155 148 0 0 154 148 0 0 153 148 0 0 152 148 0 0 151 148 0 0 150 148 0 0 149 148 0 0 148 148 0 0 147 148 0 0 146 148 0 0 145 148 0 0 144 148 0 0 143 148 0 0 142 148 0 0 141 148 0 0 140 148 0 0 139 148 0 0 138 148 0 0 137 148 0 0 136 148 0 0 135 148 0 0 134 148 0 0 133 148 0 0 132 148 0 0 131 148 0 0 130 148 0 0 129 148 0 0 128 148 0 0 127 148 0 0 125 148 0 0 124 148 0 0 123 148 0 0 122 148 0 0 121 148 0 0 120 148 0 0 119 148 0 0 118 148 0 0 117 148 0 0 116 148 0 0 115 148 0 0 114 148 0 0 113 148 0 0 112 148 0 0 111 148 0 0 110 148 0 0 109 148 0 0 108 148 0 0 107 148 0 0 106 148 0 0 105 148 0 0 104 148 0 0 103 148 0 0 102 148 1 0 101 148 2 0 100 148 3 0 99 148 4 0 98 148 5 0 97 148 5 0 96 148 6 0 95 148 7 0 94 148 8 0 92 148 10 0 91 148 11 0 90 148 12 0 89 148 13 0 88 148 13 0 87 148 14 0 86 148 15 0 85 148 16 0 84 148 18 0 83 148 19 0 82 148 20 0 81 148 21 0 80 148 21 0 79 148 22 0 78 148 23 0 77 148 25 2 76 148 26 6 75 148 27 7 74 148 28 10 73 148 29 16 72 148 30 18 71 148 31 20 70 148 32 24 69 148 33 27 68 148 35 28 67 148 36 31 66 148 37 32 65 148 38 36 64 148 38 38 63 148 39 40 62 148 40 44 61 148 41 47 59 148 43 50 58 148 44 53 57 148 45 57 56 148 46 60 55 148 46 64 54 148 47 66 53 148 48 69 52 148 49 71 51 148 51 74 50 148 52 77 49 148 53 81 48 148 54 84 47 148 54 88 46 148 55 89 45 148 56 92 44 148 58 93 43 148 59 96 42 148 60 99 41 148 61 102 40 148 62 104 39 148 63 108 38 148 64 111 37 148 65 114 36 148 66 117 35 148 68 118 34 148 69 121 33 148 70 126 32 148 71 130 31 148 71 131 30 148 72 134 29 148 73 137 28 148 74 141 26 148 76 144 25 148 77 149 24 148 78 150 23 148 79 153 22 148 79 155 21 148 80 156 20 148 81 157 19 148 82 160 18 148 84 162 17 148 85 166 16 148 86 171 15 148 87 174 14 148 87 176 13 148 88 179 12 148 89 182 11 148 91 184 10 148 92 186 9 148 93 189 8 148 94 195 7 148 95 198 6 148 96 201 5 148 97 202 4 148 98 204 3 148 99 205 2 148 101 205 1 148 102 207 0 148 103 208 0 148 103 211 0 148 104 213 0 148 104 216 0 148 104 217 0 148 104 219 255 147 0 220 254 147 0 220 254 147 0 219 254 147 0 219 253 147 0 217 252 147 0 217 251 147 0 213 250 147 0 211 249 147 0 209 248 147 0 208 247 147 0 207 246 147 0 205 245 147 0 204 244 147 0 202 243 147 0 201 242 147 0 199 241 147 0 195 240 147 0 189 239 147 0 186 238 147 0 184 237 147 0 182 236 147 0 179 235 147 0 176 234 147 0 174 233 147 0 171 232 147 0 166 231 147 0 163 230 147 0 160 229 147 0 157 228 147 0 156 227 147 0 155 226 147 0 153 224 147 0 150 223 147 0 145 222 147 0 143 221 147 0 140 220 147 0 137 219 147 0 134 218 147 0 131 217 147 0 128 216 147 0 126 215 147 0 121 214 147 0 118 213 147 0 117 212 147 0 114 211 147 0 111 210 147 0 108 209 147 0 104 208 147 0 102 207 147 0 98 206 147 0 96 205 147 0 93 204 147 0 91 203 147 0 89 202 147 0 86 201 147 0 84 200 147 0 81 199 147 0 77 198 147 0 74 197 147 0 71 196 147 0 69 195 147 0 66 194 147 0 62 193 147 0 59 191 147 0 54 190 147 0 53 189 147 0 50 188 147 0 46 187 147 0 43 186 147 0 40 185 147 0 38 184 147 0 35 183 147 0 32 182 147 0 29 181 147 0 28 180 147 0 25 179 147 0 24 178 147 0 20 177 147 0 17 176 147 0 14 175 147 0 10 174 147 0 7 173 147 0 5 172 147 0 2 171 147 0 0 170 147 0 0 169 147 0 0 168 147 0 0 167 147 0 0 166 147 0 0 165 147 0 0 164 147 0 0 163 147 0 0 162 147 0 0 161 147 0 0 160 147 0 0 158 147 0 0 157 147 0 0 156 147 0 0 155 147 0 0 154 147 0 0 153 147 0 0 152 147 0 0 151 147 0 0 150 147 0 0 149 147 0 0 148 147 0 0 147 147 0 0 146 147 0 0 145 147 0 0 144 147 0 0 143 147 0 0 142 147 0 0 141 147 0 0 140 147 0 0 139 147 0 0 138 147 0 0 137 147 0 0 136 147 0 0 135 147 0 0 134 147 0 0 133 147 0 0 132 147 0 0 131 147 0 0 130 147 0 0 129 147 0 0 128 147 0 0 127 147 0 0 125 147 0 0 124 147 0 0 123 147 0 0 122 147 0 0 121 147 0 0 120 147 0 0 119 147 0 0 118 147 0 0 117 147 0 0 116 147 0 0 115 147 0 0 114 147 0 0 113 147 0 0 112 147 0 0 111 147 0 0 110 147 0 0 109 147 0 0 108 147 0 0 107 147 0 0 106 147 0 0 105 147 0 0 104 147 0 0 103 147 1 0 102 147 2 0 101 147 3 0 100 147 4 0 99 147 5 0 98 147 6 0 97 147 6 0 96 147 7 0 95 147 8 0 94 147 9 0 92 147 10 0 91 147 12 0 90 147 13 0 89 147 14 0 88 147 14 0 87 147 15 0 86 147 16 0 85 147 17 0 84 147 18 0 83 147 20 0 82 147 21 0 81 147 22 0 80 147 22 0 79 147 23 0 78 147 24 0 77 147 26 2 76 147 27 3 75 147 28 6 74 147 29 9 73 147 30 14 72 147 31 17 71 147 32 20 70 147 33 24 69 147 34 25 68 147 35 28 67 147 37 29 66 147 38 32 65 147 39 35 64 147 39 38 63 147 40 39 62 147 41 43 61 147 42 46 59 147 43 49 58 147 45 51 57 147 46 54 56 147 47 59 55 147 47 62 54 147 48 64 53 147 49 67 52 147 50 70 51 147 51 73 50 147 53 76 49 147 54 80 48 147 55 82 47 147 55 86 46 147 56 89 45 147 57 91 44 147 59 93 43 147 60 95 42 147 61 98 41 147 62 99 40 147 63 103 39 147 64 107 38 147 65 110 37 147 66 112 36 147 67 115 35 147 68 118 34 147 70 120 33 147 71 122 32 147 72 128 31 147 72 130 30 147 73 134 29 147 74 137 28 147 75 140 26 147 76 143 25 147 78 145 24 147 79 150 23 147 80 152 22 147 80 155 21 147 81 156 20 147 82 157 19 147 83 160 18 147 84 162 17 147 86 166 16 147 87 171 15 147 88 174 14 147 88 176 13 147 89 179 12 147 90 182 11 147 92 184 10 147 93 186 9 147 94 189 8 147 95 195 7 147 96 198 6 147 97 201 5 147 98 202 4 147 99 204 3 147 100 205 2 147 101 205 1 147 103 207 0 147 103 208 0 147 104 211 0 147 105 213 0 147 105 216 0 147 105 217 0 147 105 219 255 146 0 219 254 146 0 219 254 146 0 219 254 146 0 219 253 146 0 217 252 146 0 216 251 146 0 213 250 146 0 211 249 146 0 209 248 146 0 208 247 146 0 207 246 146 0 205 245 146 0 204 244 146 0 202 243 146 0 201 242 146 0 198 241 146 0 195 240 146 0 189 239 146 0 186 238 146 0 184 237 146 0 181 236 146 0 179 235 146 0 176 234 146 0 174 233 146 0 171 232 146 0 166 231 146 0 163 230 146 0 160 229 146 0 157 228 146 0 156 227 146 0 155 226 146 0 153 224 146 0 150 223 146 0 145 222 146 0 143 221 146 0 138 220 146 0 135 219 146 0 133 218 146 0 130 217 146 0 126 216 146 0 122 215 146 0 120 214 146 0 118 213 146 0 115 212 146 0 112 211 146 0 110 210 146 0 107 209 146 0 103 208 146 0 99 207 146 0 98 206 146 0 95 205 146 0 92 204 146 0 91 203 146 0 88 202 146 0 86 201 146 0 82 200 146 0 80 199 146 0 76 198 146 0 73 197 146 0 70 196 146 0 67 195 146 0 64 194 146 0 60 193 146 0 57 191 146 0 54 190 146 0 51 189 146 0 49 188 146 0 46 187 146 0 43 186 146 0 39 185 146 0 36 184 146 0 32 183 146 0 31 182 146 0 29 181 146 0 27 180 146 0 25 179 146 0 22 178 146 0 18 177 146 0 16 176 146 0 13 175 146 0 9 174 146 0 6 173 146 0 3 172 146 0 0 171 146 0 0 170 146 0 0 169 146 0 0 168 146 0 0 167 146 0 0 166 146 0 0 165 146 0 0 164 146 0 0 163 146 0 0 162 146 0 0 161 146 0 0 160 146 0 0 158 146 0 0 157 146 0 0 156 146 0 0 155 146 0 0 154 146 0 0 153 146 0 0 152 146 0 0 151 146 0 0 150 146 0 0 149 146 0 0 148 146 0 0 147 146 0 0 146 146 0 0 145 146 0 0 144 146 0 0 143 146 0 0 142 146 0 0 141 146 0 0 140 146 0 0 139 146 0 0 138 146 0 0 137 146 0 0 136 146 0 0 135 146 0 0 134 146 0 0 133 146 0 0 132 146 0 0 131 146 0 0 130 146 0 0 129 146 0 0 128 146 0 0 127 146 0 0 125 146 0 0 124 146 0 0 123 146 0 0 122 146 0 0 121 146 0 0 120 146 0 0 119 146 0 0 118 146 0 0 117 146 0 0 116 146 0 0 115 146 0 0 114 146 0 0 113 146 0 0 112 146 0 0 111 146 0 0 110 146 0 0 109 146 0 0 108 146 0 0 107 146 0 0 106 146 0 0 105 146 0 0 104 146 1 0 103 146 1 0 102 146 2 0 101 146 3 0 100 146 4 0 99 146 5 0 98 146 6 0 97 146 7 0 96 146 8 0 95 146 9 0 94 146 10 0 92 146 11 0 91 146 12 0 90 146 13 0 89 146 14 0 88 146 15 0 87 146 16 0 86 146 17 0 85 146 18 0 84 146 19 0 83 146 20 0 82 146 21 0 81 146 22 0 80 146 23 0 79 146 24 0 78 146 25 0 77 146 27 0 76 146 28 3 75 146 29 5 74 146 30 7 73 146 31 13 72 146 32 16 71 146 33 18 70 146 34 22 69 146 35 24 68 146 36 27 67 146 37 28 66 146 38 31 65 146 39 32 64 146 40 36 63 146 41 39 62 146 42 40 61 146 43 44 59 146 44 47 58 146 45 50 57 146 46 53 56 146 47 57 55 146 48 60 54 146 49 64 53 146 50 66 52 146 51 69 51 146 52 71 50 146 53 74 49 146 54 80 48 146 55 81 47 146 56 84 46 146 57 88 45 146 58 91 44 146 60 92 43 146 61 95 42 146 62 96 41 146 63 99 40 146 64 103 39 146 65 107 38 146 66 108 37 146 67 112 36 146 68 115 35 146 69 117 34 146 70 120 33 146 71 122 32 146 72 126 31 146 73 130 30 146 74 133 29 146 75 135 28 146 76 138 26 146 77 141 25 146 78 144 24 146 79 149 23 146 80 152 22 146 81 153 21 146 82 155 20 146 83 157 19 146 84 160 18 146 85 162 17 146 86 166 16 146 87 171 15 146 88 174 14 146 89 176 13 146 90 179 12 146 91 181 11 146 93 184 10 146 94 186 9 146 95 189 8 146 96 195 7 146 97 198 6 146 98 199 5 146 99 202 4 146 100 204 3 146 101 205 2 146 102 205 1 146 103 207 0 146 104 208 0 146 105 209 0 146 105 213 0 146 106 216 0 146 106 217 0 146 106 219 255 145 0 219 254 145 0 219 254 145 0 219 254 145 0 217 253 145 0 217 252 145 0 216 251 145 0 213 250 145 0 211 249 145 0 209 248 145 0 208 247 145 0 207 246 145 0 205 245 145 0 204 244 145 0 202 243 145 0 199 242 145 0 198 241 145 0 195 240 145 0 189 239 145 0 186 238 145 0 184 237 145 0 181 236 145 0 179 235 145 0 176 234 145 0 174 233 145 0 171 232 145 0 166 231 145 0 163 230 145 0 160 229 145 0 157 228 145 0 156 227 145 0 155 226 145 0 152 224 145 0 149 223 145 0 144 222 145 0 141 221 145 0 138 220 145 0 135 219 145 0 133 218 145 0 130 217 145 0 126 216 145 0 122 215 145 0 120 214 145 0 117 213 145 0 115 212 145 0 112 211 145 0 108 210 145 0 107 209 145 0 103 208 145 0 99 207 145 0 96 206 145 0 93 205 145 0 92 204 145 0 89 203 145 0 88 202 145 0 84 201 145 0 81 200 145 0 77 199 145 0 74 198 145 0 71 197 145 0 69 196 145 0 66 195 145 0 62 194 145 0 59 193 145 0 57 191 145 0 53 190 145 0 50 189 145 0 47 188 145 0 44 187 145 0 40 186 145 0 38 185 145 0 35 184 145 0 32 183 145 0 31 182 145 0 28 181 145 0 25 180 145 0 24 179 145 0 20 178 145 0 17 177 145 0 14 176 145 0 10 175 145 0 7 174 145 0 5 173 145 0 2 172 145 0 0 171 145 0 0 170 145 0 0 169 145 0 0 168 145 0 0 167 145 0 0 166 145 0 0 165 145 0 0 164 145 0 0 163 145 0 0 162 145 0 0 161 145 0 0 160 145 0 0 158 145 0 0 157 145 0 0 156 145 0 0 155 145 0 0 154 145 0 0 153 145 0 0 152 145 0 0 151 145 0 0 150 145 0 0 149 145 0 0 148 145 0 0 147 145 0 0 146 145 0 0 145 145 0 0 144 145 0 0 143 145 0 0 142 145 0 0 141 145 0 0 140 145 0 0 139 145 0 0 138 145 0 0 137 145 0 0 136 145 0 0 135 145 0 0 134 145 0 0 133 145 0 0 132 145 0 0 131 145 0 0 130 145 0 0 129 145 0 0 128 145 0 0 127 145 0 0 125 145 0 0 124 145 0 0 123 145 0 0 122 145 0 0 121 145 0 0 120 145 0 0 119 145 0 0 118 145 0 0 117 145 0 0 116 145 0 0 115 145 0 0 114 145 0 0 113 145 0 0 112 145 0 0 111 145 0 0 110 145 0 0 109 145 0 0 108 145 0 0 107 145 0 0 106 145 0 0 105 145 1 0 104 145 1 0 103 145 2 0 102 145 3 0 101 145 4 0 100 145 5 0 99 145 6 0 98 145 7 0 97 145 8 0 96 145 9 0 95 145 10 0 94 145 11 0 92 145 12 0 91 145 13 0 90 145 14 0 89 145 15 0 88 145 16 0 87 145 17 0 86 145 18 0 85 145 19 0 84 145 20 0 83 145 21 0 82 145 22 0 81 145 23 0 80 145 24 0 79 145 25 0 78 145 26 0 77 145 28 0 76 145 29 2 75 145 30 5 74 145 31 6 73 145 32 10 72 145 33 14 71 145 34 17 70 145 35 20 69 145 36 24 68 145 37 25 67 145 38 28 66 145 39 29 65 145 40 32 64 145 41 35 63 145 42 38 62 145 43 39 61 145 44 43 59 145 45 47 58 145 46 50 57 145 47 51 56 145 48 54 55 145 49 59 54 145 50 62 53 145 51 66 52 145 52 67 51 145 53 70 50 145 54 74 49 145 55 77 48 145 56 81 47 145 57 82 46 145 58 86 45 145 59 89 44 145 61 91 43 145 62 93 42 145 63 96 41 145 64 98 40 145 65 102 39 145 66 104 38 145 67 108 37 145 68 111 36 145 69 114 35 145 70 117 34 145 71 118 33 145 72 121 32 145 73 126 31 145 74 128 30 145 75 131 29 145 76 134 28 145 77 138 26 145 78 141 25 145 79 144 24 145 80 149 23 145 81 152 22 145 82 153 21 145 83 155 20 145 84 157 19 145 85 160 18 145 86 162 17 145 87 166 16 145 88 171 15 145 89 174 14 145 90 176 13 145 91 179 12 145 92 181 11 145 94 184 10 145 95 186 9 145 96 188 8 145 97 194 7 145 98 197 6 145 99 199 5 145 100 201 4 145 101 202 3 145 102 204 2 145 103 205 1 145 104 207 0 145 105 208 0 145 106 209 0 145 106 213 0 145 107 216 0 145 107 217 0 145 107 217 255 144 0 219 254 144 0 219 254 144 0 219 254 144 0 217 253 144 0 216 252 144 0 216 251 144 0 213 250 144 0 211 249 144 0 209 248 144 0 207 247 144 0 205 246 144 0 204 245 144 0 202 244 144 0 201 243 144 0 198 242 144 0 197 241 144 0 194 240 144 0 188 239 144 0 185 238 144 0 184 237 144 0 181 236 144 0 179 235 144 0 176 234 144 0 174 233 144 0 171 232 144 0 166 231 144 0 163 230 144 0 160 229 144 0 157 228 144 0 156 227 144 0 155 226 144 0 152 224 144 0 149 223 144 0 144 222 144 0 141 221 144 0 138 220 144 0 134 219 144 0 133 218 144 0 130 217 144 0 126 216 144 0 122 215 144 0 120 214 144 0 117 213 144 0 115 212 144 0 111 211 144 0 108 210 144 0 104 209 144 0 102 208 144 0 98 207 144 0 95 206 144 0 93 205 144 0 91 204 144 0 88 203 144 0 86 202 144 0 82 201 144 0 80 200 144 0 76 199 144 0 73 198 144 0 70 197 144 0 67 196 144 0 64 195 144 0 60 194 144 0 57 193 144 0 54 191 144 0 51 190 144 0 49 189 144 0 46 188 144 0 43 187 144 0 39 186 144 0 36 185 144 0 35 184 144 0 31 183 144 0 29 182 144 0 27 181 144 0 25 180 144 0 22 179 144 0 18 178 144 0 16 177 144 0 13 176 144 0 9 175 144 0 6 174 144 0 3 173 144 0 0 172 144 0 0 171 144 0 0 170 144 0 0 169 144 0 0 168 144 0 0 167 144 0 0 166 144 0 0 165 144 0 0 164 144 0 0 163 144 0 0 162 144 0 0 161 144 0 0 160 144 0 0 158 144 0 0 157 144 0 0 156 144 0 0 155 144 0 0 154 144 0 0 153 144 0 0 152 144 0 0 151 144 0 0 150 144 0 0 149 144 0 0 148 144 0 0 147 144 0 0 146 144 0 0 145 144 0 0 144 144 0 0 143 144 0 0 142 144 0 0 141 144 0 0 140 144 0 0 139 144 0 0 138 144 0 0 137 144 0 0 136 144 0 0 135 144 0 0 134 144 0 0 133 144 0 0 132 144 0 0 131 144 0 0 130 144 0 0 129 144 0 0 128 144 0 0 127 144 0 0 125 144 0 0 124 144 0 0 123 144 0 0 122 144 0 0 121 144 0 0 120 144 0 0 119 144 0 0 118 144 0 0 117 144 0 0 116 144 0 0 115 144 0 0 114 144 0 0 113 144 0 0 112 144 0 0 111 144 0 0 110 144 0 0 109 144 0 0 108 144 0 0 107 144 0 0 106 144 1 0 105 144 1 0 104 144 2 0 103 144 3 0 102 144 4 0 101 144 5 0 100 144 6 0 99 144 7 0 98 144 8 0 97 144 9 0 96 144 10 0 95 144 11 0 94 144 12 0 92 144 13 0 91 144 14 0 90 144 15 0 89 144 16 0 88 144 17 0 87 144 18 0 86 144 19 0 85 144 20 0 84 144 21 0 83 144 22 0 82 144 23 0 81 144 24 0 80 144 25 0 79 144 26 0 78 144 27 0 77 144 29 0 76 144 30 0 75 144 31 3 74 144 32 6 73 144 33 9 72 144 34 13 71 144 35 16 70 144 36 18 69 144 37 22 68 144 38 24 67 144 39 27 66 144 40 29 65 144 41 31 64 144 42 32 63 144 43 36 62 144 44 39 61 144 45 40 59 144 46 46 58 144 47 49 57 144 48 50 56 144 49 53 55 144 50 57 54 144 51 60 53 144 52 64 52 144 53 67 51 144 54 70 50 144 55 73 49 144 56 76 48 144 57 80 47 144 58 82 46 144 59 86 45 144 60 88 44 144 62 91 43 144 63 93 42 144 64 95 41 144 65 98 40 144 66 102 39 144 67 104 38 144 68 108 37 144 69 111 36 144 70 114 35 144 71 117 34 144 72 118 33 144 73 121 32 144 74 126 31 144 75 128 30 144 76 131 29 144 77 134 28 144 78 138 26 144 79 141 25 144 80 144 24 144 81 149 23 144 82 152 22 144 83 153 21 144 84 155 20 144 85 157 19 144 86 160 18 144 87 162 17 144 88 166 16 144 89 171 15 144 90 174 14 144 91 176 13 144 92 179 12 144 93 181 11 144 95 182 10 144 96 185 9 144 97 188 8 144 98 189 7 144 99 195 6 144 100 198 5 144 101 201 4 144 102 202 3 144 103 204 2 144 104 205 1 144 105 207 0 144 106 208 0 144 107 209 0 144 107 211 0 144 107 213 0 144 108 216 0 144 108 217 255 143 0 219 254 143 0 219 254 143 0 217 254 143 0 217 253 143 0 216 252 143 0 213 251 143 0 211 250 143 0 209 249 143 0 208 248 143 0 207 247 143 0 205 246 143 0 204 245 143 0 201 244 143 0 199 243 143 0 197 242 143 0 195 241 143 0 189 240 143 0 186 239 143 0 185 238 143 0 182 237 143 0 181 236 143 0 179 235 143 0 176 234 143 0 174 233 143 0 171 232 143 0 166 231 143 0 163 230 143 0 160 229 143 0 157 228 143 0 156 227 143 0 155 226 143 0 152 224 143 0 149 223 143 0 144 222 143 0 141 221 143 0 138 220 143 0 134 219 143 0 131 218 143 0 130 217 143 0 126 216 143 0 122 215 143 0 120 214 143 0 117 213 143 0 114 212 143 0 111 211 143 0 108 210 143 0 104 209 143 0 102 208 143 0 98 207 143 0 95 206 143 0 92 205 143 0 89 204 143 0 86 203 143 0 84 202 143 0 81 201 143 0 77 200 143 0 74 199 143 0 71 198 143 0 69 197 143 0 66 196 143 0 62 195 143 0 59 194 143 0 57 193 143 0 53 191 143 0 50 190 143 0 47 189 143 0 44 188 143 0 40 187 143 0 38 186 143 0 36 185 143 0 32 184 143 0 29 183 143 0 28 182 143 0 25 181 143 0 24 180 143 0 20 179 143 0 17 178 143 0 14 177 143 0 10 176 143 0 7 175 143 0 5 174 143 0 2 173 143 0 0 172 143 0 0 171 143 0 0 170 143 0 0 169 143 0 0 168 143 0 0 167 143 0 0 166 143 0 0 165 143 0 0 164 143 0 0 163 143 0 0 162 143 0 0 161 143 0 0 160 143 0 0 158 143 0 0 157 143 0 0 156 143 0 0 155 143 0 0 154 143 0 0 153 143 0 0 152 143 0 0 151 143 0 0 150 143 0 0 149 143 0 0 148 143 0 0 147 143 0 0 146 143 0 0 145 143 0 0 144 143 0 0 143 143 0 0 142 143 0 0 141 143 0 0 140 143 0 0 139 143 0 0 138 143 0 0 137 143 0 0 136 143 0 0 135 143 0 0 134 143 0 0 133 143 0 0 132 143 0 0 131 143 0 0 130 143 0 0 129 143 0 0 128 143 0 0 127 143 0 0 125 143 0 0 124 143 0 0 123 143 0 0 122 143 0 0 121 143 0 0 120 143 0 0 119 143 0 0 118 143 0 0 117 143 0 0 116 143 0 0 115 143 0 0 114 143 0 0 113 143 0 0 112 143 0 0 111 143 0 0 110 143 0 0 109 143 0 0 108 143 1 0 107 143 1 0 106 143 2 0 105 143 2 0 104 143 3 0 103 143 4 0 102 143 5 0 101 143 6 0 100 143 7 0 99 143 8 0 98 143 9 0 97 143 10 0 96 143 11 0 95 143 12 0 94 143 13 0 92 143 14 0 91 143 15 0 90 143 16 0 89 143 17 0 88 143 18 0 87 143 19 0 86 143 20 0 85 143 21 0 84 143 22 0 83 143 24 0 82 143 25 0 81 143 26 0 80 143 27 0 79 143 28 0 78 143 29 0 77 143 30 0 76 143 31 0 75 143 32 2 74 143 33 5 73 143 34 7 72 143 35 10 71 143 36 14 70 143 37 17 69 143 38 20 68 143 39 22 67 143 40 25 66 143 41 28 65 143 42 29 64 143 43 32 63 143 44 35 62 143 45 38 61 143 46 40 59 143 47 44 58 143 48 47 57 143 49 49 56 143 50 51 55 143 51 54 54 143 52 59 53 143 53 62 52 143 54 66 51 143 55 69 50 143 57 71 49 143 58 74 48 143 59 77 47 143 60 81 46 143 61 84 45 143 62 86 44 143 63 89 43 143 64 92 42 143 65 93 41 143 66 96 40 143 67 99 39 143 68 103 38 143 69 107 37 143 70 111 36 143 71 114 35 143 72 117 34 143 73 118 33 143 74 121 32 143 75 126 31 143 76 128 30 143 77 131 29 143 78 134 28 143 79 138 26 143 80 141 25 143 81 144 24 143 82 149 23 143 83 152 22 143 84 153 21 143 85 155 20 143 86 157 19 143 87 160 18 143 88 162 17 143 90 166 16 143 91 171 15 143 92 174 14 143 93 176 13 143 94 179 12 143 95 181 11 143 96 182 10 143 97 184 9 143 98 186 8 143 99 189 7 143 100 194 6 143 101 197 5 143 102 199 4 143 103 201 3 143 104 202 2 143 105 205 1 143 106 207 0 143 107 208 0 143 108 209 0 143 108 211 0 143 109 213 0 143 109 216 0 143 109 216 255 142 0 219 254 142 0 219 254 142 0 217 254 142 0 216 253 142 0 213 252 142 0 213 251 142 0 211 250 142 0 209 249 142 0 208 248 142 0 207 247 142 0 205 246 142 0 202 245 142 0 201 244 142 0 198 243 142 0 195 242 142 0 194 241 142 0 188 240 142 0 185 239 142 0 184 238 142 0 182 237 142 0 181 236 142 0 178 235 142 0 176 234 142 0 174 233 142 0 171 232 142 0 166 231 142 0 163 230 142 0 160 229 142 0 157 228 142 0 156 227 142 0 155 226 142 0 152 224 142 0 149 223 142 0 144 222 142 0 141 221 142 0 138 220 142 0 134 219 142 0 131 218 142 0 130 217 142 0 126 216 142 0 121 215 142 0 120 214 142 0 117 213 142 0 114 212 142 0 111 211 142 0 107 210 142 0 103 209 142 0 99 208 142 0 96 207 142 0 93 206 142 0 91 205 142 0 88 204 142 0 84 203 142 0 82 202 142 0 80 201 142 0 76 200 142 0 73 199 142 0 70 198 142 0 67 197 142 0 64 196 142 0 60 195 142 0 57 194 142 0 53 193 142 0 51 191 142 0 47 190 142 0 46 189 142 0 43 188 142 0 39 187 142 0 36 186 142 0 35 185 142 0 31 184 142 0 29 183 142 0 27 182 142 0 24 181 142 0 22 180 142 0 18 179 142 0 16 178 142 0 13 177 142 0 9 176 142 0 6 175 142 0 3 174 142 0 0 173 142 0 0 172 142 0 0 171 142 0 0 170 142 0 0 169 142 0 0 168 142 0 0 167 142 0 0 166 142 0 0 165 142 0 0 164 142 0 0 163 142 0 0 162 142 0 0 161 142 0 0 160 142 0 0 158 142 0 0 157 142 0 0 156 142 0 0 155 142 0 0 154 142 0 0 153 142 0 0 152 142 0 0 151 142 0 0 150 142 0 0 149 142 0 0 148 142 0 0 147 142 0 0 146 142 0 0 145 142 0 0 144 142 0 0 143 142 0 0 142 142 0 0 141 142 0 0 140 142 0 0 139 142 0 0 138 142 0 0 137 142 0 0 136 142 0 0 135 142 0 0 134 142 0 0 133 142 0 0 132 142 0 0 131 142 0 0 130 142 0 0 129 142 0 0 128 142 0 0 127 142 0 0 125 142 0 0 124 142 0 0 123 142 0 0 122 142 0 0 121 142 0 0 120 142 0 0 119 142 0 0 118 142 0 0 117 142 0 0 116 142 0 0 115 142 0 0 114 142 0 0 113 142 0 0 112 142 0 0 111 142 0 0 110 142 0 0 109 142 1 0 108 142 2 0 107 142 2 0 106 142 3 0 105 142 3 0 104 142 4 0 103 142 5 0 102 142 6 0 101 142 7 0 100 142 9 0 99 142 10 0 98 142 10 0 97 142 11 0 96 142 12 0 95 142 13 0 94 142 14 0 92 142 15 0 91 142 17 0 90 142 18 0 89 142 18 0 88 142 19 0 87 142 20 0 86 142 21 0 85 142 22 0 84 142 24 0 83 142 25 0 82 142 26 0 81 142 27 0 80 142 28 0 79 142 29 0 78 142 30 0 77 142 31 0 76 142 32 0 75 142 34 0 74 142 35 2 73 142 35 5 72 142 36 7 71 142 37 10 70 142 38 14 69 142 39 18 68 142 40 20 67 142 42 24 66 142 43 27 65 142 43 28 64 142 44 31 63 142 45 32 62 142 46 36 61 142 47 38 59 142 48 40 58 142 50 44 57 142 51 47 56 142 51 50 55 142 52 53 54 142 53 57 53 142 54 60 52 142 55 64 51 142 57 66 50 142 58 69 49 142 59 71 48 142 60 74 47 142 61 77 46 142 62 81 45 142 63 84 44 142 64 88 43 142 65 91 42 142 67 93 41 142 68 95 40 142 68 99 39 142 69 103 38 142 70 107 37 142 71 110 36 142 72 112 35 142 73 115 34 142 75 118 33 142 76 121 32 142 76 122 31 142 77 128 30 142 78 131 29 142 79 134 28 142 80 138 26 142 81 141 25 142 83 144 24 142 84 149 23 142 84 152 22 142 85 153 21 142 86 155 20 142 87 157 19 142 88 160 18 142 90 162 17 142 91 166 16 142 92 171 15 142 93 174 14 142 94 176 13 142 95 178 12 142 96 181 11 142 97 182 10 142 98 184 9 142 100 185 8 142 101 186 7 142 101 189 6 142 102 195 5 142 103 198 4 142 104 199 3 142 105 202 2 142 106 204 1 142 108 205 0 142 108 208 0 142 109 209 0 142 110 209 0 142 110 211 0 142 110 213 0 142 110 213 255 141 0 219 254 141 0 217 254 141 0 217 254 141 0 216 253 141 0 213 252 141 0 211 251 141 0 211 250 141 0 209 249 141 0 208 248 141 0 207 247 141 0 204 246 141 0 202 245 141 0 199 244 141 0 197 243 141 0 194 242 141 0 189 241 141 0 186 240 141 0 185 239 141 0 184 238 141 0 182 237 141 0 179 236 141 0 178 235 141 0 176 234 141 0 174 233 141 0 171 232 141 0 166 231 141 0 163 230 141 0 160 229 141 0 157 228 141 0 156 227 141 0 155 226 141 0 152 224 141 0 149 223 141 0 144 222 141 0 141 221 141 0 138 220 141 0 134 219 141 0 131 218 141 0 128 217 141 0 126 216 141 0 121 215 141 0 118 214 141 0 115 213 141 0 112 212 141 0 110 211 141 0 107 210 141 0 103 209 141 0 98 208 141 0 95 207 141 0 92 206 141 0 89 205 141 0 86 204 141 0 84 203 141 0 81 202 141 0 77 201 141 0 74 200 141 0 71 199 141 0 69 198 141 0 66 197 141 0 62 196 141 0 59 195 141 0 54 194 141 0 51 193 141 0 50 191 141 0 46 190 141 0 44 189 141 0 40 188 141 0 38 187 141 0 35 186 141 0 32 185 141 0 29 184 141 0 28 183 141 0 25 182 141 0 24 181 141 0 20 180 141 0 17 179 141 0 14 178 141 0 10 177 141 0 7 176 141 0 5 175 141 0 2 174 141 0 0 173 141 0 0 172 141 0 0 171 141 0 0 170 141 0 0 169 141 0 0 168 141 0 0 167 141 0 0 166 141 0 0 165 141 0 0 164 141 0 0 163 141 0 0 162 141 0 0 161 141 0 0 160 141 0 0 158 141 0 0 157 141 0 0 156 141 0 0 155 141 0 0 154 141 0 0 153 141 0 0 152 141 0 0 151 141 0 0 150 141 0 0 149 141 0 0 148 141 0 0 147 141 0 0 146 141 0 0 145 141 0 0 144 141 0 0 143 141 0 0 142 141 0 0 141 141 0 0 140 141 0 0 139 141 0 0 138 141 0 0 137 141 0 0 136 141 0 0 135 141 0 0 134 141 0 0 133 141 0 0 132 141 0 0 131 141 0 0 130 141 0 0 129 141 0 0 128 141 0 0 127 141 0 0 125 141 0 0 124 141 0 0 123 141 0 0 122 141 0 0 121 141 0 0 120 141 0 0 119 141 0 0 118 141 0 0 117 141 0 0 116 141 0 0 115 141 0 0 114 141 0 0 113 141 0 0 112 141 0 0 111 141 0 0 110 141 1 0 109 141 2 0 108 141 2 0 107 141 3 0 106 141 4 0 105 141 4 0 104 141 5 0 103 141 6 0 102 141 7 0 101 141 9 0 100 141 10 0 99 141 11 0 98 141 12 0 97 141 12 0 96 141 13 0 95 141 14 0 94 141 15 0 92 141 17 0 91 141 18 0 90 141 19 0 89 141 20 0 88 141 20 0 87 141 21 0 86 141 22 0 85 141 24 0 84 141 25 0 83 141 26 0 82 141 27 0 81 141 28 0 80 141 29 0 79 141 30 0 78 141 31 0 77 141 32 0 76 141 34 0 75 141 35 0 74 141 36 0 73 141 37 3 72 141 37 6 71 141 38 9 70 141 39 13 69 141 40 17 68 141 42 18 67 141 43 22 66 141 44 25 65 141 45 28 64 141 45 29 63 141 46 32 62 141 47 35 61 141 48 38 59 141 50 39 58 141 51 43 57 141 52 46 56 141 53 49 55 141 53 51 54 141 54 54 53 141 55 59 52 141 57 62 51 141 58 64 50 141 59 67 49 141 60 70 48 141 61 73 47 141 62 76 46 141 63 80 45 141 64 82 44 141 65 86 43 141 67 89 42 141 68 92 41 141 69 95 40 141 70 98 39 141 70 102 38 141 71 104 37 141 72 110 36 141 73 112 35 141 75 115 34 141 76 118 33 141 77 121 32 141 78 122 31 141 78 128 30 141 79 131 29 141 80 134 28 141 81 138 26 141 83 141 25 141 84 144 24 141 85 149 23 141 86 152 22 141 86 153 21 141 87 155 20 141 88 157 19 141 90 160 18 141 91 162 17 141 92 166 16 141 93 171 15 141 94 174 14 141 95 176 13 141 96 178 12 141 97 179 11 141 98 181 10 141 100 182 9 141 101 184 8 141 102 185 7 141 103 188 6 141 103 194 5 141 104 197 4 141 105 199 3 141 106 201 2 141 108 204 1 141 109 205 0 141 110 208 0 141 110 208 0 141 111 209 0 141 111 211 0 141 111 211 0 141 111 211 255 140 0 219 254 140 0 217 254 140 0 217 254 140 0 216 253 140 0 213 252 140 0 211 251 140 0 209 250 140 0 209 249 140 0 208 248 140 0 207 247 140 0 204 246 140 0 202 245 140 0 199 244 140 0 197 243 140 0 194 242 140 0 188 241 140 0 185 240 140 0 184 239 140 0 182 238 140 0 181 237 140 0 179 236 140 0 178 235 140 0 176 234 140 0 174 233 140 0 171 232 140 0 166 231 140 0 163 230 140 0 160 229 140 0 157 228 140 0 156 227 140 0 155 226 140 0 152 224 140 0 149 223 140 0 144 222 140 0 141 221 140 0 137 220 140 0 134 219 140 0 131 218 140 0 128 217 140 0 122 216 140 0 120 215 140 0 117 214 140 0 114 213 140 0 111 212 140 0 108 211 140 0 104 210 140 0 102 209 140 0 98 208 140 0 93 207 140 0 91 206 140 0 89 205 140 0 86 204 140 0 82 203 140 0 80 202 140 0 76 201 140 0 73 200 140 0 70 199 140 0 67 198 140 0 64 197 140 0 60 196 140 0 59 195 140 0 54 194 140 0 51 193 140 0 49 191 140 0 46 190 140 0 43 189 140 0 39 188 140 0 36 187 140 0 35 186 140 0 31 185 140 0 29 184 140 0 27 183 140 0 25 182 140 0 22 181 140 0 18 180 140 0 16 179 140 0 13 178 140 0 9 177 140 0 6 176 140 0 3 175 140 0 0 174 140 0 0 173 140 0 0 172 140 0 0 171 140 0 0 170 140 0 0 169 140 0 0 168 140 0 0 167 140 0 0 166 140 0 0 165 140 0 0 164 140 0 0 163 140 0 0 162 140 0 0 161 140 0 0 160 140 0 0 158 140 0 0 157 140 0 0 156 140 0 0 155 140 0 0 154 140 0 0 153 140 0 0 152 140 0 0 151 140 0 0 150 140 0 0 149 140 0 0 148 140 0 0 147 140 0 0 146 140 0 0 145 140 0 0 144 140 0 0 143 140 0 0 142 140 0 0 141 140 0 0 140 140 0 0 139 140 0 0 138 140 0 0 137 140 0 0 136 140 0 0 135 140 0 0 134 140 0 0 133 140 0 0 132 140 0 0 131 140 0 0 130 140 0 0 129 140 0 0 128 140 0 0 127 140 0 0 125 140 0 0 124 140 0 0 123 140 0 0 122 140 0 0 121 140 0 0 120 140 0 0 119 140 0 0 118 140 0 0 117 140 0 0 116 140 0 0 115 140 0 0 114 140 0 0 113 140 0 0 112 140 0 0 111 140 0 0 110 140 1 0 109 140 2 0 108 140 3 0 107 140 4 0 106 140 5 0 105 140 5 0 104 140 6 0 103 140 7 0 102 140 8 0 101 140 10 0 100 140 11 0 99 140 12 0 98 140 13 0 97 140 13 0 96 140 14 0 95 140 15 0 94 140 16 0 92 140 18 0 91 140 19 0 90 140 20 0 89 140 21 0 88 140 21 0 87 140 22 0 86 140 23 0 85 140 25 0 84 140 26 0 83 140 27 0 82 140 28 0 81 140 29 0 80 140 30 0 79 140 31 0 78 140 32 0 77 140 33 0 76 140 35 0 75 140 36 0 74 140 37 0 73 140 38 3 72 140 38 5 71 140 39 7 70 140 40 13 69 140 41 16 68 140 43 18 67 140 44 22 66 140 45 24 65 140 46 27 64 140 46 29 63 140 47 31 62 140 48 35 61 140 49 36 59 140 51 39 58 140 52 40 57 140 53 44 56 140 54 47 55 140 54 50 54 140 55 53 53 140 56 57 52 140 58 60 51 140 59 64 50 140 60 66 49 140 61 69 48 140 62 71 47 140 63 74 46 140 64 80 45 140 65 82 44 140 66 86 43 140 68 89 42 140 69 91 41 140 70 93 40 140 71 96 39 140 71 99 38 140 72 103 37 140 73 108 36 140 74 111 35 140 76 114 34 140 77 117 33 140 78 120 32 140 79 122 31 140 79 128 30 140 80 131 29 140 81 134 28 140 82 137 26 140 84 141 25 140 85 144 24 140 86 149 23 140 87 152 22 140 87 153 21 140 88 155 20 140 89 157 19 140 91 160 18 140 92 162 17 140 93 166 16 140 94 171 15 140 95 174 14 140 96 176 13 140 97 178 12 140 98 179 11 140 99 181 10 140 101 182 9 140 102 184 8 140 103 185 7 140 104 186 6 140 104 189 5 140 105 195 4 140 106 198 3 140 107 201 2 140 109 204 1 140 110 205 0 140 111 208 0 140 111 208 0 140 112 209 0 140 112 211 0 140 112 211 0 140 112 211 255 139 0 219 254 139 0 217 254 139 0 217 254 139 0 216 253 139 0 213 252 139 0 211 251 139 0 209 250 139 0 209 249 139 0 208 248 139 0 207 247 139 0 204 246 139 0 202 245 139 0 198 244 139 0 195 243 139 0 189 242 139 0 188 241 139 0 185 240 139 0 184 239 139 0 182 238 139 0 181 237 139 0 179 236 139 0 178 235 139 0 176 234 139 0 174 233 139 0 171 232 139 0 166 231 139 0 163 230 139 0 160 229 139 0 157 228 139 0 156 227 139 0 155 226 139 0 152 224 139 0 149 223 139 0 144 222 139 0 141 221 139 0 137 220 139 0 134 219 139 0 131 218 139 0 128 217 139 0 122 216 139 0 120 215 139 0 117 214 139 0 112 213 139 0 110 212 139 0 107 211 139 0 103 210 139 0 99 209 139 0 96 208 139 0 93 207 139 0 91 206 139 0 88 205 139 0 84 204 139 0 82 203 139 0 80 202 139 0 76 201 139 0 71 200 139 0 69 199 139 0 66 198 139 0 62 197 139 0 60 196 139 0 57 195 139 0 53 194 139 0 50 193 139 0 47 191 139 0 44 190 139 0 40 189 139 0 39 188 139 0 36 187 139 0 32 186 139 0 31 185 139 0 29 184 139 0 27 183 139 0 25 182 139 0 22 181 139 0 18 180 139 0 16 179 139 0 13 178 139 0 7 177 139 0 5 176 139 0 2 175 139 0 0 174 139 0 0 173 139 0 0 172 139 0 0 171 139 0 0 170 139 0 0 169 139 0 0 168 139 0 0 167 139 0 0 166 139 0 0 165 139 0 0 164 139 0 0 163 139 0 0 162 139 0 0 161 139 0 0 160 139 0 0 158 139 0 0 157 139 0 0 156 139 0 0 155 139 0 0 154 139 0 0 153 139 0 0 152 139 0 0 151 139 0 0 150 139 0 0 149 139 0 0 148 139 0 0 147 139 0 0 146 139 0 0 145 139 0 0 144 139 0 0 143 139 0 0 142 139 0 0 141 139 0 0 140 139 0 0 139 139 0 0 138 139 0 0 137 139 0 0 136 139 0 0 135 139 0 0 134 139 0 0 133 139 0 0 132 139 0 0 131 139 0 0 130 139 0 0 129 139 0 0 128 139 0 0 127 139 0 0 125 139 0 0 124 139 0 0 123 139 0 0 122 139 0 0 121 139 0 0 120 139 0 0 119 139 0 0 118 139 0 0 117 139 0 0 116 139 0 0 115 139 0 0 114 139 0 0 113 139 0 0 112 139 0 0 111 139 1 0 110 139 2 0 109 139 3 0 108 139 4 0 107 139 5 0 106 139 6 0 105 139 6 0 104 139 7 0 103 139 8 0 102 139 9 0 101 139 10 0 100 139 12 0 99 139 13 0 98 139 14 0 97 139 14 0 96 139 15 0 95 139 16 0 94 139 17 0 92 139 18 0 91 139 20 0 90 139 21 0 89 139 22 0 88 139 22 0 87 139 23 0 86 139 24 0 85 139 26 0 84 139 27 0 83 139 28 0 82 139 29 0 81 139 30 0 80 139 31 0 79 139 32 0 78 139 33 0 77 139 34 0 76 139 35 0 75 139 37 0 74 139 38 0 73 139 39 2 72 139 39 5 71 139 40 7 70 139 41 10 69 139 42 14 68 139 43 17 67 139 45 20 66 139 46 24 65 139 47 27 64 139 47 28 63 139 48 31 62 139 49 32 61 139 50 36 59 139 51 38 58 139 53 40 57 139 54 44 56 139 55 47 55 139 55 50 54 139 56 53 53 139 57 57 52 139 59 60 51 139 60 62 50 139 61 66 49 139 62 69 48 139 63 71 47 139 64 74 46 139 65 77 45 139 66 81 44 139 67 84 43 139 68 88 42 139 70 91 41 139 71 92 40 139 72 95 39 139 72 98 38 139 73 102 37 139 74 104 36 139 75 110 35 139 76 112 34 139 78 115 33 139 79 120 32 139 80 121 31 139 80 128 30 139 81 131 29 139 82 134 28 139 83 137 26 139 84 141 25 139 86 144 24 139 87 149 23 139 88 152 22 139 88 153 21 139 89 155 20 139 90 157 19 139 92 160 18 139 93 162 17 139 94 166 16 139 95 171 15 139 96 174 14 139 97 176 13 139 98 178 12 139 99 179 11 139 100 181 10 139 101 182 9 139 103 182 8 139 104 184 7 139 105 186 6 139 105 188 5 139 106 194 4 139 107 198 3 139 108 201 2 139 109 204 1 139 111 205 0 139 111 208 0 139 112 208 0 139 113 209 0 139 113 209 0 139 113 211 0 139 113 211 255 138 0 219 254 138 0 217 254 138 0 217 254 138 0 216 253 138 0 213 252 138 0 211 251 138 0 209 250 138 0 209 249 138 0 208 248 138 0 207 247 138 0 204 246 138 0 202 245 138 0 198 244 138 0 195 243 138 0 189 242 138 0 186 241 138 0 185 240 138 0 184 239 138 0 182 238 138 0 181 237 138 0 179 236 138 0 178 235 138 0 176 234 138 0 174 233 138 0 171 232 138 0 166 231 138 0 163 230 138 0 160 229 138 0 157 228 138 0 156 227 138 0 155 226 138 0 152 224 138 0 149 223 138 0 144 222 138 0 141 221 138 0 137 220 138 0 134 219 138 0 131 218 138 0 126 217 138 0 121 216 138 0 118 215 138 0 115 214 138 0 111 213 138 0 108 212 138 0 104 211 138 0 102 210 138 0 98 209 138 0 95 208 138 0 92 207 138 0 91 206 138 0 88 205 138 0 84 204 138 0 81 203 138 0 80 202 138 0 74 201 138 0 71 200 138 0 69 199 138 0 66 198 138 0 62 197 138 0 60 196 138 0 57 195 138 0 53 194 138 0 50 193 138 0 47 191 138 0 44 190 138 0 40 189 138 0 38 188 138 0 36 187 138 0 32 186 138 0 31 185 138 0 29 184 138 0 27 183 138 0 25 182 138 0 22 181 138 0 18 180 138 0 16 179 138 0 13 178 138 0 7 177 138 0 5 176 138 0 2 175 138 0 0 174 138 0 0 173 138 0 0 172 138 0 0 171 138 0 0 170 138 0 0 169 138 0 0 168 138 0 0 167 138 0 0 166 138 0 0 165 138 0 0 164 138 0 0 163 138 0 0 162 138 0 0 161 138 0 0 160 138 0 0 158 138 0 0 157 138 0 0 156 138 0 0 155 138 0 0 154 138 0 0 153 138 0 0 152 138 0 0 151 138 0 0 150 138 0 0 149 138 0 0 148 138 0 0 147 138 0 0 146 138 0 0 145 138 0 0 144 138 0 0 143 138 0 0 142 138 0 0 141 138 0 0 140 138 0 0 139 138 0 0 138 138 0 0 137 138 0 0 136 138 0 0 135 138 0 0 134 138 0 0 133 138 0 0 132 138 0 0 131 138 0 0 130 138 0 0 129 138 0 0 128 138 0 0 127 138 0 0 125 138 0 0 124 138 0 0 123 138 0 0 122 138 0 0 121 138 0 0 120 138 0 0 119 138 0 0 118 138 0 0 117 138 0 0 116 138 0 0 115 138 0 0 114 138 0 0 113 138 0 0 112 138 1 0 111 138 1 0 110 138 2 0 109 138 3 0 108 138 4 0 107 138 5 0 106 138 6 0 105 138 7 0 104 138 8 0 103 138 9 0 102 138 10 0 101 138 11 0 100 138 12 0 99 138 13 0 98 138 14 0 97 138 15 0 96 138 16 0 95 138 17 0 94 138 18 0 92 138 19 0 91 138 20 0 90 138 21 0 89 138 22 0 88 138 23 0 87 138 24 0 86 138 25 0 85 138 27 0 84 138 28 0 83 138 29 0 82 138 30 0 81 138 31 0 80 138 32 0 79 138 33 0 78 138 34 0 77 138 35 0 76 138 36 0 75 138 37 0 74 138 38 0 73 138 39 0 72 138 40 3 71 138 41 6 70 138 42 10 69 138 43 14 68 138 44 17 67 138 45 20 66 138 46 24 65 138 47 27 64 138 48 28 63 138 49 31 62 138 50 32 61 138 51 36 59 138 52 38 58 138 53 40 57 138 54 44 56 138 55 47 55 138 56 50 54 138 57 53 53 138 58 57 52 138 60 60 51 138 61 62 50 138 62 66 49 138 63 69 48 138 64 70 47 138 65 74 46 138 66 77 45 138 67 81 44 138 68 84 43 138 69 88 42 138 70 89 41 138 71 92 40 138 72 95 39 138 73 98 38 138 74 99 37 138 75 104 36 138 76 108 35 138 77 111 34 138 78 114 33 138 79 118 32 138 80 121 31 138 81 126 30 138 82 130 29 138 83 133 28 138 84 137 26 138 85 140 25 138 86 144 24 138 87 149 23 138 88 152 22 138 89 153 21 138 90 155 20 138 91 157 19 138 93 160 18 138 94 162 17 138 95 166 16 138 96 171 15 138 97 174 14 138 98 176 13 138 99 178 12 138 100 179 11 138 101 181 10 138 102 182 9 138 103 182 8 138 104 184 7 138 105 185 6 138 106 188 5 138 107 194 4 138 108 198 3 138 109 201 2 138 110 204 1 138 111 205 0 138 112 208 0 138 113 208 0 138 113 209 0 138 114 209 0 138 114 211 0 138 114 211 255 137 0 219 254 137 0 217 254 137 0 217 254 137 0 216 253 137 0 213 252 137 0 211 251 137 0 209 250 137 0 209 249 137 0 208 248 137 0 207 247 137 0 204 246 137 0 202 245 137 0 198 244 137 0 195 243 137 0 189 242 137 0 186 241 137 0 185 240 137 0 184 239 137 0 182 238 137 0 181 237 137 0 179 236 137 0 178 235 137 0 176 234 137 0 174 233 137 0 171 232 137 0 166 231 137 0 163 230 137 0 160 229 137 0 157 228 137 0 156 227 137 0 155 226 137 0 152 224 137 0 149 223 137 0 144 222 137 0 140 221 137 0 137 220 137 0 133 219 137 0 130 218 137 0 126 217 137 0 120 216 137 0 117 215 137 0 114 214 137 0 110 213 137 0 107 212 137 0 103 211 137 0 99 210 137 0 98 209 137 0 95 208 137 0 92 207 137 0 91 206 137 0 88 205 137 0 84 204 137 0 81 203 137 0 80 202 137 0 74 201 137 0 71 200 137 0 69 199 137 0 66 198 137 0 62 197 137 0 60 196 137 0 57 195 137 0 53 194 137 0 50 193 137 0 47 191 137 0 44 190 137 0 40 189 137 0 38 188 137 0 35 187 137 0 32 186 137 0 31 185 137 0 28 184 137 0 27 183 137 0 24 182 137 0 22 181 137 0 18 180 137 0 16 179 137 0 10 178 137 0 7 177 137 0 5 176 137 0 2 175 137 0 0 174 137 0 0 173 137 0 0 172 137 0 0 171 137 0 0 170 137 0 0 169 137 0 0 168 137 0 0 167 137 0 0 166 137 0 0 165 137 0 0 164 137 0 0 163 137 0 0 162 137 0 0 161 137 0 0 160 137 0 0 158 137 0 0 157 137 0 0 156 137 0 0 155 137 0 0 154 137 0 0 153 137 0 0 152 137 0 0 151 137 0 0 150 137 0 0 149 137 0 0 148 137 0 0 147 137 0 0 146 137 0 0 145 137 0 0 144 137 0 0 143 137 0 0 142 137 0 0 141 137 0 0 140 137 0 0 139 137 0 0 138 137 0 0 137 137 0 0 136 137 0 0 135 137 0 0 134 137 0 0 133 137 0 0 132 137 0 0 131 137 0 0 130 137 0 0 129 137 0 0 128 137 0 0 127 137 0 0 125 137 0 0 124 137 0 0 123 137 0 0 122 137 0 0 121 137 0 0 120 137 0 0 119 137 0 0 118 137 0 0 117 137 0 0 116 137 0 0 115 137 0 0 114 137 0 0 113 137 1 0 112 137 1 0 111 137 2 0 110 137 3 0 109 137 4 0 108 137 5 0 107 137 6 0 106 137 7 0 105 137 8 0 104 137 9 0 103 137 10 0 102 137 11 0 101 137 12 0 100 137 13 0 99 137 14 0 98 137 15 0 97 137 16 0 96 137 17 0 95 137 18 0 94 137 19 0 92 137 20 0 91 137 21 0 90 137 22 0 89 137 23 0 88 137 24 0 87 137 25 0 86 137 26 0 85 137 28 0 84 137 29 0 83 137 30 0 82 137 31 0 81 137 32 0 80 137 33 0 79 137 34 0 78 137 35 0 77 137 36 0 76 137 37 0 75 137 38 0 74 137 39 0 73 137 40 0 72 137 41 3 71 137 42 6 70 137 43 9 69 137 44 14 68 137 45 17 67 137 46 20 66 137 47 24 65 137 48 25 64 137 49 28 63 137 50 31 62 137 51 32 61 137 52 35 59 137 53 38 58 137 54 40 57 137 55 44 56 137 56 47 55 137 57 50 54 137 58 53 53 137 59 57 52 137 61 60 51 137 62 62 50 137 63 66 49 137 64 69 48 137 65 70 47 137 66 74 46 137 67 77 45 137 68 81 44 137 69 84 43 137 70 88 42 137 71 89 41 137 72 92 40 137 73 95 39 137 74 96 38 137 75 99 37 137 76 103 36 137 77 107 35 137 78 110 34 137 79 114 33 137 80 117 32 137 81 120 31 137 82 122 30 137 83 130 29 137 84 133 28 137 85 135 26 137 86 140 25 137 87 143 24 137 88 149 23 137 89 150 22 137 90 153 21 137 91 155 20 137 92 157 19 137 94 160 18 137 95 162 17 137 96 165 16 137 97 171 15 137 98 174 14 137 99 176 13 137 100 178 12 137 101 179 11 137 102 181 10 137 103 181 9 137 104 182 8 137 105 184 7 137 106 185 6 137 107 188 5 137 108 194 4 137 109 198 3 137 110 201 2 137 111 204 1 137 112 205 0 137 113 208 0 137 114 208 0 137 114 209 0 137 115 209 0 137 115 211 0 137 115 211 255 136 0 219 254 136 0 217 254 136 0 217 254 136 0 216 253 136 0 213 252 136 0 211 251 136 0 209 250 136 0 209 249 136 0 208 248 136 0 207 247 136 0 204 246 136 0 202 245 136 0 198 244 136 0 195 243 136 0 189 242 136 0 186 241 136 0 185 240 136 0 182 239 136 0 182 238 136 0 181 237 136 0 179 236 136 0 178 235 136 0 176 234 136 0 174 233 136 0 171 232 136 0 166 231 136 0 163 230 136 0 160 229 136 0 157 228 136 0 156 227 136 0 153 226 136 0 152 224 136 0 149 223 136 0 143 222 136 0 140 221 136 0 135 220 136 0 131 219 136 0 128 218 136 0 122 217 136 0 120 216 136 0 117 215 136 0 112 214 136 0 110 213 136 0 107 212 136 0 103 211 136 0 99 210 136 0 96 209 136 0 95 208 136 0 92 207 136 0 91 206 136 0 88 205 136 0 84 204 136 0 81 203 136 0 80 202 136 0 74 201 136 0 71 200 136 0 69 199 136 0 66 198 136 0 62 197 136 0 60 196 136 0 57 195 136 0 53 194 136 0 50 193 136 0 47 191 136 0 44 190 136 0 40 189 136 0 38 188 136 0 35 187 136 0 32 186 136 0 31 185 136 0 28 184 136 0 27 183 136 0 24 182 136 0 20 181 136 0 17 180 136 0 14 179 136 0 10 178 136 0 6 177 136 0 3 176 136 0 0 175 136 0 0 174 136 0 0 173 136 0 0 172 136 0 0 171 136 0 0 170 136 0 0 169 136 0 0 168 136 0 0 167 136 0 0 166 136 0 0 165 136 0 0 164 136 0 0 163 136 0 0 162 136 0 0 161 136 0 0 160 136 0 0 158 136 0 0 157 136 0 0 156 136 0 0 155 136 0 0 154 136 0 0 153 136 0 0 152 136 0 0 151 136 0 0 150 136 0 0 149 136 0 0 148 136 0 0 147 136 0 0 146 136 0 0 145 136 0 0 144 136 0 0 143 136 0 0 142 136 0 0 141 136 0 0 140 136 0 0 139 136 0 0 138 136 0 0 137 136 0 0 136 136 0 0 135 136 0 0 134 136 0 0 133 136 0 0 132 136 0 0 131 136 0 0 130 136 0 0 129 136 0 0 128 136 0 0 127 136 0 0 125 136 0 0 124 136 0 0 123 136 0 0 122 136 0 0 121 136 0 0 120 136 0 0 119 136 0 0 118 136 0 0 117 136 0 0 116 136 0 0 115 136 0 0 114 136 1 0 113 136 1 0 112 136 2 0 111 136 3 0 110 136 4 0 109 136 5 0 108 136 6 0 107 136 7 0 106 136 8 0 105 136 9 0 104 136 10 0 103 136 11 0 102 136 12 0 101 136 13 0 100 136 14 0 99 136 15 0 98 136 16 0 97 136 17 0 96 136 18 0 95 136 19 0 94 136 20 0 92 136 21 0 91 136 22 0 90 136 23 0 89 136 24 0 88 136 25 0 87 136 26 0 86 136 27 0 85 136 29 0 84 136 30 0 83 136 31 0 82 136 32 0 81 136 33 0 80 136 34 0 79 136 35 0 78 136 36 0 77 136 37 0 76 136 38 0 75 136 39 0 74 136 40 0 73 136 41 0 72 136 42 3 71 136 43 6 70 136 44 9 69 136 45 13 68 136 46 16 67 136 47 18 66 136 48 22 65 136 49 25 64 136 50 28 63 136 51 29 62 136 52 32 61 136 53 35 59 136 54 38 58 136 55 40 57 136 56 43 56 136 57 47 55 136 58 50 54 136 59 53 53 136 60 57 52 136 62 60 51 136 63 62 50 136 64 66 49 136 65 69 48 136 66 70 47 136 67 74 46 136 68 77 45 136 69 81 44 136 70 84 43 136 71 88 42 136 72 89 41 136 73 92 40 136 74 93 39 136 75 96 38 136 76 98 37 136 77 102 36 136 78 104 35 136 79 108 34 136 80 112 33 136 81 115 32 136 82 118 31 136 83 121 30 136 84 128 29 136 85 131 28 136 86 134 26 136 87 138 25 136 88 143 24 136 89 145 23 136 90 150 22 136 91 153 21 136 92 155 20 136 93 157 19 136 95 160 18 136 96 162 17 136 97 165 16 136 98 171 15 136 99 174 14 136 100 175 13 136 101 178 12 136 102 179 11 136 103 181 10 136 104 181 9 136 105 182 8 136 106 184 7 136 107 185 6 136 108 188 5 136 109 194 4 136 110 198 3 136 111 201 2 136 112 204 1 136 113 205 0 136 114 208 0 136 115 208 0 136 115 209 0 136 115 209 0 136 116 211 0 136 116 211 255 135 0 219 254 135 0 217 254 135 0 217 254 135 0 216 253 135 0 213 252 135 0 211 251 135 0 209 250 135 0 209 249 135 0 208 248 135 0 207 247 135 0 204 246 135 0 202 245 135 0 198 244 135 0 195 243 135 0 189 242 135 0 186 241 135 0 184 240 135 0 182 239 135 0 181 238 135 0 179 237 135 0 179 236 135 0 178 235 135 0 175 234 135 0 174 233 135 0 171 232 135 0 166 231 135 0 163 230 135 0 160 229 135 0 157 228 135 0 156 227 135 0 153 226 135 0 152 224 135 0 145 223 135 0 143 222 135 0 138 221 135 0 134 220 135 0 131 219 135 0 126 218 135 0 121 217 135 0 118 216 135 0 115 215 135 0 112 214 135 0 108 213 135 0 104 212 135 0 102 211 135 0 98 210 135 0 96 209 135 0 95 208 135 0 92 207 135 0 91 206 135 0 88 205 135 0 84 204 135 0 81 203 135 0 80 202 135 0 74 201 135 0 71 200 135 0 69 199 135 0 66 198 135 0 62 197 135 0 60 196 135 0 57 195 135 0 53 194 135 0 50 193 135 0 47 191 135 0 44 190 135 0 39 189 135 0 38 188 135 0 35 187 135 0 31 186 135 0 29 185 135 0 28 184 135 0 25 183 135 0 22 182 135 0 18 181 135 0 16 180 135 0 13 179 135 0 9 178 135 0 6 177 135 0 3 176 135 0 0 175 135 0 0 174 135 0 0 173 135 0 0 172 135 0 0 171 135 0 0 170 135 0 0 169 135 0 0 168 135 0 0 167 135 0 0 166 135 0 0 165 135 0 0 164 135 0 0 163 135 0 0 162 135 0 0 161 135 0 0 160 135 0 0 158 135 0 0 157 135 0 0 156 135 0 0 155 135 0 0 154 135 0 0 153 135 0 0 152 135 0 0 151 135 0 0 150 135 0 0 149 135 0 0 148 135 0 0 147 135 0 0 146 135 0 0 145 135 0 0 144 135 0 0 143 135 0 0 142 135 0 0 141 135 0 0 140 135 0 0 139 135 0 0 138 135 0 0 137 135 0 0 136 135 0 0 135 135 0 0 134 135 0 0 133 135 0 0 132 135 0 0 131 135 0 0 130 135 0 0 129 135 0 0 128 135 0 0 127 135 0 0 125 135 0 0 124 135 0 0 123 135 0 0 122 135 0 0 121 135 0 0 120 135 0 0 119 135 0 0 118 135 0 0 117 135 0 0 116 135 1 0 115 135 1 0 114 135 2 0 113 135 2 0 112 135 3 0 111 135 4 0 110 135 5 0 109 135 6 0 108 135 7 0 107 135 8 0 106 135 9 0 105 135 10 0 104 135 11 0 103 135 12 0 102 135 13 0 101 135 14 0 100 135 15 0 99 135 16 0 98 135 17 0 97 135 18 0 96 135 19 0 95 135 20 0 94 135 21 0 92 135 22 0 91 135 24 0 90 135 25 0 89 135 26 0 88 135 27 0 87 135 28 0 86 135 29 0 85 135 30 0 84 135 31 0 83 135 32 0 82 135 33 0 81 135 34 0 80 135 35 0 79 135 36 0 78 135 37 0 77 135 38 0 76 135 39 0 75 135 40 0 74 135 41 0 73 135 42 0 72 135 43 2 71 135 44 5 70 135 45 7 69 135 46 13 68 135 47 16 67 135 48 18 66 135 49 22 65 135 50 24 64 135 51 27 63 135 52 29 62 135 53 31 61 135 54 35 59 135 55 36 58 135 57 39 57 135 58 43 56 135 59 46 55 135 60 50 54 135 61 53 53 135 62 57 52 135 63 60 51 135 64 62 50 135 65 66 49 135 66 69 48 135 67 70 47 135 68 74 46 135 69 77 45 135 70 81 44 135 71 84 43 135 72 88 42 135 73 89 41 135 74 92 40 135 75 93 39 135 76 96 38 135 77 98 37 135 78 102 36 135 79 104 35 135 80 108 34 135 81 111 33 135 82 114 32 135 83 117 31 135 84 120 30 135 85 126 29 135 86 130 28 135 87 134 26 135 88 138 25 135 90 141 24 135 91 145 23 135 92 150 22 135 93 153 21 135 94 155 20 135 95 157 19 135 96 160 18 135 97 162 17 135 98 165 16 135 99 171 15 135 100 174 14 135 101 175 13 135 102 178 12 135 103 179 11 135 104 179 10 135 105 181 9 135 106 182 8 135 107 184 7 135 108 185 6 135 109 188 5 135 110 194 4 135 111 198 3 135 112 201 2 135 113 204 1 135 114 205 0 135 115 208 0 135 116 208 0 135 116 209 0 135 117 209 0 135 117 211 0 135 117 211 255 134 0 219 254 134 0 217 254 134 0 217 254 134 0 216 253 134 0 213 252 134 0 211 251 134 0 209 250 134 0 209 249 134 0 208 248 134 0 207 247 134 0 204 246 134 0 202 245 134 0 198 244 134 0 195 243 134 0 189 242 134 0 186 241 134 0 184 240 134 0 182 239 134 0 181 238 134 0 179 237 134 0 178 236 134 0 176 235 134 0 175 234 134 0 172 233 134 0 171 232 134 0 166 231 134 0 163 230 134 0 160 229 134 0 157 228 134 0 155 227 134 0 153 226 134 0 150 224 134 0 144 223 134 0 141 222 134 0 137 221 134 0 133 220 134 0 130 219 134 0 126 218 134 0 120 217 134 0 117 216 134 0 115 215 134 0 111 214 134 0 108 213 134 0 104 212 134 0 102 211 134 0 98 210 134 0 96 209 134 0 95 208 134 0 92 207 134 0 91 206 134 0 88 205 134 0 84 204 134 0 81 203 134 0 80 202 134 0 74 201 134 0 71 200 134 0 69 199 134 0 66 198 134 0 62 197 134 0 60 196 134 0 57 195 134 0 53 194 134 0 50 193 134 0 47 191 134 0 43 190 134 0 39 189 134 0 36 188 134 0 32 187 134 0 31 186 134 0 28 185 134 0 27 184 134 0 24 183 134 0 22 182 134 0 18 181 134 0 14 180 134 0 10 179 134 0 7 178 134 0 5 177 134 0 2 176 134 0 0 175 134 0 0 174 134 0 0 173 134 0 0 172 134 0 0 171 134 0 0 170 134 0 0 169 134 0 0 168 134 0 0 167 134 0 0 166 134 0 0 165 134 0 0 164 134 0 0 163 134 0 0 162 134 0 0 161 134 0 0 160 134 0 0 158 134 0 0 157 134 0 0 156 134 0 0 155 134 0 0 154 134 0 0 153 134 0 0 152 134 0 0 151 134 0 0 150 134 0 0 149 134 0 0 148 134 0 0 147 134 0 0 146 134 0 0 145 134 0 0 144 134 0 0 143 134 0 0 142 134 0 0 141 134 0 0 140 134 0 0 139 134 0 0 138 134 0 0 137 134 0 0 136 134 0 0 135 134 0 0 134 134 0 0 133 134 0 0 132 134 0 0 131 134 0 0 130 134 0 0 129 134 0 0 128 134 0 0 127 134 0 0 125 134 0 0 124 134 0 0 123 134 0 0 122 134 0 0 121 134 0 0 120 134 0 0 119 134 0 0 118 134 0 0 117 134 1 0 116 134 2 0 115 134 2 0 114 134 3 0 113 134 3 0 112 134 4 0 111 134 5 0 110 134 6 0 109 134 7 0 108 134 9 0 107 134 10 0 106 134 10 0 105 134 11 0 104 134 12 0 103 134 13 0 102 134 14 0 101 134 15 0 100 134 17 0 99 134 18 0 98 134 18 0 97 134 19 0 96 134 20 0 95 134 21 0 94 134 22 0 92 134 24 0 91 134 25 0 90 134 26 0 89 134 27 0 88 134 28 0 87 134 29 0 86 134 30 0 85 134 31 0 84 134 32 0 83 134 34 0 82 134 35 0 81 134 35 0 80 134 36 0 79 134 37 0 78 134 38 0 77 134 39 0 76 134 40 0 75 134 42 0 74 134 43 0 73 134 43 0 72 134 44 0 71 134 45 3 70 134 46 7 69 134 47 10 68 134 48 14 67 134 50 17 66 134 51 20 65 134 51 24 64 134 52 25 63 134 53 28 62 134 54 29 61 134 55 32 59 134 57 36 58 134 58 39 57 134 59 43 56 134 60 46 55 134 61 49 54 134 62 53 53 134 63 57 52 134 64 60 51 134 65 62 50 134 67 66 49 134 68 69 48 134 68 70 47 134 69 74 46 134 70 77 45 134 71 81 44 134 72 84 43 134 73 88 42 134 75 89 41 134 76 92 40 134 76 93 39 134 77 96 38 134 78 98 37 134 79 102 36 134 80 104 35 134 81 108 34 134 83 111 33 134 84 114 32 134 84 117 31 134 85 120 30 134 86 122 29 134 87 128 28 134 88 133 26 134 90 137 25 134 91 140 24 134 92 144 23 134 93 149 22 134 94 152 21 134 95 155 20 134 96 157 19 134 97 160 18 134 98 162 17 134 100 165 16 134 101 171 15 134 101 172 14 134 102 175 13 134 103 176 12 134 104 178 11 134 105 179 10 134 106 181 9 134 108 182 8 134 109 184 7 134 109 185 6 134 110 188 5 134 111 194 4 134 112 198 3 134 113 201 2 134 114 204 1 134 116 205 0 134 116 208 0 134 117 208 0 134 118 209 0 134 118 209 0 134 118 211 0 134 118 211 255 133 0 219 254 133 0 217 254 133 0 217 254 133 0 216 253 133 0 213 252 133 0 211 251 133 0 209 250 133 0 209 249 133 0 208 248 133 0 207 247 133 0 204 246 133 0 202 245 133 0 198 244 133 0 195 243 133 0 189 242 133 0 186 241 133 0 184 240 133 0 182 239 133 0 181 238 133 0 179 237 133 0 178 236 133 0 176 235 133 0 175 234 133 0 172 233 133 0 171 232 133 0 166 231 133 0 163 230 133 0 160 229 133 0 157 228 133 0 155 227 133 0 152 226 133 0 149 224 133 0 143 223 133 0 140 222 133 0 135 221 133 0 131 220 133 0 128 219 133 0 122 218 133 0 120 217 133 0 117 216 133 0 114 215 133 0 111 214 133 0 108 213 133 0 104 212 133 0 102 211 133 0 98 210 133 0 96 209 133 0 95 208 133 0 92 207 133 0 91 206 133 0 88 205 133 0 84 204 133 0 81 203 133 0 80 202 133 0 74 201 133 0 71 200 133 0 69 199 133 0 66 198 133 0 62 197 133 0 60 196 133 0 57 195 133 0 53 194 133 0 50 193 133 0 46 191 133 0 43 190 133 0 38 189 133 0 35 188 133 0 32 187 133 0 29 186 133 0 28 185 133 0 25 184 133 0 22 183 133 0 18 182 133 0 16 181 133 0 13 180 133 0 9 179 133 0 6 178 133 0 3 177 133 0 0 176 133 0 0 175 133 0 0 174 133 0 0 173 133 0 0 172 133 0 0 171 133 0 0 170 133 0 0 169 133 0 0 168 133 0 0 167 133 0 0 166 133 0 0 165 133 0 0 164 133 0 0 163 133 0 0 162 133 0 0 161 133 0 0 160 133 0 0 158 133 0 0 157 133 0 0 156 133 0 0 155 133 0 0 154 133 0 0 153 133 0 0 152 133 0 0 151 133 0 0 150 133 0 0 149 133 0 0 148 133 0 0 147 133 0 0 146 133 0 0 145 133 0 0 144 133 0 0 143 133 0 0 142 133 0 0 141 133 0 0 140 133 0 0 139 133 0 0 138 133 0 0 137 133 0 0 136 133 0 0 135 133 0 0 134 133 0 0 133 133 0 0 132 133 0 0 131 133 0 0 130 133 0 0 129 133 0 0 128 133 0 0 127 133 0 0 125 133 0 0 124 133 0 0 123 133 0 0 122 133 0 0 121 133 0 0 120 133 0 0 119 133 0 0 118 133 1 0 117 133 2 0 116 133 2 0 115 133 3 0 114 133 4 0 113 133 4 0 112 133 5 0 111 133 6 0 110 133 7 0 109 133 9 0 108 133 10 0 107 133 11 0 106 133 12 0 105 133 12 0 104 133 13 0 103 133 14 0 102 133 15 0 101 133 17 0 100 133 18 0 99 133 19 0 98 133 20 0 97 133 20 0 96 133 21 0 95 133 22 0 94 133 24 0 92 133 25 0 91 133 26 0 90 133 27 0 89 133 28 0 88 133 29 0 87 133 30 0 86 133 31 0 85 133 32 0 84 133 34 0 83 133 35 0 82 133 36 0 81 133 37 0 80 133 37 0 79 133 38 0 78 133 39 0 77 133 40 0 76 133 42 0 75 133 43 0 74 133 44 0 73 133 45 0 72 133 45 0 71 133 46 2 70 133 47 5 69 133 48 9 68 133 50 13 67 133 51 16 66 133 52 18 65 133 53 20 64 133 53 24 63 133 54 27 62 133 55 29 61 133 57 31 59 133 58 35 58 133 59 38 57 133 60 40 56 133 61 46 55 133 62 49 54 133 63 51 53 133 64 57 52 133 65 60 51 133 67 62 50 133 68 66 49 133 69 69 48 133 70 70 47 133 70 74 46 133 71 77 45 133 72 81 44 133 73 84 43 133 75 88 42 133 76 89 41 133 77 92 40 133 78 93 39 133 78 96 38 133 79 98 37 133 80 102 36 133 81 104 35 133 83 108 34 133 84 111 33 133 85 114 32 133 86 117 31 133 86 118 30 133 87 122 29 133 88 128 28 133 90 131 26 133 91 135 25 133 92 138 24 133 93 143 23 133 94 149 22 133 95 152 21 133 96 155 20 133 97 157 19 133 98 160 18 133 100 162 17 133 101 165 16 133 102 167 15 133 103 172 14 133 103 175 13 133 104 176 12 133 105 178 11 133 106 178 10 133 108 179 9 133 109 181 8 133 110 184 7 133 111 185 6 133 111 188 5 133 112 194 4 133 113 198 3 133 114 201 2 133 116 204 1 133 117 205 0 133 118 208 0 133 118 208 0 133 119 209 0 133 119 209 0 133 119 211 0 133 119 211 255 132 0 219 254 132 0 217 254 132 0 217 254 132 0 216 253 132 0 213 252 132 0 211 251 132 0 209 250 132 0 209 249 132 0 208 248 132 0 207 247 132 0 204 246 132 0 202 245 132 0 198 244 132 0 195 243 132 0 189 242 132 0 186 241 132 0 184 240 132 0 182 239 132 0 181 238 132 0 178 237 132 0 176 236 132 0 176 235 132 0 174 234 132 0 172 233 132 0 167 232 132 0 166 231 132 0 163 230 132 0 160 229 132 0 157 228 132 0 155 227 132 0 152 226 132 0 149 224 132 0 143 223 132 0 138 222 132 0 134 221 132 0 131 220 132 0 126 219 132 0 122 218 132 0 120 217 132 0 117 216 132 0 114 215 132 0 111 214 132 0 108 213 132 0 104 212 132 0 102 211 132 0 98 210 132 0 96 209 132 0 95 208 132 0 92 207 132 0 91 206 132 0 88 205 132 0 84 204 132 0 81 203 132 0 80 202 132 0 74 201 132 0 71 200 132 0 69 199 132 0 66 198 132 0 62 197 132 0 60 196 132 0 57 195 132 0 53 194 132 0 49 193 132 0 46 191 132 0 40 190 132 0 38 189 132 0 35 188 132 0 31 187 132 0 28 186 132 0 27 185 132 0 24 184 132 0 20 183 132 0 17 182 132 0 14 181 132 0 10 180 132 0 7 179 132 0 5 178 132 0 2 177 132 0 0 176 132 0 0 175 132 0 0 174 132 0 0 173 132 0 0 172 132 0 0 171 132 0 0 170 132 0 0 169 132 0 0 168 132 0 0 167 132 0 0 166 132 0 0 165 132 0 0 164 132 0 0 163 132 0 0 162 132 0 0 161 132 0 0 160 132 0 0 158 132 0 0 157 132 0 0 156 132 0 0 155 132 0 0 154 132 0 0 153 132 0 0 152 132 0 0 151 132 0 0 150 132 0 0 149 132 0 0 148 132 0 0 147 132 0 0 146 132 0 0 145 132 0 0 144 132 0 0 143 132 0 0 142 132 0 0 141 132 0 0 140 132 0 0 139 132 0 0 138 132 0 0 137 132 0 0 136 132 0 0 135 132 0 0 134 132 0 0 133 132 0 0 132 132 0 0 131 132 0 0 130 132 0 0 129 132 0 0 128 132 0 0 127 132 0 0 125 132 0 0 124 132 0 0 123 132 0 0 122 132 0 0 121 132 0 0 120 132 0 0 119 132 0 0 118 132 1 0 117 132 2 0 116 132 3 0 115 132 4 0 114 132 5 0 113 132 5 0 112 132 6 0 111 132 7 0 110 132 8 0 109 132 10 0 108 132 11 0 107 132 12 0 106 132 13 0 105 132 13 0 104 132 14 0 103 132 15 0 102 132 16 0 101 132 18 0 100 132 19 0 99 132 20 0 98 132 21 0 97 132 21 0 96 132 22 0 95 132 23 0 94 132 25 0 92 132 26 0 91 132 27 0 90 132 28 0 89 132 29 0 88 132 30 0 87 132 31 0 86 132 32 0 85 132 33 0 84 132 35 0 83 132 36 0 82 132 37 0 81 132 38 0 80 132 38 0 79 132 39 0 78 132 40 0 77 132 41 0 76 132 43 0 75 132 44 0 74 132 45 0 73 132 46 0 72 132 46 0 71 132 47 0 70 132 48 3 69 132 49 6 68 132 51 9 67 132 52 13 66 132 53 17 65 132 54 18 64 132 54 22 63 132 55 25 62 132 56 28 61 132 58 29 59 132 59 32 58 132 60 38 57 132 61 40 56 132 62 46 55 132 63 49 54 132 64 51 53 132 65 57 52 132 66 60 51 132 68 62 50 132 69 66 49 132 70 69 48 132 71 70 47 132 71 74 46 132 72 77 45 132 73 81 44 132 74 84 43 132 76 88 42 132 77 89 41 132 78 92 40 132 79 93 39 132 79 96 38 132 80 98 37 132 81 102 36 132 82 104 35 132 84 108 34 132 85 111 33 132 86 114 32 132 87 115 31 132 87 118 30 132 88 121 29 132 89 126 28 132 91 130 26 132 92 134 25 132 93 138 24 132 94 141 23 132 95 145 22 132 96 152 21 132 97 153 20 132 98 157 19 132 99 160 18 132 101 162 17 132 102 165 16 132 103 167 15 132 104 172 14 132 104 174 13 132 105 175 12 132 106 176 11 132 107 178 10 132 109 179 9 132 110 181 8 132 111 184 7 132 112 185 6 132 112 188 5 132 113 194 4 132 114 198 3 132 115 201 2 132 117 204 1 132 118 205 0 132 119 208 0 132 119 208 0 132 120 209 0 132 120 209 0 132 120 211 0 132 120 211 255 131 0 219 254 131 0 217 254 131 0 217 254 131 0 216 253 131 0 213 252 131 0 211 251 131 0 209 250 131 0 209 249 131 0 208 248 131 0 207 247 131 0 204 246 131 0 202 245 131 0 198 244 131 0 195 243 131 0 189 242 131 0 186 241 131 0 184 240 131 0 182 239 131 0 179 238 131 0 178 237 131 0 176 236 131 0 175 235 131 0 174 234 131 0 172 233 131 0 167 232 131 0 166 231 131 0 163 230 131 0 160 229 131 0 157 228 131 0 155 227 131 0 152 226 131 0 145 224 131 0 141 223 131 0 137 222 131 0 134 221 131 0 130 220 131 0 126 219 131 0 121 218 131 0 118 217 131 0 117 216 131 0 114 215 131 0 111 214 131 0 108 213 131 0 104 212 131 0 102 211 131 0 98 210 131 0 96 209 131 0 95 208 131 0 92 207 131 0 91 206 131 0 88 205 131 0 84 204 131 0 81 203 131 0 80 202 131 0 74 201 131 0 71 200 131 0 69 199 131 0 66 198 131 0 62 197 131 0 60 196 131 0 57 195 131 0 53 194 131 0 49 193 131 0 46 191 131 0 40 190 131 0 36 189 131 0 32 188 131 0 29 187 131 0 27 186 131 0 25 185 131 0 22 184 131 0 18 183 131 0 16 182 131 0 13 181 131 0 9 180 131 0 6 179 131 0 3 178 131 0 0 177 131 0 0 176 131 0 0 175 131 0 0 174 131 0 0 173 131 0 0 172 131 0 0 171 131 0 0 170 131 0 0 169 131 0 0 168 131 0 0 167 131 0 0 166 131 0 0 165 131 0 0 164 131 0 0 163 131 0 0 162 131 0 0 161 131 0 0 160 131 0 0 158 131 0 0 157 131 0 0 156 131 0 0 155 131 0 0 154 131 0 0 153 131 0 0 152 131 0 0 151 131 0 0 150 131 0 0 149 131 0 0 148 131 0 0 147 131 0 0 146 131 0 0 145 131 0 0 144 131 0 0 143 131 0 0 142 131 0 0 141 131 0 0 140 131 0 0 139 131 0 0 138 131 0 0 137 131 0 0 136 131 0 0 135 131 0 0 134 131 0 0 133 131 0 0 132 131 0 0 131 131 0 0 130 131 0 0 129 131 0 0 128 131 0 0 127 131 0 0 125 131 0 0 124 131 0 0 123 131 0 0 122 131 0 0 121 131 0 0 120 131 0 0 119 131 1 0 118 131 2 0 117 131 3 0 116 131 4 0 115 131 5 0 114 131 6 0 113 131 6 0 112 131 7 0 111 131 8 0 110 131 9 0 109 131 10 0 108 131 12 0 107 131 13 0 106 131 14 0 105 131 14 0 104 131 15 0 103 131 16 0 102 131 17 0 101 131 18 0 100 131 20 0 99 131 21 0 98 131 22 0 97 131 22 0 96 131 23 0 95 131 24 0 94 131 26 0 92 131 27 0 91 131 28 0 90 131 29 0 89 131 30 0 88 131 31 0 87 131 32 0 86 131 33 0 85 131 34 0 84 131 35 0 83 131 37 0 82 131 38 0 81 131 39 0 80 131 39 0 79 131 40 0 78 131 41 0 77 131 42 0 76 131 43 0 75 131 45 0 74 131 46 0 73 131 47 0 72 131 47 0 71 131 48 0 70 131 49 3 69 131 50 6 68 131 51 7 67 131 53 13 66 131 54 16 65 131 55 18 64 131 55 22 63 131 56 25 62 131 57 27 61 131 59 29 59 131 60 32 58 131 61 36 57 131 62 39 56 131 63 44 55 131 64 49 54 131 65 51 53 131 66 57 52 131 67 60 51 131 68 62 50 131 70 66 49 131 71 69 48 131 72 70 47 131 72 74 46 131 73 77 45 131 74 81 44 131 75 84 43 131 76 88 42 131 78 89 41 131 79 92 40 131 80 93 39 131 80 96 38 131 81 98 37 131 82 102 36 131 83 104 35 131 84 108 34 131 86 111 33 131 87 114 32 131 88 115 31 131 88 118 30 131 89 121 29 131 90 126 28 131 92 130 26 131 93 133 25 131 94 137 24 131 95 140 23 131 96 145 22 131 97 150 21 131 98 153 20 131 99 156 19 131 100 160 18 131 101 162 17 131 103 165 16 131 104 167 15 131 105 172 14 131 105 174 13 131 106 175 12 131 107 176 11 131 108 178 10 131 109 179 9 131 111 181 8 131 112 182 7 131 113 185 6 131 113 188 5 131 114 194 4 131 115 198 3 131 116 201 2 131 117 204 1 131 119 205 0 131 119 208 0 131 120 208 0 131 121 209 0 131 121 209 0 131 121 211 0 131 121 211 255 130 0 219 254 130 0 217 254 130 0 217 254 130 0 216 253 130 0 213 252 130 0 211 251 130 0 209 250 130 0 209 249 130 0 208 248 130 0 207 247 130 0 204 246 130 0 202 245 130 0 198 244 130 0 195 243 130 0 189 242 130 0 186 241 130 0 184 240 130 0 182 239 130 0 179 238 130 0 178 237 130 0 176 236 130 0 175 235 130 0 174 234 130 0 172 233 130 0 167 232 130 0 165 231 130 0 162 230 130 0 160 229 130 0 157 228 130 0 155 227 130 0 150 226 130 0 145 224 130 0 140 223 130 0 137 222 130 0 133 221 130 0 130 220 130 0 126 219 130 0 121 218 130 0 118 217 130 0 117 216 130 0 114 215 130 0 111 214 130 0 108 213 130 0 104 212 130 0 102 211 130 0 98 210 130 0 96 209 130 0 95 208 130 0 92 207 130 0 91 206 130 0 88 205 130 0 84 204 130 0 81 203 130 0 80 202 130 0 74 201 130 0 71 200 130 0 69 199 130 0 66 198 130 0 62 197 130 0 59 196 130 0 57 195 130 0 51 194 130 0 49 193 130 0 46 191 130 0 40 190 130 0 36 189 130 0 32 188 130 0 29 187 130 0 27 186 130 0 24 185 130 0 22 184 130 0 18 183 130 0 16 182 130 0 10 181 130 0 7 180 130 0 5 179 130 0 2 178 130 0 0 177 130 0 0 176 130 0 0 175 130 0 0 174 130 0 0 173 130 0 0 172 130 0 0 171 130 0 0 170 130 0 0 169 130 0 0 168 130 0 0 167 130 0 0 166 130 0 0 165 130 0 0 164 130 0 0 163 130 0 0 162 130 0 0 161 130 0 0 160 130 0 0 158 130 0 0 157 130 0 0 156 130 0 0 155 130 0 0 154 130 0 0 153 130 0 0 152 130 0 0 151 130 0 0 150 130 0 0 149 130 0 0 148 130 0 0 147 130 0 0 146 130 0 0 145 130 0 0 144 130 0 0 143 130 0 0 142 130 0 0 141 130 0 0 140 130 0 0 139 130 0 0 138 130 0 0 137 130 0 0 136 130 0 0 135 130 0 0 134 130 0 0 133 130 0 0 132 130 0 0 131 130 0 0 130 130 0 0 129 130 0 0 128 130 0 0 127 130 0 0 125 130 0 0 124 130 0 0 123 130 0 0 122 130 0 0 121 130 0 0 120 130 1 0 119 130 1 0 118 130 2 0 117 130 3 0 116 130 4 0 115 130 5 0 114 130 6 0 113 130 7 0 112 130 8 0 111 130 9 0 110 130 10 0 109 130 11 0 108 130 12 0 107 130 13 0 106 130 14 0 105 130 15 0 104 130 16 0 103 130 17 0 102 130 18 0 101 130 19 0 100 130 20 0 99 130 21 0 98 130 22 0 97 130 23 0 96 130 24 0 95 130 25 0 94 130 27 0 92 130 28 0 91 130 29 0 90 130 30 0 89 130 31 0 88 130 32 0 87 130 33 0 86 130 34 0 85 130 35 0 84 130 36 0 83 130 37 0 82 130 38 0 81 130 39 0 80 130 40 0 79 130 41 0 78 130 42 0 77 130 43 0 76 130 44 0 75 130 45 0 74 130 46 0 73 130 47 0 72 130 48 0 71 130 49 0 70 130 50 2 69 130 51 5 68 130 52 7 67 130 53 10 66 130 54 14 65 130 55 17 64 130 56 20 63 130 57 24 62 130 58 27 61 130 60 28 59 130 61 32 58 130 62 36 57 130 63 39 56 130 64 44 55 130 65 49 54 130 66 51 53 130 67 54 52 130 68 59 51 130 69 62 50 130 70 66 49 130 71 67 48 130 72 70 47 130 73 74 46 130 74 77 45 130 75 81 44 130 76 84 43 130 77 88 42 130 78 89 41 130 79 92 40 130 80 93 39 130 81 96 38 130 82 98 37 130 83 102 36 130 84 104 35 130 85 108 34 130 86 111 33 130 87 114 32 130 88 115 31 130 89 118 30 130 90 121 29 130 91 126 28 130 93 128 26 130 94 133 25 130 95 135 24 130 96 140 23 130 97 144 22 130 98 150 21 130 99 153 20 130 100 156 19 130 101 159 18 130 102 162 17 130 103 165 16 130 104 167 15 130 105 171 14 130 106 174 13 130 107 175 12 130 108 176 11 130 109 178 10 130 110 179 9 130 111 181 8 130 112 182 7 130 113 185 6 130 114 188 5 130 115 194 4 130 116 198 3 130 117 201 2 130 118 204 1 130 119 205 0 130 120 208 0 130 121 208 0 130 121 209 0 130 122 209 0 130 122 211 0 130 122 211 255 129 0 219 254 129 0 217 254 129 0 217 254 129 0 216 253 129 0 213 252 129 0 211 251 129 0 209 250 129 0 209 249 129 0 208 248 129 0 207 247 129 0 204 246 129 0 202 245 129 0 198 244 129 0 195 243 129 0 189 242 129 0 186 241 129 0 184 240 129 0 182 239 129 0 179 238 129 0 178 237 129 0 175 236 129 0 174 235 129 0 172 234 129 0 171 233 129 0 167 232 129 0 165 231 129 0 162 230 129 0 159 229 129 0 156 228 129 0 153 227 129 0 150 226 129 0 144 224 129 0 140 223 129 0 135 222 129 0 133 221 129 0 128 220 129 0 126 219 129 0 121 218 129 0 118 217 129 0 117 216 129 0 114 215 129 0 111 214 129 0 108 213 129 0 104 212 129 0 102 211 129 0 98 210 129 0 96 209 129 0 95 208 129 0 92 207 129 0 91 206 129 0 88 205 129 0 84 204 129 0 81 203 129 0 80 202 129 0 74 201 129 0 71 200 129 0 69 199 129 0 66 198 129 0 62 197 129 0 59 196 129 0 54 195 129 0 51 194 129 0 49 193 129 0 44 191 129 0 39 190 129 0 36 189 129 0 32 188 129 0 28 187 129 0 27 186 129 0 24 185 129 0 20 184 129 0 17 183 129 0 14 182 129 0 10 181 129 0 7 180 129 0 5 179 129 0 2 178 129 0 0 177 129 0 0 176 129 0 0 175 129 0 0 174 129 0 0 173 129 0 0 172 129 0 0 171 129 0 0 170 129 0 0 169 129 0 0 168 129 0 0 167 129 0 0 166 129 0 0 165 129 0 0 164 129 0 0 163 129 0 0 162 129 0 0 161 129 0 0 160 129 0 0 158 129 0 0 157 129 0 0 156 129 0 0 155 129 0 0 154 129 0 0 153 129 0 0 152 129 0 0 151 129 0 0 150 129 0 0 149 129 0 0 148 129 0 0 147 129 0 0 146 129 0 0 145 129 0 0 144 129 0 0 143 129 0 0 142 129 0 0 141 129 0 0 140 129 0 0 139 129 0 0 138 129 0 0 137 129 0 0 136 129 0 0 135 129 0 0 134 129 0 0 133 129 0 0 132 129 0 0 131 129 0 0 130 129 0 0 129 129 0 0 128 129 0 0 127 129 0 0 125 129 0 0 124 129 0 0 123 129 0 0 122 129 0 0 121 129 1 0 120 129 1 0 119 129 2 0 118 129 3 0 117 129 4 0 116 129 5 0 115 129 6 0 114 129 7 0 113 129 8 0 112 129 9 0 111 129 10 0 110 129 11 0 109 129 12 0 108 129 13 0 107 129 14 0 106 129 15 0 105 129 16 0 104 129 17 0 103 129 18 0 102 129 19 0 101 129 20 0 100 129 21 0 99 129 22 0 98 129 23 0 97 129 24 0 96 129 25 0 95 129 26 0 94 129 28 0 92 129 29 0 91 129 30 0 90 129 31 0 89 129 32 0 88 129 33 0 87 129 34 0 86 129 35 0 85 129 36 0 84 129 37 0 83 129 38 0 82 129 39 0 81 129 40 0 80 129 41 0 79 129 42 0 78 129 43 0 77 129 44 0 76 129 45 0 75 129 46 0 74 129 47 0 73 129 48 0 72 129 49 0 71 129 50 0 70 129 51 2 69 129 52 5 68 129 53 6 67 129 54 10 66 129 55 14 65 129 56 17 64 129 57 20 63 129 58 24 62 129 59 27 61 129 61 28 59 129 62 31 58 129 63 35 57 129 64 39 56 129 65 43 55 129 66 47 54 129 67 51 53 129 68 54 52 129 69 59 51 129 70 62 50 129 71 66 49 129 72 67 48 129 73 70 47 129 74 74 46 129 75 77 45 129 76 81 44 129 77 84 43 129 78 88 42 129 79 89 41 129 80 92 40 129 81 93 39 129 82 96 38 129 83 98 37 129 84 102 36 129 85 104 35 129 86 108 34 129 87 111 33 129 88 114 32 129 89 115 31 129 90 118 30 129 91 121 29 129 92 126 28 129 94 128 26 129 95 133 25 129 96 135 24 129 97 140 23 129 98 144 22 129 99 149 21 129 100 153 20 129 101 156 19 129 102 159 18 129 103 162 17 129 104 163 16 129 105 166 15 129 106 171 14 129 107 172 13 129 108 174 12 129 109 175 11 129 110 176 10 129 111 179 9 129 112 181 8 129 113 182 7 129 114 185 6 129 115 188 5 129 116 194 4 129 117 198 3 129 118 201 2 129 119 204 1 129 120 205 0 129 121 208 0 129 122 208 0 129 122 209 0 129 123 209 0 129 123 211 0 129 123 211 255 128 0 219 254 128 0 217 254 128 0 217 254 128 0 216 253 128 0 213 252 128 0 211 251 128 0 209 250 128 0 209 249 128 0 208 248 128 0 207 247 128 0 204 246 128 0 202 245 128 0 198 244 128 0 195 243 128 0 189 242 128 0 186 241 128 0 184 240 128 0 182 239 128 0 179 238 128 0 176 237 128 0 175 236 128 0 174 235 128 0 172 234 128 0 167 233 128 0 166 232 128 0 163 231 128 0 160 230 128 0 159 229 128 0 156 228 128 0 153 227 128 0 150 226 128 0 144 224 128 0 140 223 128 0 135 222 128 0 133 221 128 0 128 220 128 0 126 219 128 0 121 218 128 0 118 217 128 0 117 216 128 0 114 215 128 0 111 214 128 0 108 213 128 0 104 212 128 0 102 211 128 0 98 210 128 0 96 209 128 0 95 208 128 0 92 207 128 0 91 206 128 0 88 205 128 0 84 204 128 0 81 203 128 0 80 202 128 0 74 201 128 0 71 200 128 0 69 199 128 0 66 198 128 0 62 197 128 0 59 196 128 0 54 195 128 0 51 194 128 0 47 193 128 0 44 191 128 0 39 190 128 0 35 189 128 0 31 188 128 0 28 187 128 0 27 186 128 0 24 185 128 0 20 184 128 0 17 183 128 0 14 182 128 0 10 181 128 0 7 180 128 0 5 179 128 0 2 178 128 0 0 177 128 0 0 176 128 0 0 175 128 0 0 174 128 0 0 173 128 0 0 172 128 0 0 171 128 0 0 170 128 0 0 169 128 0 0 168 128 0 0 167 128 0 0 166 128 0 0 165 128 0 0 164 128 0 0 163 128 0 0 162 128 0 0 161 128 0 0 160 128 0 0 158 128 0 0 157 128 0 0 156 128 0 0 155 128 0 0 154 128 0 0 153 128 0 0 152 128 0 0 151 128 0 0 150 128 0 0 149 128 0 0 148 128 0 0 147 128 0 0 146 128 0 0 145 128 0 0 144 128 0 0 143 128 0 0 142 128 0 0 141 128 0 0 140 128 0 0 139 128 0 0 138 128 0 0 137 128 0 0 136 128 0 0 135 128 0 0 134 128 0 0 133 128 0 0 132 128 0 0 131 128 0 0 130 128 0 0 129 128 0 0 128 128 0 0 127 128 0 0 125 128 0 0 124 128 0 0 123 128 0 0 122 128 1 0 121 128 1 0 120 128 2 0 119 128 3 0 118 128 4 0 117 128 5 0 116 128 6 0 115 128 7 0 114 128 8 0 113 128 9 0 112 128 10 0 111 128 11 0 110 128 12 0 109 128 13 0 108 128 14 0 107 128 15 0 106 128 16 0 105 128 17 0 104 128 18 0 103 128 19 0 102 128 20 0 101 128 21 0 100 128 22 0 99 128 23 0 98 128 24 0 97 128 25 0 96 128 26 0 95 128 27 0 94 128 29 0 92 128 30 0 91 128 31 0 90 128 32 0 89 128 33 0 88 128 34 0 87 128 35 0 86 128 36 0 85 128 37 0 84 128 38 0 83 128 39 0 82 128 40 0 81 128 41 0 80 128 42 0 79 128 43 0 78 128 44 0 77 128 45 0 76 128 46 0 75 128 47 0 74 128 48 0 73 128 49 0 72 128 50 0 71 128 51 0 70 128 52 2 69 128 53 5 68 128 54 6 67 128 55 10 66 128 56 14 65 128 57 17 64 128 58 20 63 128 59 24 62 128 60 27 61 128 62 28 59 128 63 31 58 128 64 35 57 128 65 38 56 128 66 43 55 128 67 47 54 128 68 50 53 128 69 53 52 128 70 59 51 128 71 60 50 128 72 64 49 128 73 67 48 128 74 70 47 128 75 74 46 128 76 77 45 128 77 81 44 128 78 84 43 128 79 88 42 128 80 89 41 128 81 92 40 128 82 93 39 128 83 96 38 128 84 98 37 128 85 102 36 128 86 104 35 128 87 108 34 128 88 111 33 128 89 114 32 128 90 115 31 128 91 118 30 128 92 121 29 128 93 126 28 128 95 128 26 128 96 131 25 128 97 135 24 128 98 138 23 128 99 143 22 128 100 149 21 128 101 152 20 128 102 155 19 128 103 157 18 128 104 160 17 128 105 163 16 128 106 166 15 128 107 167 14 128 108 171 13 128 109 174 12 128 110 175 11 128 111 176 10 128 112 179 9 128 113 181 8 128 114 182 7 128 115 185 6 128 116 188 5 128 117 194 4 128 118 198 3 128 119 201 2 128 120 204 1 128 121 205 0 128 122 208 0 128 123 208 0 128 124 209 0 128 124 209 0 128 124 211 0 128 124 211 255 127 0 219 254 127 0 217 254 127 0 217 254 127 0 216 253 127 0 213 252 127 0 211 251 127 0 209 250 127 0 209 249 127 0 208 248 127 0 207 247 127 0 204 246 127 0 202 245 127 0 198 244 127 0 195 243 127 0 189 242 127 0 186 241 127 0 184 240 127 0 182 239 127 0 179 238 127 0 176 237 127 0 175 236 127 0 174 235 127 0 171 234 127 0 166 233 127 0 165 232 127 0 162 231 127 0 159 230 127 0 157 229 127 0 155 228 127 0 152 227 127 0 149 226 127 0 144 224 127 0 140 223 127 0 135 222 127 0 133 221 127 0 128 220 127 0 126 219 127 0 121 218 127 0 118 217 127 0 117 216 127 0 114 215 127 0 111 214 127 0 108 213 127 0 104 212 127 0 102 211 127 0 98 210 127 0 96 209 127 0 95 208 127 0 92 207 127 0 91 206 127 0 88 205 127 0 84 204 127 0 81 203 127 0 80 202 127 0 74 201 127 0 71 200 127 0 69 199 127 0 66 198 127 0 62 197 127 0 59 196 127 0 54 195 127 0 50 194 127 0 46 193 127 0 43 191 127 0 38 190 127 0 35 189 127 0 31 188 127 0 28 187 127 0 27 186 127 0 24 185 127 0 20 184 127 0 17 183 127 0 14 182 127 0 10 181 127 0 7 180 127 0 5 179 127 0 2 178 127 0 0 177 127 0 0 176 127 0 0 175 127 0 0 174 127 0 0 173 127 0 0 172 127 0 0 171 127 0 0 170 127 0 0 169 127 0 0 168 127 0 0 167 127 0 0 166 127 0 0 165 127 0 0 164 127 0 0 163 127 0 0 162 127 0 0 161 127 0 0 160 127 0 0 158 127 0 0 157 127 0 0 156 127 0 0 155 127 0 0 154 127 0 0 153 127 0 0 152 127 0 0 151 127 0 0 150 127 0 0 149 127 0 0 148 127 0 0 147 127 0 0 146 127 0 0 145 127 0 0 144 127 0 0 143 127 0 0 142 127 0 0 141 127 0 0 140 127 0 0 139 127 0 0 138 127 0 0 137 127 0 0 136 127 0 0 135 127 0 0 134 127 0 0 133 127 0 0 132 127 0 0 131 127 0 0 130 127 0 0 129 127 0 0 128 127 0 0 127 127 0 0 125 127 0 0 124 127 1 0 123 127 1 0 122 127 2 0 121 127 2 0 120 127 3 0 119 127 4 0 118 127 5 0 117 127 6 0 116 127 7 0 115 127 8 0 114 127 9 0 113 127 10 0 112 127 11 0 111 127 12 0 110 127 13 0 109 127 14 0 108 127 15 0 107 127 16 0 106 127 17 0 105 127 18 0 104 127 19 0 103 127 20 0 102 127 21 0 101 127 22 0 100 127 24 0 99 127 25 0 98 127 26 0 97 127 27 0 96 127 28 0 95 127 29 0 94 127 30 0 92 127 31 0 91 127 32 0 90 127 33 0 89 127 34 0 88 127 35 0 87 127 36 0 86 127 37 0 85 127 38 0 84 127 39 0 83 127 40 0 82 127 41 0 81 127 42 0 80 127 43 0 79 127 44 0 78 127 45 0 77 127 46 0 76 127 47 0 75 127 48 0 74 127 49 0 73 127 50 0 72 127 51 0 71 127 52 0 70 127 53 2 69 127 54 5 68 127 55 6 67 127 57 10 66 127 58 14 65 127 59 17 64 127 60 20 63 127 61 24 62 127 62 27 61 127 63 28 59 127 64 31 58 127 65 35 57 127 66 38 56 127 67 40 55 127 68 46 54 127 69 49 53 127 70 53 52 127 71 57 51 127 72 60 50 127 73 64 49 127 74 67 48 127 75 70 47 127 76 74 46 127 77 77 45 127 78 81 44 127 79 84 43 127 80 88 42 127 81 89 41 127 82 92 40 127 83 93 39 127 84 96 38 127 85 98 37 127 86 102 36 127 87 104 35 127 88 108 34 127 90 111 33 127 91 114 32 127 92 115 31 127 93 118 30 127 94 121 29 127 95 126 28 127 96 128 26 127 97 131 25 127 98 135 24 127 99 138 23 127 100 143 22 127 101 145 21 127 102 152 20 127 103 155 19 127 104 157 18 127 105 159 17 127 106 162 16 127 107 165 15 127 108 166 14 127 109 171 13 127 110 172 12 127 111 175 11 127 112 176 10 127 113 179 9 127 114 181 8 127 115 182 7 127 116 185 6 127 117 188 5 127 118 194 4 127 119 198 3 127 120 201 2 127 121 204 1 127 123 205 0 127 124 208 0 127 124 208 0 127 125 209 0 127 125 209 0 127 125 211 0 127 125 211 255 125 0 219 254 125 0 217 254 125 0 217 254 125 0 216 253 125 0 213 252 125 0 211 251 125 0 209 250 125 0 209 249 125 0 208 248 125 0 207 247 125 0 204 246 125 0 202 245 125 0 198 244 125 0 195 243 125 0 189 242 125 0 186 241 125 0 184 240 125 0 182 239 125 0 179 238 125 0 176 237 125 0 175 236 125 0 172 235 125 0 167 234 125 0 165 233 125 0 163 232 125 0 160 231 125 0 157 230 125 0 156 229 125 0 153 228 125 0 150 227 125 0 145 226 125 0 143 224 125 0 138 223 125 0 135 222 125 0 133 221 125 0 128 220 125 0 126 219 125 0 121 218 125 0 118 217 125 0 117 216 125 0 114 215 125 0 111 214 125 0 108 213 125 0 104 212 125 0 102 211 125 0 98 210 125 0 96 209 125 0 95 208 125 0 92 207 125 0 91 206 125 0 88 205 125 0 84 204 125 0 81 203 125 0 80 202 125 0 74 201 125 0 71 200 125 0 69 199 125 0 66 198 125 0 62 197 125 0 57 196 125 0 53 195 125 0 49 194 125 0 46 193 125 0 40 191 125 0 38 190 125 0 35 189 125 0 31 188 125 0 28 187 125 0 27 186 125 0 24 185 125 0 20 184 125 0 17 183 125 0 14 182 125 0 10 181 125 0 7 180 125 0 5 179 125 0 2 178 125 0 0 177 125 0 0 176 125 0 0 175 125 0 0 174 125 0 0 173 125 0 0 172 125 0 0 171 125 0 0 170 125 0 0 169 125 0 0 168 125 0 0 167 125 0 0 166 125 0 0 165 125 0 0 164 125 0 0 163 125 0 0 162 125 0 0 161 125 0 0 160 125 0 0 158 125 0 0 157 125 0 0 156 125 0 0 155 125 0 0 154 125 0 0 153 125 0 0 152 125 0 0 151 125 0 0 150 125 0 0 149 125 0 0 148 125 0 0 147 125 0 0 146 125 0 0 145 125 0 0 144 125 0 0 143 125 0 0 142 125 0 0 141 125 0 0 140 125 0 0 139 125 0 0 138 125 0 0 137 125 0 0 136 125 0 0 135 125 0 0 134 125 0 0 133 125 0 0 132 125 0 0 131 125 0 0 130 125 0 0 129 125 0 0 128 125 0 0 127 125 0 0 125 125 1 0 124 125 2 0 123 125 2 0 122 125 3 0 121 125 3 0 120 125 4 0 119 125 5 0 118 125 6 0 117 125 7 0 116 125 9 0 115 125 10 0 114 125 10 0 113 125 11 0 112 125 12 0 111 125 13 0 110 125 14 0 109 125 15 0 108 125 17 0 107 125 18 0 106 125 18 0 105 125 19 0 104 125 20 0 103 125 21 0 102 125 22 0 101 125 24 0 100 125 25 0 99 125 26 0 98 125 27 0 97 125 28 0 96 125 29 0 95 125 30 0 94 125 31 0 92 125 32 0 91 125 34 0 90 125 35 0 89 125 35 0 88 125 36 0 87 125 37 0 86 125 38 0 85 125 39 0 84 125 40 0 83 125 42 0 82 125 43 0 81 125 43 0 80 125 44 0 79 125 45 0 78 125 46 0 77 125 47 0 76 125 48 0 75 125 50 0 74 125 51 0 73 125 51 0 72 125 52 0 71 125 53 0 70 125 54 2 69 125 55 5 68 125 57 6 67 125 58 10 66 125 59 14 65 125 60 17 64 125 61 20 63 125 62 24 62 125 63 27 61 125 64 28 59 125 65 31 58 125 67 35 57 125 68 36 56 125 68 40 55 125 69 44 54 125 70 47 53 125 71 51 52 125 72 57 51 125 73 60 50 125 75 64 49 125 76 67 48 125 76 70 47 125 77 74 46 125 78 77 45 125 79 81 44 125 80 84 43 125 81 88 42 125 83 89 41 125 84 92 40 125 84 93 39 125 85 96 38 125 86 98 37 125 87 102 36 125 88 104 35 125 90 108 34 125 91 111 33 125 92 114 32 125 93 115 31 125 94 118 30 125 95 121 29 125 96 126 28 125 97 128 26 125 98 131 25 125 100 134 24 125 101 138 23 125 101 141 22 125 102 145 21 125 103 150 20 125 104 153 19 125 105 156 18 125 106 157 17 125 108 160 16 125 109 162 15 125 109 165 14 125 110 167 13 125 111 171 12 125 112 174 11 125 113 176 10 125 114 178 9 125 116 181 8 125 117 182 7 125 117 185 6 125 118 188 5 125 119 194 4 125 120 198 3 125 121 201 2 125 123 204 1 125 124 205 0 125 125 208 0 125 126 208 0 125 126 209 0 125 126 209 0 125 127 211 0 125 127 211 255 124 0 219 254 124 0 217 254 124 0 217 254 124 0 216 253 124 0 213 252 124 0 211 251 124 0 209 250 124 0 209 249 124 0 208 248 124 0 207 247 124 0 204 246 124 0 202 245 124 0 198 244 124 0 195 243 124 0 189 242 124 0 186 241 124 0 184 240 124 0 182 239 124 0 179 238 124 0 176 237 124 0 174 236 124 0 172 235 124 0 166 234 124 0 165 233 124 0 162 232 124 0 159 231 124 0 157 230 124 0 155 229 124 0 153 228 124 0 150 227 124 0 145 226 124 0 143 224 124 0 138 223 124 0 135 222 124 0 131 221 124 0 128 220 124 0 126 219 124 0 121 218 124 0 118 217 124 0 117 216 124 0 114 215 124 0 111 214 124 0 108 213 124 0 104 212 124 0 102 211 124 0 98 210 124 0 96 209 124 0 95 208 124 0 92 207 124 0 91 206 124 0 88 205 124 0 84 204 124 0 81 203 124 0 80 202 124 0 74 201 124 0 71 200 124 0 69 199 124 0 66 198 124 0 60 197 124 0 57 196 124 0 51 195 124 0 47 194 124 0 44 193 124 0 40 191 124 0 36 190 124 0 35 189 124 0 31 188 124 0 28 187 124 0 27 186 124 0 24 185 124 0 20 184 124 0 17 183 124 0 14 182 124 0 10 181 124 0 7 180 124 0 5 179 124 0 2 178 124 0 0 177 124 0 0 176 124 0 0 175 124 0 0 174 124 0 0 173 124 0 0 172 124 0 0 171 124 0 0 170 124 0 0 169 124 0 0 168 124 0 0 167 124 0 0 166 124 0 0 165 124 0 0 164 124 0 0 163 124 0 0 162 124 0 0 161 124 0 0 160 124 0 0 158 124 0 0 157 124 0 0 156 124 0 0 155 124 0 0 154 124 0 0 153 124 0 0 152 124 0 0 151 124 0 0 150 124 0 0 149 124 0 0 148 124 0 0 147 124 0 0 146 124 0 0 145 124 0 0 144 124 0 0 143 124 0 0 142 124 0 0 141 124 0 0 140 124 0 0 139 124 0 0 138 124 0 0 137 124 0 0 136 124 0 0 135 124 0 0 134 124 0 0 133 124 0 0 132 124 0 0 131 124 0 0 130 124 0 0 129 124 0 0 128 124 0 0 127 124 1 0 125 124 2 0 124 124 2 0 123 124 3 0 122 124 4 0 121 124 4 0 120 124 5 0 119 124 6 0 118 124 7 0 117 124 9 0 116 124 10 0 115 124 11 0 114 124 12 0 113 124 12 0 112 124 13 0 111 124 14 0 110 124 15 0 109 124 17 0 108 124 18 0 107 124 19 0 106 124 20 0 105 124 20 0 104 124 21 0 103 124 22 0 102 124 24 0 101 124 25 0 100 124 26 0 99 124 27 0 98 124 28 0 97 124 29 0 96 124 30 0 95 124 31 0 94 124 32 0 92 124 34 0 91 124 35 0 90 124 36 0 89 124 37 0 88 124 37 0 87 124 38 0 86 124 39 0 85 124 40 0 84 124 42 0 83 124 43 0 82 124 44 0 81 124 45 0 80 124 45 0 79 124 46 0 78 124 47 0 77 124 48 0 76 124 50 0 75 124 51 0 74 124 52 0 73 124 53 0 72 124 53 0 71 124 54 0 70 124 55 2 69 124 57 5 68 124 58 6 67 124 59 10 66 124 60 14 65 124 61 17 64 124 62 20 63 124 63 24 62 124 64 27 61 124 65 28 59 124 67 31 58 124 68 32 57 124 69 36 56 124 70 39 55 124 70 43 54 124 71 47 53 124 72 51 52 124 73 54 51 124 75 60 50 124 76 64 49 124 77 67 48 124 78 70 47 124 78 74 46 124 79 77 45 124 80 81 44 124 81 84 43 124 83 88 42 124 84 89 41 124 85 92 40 124 86 93 39 124 86 96 38 124 87 98 37 124 88 102 36 124 90 104 35 124 91 108 34 124 92 111 33 124 93 114 32 124 94 115 31 124 95 118 30 124 96 121 29 124 97 126 28 124 98 128 26 124 100 131 25 124 101 134 24 124 102 137 23 124 103 141 22 124 103 144 21 124 104 149 20 124 105 152 19 124 106 155 18 124 108 156 17 124 109 159 16 124 110 160 15 124 111 163 14 124 111 166 13 124 112 171 12 124 113 174 11 124 114 176 10 124 116 178 9 124 117 181 8 124 118 182 7 124 119 185 6 124 119 188 5 124 120 194 4 124 121 198 3 124 123 201 2 124 124 204 1 124 125 205 0 124 126 208 0 124 127 208 0 124 128 209 0 124 128 209 0 124 128 211 0 124 128 211 255 123 0 219 254 123 0 217 254 123 0 217 254 123 0 216 253 123 0 213 252 123 0 211 251 123 0 209 250 123 0 209 249 123 0 208 248 123 0 207 247 123 0 204 246 123 0 202 245 123 0 198 244 123 0 195 243 123 0 189 242 123 0 186 241 123 0 184 240 123 0 182 239 123 0 179 238 123 0 176 237 123 0 174 236 123 0 171 235 123 0 166 234 123 0 163 233 123 0 160 232 123 0 157 231 123 0 156 230 123 0 155 229 123 0 152 228 123 0 149 227 123 0 144 226 123 0 141 224 123 0 138 223 123 0 134 222 123 0 131 221 123 0 128 220 123 0 126 219 123 0 121 218 123 0 118 217 123 0 117 216 123 0 114 215 123 0 111 214 123 0 108 213 123 0 104 212 123 0 102 211 123 0 98 210 123 0 96 209 123 0 95 208 123 0 92 207 123 0 91 206 123 0 88 205 123 0 84 204 123 0 81 203 123 0 80 202 123 0 74 201 123 0 71 200 123 0 69 199 123 0 66 198 123 0 60 197 123 0 57 196 123 0 51 195 123 0 47 194 123 0 43 193 123 0 39 191 123 0 36 190 123 0 32 189 123 0 31 188 123 0 28 187 123 0 27 186 123 0 24 185 123 0 20 184 123 0 17 183 123 0 14 182 123 0 10 181 123 0 7 180 123 0 5 179 123 0 2 178 123 0 0 177 123 0 0 176 123 0 0 175 123 0 0 174 123 0 0 173 123 0 0 172 123 0 0 171 123 0 0 170 123 0 0 169 123 0 0 168 123 0 0 167 123 0 0 166 123 0 0 165 123 0 0 164 123 0 0 163 123 0 0 162 123 0 0 161 123 0 0 160 123 0 0 158 123 0 0 157 123 0 0 156 123 0 0 155 123 0 0 154 123 0 0 153 123 0 0 152 123 0 0 151 123 0 0 150 123 0 0 149 123 0 0 148 123 0 0 147 123 0 0 146 123 0 0 145 123 0 0 144 123 0 0 143 123 0 0 142 123 0 0 141 123 0 0 140 123 0 0 139 123 0 0 138 123 0 0 137 123 0 0 136 123 0 0 135 123 0 0 134 123 0 0 133 123 0 0 132 123 0 0 131 123 0 0 130 123 0 0 129 123 0 0 128 123 0 0 127 123 1 0 125 123 2 0 124 123 3 0 123 123 4 0 122 123 5 0 121 123 5 0 120 123 6 0 119 123 7 0 118 123 8 0 117 123 10 0 116 123 11 0 115 123 12 0 114 123 13 0 113 123 13 0 112 123 14 0 111 123 15 0 110 123 16 0 109 123 18 0 108 123 19 0 107 123 20 0 106 123 21 0 105 123 21 0 104 123 22 0 103 123 23 0 102 123 25 0 101 123 26 0 100 123 27 0 99 123 28 0 98 123 29 0 97 123 30 0 96 123 31 0 95 123 32 0 94 123 33 0 92 123 35 0 91 123 36 0 90 123 37 0 89 123 38 0 88 123 38 0 87 123 39 0 86 123 40 0 85 123 41 0 84 123 43 0 83 123 44 0 82 123 45 0 81 123 46 0 80 123 46 0 79 123 47 0 78 123 48 0 77 123 49 0 76 123 51 0 75 123 52 0 74 123 53 0 73 123 54 0 72 123 54 0 71 123 55 0 70 123 56 2 69 123 58 5 68 123 59 6 67 123 60 10 66 123 61 14 65 123 62 17 64 123 63 20 63 123 64 24 62 123 65 27 61 123 66 28 59 123 68 31 58 123 69 32 57 123 70 36 56 123 71 39 55 123 71 43 54 123 72 46 53 123 73 50 52 123 74 54 51 123 76 60 50 123 77 64 49 123 78 67 48 123 79 70 47 123 79 74 46 123 80 77 45 123 81 81 44 123 82 84 43 123 84 88 42 123 85 89 41 123 86 92 40 123 87 93 39 123 87 96 38 123 88 98 37 123 89 102 36 123 91 104 35 123 92 108 34 123 93 111 33 123 94 114 32 123 95 115 31 123 96 118 30 123 97 121 29 123 98 126 28 123 99 128 26 123 101 131 25 123 102 134 24 123 103 137 23 123 104 141 22 123 104 144 21 123 105 149 20 123 106 152 19 123 107 153 18 123 109 156 17 123 110 157 16 123 111 160 15 123 112 162 14 123 112 165 13 123 113 171 12 123 114 174 11 123 115 175 10 123 117 178 9 123 118 181 8 123 119 182 7 123 120 185 6 123 120 188 5 123 121 194 4 123 122 198 3 123 124 201 2 123 125 204 1 123 126 205 0 123 127 208 0 123 128 208 0 123 129 209 0 123 129 209 0 123 129 211 0 123 129 211 255 122 0 219 254 122 0 217 254 122 0 217 254 122 0 216 253 122 0 213 252 122 0 211 251 122 0 209 250 122 0 209 249 122 0 208 248 122 0 207 247 122 0 204 246 122 0 202 245 122 0 198 244 122 0 195 243 122 0 189 242 122 0 186 241 122 0 184 240 122 0 182 239 122 0 179 238 122 0 176 237 122 0 174 236 122 0 171 235 122 0 166 234 122 0 162 233 122 0 160 232 122 0 157 231 122 0 155 230 122 0 153 229 122 0 152 228 122 0 149 227 122 0 144 226 122 0 141 224 122 0 138 223 122 0 134 222 122 0 131 221 122 0 128 220 122 0 126 219 122 0 121 218 122 0 118 217 122 0 117 216 122 0 114 215 122 0 111 214 122 0 108 213 122 0 104 212 122 0 102 211 122 0 98 210 122 0 96 209 122 0 95 208 122 0 92 207 122 0 91 206 122 0 88 205 122 0 84 204 122 0 81 203 122 0 80 202 122 0 74 201 122 0 71 200 122 0 69 199 122 0 66 198 122 0 60 197 122 0 57 196 122 0 51 195 122 0 47 194 122 0 43 193 122 0 39 191 122 0 36 190 122 0 32 189 122 0 31 188 122 0 28 187 122 0 27 186 122 0 24 185 122 0 20 184 122 0 17 183 122 0 14 182 122 0 10 181 122 0 7 180 122 0 5 179 122 0 2 178 122 0 0 177 122 0 0 176 122 0 0 175 122 0 0 174 122 0 0 173 122 0 0 172 122 0 0 171 122 0 0 170 122 0 0 169 122 0 0 168 122 0 0 167 122 0 0 166 122 0 0 165 122 0 0 164 122 0 0 163 122 0 0 162 122 0 0 161 122 0 0 160 122 0 0 158 122 0 0 157 122 0 0 156 122 0 0 155 122 0 0 154 122 0 0 153 122 0 0 152 122 0 0 151 122 0 0 150 122 0 0 149 122 0 0 148 122 0 0 147 122 0 0 146 122 0 0 145 122 0 0 144 122 0 0 143 122 0 0 142 122 0 0 141 122 0 0 140 122 0 0 139 122 0 0 138 122 0 0 137 122 0 0 136 122 0 0 135 122 0 0 134 122 0 0 133 122 0 0 132 122 0 0 131 122 0 0 130 122 0 0 129 122 0 0 128 122 1 0 127 122 2 0 125 122 3 0 124 122 4 0 123 122 5 0 122 122 6 0 121 122 6 0 120 122 7 0 119 122 8 0 118 122 9 0 117 122 10 0 116 122 12 0 115 122 13 0 114 122 14 0 113 122 14 0 112 122 15 0 111 122 16 0 110 122 17 0 109 122 18 0 108 122 20 0 107 122 21 0 106 122 22 0 105 122 22 0 104 122 23 0 103 122 24 0 102 122 26 0 101 122 27 0 100 122 28 0 99 122 29 0 98 122 30 0 97 122 31 0 96 122 32 0 95 122 33 0 94 122 34 0 92 122 35 0 91 122 37 0 90 122 38 0 89 122 39 0 88 122 39 0 87 122 40 0 86 122 41 0 85 122 42 0 84 122 43 0 83 122 45 0 82 122 46 0 81 122 47 0 80 122 47 0 79 122 48 0 78 122 49 0 77 122 50 0 76 122 51 0 75 122 53 0 74 122 54 0 73 122 55 0 72 122 55 0 71 122 56 0 70 122 57 2 69 122 59 5 68 122 60 6 67 122 61 10 66 122 62 14 65 122 63 17 64 122 64 20 63 122 65 24 62 122 66 27 61 122 67 28 59 122 68 31 58 122 70 32 57 122 71 35 56 122 72 38 55 122 72 40 54 122 73 46 53 122 74 50 52 122 75 54 51 122 76 59 50 122 78 64 49 122 79 67 48 122 80 70 47 122 80 74 46 122 81 77 45 122 82 81 44 122 83 84 43 122 84 88 42 122 86 89 41 122 87 92 40 122 88 93 39 122 88 96 38 122 89 98 37 122 90 102 36 122 92 104 35 122 93 108 34 122 94 111 33 122 95 114 32 122 96 115 31 122 97 118 30 122 98 121 29 122 99 126 28 122 100 128 26 122 101 131 25 122 103 134 24 122 104 137 23 122 105 141 22 122 105 144 21 122 106 149 20 122 107 152 19 122 108 153 18 122 109 155 17 122 111 157 16 122 112 159 15 122 113 162 14 122 113 165 13 122 114 167 12 122 115 172 11 122 116 175 10 122 117 178 9 122 119 181 8 122 120 182 7 122 121 185 6 122 121 188 5 122 122 194 4 122 123 198 3 122 125 201 2 122 126 204 1 122 127 205 0 122 128 208 0 122 129 208 0 122 130 209 0 122 130 209 0 122 130 211 0 122 130 211 255 121 0 219 254 121 0 217 254 121 0 217 254 121 0 216 253 121 0 213 252 121 0 211 251 121 0 209 250 121 0 209 249 121 0 208 248 121 0 207 247 121 0 204 246 121 0 202 245 121 0 198 244 121 0 195 243 121 0 189 242 121 0 186 241 121 0 184 240 121 0 182 239 121 0 179 238 121 0 176 237 121 0 174 236 121 0 171 235 121 0 166 234 121 0 162 233 121 0 160 232 121 0 157 231 121 0 155 230 121 0 153 229 121 0 152 228 121 0 149 227 121 0 144 226 121 0 141 224 121 0 138 223 121 0 134 222 121 0 131 221 121 0 128 220 121 0 126 219 121 0 121 218 121 0 118 217 121 0 117 216 121 0 114 215 121 0 111 214 121 0 108 213 121 0 104 212 121 0 102 211 121 0 98 210 121 0 96 209 121 0 95 208 121 0 92 207 121 0 91 206 121 0 88 205 121 0 84 204 121 0 81 203 121 0 80 202 121 0 74 201 121 0 71 200 121 0 69 199 121 0 66 198 121 0 60 197 121 0 57 196 121 0 51 195 121 0 47 194 121 0 43 193 121 0 39 191 121 0 36 190 121 0 32 189 121 0 31 188 121 0 28 187 121 0 27 186 121 0 24 185 121 0 20 184 121 0 17 183 121 0 14 182 121 0 10 181 121 0 7 180 121 0 5 179 121 0 2 178 121 0 0 177 121 0 0 176 121 0 0 175 121 0 0 174 121 0 0 173 121 0 0 172 121 0 0 171 121 0 0 170 121 0 0 169 121 0 0 168 121 0 0 167 121 0 0 166 121 0 0 165 121 0 0 164 121 0 0 163 121 0 0 162 121 0 0 161 121 0 0 160 121 0 0 158 121 0 0 157 121 0 0 156 121 0 0 155 121 0 0 154 121 0 0 153 121 0 0 152 121 0 0 151 121 0 0 150 121 0 0 149 121 0 0 148 121 0 0 147 121 0 0 146 121 0 0 145 121 0 0 144 121 0 0 143 121 0 0 142 121 0 0 141 121 0 0 140 121 0 0 139 121 0 0 138 121 0 0 137 121 0 0 136 121 0 0 135 121 0 0 134 121 0 0 133 121 0 0 132 121 0 0 131 121 0 0 130 121 0 0 129 121 1 0 128 121 1 0 127 121 2 0 125 121 3 0 124 121 4 0 123 121 5 0 122 121 6 0 121 121 7 0 120 121 8 0 119 121 9 0 118 121 10 0 117 121 11 0 116 121 12 0 115 121 13 0 114 121 14 0 113 121 15 0 112 121 16 0 111 121 17 0 110 121 18 0 109 121 19 0 108 121 20 0 107 121 21 0 106 121 22 0 105 121 23 0 104 121 24 0 103 121 25 0 102 121 27 0 101 121 28 0 100 121 29 0 99 121 30 0 98 121 31 0 97 121 32 0 96 121 33 0 95 121 34 0 94 121 35 0 92 121 36 0 91 121 37 0 90 121 38 0 89 121 39 0 88 121 40 0 87 121 41 0 86 121 42 0 85 121 43 0 84 121 44 0 83 121 45 0 82 121 46 0 81 121 47 0 80 121 48 0 79 121 49 0 78 121 50 0 77 121 51 0 76 121 52 0 75 121 53 0 74 121 54 0 73 121 55 0 72 121 56 0 71 121 57 0 70 121 58 2 69 121 60 5 68 121 61 6 67 121 62 10 66 121 63 14 65 121 64 17 64 121 65 20 63 121 66 24 62 121 67 27 61 121 68 28 59 121 69 31 58 121 70 32 57 121 71 35 56 121 72 38 55 121 73 40 54 121 74 46 53 121 75 50 52 121 76 54 51 121 77 59 50 121 78 64 49 121 79 67 48 121 80 70 47 121 81 74 46 121 82 77 45 121 83 81 44 121 84 84 43 121 85 88 42 121 86 89 41 121 87 92 40 121 88 93 39 121 89 96 38 121 90 98 37 121 91 102 36 121 93 104 35 121 94 108 34 121 95 111 33 121 96 114 32 121 97 115 31 121 98 118 30 121 99 121 29 121 100 126 28 121 101 128 26 121 102 131 25 121 103 134 24 121 104 137 23 121 105 141 22 121 106 144 21 121 107 149 20 121 108 150 19 121 109 153 18 121 110 155 17 121 111 157 16 121 112 159 15 121 113 162 14 121 114 165 13 121 115 167 12 121 116 172 11 121 117 175 10 121 118 178 9 121 119 181 8 121 120 182 7 121 121 185 6 121 122 188 5 121 123 194 4 121 124 198 3 121 126 201 2 121 127 204 1 121 128 205 0 121 129 208 0 121 130 208 0 121 130 209 0 121 131 209 0 121 131 211 0 121 131 211 255 120 0 219 254 120 0 217 254 120 0 217 254 120 0 216 253 120 0 213 252 120 0 211 251 120 0 209 250 120 0 209 249 120 0 208 248 120 0 207 247 120 0 204 246 120 0 202 245 120 0 198 244 120 0 195 243 120 0 189 242 120 0 186 241 120 0 184 240 120 0 182 239 120 0 179 238 120 0 176 237 120 0 174 236 120 0 171 235 120 0 166 234 120 0 162 233 120 0 160 232 120 0 157 231 120 0 155 230 120 0 153 229 120 0 152 228 120 0 149 227 120 0 144 226 120 0 141 224 120 0 138 223 120 0 134 222 120 0 131 221 120 0 128 220 120 0 126 219 120 0 121 218 120 0 118 217 120 0 117 216 120 0 114 215 120 0 111 214 120 0 108 213 120 0 104 212 120 0 102 211 120 0 98 210 120 0 96 209 120 0 95 208 120 0 92 207 120 0 91 206 120 0 88 205 120 0 84 204 120 0 81 203 120 0 80 202 120 0 74 201 120 0 71 200 120 0 69 199 120 0 66 198 120 0 60 197 120 0 57 196 120 0 51 195 120 0 47 194 120 0 43 193 120 0 39 191 120 0 36 190 120 0 32 189 120 0 31 188 120 0 28 187 120 0 27 186 120 0 24 185 120 0 20 184 120 0 17 183 120 0 14 182 120 0 10 181 120 0 7 180 120 0 5 179 120 0 2 178 120 0 0 177 120 0 0 176 120 0 0 175 120 0 0 174 120 0 0 173 120 0 0 172 120 0 0 171 120 0 0 170 120 0 0 169 120 0 0 168 120 0 0 167 120 0 0 166 120 0 0 165 120 0 0 164 120 0 0 163 120 0 0 162 120 0 0 161 120 0 0 160 120 0 0 158 120 0 0 157 120 0 0 156 120 0 0 155 120 0 0 154 120 0 0 153 120 0 0 152 120 0 0 151 120 0 0 150 120 0 0 149 120 0 0 148 120 0 0 147 120 0 0 146 120 0 0 145 120 0 0 144 120 0 0 143 120 0 0 142 120 0 0 141 120 0 0 140 120 0 0 139 120 0 0 138 120 0 0 137 120 0 0 136 120 0 0 135 120 0 0 134 120 0 0 133 120 0 0 132 120 0 0 131 120 0 0 130 120 1 0 129 120 1 0 128 120 2 0 127 120 3 0 125 120 4 0 124 120 5 0 123 120 6 0 122 120 7 0 121 120 8 0 120 120 9 0 119 120 10 0 118 120 11 0 117 120 12 0 116 120 13 0 115 120 14 0 114 120 15 0 113 120 16 0 112 120 17 0 111 120 18 0 110 120 19 0 109 120 20 0 108 120 21 0 107 120 22 0 106 120 23 0 105 120 24 0 104 120 25 0 103 120 26 0 102 120 28 0 101 120 29 0 100 120 30 0 99 120 31 0 98 120 32 0 97 120 33 0 96 120 34 0 95 120 35 0 94 120 36 0 92 120 37 0 91 120 38 0 90 120 39 0 89 120 40 0 88 120 41 0 87 120 42 0 86 120 43 0 85 120 44 0 84 120 45 0 83 120 46 0 82 120 47 0 81 120 48 0 80 120 49 0 79 120 50 0 78 120 51 0 77 120 52 0 76 120 53 0 75 120 54 0 74 120 55 0 73 120 56 0 72 120 57 0 71 120 58 0 70 120 59 2 69 120 61 5 68 120 62 6 67 120 63 10 66 120 64 14 65 120 65 17 64 120 66 20 63 120 67 24 62 120 68 27 61 120 69 28 59 120 70 31 58 120 71 32 57 120 72 35 56 120 73 38 55 120 74 40 54 120 75 46 53 120 76 50 52 120 77 54 51 120 78 59 50 120 79 64 49 120 80 67 48 120 81 70 47 120 82 74 46 120 83 77 45 120 84 81 44 120 85 84 43 120 86 88 42 120 87 89 41 120 88 92 40 120 89 93 39 120 90 96 38 120 91 98 37 120 92 102 36 120 94 104 35 120 95 108 34 120 96 111 33 120 97 114 32 120 98 115 31 120 99 118 30 120 100 121 29 120 101 126 28 120 102 128 26 120 103 131 25 120 104 134 24 120 105 137 23 120 106 141 22 120 107 144 21 120 108 149 20 120 109 150 19 120 110 153 18 120 111 155 17 120 112 157 16 120 113 159 15 120 114 162 14 120 115 165 13 120 116 167 12 120 117 172 11 120 118 175 10 120 119 178 9 120 120 181 8 120 121 182 7 120 122 185 6 120 123 188 5 120 124 194 4 120 125 198 3 120 127 201 2 120 128 204 1 120 129 205 0 120 130 208 0 120 131 208 0 120 131 209 0 120 132 209 0 120 132 211 0 120 132 211 255 119 0 219 254 119 0 217 254 119 0 217 254 119 0 216 253 119 0 213 252 119 0 211 251 119 0 209 250 119 0 209 249 119 0 208 248 119 0 207 247 119 0 204 246 119 0 202 245 119 0 198 244 119 0 195 243 119 0 189 242 119 0 186 241 119 0 184 240 119 0 182 239 119 0 179 238 119 0 176 237 119 0 174 236 119 0 171 235 119 0 166 234 119 0 163 233 119 0 160 232 119 0 157 231 119 0 156 230 119 0 153 229 119 0 152 228 119 0 149 227 119 0 144 226 119 0 141 224 119 0 138 223 119 0 134 222 119 0 131 221 119 0 128 220 119 0 126 219 119 0 121 218 119 0 118 217 119 0 117 216 119 0 114 215 119 0 111 214 119 0 108 213 119 0 104 212 119 0 102 211 119 0 98 210 119 0 96 209 119 0 95 208 119 0 92 207 119 0 91 206 119 0 88 205 119 0 84 204 119 0 81 203 119 0 80 202 119 0 74 201 119 0 71 200 119 0 69 199 119 0 66 198 119 0 60 197 119 0 57 196 119 0 51 195 119 0 47 194 119 0 43 193 119 0 39 191 119 0 36 190 119 0 32 189 119 0 31 188 119 0 28 187 119 0 27 186 119 0 24 185 119 0 20 184 119 0 17 183 119 0 14 182 119 0 10 181 119 0 7 180 119 0 5 179 119 0 2 178 119 0 0 177 119 0 0 176 119 0 0 175 119 0 0 174 119 0 0 173 119 0 0 172 119 0 0 171 119 0 0 170 119 0 0 169 119 0 0 168 119 0 0 167 119 0 0 166 119 0 0 165 119 0 0 164 119 0 0 163 119 0 0 162 119 0 0 161 119 0 0 160 119 0 0 158 119 0 0 157 119 0 0 156 119 0 0 155 119 0 0 154 119 0 0 153 119 0 0 152 119 0 0 151 119 0 0 150 119 0 0 149 119 0 0 148 119 0 0 147 119 0 0 146 119 0 0 145 119 0 0 144 119 0 0 143 119 0 0 142 119 0 0 141 119 0 0 140 119 0 0 139 119 0 0 138 119 0 0 137 119 0 0 136 119 0 0 135 119 0 0 134 119 0 0 133 119 0 0 132 119 0 0 131 119 1 0 130 119 1 0 129 119 2 0 128 119 3 0 127 119 4 0 125 119 5 0 124 119 6 0 123 119 7 0 122 119 8 0 121 119 9 0 120 119 10 0 119 119 11 0 118 119 12 0 117 119 13 0 116 119 14 0 115 119 15 0 114 119 16 0 113 119 17 0 112 119 18 0 111 119 19 0 110 119 20 0 109 119 21 0 108 119 22 0 107 119 23 0 106 119 24 0 105 119 25 0 104 119 26 0 103 119 27 0 102 119 29 0 101 119 30 0 100 119 31 0 99 119 32 0 98 119 33 0 97 119 34 0 96 119 35 0 95 119 36 0 94 119 37 0 92 119 38 0 91 119 39 0 90 119 40 0 89 119 41 0 88 119 42 0 87 119 43 0 86 119 44 0 85 119 45 0 84 119 46 0 83 119 47 0 82 119 48 0 81 119 49 0 80 119 50 0 79 119 51 0 78 119 52 0 77 119 53 0 76 119 54 0 75 119 55 0 74 119 56 0 73 119 57 0 72 119 58 0 71 119 59 0 70 119 60 2 69 119 62 5 68 119 63 6 67 119 64 10 66 119 65 14 65 119 66 17 64 119 67 20 63 119 68 24 62 119 69 27 61 119 70 28 59 119 71 31 58 119 72 32 57 119 73 35 56 119 74 38 55 119 75 43 54 119 76 46 53 119 77 50 52 119 78 54 51 119 79 59 50 119 80 64 49 119 81 67 48 119 82 70 47 119 83 74 46 119 84 77 45 119 85 81 44 119 86 84 43 119 87 88 42 119 88 89 41 119 89 92 40 119 90 93 39 119 91 96 38 119 92 98 37 119 93 102 36 119 95 104 35 119 96 108 34 119 97 111 33 119 98 114 32 119 99 115 31 119 100 118 30 119 101 121 29 119 102 126 28 119 103 128 26 119 104 131 25 119 105 134 24 119 106 137 23 119 107 141 22 119 108 144 21 119 109 149 20 119 110 152 19 119 111 153 18 119 112 155 17 119 113 157 16 119 114 160 15 119 115 162 14 119 116 165 13 119 117 167 12 119 118 172 11 119 119 175 10 119 120 178 9 119 121 181 8 119 122 182 7 119 123 185 6 119 124 188 5 119 125 194 4 119 126 198 3 119 128 201 2 119 129 204 1 119 130 205 0 119 131 208 0 119 132 208 0 119 132 209 0 119 132 209 0 119 133 211 0 119 133 211 255 118 0 219 254 118 0 217 254 118 0 217 254 118 0 216 253 118 0 213 252 118 0 211 251 118 0 209 250 118 0 209 249 118 0 208 248 118 0 207 247 118 0 204 246 118 0 202 245 118 0 198 244 118 0 195 243 118 0 189 242 118 0 186 241 118 0 184 240 118 0 182 239 118 0 179 238 118 0 176 237 118 0 174 236 118 0 171 235 118 0 166 234 118 0 163 233 118 0 160 232 118 0 159 231 118 0 156 230 118 0 155 229 118 0 152 228 118 0 150 227 118 0 144 226 118 0 141 224 118 0 138 223 118 0 134 222 118 0 131 221 118 0 128 220 118 0 126 219 118 0 121 218 118 0 118 217 118 0 117 216 118 0 114 215 118 0 111 214 118 0 108 213 118 0 104 212 118 0 102 211 118 0 98 210 118 0 96 209 118 0 95 208 118 0 92 207 118 0 91 206 118 0 88 205 118 0 84 204 118 0 81 203 118 0 80 202 118 0 74 201 118 0 71 200 118 0 69 199 118 0 66 198 118 0 60 197 118 0 57 196 118 0 51 195 118 0 47 194 118 0 44 193 118 0 39 191 118 0 36 190 118 0 32 189 118 0 31 188 118 0 28 187 118 0 27 186 118 0 24 185 118 0 20 184 118 0 17 183 118 0 14 182 118 0 10 181 118 0 7 180 118 0 5 179 118 0 2 178 118 0 0 177 118 0 0 176 118 0 0 175 118 0 0 174 118 0 0 173 118 0 0 172 118 0 0 171 118 0 0 170 118 0 0 169 118 0 0 168 118 0 0 167 118 0 0 166 118 0 0 165 118 0 0 164 118 0 0 163 118 0 0 162 118 0 0 161 118 0 0 160 118 0 0 158 118 0 0 157 118 0 0 156 118 0 0 155 118 0 0 154 118 0 0 153 118 0 0 152 118 0 0 151 118 0 0 150 118 0 0 149 118 0 0 148 118 0 0 147 118 0 0 146 118 0 0 145 118 0 0 144 118 0 0 143 118 0 0 142 118 0 0 141 118 0 0 140 118 0 0 139 118 0 0 138 118 0 0 137 118 0 0 136 118 0 0 135 118 0 0 134 118 0 0 133 118 1 0 132 118 1 0 131 118 2 0 130 118 2 0 129 118 3 0 128 118 4 0 127 118 5 0 125 118 6 0 124 118 7 0 123 118 8 0 122 118 9 0 121 118 10 0 120 118 11 0 119 118 12 0 118 118 13 0 117 118 14 0 116 118 15 0 115 118 16 0 114 118 17 0 113 118 18 0 112 118 19 0 111 118 20 0 110 118 21 0 109 118 22 0 108 118 24 0 107 118 25 0 106 118 26 0 105 118 27 0 104 118 28 0 103 118 29 0 102 118 30 0 101 118 31 0 100 118 32 0 99 118 33 0 98 118 34 0 97 118 35 0 96 118 36 0 95 118 37 0 94 118 38 0 92 118 39 0 91 118 40 0 90 118 41 0 89 118 42 0 88 118 43 0 87 118 44 0 86 118 45 0 85 118 46 0 84 118 47 0 83 118 48 0 82 118 49 0 81 118 50 0 80 118 51 0 79 118 52 0 78 118 53 0 77 118 54 0 76 118 55 0 75 118 57 0 74 118 58 0 73 118 59 0 72 118 60 0 71 118 61 0 70 118 62 2 69 118 63 5 68 118 64 6 67 118 65 10 66 118 66 14 65 118 67 17 64 118 68 20 63 118 69 24 62 118 70 27 61 118 71 28 59 118 72 31 58 118 73 32 57 118 74 36 56 118 75 39 55 118 76 43 54 118 77 46 53 118 78 50 52 118 79 54 51 118 80 60 50 118 81 64 49 118 82 67 48 118 83 70 47 118 84 74 46 118 85 77 45 118 86 81 44 118 87 84 43 118 88 88 42 118 90 89 41 118 91 92 40 118 92 93 39 118 93 96 38 118 94 98 37 118 95 102 36 118 96 104 35 118 97 108 34 118 98 111 33 118 99 114 32 118 100 115 31 118 101 118 30 118 102 121 29 118 103 126 28 118 104 128 26 118 105 131 25 118 106 134 24 118 107 137 23 118 108 141 22 118 109 144 21 118 110 149 20 118 111 152 19 118 112 155 18 118 113 156 17 118 114 157 16 118 115 160 15 118 116 163 14 118 117 166 13 118 118 171 12 118 119 174 11 118 120 175 10 118 121 178 9 118 123 181 8 118 124 182 7 118 125 185 6 118 126 188 5 118 127 194 4 118 128 198 3 118 129 201 2 118 130 204 1 118 131 205 0 118 132 208 0 118 133 208 0 118 133 209 0 118 134 209 0 118 134 211 0 118 134 211 255 117 0 219 254 117 0 217 254 117 0 217 254 117 0 216 253 117 0 213 252 117 0 211 251 117 0 209 250 117 0 209 249 117 0 208 248 117 0 207 247 117 0 204 246 117 0 202 245 117 0 198 244 117 0 195 243 117 0 189 242 117 0 186 241 117 0 184 240 117 0 182 239 117 0 179 238 117 0 176 237 117 0 174 236 117 0 172 235 117 0 167 234 117 0 165 233 117 0 162 232 117 0 159 231 117 0 157 230 117 0 155 229 117 0 153 228 117 0 150 227 117 0 145 226 117 0 143 224 117 0 138 223 117 0 135 222 117 0 131 221 117 0 128 220 117 0 126 219 117 0 121 218 117 0 118 217 117 0 117 216 117 0 114 215 117 0 111 214 117 0 108 213 117 0 104 212 117 0 102 211 117 0 98 210 117 0 96 209 117 0 95 208 117 0 92 207 117 0 91 206 117 0 88 205 117 0 84 204 117 0 81 203 117 0 80 202 117 0 74 201 117 0 71 200 117 0 69 199 117 0 66 198 117 0 60 197 117 0 57 196 117 0 53 195 117 0 49 194 117 0 44 193 117 0 40 191 117 0 36 190 117 0 35 189 117 0 31 188 117 0 28 187 117 0 27 186 117 0 24 185 117 0 20 184 117 0 17 183 117 0 14 182 117 0 10 181 117 0 7 180 117 0 5 179 117 0 2 178 117 0 0 177 117 0 0 176 117 0 0 175 117 0 0 174 117 0 0 173 117 0 0 172 117 0 0 171 117 0 0 170 117 0 0 169 117 0 0 168 117 0 0 167 117 0 0 166 117 0 0 165 117 0 0 164 117 0 0 163 117 0 0 162 117 0 0 161 117 0 0 160 117 0 0 158 117 0 0 157 117 0 0 156 117 0 0 155 117 0 0 154 117 0 0 153 117 0 0 152 117 0 0 151 117 0 0 150 117 0 0 149 117 0 0 148 117 0 0 147 117 0 0 146 117 0 0 145 117 0 0 144 117 0 0 143 117 0 0 142 117 0 0 141 117 0 0 140 117 0 0 139 117 0 0 138 117 0 0 137 117 0 0 136 117 0 0 135 117 0 0 134 117 1 0 133 117 2 0 132 117 2 0 131 117 3 0 130 117 3 0 129 117 4 0 128 117 5 0 127 117 6 0 125 117 7 0 124 117 9 0 123 117 10 0 122 117 10 0 121 117 11 0 120 117 12 0 119 117 13 0 118 117 14 0 117 117 15 0 116 117 17 0 115 117 18 0 114 117 18 0 113 117 19 0 112 117 20 0 111 117 21 0 110 117 22 0 109 117 24 0 108 117 25 0 107 117 26 0 106 117 27 0 105 117 28 0 104 117 29 0 103 117 30 0 102 117 31 0 101 117 32 0 100 117 34 0 99 117 35 0 98 117 35 0 97 117 36 0 96 117 37 0 95 117 38 0 94 117 39 0 92 117 40 0 91 117 42 0 90 117 43 0 89 117 43 0 88 117 44 0 87 117 45 0 86 117 46 0 85 117 47 0 84 117 48 0 83 117 50 0 82 117 51 0 81 117 51 0 80 117 52 0 79 117 53 0 78 117 54 0 77 117 55 0 76 117 57 0 75 117 58 0 74 117 59 0 73 117 60 0 72 117 61 0 71 117 62 0 70 117 63 2 69 117 64 5 68 117 65 6 67 117 67 10 66 117 68 14 65 117 68 17 64 117 69 20 63 117 70 24 62 117 71 27 61 117 72 28 59 117 73 31 58 117 75 32 57 117 76 36 56 117 76 39 55 117 77 44 54 117 78 47 53 117 79 51 52 117 80 57 51 117 81 60 50 117 83 64 49 117 84 67 48 117 84 70 47 117 85 74 46 117 86 77 45 117 87 81 44 117 88 84 43 117 90 88 42 117 91 89 41 117 92 92 40 117 93 93 39 117 94 96 38 117 95 98 37 117 96 102 36 117 97 104 35 117 98 108 34 117 100 111 33 117 101 114 32 117 101 115 31 117 102 118 30 117 103 121 29 117 104 126 28 117 105 128 26 117 106 131 25 117 108 134 24 117 109 137 23 117 109 141 22 117 110 145 21 117 111 150 20 117 112 152 19 117 113 155 18 117 114 157 17 117 116 159 16 117 117 162 15 117 117 163 14 117 118 166 13 117 119 171 12 117 120 174 11 117 121 176 10 117 123 178 9 117 124 181 8 117 125 182 7 117 126 185 6 117 127 188 5 117 128 194 4 117 129 198 3 117 130 201 2 117 131 204 1 117 133 205 0 117 133 208 0 117 134 208 0 117 135 209 0 117 135 209 0 117 135 211 0 117 135 211 255 116 0 219 254 116 0 217 254 116 0 217 254 116 0 216 253 116 0 213 252 116 0 211 251 116 0 209 250 116 0 209 249 116 0 208 248 116 0 207 247 116 0 204 246 116 0 202 245 116 0 198 244 116 0 195 243 116 0 189 242 116 0 186 241 116 0 184 240 116 0 182 239 116 0 179 238 116 0 176 237 116 0 175 236 116 0 172 235 116 0 167 234 116 0 166 233 116 0 163 232 116 0 160 231 116 0 159 230 116 0 156 229 116 0 155 228 116 0 152 227 116 0 149 226 116 0 143 224 116 0 138 223 116 0 135 222 116 0 133 221 116 0 128 220 116 0 126 219 116 0 121 218 116 0 118 217 116 0 117 216 116 0 114 215 116 0 111 214 116 0 108 213 116 0 104 212 116 0 102 211 116 0 98 210 116 0 96 209 116 0 95 208 116 0 92 207 116 0 91 206 116 0 88 205 116 0 84 204 116 0 81 203 116 0 80 202 116 0 74 201 116 0 71 200 116 0 69 199 116 0 66 198 116 0 62 197 116 0 59 196 116 0 53 195 116 0 49 194 116 0 46 193 116 0 43 191 116 0 38 190 116 0 35 189 116 0 31 188 116 0 28 187 116 0 27 186 116 0 24 185 116 0 20 184 116 0 17 183 116 0 14 182 116 0 10 181 116 0 7 180 116 0 5 179 116 0 2 178 116 0 0 177 116 0 0 176 116 0 0 175 116 0 0 174 116 0 0 173 116 0 0 172 116 0 0 171 116 0 0 170 116 0 0 169 116 0 0 168 116 0 0 167 116 0 0 166 116 0 0 165 116 0 0 164 116 0 0 163 116 0 0 162 116 0 0 161 116 0 0 160 116 0 0 158 116 0 0 157 116 0 0 156 116 0 0 155 116 0 0 154 116 0 0 153 116 0 0 152 116 0 0 151 116 0 0 150 116 0 0 149 116 0 0 148 116 0 0 147 116 0 0 146 116 0 0 145 116 0 0 144 116 0 0 143 116 0 0 142 116 0 0 141 116 0 0 140 116 0 0 139 116 0 0 138 116 0 0 137 116 0 0 136 116 0 0 135 116 1 0 134 116 2 0 133 116 2 0 132 116 3 0 131 116 4 0 130 116 4 0 129 116 5 0 128 116 6 0 127 116 7 0 125 116 9 0 124 116 10 0 123 116 11 0 122 116 12 0 121 116 12 0 120 116 13 0 119 116 14 0 118 116 15 0 117 116 17 0 116 116 18 0 115 116 19 0 114 116 20 0 113 116 20 0 112 116 21 0 111 116 22 0 110 116 24 0 109 116 25 0 108 116 26 0 107 116 27 0 106 116 28 0 105 116 29 0 104 116 30 0 103 116 31 0 102 116 32 0 101 116 34 0 100 116 35 0 99 116 36 0 98 116 37 0 97 116 37 0 96 116 38 0 95 116 39 0 94 116 40 0 92 116 42 0 91 116 43 0 90 116 44 0 89 116 45 0 88 116 45 0 87 116 46 0 86 116 47 0 85 116 48 0 84 116 50 0 83 116 51 0 82 116 52 0 81 116 53 0 80 116 53 0 79 116 54 0 78 116 55 0 77 116 57 0 76 116 58 0 75 116 59 0 74 116 60 0 73 116 61 0 72 116 62 0 71 116 63 0 70 116 64 2 69 116 65 5 68 116 67 6 67 116 68 10 66 116 69 14 65 116 70 17 64 116 70 20 63 116 71 24 62 116 72 27 61 116 73 28 59 116 75 31 58 116 76 35 57 116 77 36 56 116 78 40 55 116 78 44 54 116 79 49 53 116 80 51 52 116 81 57 51 116 83 60 50 116 84 64 49 116 85 67 48 116 86 70 47 116 86 74 46 116 87 77 45 116 88 81 44 116 90 84 43 116 91 88 42 116 92 89 41 116 93 92 40 116 94 93 39 116 95 96 38 116 96 98 37 116 97 102 36 116 98 104 35 116 100 108 34 116 101 111 33 116 102 114 32 116 103 115 31 116 103 118 30 116 104 121 29 116 105 126 28 116 106 128 26 116 108 131 25 116 109 134 24 116 110 138 23 116 111 141 22 116 111 145 21 116 112 150 20 116 113 153 19 116 114 156 18 116 116 157 17 116 117 160 16 116 118 163 15 116 119 165 14 116 119 167 13 116 120 172 12 116 121 174 11 116 123 176 10 116 124 178 9 116 125 181 8 116 126 182 7 116 127 185 6 116 128 188 5 116 129 194 4 116 130 198 3 116 131 201 2 116 133 204 1 116 134 205 0 116 135 208 0 116 135 208 0 116 136 209 0 116 136 209 0 116 136 211 0 116 136 211 255 115 0 219 254 115 0 217 254 115 0 217 254 115 0 216 253 115 0 213 252 115 0 211 251 115 0 209 250 115 0 209 249 115 0 208 248 115 0 207 247 115 0 204 246 115 0 202 245 115 0 198 244 115 0 195 243 115 0 189 242 115 0 186 241 115 0 184 240 115 0 182 239 115 0 179 238 115 0 176 237 115 0 175 236 115 0 174 235 115 0 171 234 115 0 167 233 115 0 165 232 115 0 162 231 115 0 160 230 115 0 157 229 115 0 155 228 115 0 152 227 115 0 149 226 115 0 144 224 115 0 140 223 115 0 135 222 115 0 133 221 115 0 128 220 115 0 126 219 115 0 121 218 115 0 118 217 115 0 117 216 115 0 114 215 115 0 111 214 115 0 108 213 115 0 104 212 115 0 102 211 115 0 98 210 115 0 96 209 115 0 95 208 115 0 92 207 115 0 91 206 115 0 88 205 115 0 84 204 115 0 81 203 115 0 80 202 115 0 74 201 115 0 71 200 115 0 69 199 115 0 66 198 115 0 62 197 115 0 59 196 115 0 54 195 115 0 50 194 115 0 47 193 115 0 43 191 115 0 38 190 115 0 35 189 115 0 31 188 115 0 28 187 115 0 27 186 115 0 24 185 115 0 20 184 115 0 17 183 115 0 14 182 115 0 10 181 115 0 7 180 115 0 5 179 115 0 2 178 115 0 0 177 115 0 0 176 115 0 0 175 115 0 0 174 115 0 0 173 115 0 0 172 115 0 0 171 115 0 0 170 115 0 0 169 115 0 0 168 115 0 0 167 115 0 0 166 115 0 0 165 115 0 0 164 115 0 0 163 115 0 0 162 115 0 0 161 115 0 0 160 115 0 0 158 115 0 0 157 115 0 0 156 115 0 0 155 115 0 0 154 115 0 0 153 115 0 0 152 115 0 0 151 115 0 0 150 115 0 0 149 115 0 0 148 115 0 0 147 115 0 0 146 115 0 0 145 115 0 0 144 115 0 0 143 115 0 0 142 115 0 0 141 115 0 0 140 115 0 0 139 115 0 0 138 115 0 0 137 115 0 0 136 115 0 0 135 115 1 0 134 115 2 0 133 115 3 0 132 115 4 0 131 115 5 0 130 115 5 0 129 115 6 0 128 115 7 0 127 115 8 0 125 115 10 0 124 115 11 0 123 115 12 0 122 115 13 0 121 115 13 0 120 115 14 0 119 115 15 0 118 115 16 0 117 115 18 0 116 115 19 0 115 115 20 0 114 115 21 0 113 115 21 0 112 115 22 0 111 115 23 0 110 115 25 0 109 115 26 0 108 115 27 0 107 115 28 0 106 115 29 0 105 115 30 0 104 115 31 0 103 115 32 0 102 115 33 0 101 115 35 0 100 115 36 0 99 115 37 0 98 115 38 0 97 115 38 0 96 115 39 0 95 115 40 0 94 115 41 0 92 115 43 0 91 115 44 0 90 115 45 0 89 115 46 0 88 115 46 0 87 115 47 0 86 115 48 0 85 115 49 0 84 115 51 0 83 115 52 0 82 115 53 0 81 115 54 0 80 115 54 0 79 115 55 0 78 115 56 0 77 115 58 0 76 115 59 0 75 115 60 0 74 115 61 0 73 115 62 0 72 115 63 0 71 115 64 0 70 115 65 2 69 115 66 5 68 115 68 6 67 115 69 10 66 115 70 14 65 115 71 17 64 115 71 20 63 115 72 24 62 115 73 27 61 115 74 28 59 115 76 31 58 115 77 35 57 115 78 38 56 115 79 43 55 115 79 46 54 115 80 50 53 115 81 53 52 115 82 57 51 115 84 60 50 115 85 64 49 115 86 67 48 115 87 70 47 115 87 74 46 115 88 77 45 115 89 81 44 115 91 84 43 115 92 88 42 115 93 89 41 115 94 92 40 115 95 93 39 115 96 96 38 115 97 98 37 115 98 102 36 115 99 104 35 115 101 108 34 115 102 111 33 115 103 114 32 115 104 115 31 115 104 118 30 115 105 121 29 115 106 126 28 115 107 128 26 115 109 131 25 115 110 135 24 115 111 138 23 115 112 143 22 115 112 149 21 115 113 152 20 115 114 155 19 115 115 157 18 115 117 159 17 115 118 162 16 115 119 165 15 115 120 166 14 115 120 171 13 115 121 172 12 115 122 175 11 115 124 176 10 115 125 179 9 115 126 181 8 115 127 182 7 115 128 185 6 115 129 188 5 115 130 194 4 115 131 198 3 115 132 201 2 115 134 204 1 115 135 205 0 115 136 208 0 115 136 208 0 115 137 209 0 115 137 209 0 115 137 211 0 115 137 211 255 114 0 219 254 114 0 217 254 114 0 217 254 114 0 216 253 114 0 213 252 114 0 211 251 114 0 209 250 114 0 209 249 114 0 208 248 114 0 207 247 114 0 204 246 114 0 202 245 114 0 198 244 114 0 195 243 114 0 189 242 114 0 186 241 114 0 184 240 114 0 182 239 114 0 179 238 114 0 176 237 114 0 175 236 114 0 174 235 114 0 172 234 114 0 171 233 114 0 166 232 114 0 163 231 114 0 160 230 114 0 159 229 114 0 156 228 114 0 153 227 114 0 150 226 114 0 144 224 114 0 140 223 114 0 135 222 114 0 133 221 114 0 128 220 114 0 126 219 114 0 121 218 114 0 118 217 114 0 117 216 114 0 114 215 114 0 111 214 114 0 108 213 114 0 104 212 114 0 102 211 114 0 98 210 114 0 96 209 114 0 95 208 114 0 92 207 114 0 91 206 114 0 88 205 114 0 84 204 114 0 81 203 114 0 80 202 114 0 74 201 114 0 71 200 114 0 69 199 114 0 66 198 114 0 62 197 114 0 59 196 114 0 54 195 114 0 51 194 114 0 47 193 114 0 44 191 114 0 39 190 114 0 36 189 114 0 31 188 114 0 28 187 114 0 27 186 114 0 24 185 114 0 20 184 114 0 17 183 114 0 14 182 114 0 10 181 114 0 7 180 114 0 5 179 114 0 2 178 114 0 0 177 114 0 0 176 114 0 0 175 114 0 0 174 114 0 0 173 114 0 0 172 114 0 0 171 114 0 0 170 114 0 0 169 114 0 0 168 114 0 0 167 114 0 0 166 114 0 0 165 114 0 0 164 114 0 0 163 114 0 0 162 114 0 0 161 114 0 0 160 114 0 0 158 114 0 0 157 114 0 0 156 114 0 0 155 114 0 0 154 114 0 0 153 114 0 0 152 114 0 0 151 114 0 0 150 114 0 0 149 114 0 0 148 114 0 0 147 114 0 0 146 114 0 0 145 114 0 0 144 114 0 0 143 114 0 0 142 114 0 0 141 114 0 0 140 114 0 0 139 114 0 0 138 114 0 0 137 114 0 0 136 114 1 0 135 114 2 0 134 114 3 0 133 114 4 0 132 114 5 0 131 114 6 0 130 114 6 0 129 114 7 0 128 114 8 0 127 114 9 0 125 114 10 0 124 114 12 0 123 114 13 0 122 114 14 0 121 114 14 0 120 114 15 0 119 114 16 0 118 114 17 0 117 114 18 0 116 114 20 0 115 114 21 0 114 114 22 0 113 114 22 0 112 114 23 0 111 114 24 0 110 114 26 0 109 114 27 0 108 114 28 0 107 114 29 0 106 114 30 0 105 114 31 0 104 114 32 0 103 114 33 0 102 114 34 0 101 114 35 0 100 114 37 0 99 114 38 0 98 114 39 0 97 114 39 0 96 114 40 0 95 114 41 0 94 114 42 0 92 114 43 0 91 114 45 0 90 114 46 0 89 114 47 0 88 114 47 0 87 114 48 0 86 114 49 0 85 114 50 0 84 114 51 0 83 114 53 0 82 114 54 0 81 114 55 0 80 114 55 0 79 114 56 0 78 114 57 0 77 114 59 0 76 114 60 0 75 114 61 0 74 114 62 0 73 114 63 0 72 114 64 0 71 114 65 0 70 114 66 2 69 114 67 5 68 114 68 6 67 114 70 10 66 114 71 14 65 114 72 17 64 114 72 20 63 114 73 24 62 114 74 27 61 114 75 28 59 114 76 31 58 114 78 35 57 114 79 38 56 114 80 43 55 114 80 47 54 114 81 50 53 114 82 54 52 114 83 59 51 114 84 62 50 114 86 64 49 114 87 67 48 114 88 70 47 114 88 74 46 114 89 77 45 114 90 81 44 114 92 84 43 114 93 88 42 114 94 89 41 114 95 92 40 114 96 93 39 114 97 96 38 114 98 98 37 114 99 102 36 114 100 104 35 114 101 108 34 114 103 111 33 114 104 114 32 114 105 115 31 114 105 118 30 114 106 121 29 114 107 126 28 114 108 128 26 114 109 133 25 114 111 135 24 114 112 138 23 114 113 143 22 114 113 149 21 114 114 152 20 114 115 156 19 114 116 159 18 114 117 160 17 114 119 163 16 114 120 166 15 114 121 167 14 114 121 172 13 114 122 174 12 114 123 175 11 114 125 176 10 114 126 179 9 114 127 181 8 114 128 182 7 114 129 185 6 114 130 188 5 114 131 194 4 114 132 198 3 114 133 201 2 114 134 204 1 114 136 205 0 114 136 208 0 114 137 208 0 114 138 209 0 114 138 209 0 114 138 211 0 114 138 211 255 113 0 219 254 113 0 217 254 113 0 217 254 113 0 216 253 113 0 213 252 113 0 211 251 113 0 209 250 113 0 209 249 113 0 208 248 113 0 207 247 113 0 204 246 113 0 202 245 113 0 198 244 113 0 195 243 113 0 189 242 113 0 186 241 113 0 184 240 113 0 182 239 113 0 179 238 113 0 178 237 113 0 175 236 113 0 175 235 113 0 172 234 113 0 171 233 113 0 167 232 113 0 165 231 113 0 162 230 113 0 159 229 113 0 156 228 113 0 153 227 113 0 150 226 113 0 145 224 113 0 140 223 113 0 137 222 113 0 133 221 113 0 130 220 113 0 126 219 113 0 121 218 113 0 118 217 113 0 117 216 113 0 114 215 113 0 111 214 113 0 108 213 113 0 104 212 113 0 102 211 113 0 98 210 113 0 96 209 113 0 95 208 113 0 92 207 113 0 91 206 113 0 88 205 113 0 84 204 113 0 81 203 113 0 80 202 113 0 74 201 113 0 71 200 113 0 69 199 113 0 66 198 113 0 62 197 113 0 59 196 113 0 54 195 113 0 51 194 113 0 49 193 113 0 44 191 113 0 39 190 113 0 36 189 113 0 32 188 113 0 29 187 113 0 27 186 113 0 24 185 113 0 20 184 113 0 17 183 113 0 14 182 113 0 10 181 113 0 7 180 113 0 5 179 113 0 2 178 113 0 0 177 113 0 0 176 113 0 0 175 113 0 0 174 113 0 0 173 113 0 0 172 113 0 0 171 113 0 0 170 113 0 0 169 113 0 0 168 113 0 0 167 113 0 0 166 113 0 0 165 113 0 0 164 113 0 0 163 113 0 0 162 113 0 0 161 113 0 0 160 113 0 0 158 113 0 0 157 113 0 0 156 113 0 0 155 113 0 0 154 113 0 0 153 113 0 0 152 113 0 0 151 113 0 0 150 113 0 0 149 113 0 0 148 113 0 0 147 113 0 0 146 113 0 0 145 113 0 0 144 113 0 0 143 113 0 0 142 113 0 0 141 113 0 0 140 113 0 0 139 113 0 0 138 113 0 0 137 113 1 0 136 113 1 0 135 113 2 0 134 113 3 0 133 113 4 0 132 113 5 0 131 113 6 0 130 113 7 0 129 113 8 0 128 113 9 0 127 113 10 0 125 113 11 0 124 113 12 0 123 113 13 0 122 113 14 0 121 113 15 0 120 113 16 0 119 113 17 0 118 113 18 0 117 113 19 0 116 113 20 0 115 113 21 0 114 113 22 0 113 113 23 0 112 113 24 0 111 113 25 0 110 113 27 0 109 113 28 0 108 113 29 0 107 113 30 0 106 113 31 0 105 113 32 0 104 113 33 0 103 113 34 0 102 113 35 0 101 113 36 0 100 113 37 0 99 113 38 0 98 113 39 0 97 113 40 0 96 113 41 0 95 113 42 0 94 113 43 0 92 113 44 0 91 113 45 0 90 113 46 0 89 113 47 0 88 113 48 0 87 113 49 0 86 113 50 0 85 113 51 0 84 113 52 0 83 113 53 0 82 113 54 0 81 113 55 0 80 113 56 0 79 113 57 0 78 113 58 0 77 113 60 0 76 113 61 0 75 113 62 0 74 113 63 0 73 113 64 0 72 113 65 0 71 113 66 0 70 113 67 2 69 113 68 5 68 113 69 7 67 113 70 10 66 113 71 14 65 113 72 17 64 113 73 20 63 113 74 24 62 113 75 27 61 113 76 28 59 113 77 31 58 113 78 35 57 113 79 39 56 113 80 44 55 113 81 47 54 113 82 51 53 113 83 54 52 113 84 59 51 113 85 62 50 113 86 66 49 113 87 67 48 113 88 70 47 113 89 74 46 113 90 77 45 113 91 81 44 113 93 84 43 113 94 88 42 113 95 89 41 113 96 92 40 113 97 93 39 113 98 96 38 113 99 98 37 113 100 102 36 113 101 104 35 113 102 108 34 113 103 111 33 113 104 114 32 113 105 115 31 113 106 118 30 113 107 121 29 113 108 126 28 113 109 128 26 113 110 133 25 113 111 135 24 113 112 140 23 113 113 144 22 113 114 149 21 113 115 153 20 113 116 156 19 113 117 159 18 113 118 162 17 113 119 165 16 113 120 167 15 113 121 171 14 113 122 172 13 113 123 174 12 113 124 175 11 113 126 176 10 113 127 179 9 113 128 181 8 113 129 182 7 113 130 185 6 113 131 188 5 113 132 194 4 113 133 198 3 113 134 201 2 113 135 204 1 113 136 205 0 113 137 208 0 113 138 208 0 113 138 209 0 113 139 209 0 113 139 211 0 113 139 211 255 112 0 219 254 112 0 217 254 112 0 217 254 112 0 216 253 112 0 213 252 112 0 211 251 112 0 209 250 112 0 209 249 112 0 208 248 112 0 207 247 112 0 204 246 112 0 202 245 112 0 198 244 112 0 195 243 112 0 189 242 112 0 186 241 112 0 184 240 112 0 182 239 112 0 179 238 112 0 178 237 112 0 176 236 112 0 175 235 112 0 174 234 112 0 172 233 112 0 167 232 112 0 165 231 112 0 162 230 112 0 160 229 112 0 157 228 112 0 155 227 112 0 152 226 112 0 145 224 112 0 141 223 112 0 137 222 112 0 133 221 112 0 130 220 112 0 126 219 112 0 121 218 112 0 118 217 112 0 117 216 112 0 114 215 112 0 111 214 112 0 108 213 112 0 104 212 112 0 102 211 112 0 98 210 112 0 96 209 112 0 95 208 112 0 92 207 112 0 91 206 112 0 88 205 112 0 84 204 112 0 81 203 112 0 80 202 112 0 74 201 112 0 71 200 112 0 69 199 112 0 66 198 112 0 62 197 112 0 60 196 112 0 57 195 112 0 51 194 112 0 49 193 112 0 46 191 112 0 40 190 112 0 36 189 112 0 32 188 112 0 29 187 112 0 27 186 112 0 24 185 112 0 22 184 112 0 18 183 112 0 16 182 112 0 13 181 112 0 7 180 112 0 5 179 112 0 3 178 112 0 0 177 112 0 0 176 112 0 0 175 112 0 0 174 112 0 0 173 112 0 0 172 112 0 0 171 112 0 0 170 112 0 0 169 112 0 0 168 112 0 0 167 112 0 0 166 112 0 0 165 112 0 0 164 112 0 0 163 112 0 0 162 112 0 0 161 112 0 0 160 112 0 0 158 112 0 0 157 112 0 0 156 112 0 0 155 112 0 0 154 112 0 0 153 112 0 0 152 112 0 0 151 112 0 0 150 112 0 0 149 112 0 0 148 112 0 0 147 112 0 0 146 112 0 0 145 112 0 0 144 112 0 0 143 112 0 0 142 112 0 0 141 112 0 0 140 112 0 0 139 112 0 0 138 112 1 0 137 112 1 0 136 112 2 0 135 112 3 0 134 112 4 0 133 112 5 0 132 112 6 0 131 112 7 0 130 112 8 0 129 112 9 0 128 112 10 0 127 112 11 0 125 112 12 0 124 112 13 0 123 112 14 0 122 112 15 0 121 112 16 0 120 112 17 0 119 112 18 0 118 112 19 0 117 112 20 0 116 112 21 0 115 112 22 0 114 112 23 0 113 112 24 0 112 112 25 0 111 112 26 0 110 112 28 0 109 112 29 0 108 112 30 0 107 112 31 0 106 112 32 0 105 112 33 0 104 112 34 0 103 112 35 0 102 112 36 0 101 112 37 0 100 112 38 0 99 112 39 0 98 112 40 0 97 112 41 0 96 112 42 0 95 112 43 0 94 112 44 0 92 112 45 0 91 112 46 0 90 112 47 0 89 112 48 0 88 112 49 0 87 112 50 0 86 112 51 0 85 112 52 0 84 112 53 0 83 112 54 0 82 112 55 0 81 112 56 0 80 112 57 0 79 112 58 0 78 112 59 0 77 112 61 0 76 112 62 0 75 112 63 0 74 112 64 0 73 112 65 0 72 112 66 0 71 112 67 0 70 112 68 2 69 112 69 5 68 112 70 7 67 112 71 10 66 112 72 16 65 112 73 18 64 112 74 22 63 112 75 24 62 112 76 27 61 112 77 29 59 112 78 32 58 112 79 36 57 112 80 39 56 112 81 44 55 112 82 49 54 112 83 51 53 112 84 54 52 112 85 59 51 112 86 62 50 112 87 66 49 112 88 67 48 112 89 70 47 112 90 74 46 112 91 77 45 112 92 81 44 112 94 84 43 112 95 88 42 112 96 89 41 112 97 92 40 112 98 93 39 112 99 96 38 112 100 98 37 112 101 102 36 112 102 104 35 112 103 108 34 112 104 111 33 112 105 114 32 112 106 115 31 112 107 118 30 112 108 121 29 112 109 126 28 112 110 130 26 112 111 133 25 112 112 137 24 112 113 140 23 112 114 144 22 112 115 150 21 112 116 153 20 112 117 156 19 112 118 159 18 112 119 162 17 112 120 165 16 112 121 167 15 112 122 171 14 112 123 174 13 112 124 175 12 112 125 176 11 112 127 178 10 112 128 179 9 112 129 181 8 112 130 182 7 112 131 185 6 112 132 188 5 112 133 194 4 112 134 198 3 112 135 201 2 112 136 204 1 112 137 205 0 112 138 208 0 112 139 208 0 112 139 209 0 112 140 209 0 112 140 211 0 112 140 211 255 111 0 219 254 111 0 217 254 111 0 217 254 111 0 216 253 111 0 213 252 111 0 211 251 111 0 209 250 111 0 209 249 111 0 208 248 111 0 207 247 111 0 204 246 111 0 202 245 111 0 198 244 111 0 195 243 111 0 189 242 111 0 186 241 111 0 184 240 111 0 182 239 111 0 179 238 111 0 178 237 111 0 176 236 111 0 175 235 111 0 174 234 111 0 172 233 111 0 167 232 111 0 166 231 111 0 163 230 111 0 160 229 111 0 157 228 111 0 155 227 111 0 152 226 111 0 145 224 111 0 141 223 111 0 138 222 111 0 134 221 111 0 130 220 111 0 126 219 111 0 121 218 111 0 118 217 111 0 117 216 111 0 114 215 111 0 111 214 111 0 108 213 111 0 104 212 111 0 102 211 111 0 98 210 111 0 96 209 111 0 95 208 111 0 92 207 111 0 91 206 111 0 88 205 111 0 84 204 111 0 81 203 111 0 80 202 111 0 74 201 111 0 71 200 111 0 69 199 111 0 66 198 111 0 62 197 111 0 60 196 111 0 57 195 111 0 53 194 111 0 49 193 111 0 46 191 111 0 40 190 111 0 38 189 111 0 32 188 111 0 29 187 111 0 28 186 111 0 25 185 111 0 22 184 111 0 18 183 111 0 17 182 111 0 13 181 111 0 9 180 111 0 6 179 111 0 3 178 111 0 0 177 111 0 0 176 111 0 0 175 111 0 0 174 111 0 0 173 111 0 0 172 111 0 0 171 111 0 0 170 111 0 0 169 111 0 0 168 111 0 0 167 111 0 0 166 111 0 0 165 111 0 0 164 111 0 0 163 111 0 0 162 111 0 0 161 111 0 0 160 111 0 0 158 111 0 0 157 111 0 0 156 111 0 0 155 111 0 0 154 111 0 0 153 111 0 0 152 111 0 0 151 111 0 0 150 111 0 0 149 111 0 0 148 111 0 0 147 111 0 0 146 111 0 0 145 111 0 0 144 111 0 0 143 111 0 0 142 111 0 0 141 111 0 0 140 111 0 0 139 111 1 0 138 111 1 0 137 111 2 0 136 111 3 0 135 111 4 0 134 111 5 0 133 111 6 0 132 111 7 0 131 111 8 0 130 111 9 0 129 111 10 0 128 111 11 0 127 111 12 0 125 111 13 0 124 111 14 0 123 111 15 0 122 111 16 0 121 111 17 0 120 111 18 0 119 111 19 0 118 111 20 0 117 111 21 0 116 111 22 0 115 111 23 0 114 111 24 0 113 111 25 0 112 111 26 0 111 111 27 0 110 111 29 0 109 111 30 0 108 111 31 0 107 111 32 0 106 111 33 0 105 111 34 0 104 111 35 0 103 111 36 0 102 111 37 0 101 111 38 0 100 111 39 0 99 111 40 0 98 111 41 0 97 111 42 0 96 111 43 0 95 111 44 0 94 111 45 0 92 111 46 0 91 111 47 0 90 111 48 0 89 111 49 0 88 111 50 0 87 111 51 0 86 111 52 0 85 111 53 0 84 111 54 0 83 111 55 0 82 111 56 0 81 111 57 0 80 111 58 0 79 111 59 0 78 111 60 0 77 111 62 0 76 111 63 0 75 111 64 0 74 111 65 0 73 111 66 0 72 111 67 0 71 111 68 0 70 111 69 3 69 111 70 6 68 111 71 9 67 111 72 13 66 111 73 16 65 111 74 18 64 111 75 22 63 111 76 25 62 111 77 27 61 111 78 29 59 111 79 32 58 111 80 36 57 111 81 39 56 111 82 44 55 111 83 49 54 111 84 51 53 111 85 57 52 111 86 60 51 111 87 62 50 111 88 66 49 111 89 69 48 111 90 70 47 111 91 74 46 111 92 77 45 111 93 81 44 111 95 84 43 111 96 88 42 111 97 89 41 111 98 92 40 111 99 93 39 111 100 96 38 111 101 98 37 111 102 102 36 111 103 104 35 111 104 108 34 111 105 111 33 111 106 114 32 111 107 115 31 111 108 118 30 111 109 121 29 111 110 126 28 111 111 130 26 111 112 134 25 111 113 137 24 111 114 141 23 111 115 145 22 111 116 150 21 111 117 153 20 111 118 156 19 111 119 160 18 111 120 162 17 111 121 165 16 111 122 167 15 111 123 172 14 111 124 174 13 111 125 175 12 111 126 176 11 111 128 178 10 111 129 179 9 111 130 181 8 111 131 182 7 111 132 185 6 111 133 188 5 111 134 194 4 111 135 198 3 111 136 201 2 111 137 204 1 111 138 205 0 111 139 208 0 111 140 208 0 111 140 209 0 111 140 209 0 111 141 211 0 111 141 211 255 110 0 219 254 110 0 217 254 110 0 217 254 110 0 216 253 110 0 213 252 110 0 211 251 110 0 209 250 110 0 209 249 110 0 208 248 110 0 207 247 110 0 204 246 110 0 202 245 110 0 198 244 110 0 195 243 110 0 189 242 110 0 186 241 110 0 184 240 110 0 182 239 110 0 181 238 110 0 178 237 110 0 176 236 110 0 176 235 110 0 174 234 110 0 172 233 110 0 167 232 110 0 166 231 110 0 163 230 110 0 160 229 110 0 157 228 110 0 155 227 110 0 152 226 110 0 149 224 110 0 143 223 110 0 138 222 110 0 135 221 110 0 131 220 110 0 126 219 110 0 122 218 110 0 120 217 110 0 117 216 110 0 114 215 110 0 111 214 110 0 108 213 110 0 104 212 110 0 102 211 110 0 98 210 110 0 96 209 110 0 95 208 110 0 92 207 110 0 91 206 110 0 88 205 110 0 84 204 110 0 81 203 110 0 80 202 110 0 74 201 110 0 71 200 110 0 69 199 110 0 66 198 110 0 62 197 110 0 60 196 110 0 57 195 110 0 53 194 110 0 49 193 110 0 46 191 110 0 40 190 110 0 38 189 110 0 35 188 110 0 31 187 110 0 28 186 110 0 27 185 110 0 24 184 110 0 20 183 110 0 18 182 110 0 14 181 110 0 10 180 110 0 7 179 110 0 5 178 110 0 2 177 110 0 0 176 110 0 0 175 110 0 0 174 110 0 0 173 110 0 0 172 110 0 0 171 110 0 0 170 110 0 0 169 110 0 0 168 110 0 0 167 110 0 0 166 110 0 0 165 110 0 0 164 110 0 0 163 110 0 0 162 110 0 0 161 110 0 0 160 110 0 0 158 110 0 0 157 110 0 0 156 110 0 0 155 110 0 0 154 110 0 0 153 110 0 0 152 110 0 0 151 110 0 0 150 110 0 0 149 110 0 0 148 110 0 0 147 110 0 0 146 110 0 0 145 110 0 0 144 110 0 0 143 110 0 0 142 110 0 0 141 110 1 0 140 110 1 0 139 110 2 0 138 110 2 0 137 110 3 0 136 110 4 0 135 110 5 0 134 110 6 0 133 110 7 0 132 110 8 0 131 110 9 0 130 110 10 0 129 110 11 0 128 110 12 0 127 110 13 0 125 110 14 0 124 110 15 0 123 110 16 0 122 110 17 0 121 110 18 0 120 110 19 0 119 110 20 0 118 110 21 0 117 110 22 0 116 110 24 0 115 110 25 0 114 110 26 0 113 110 27 0 112 110 28 0 111 110 29 0 110 110 30 0 109 110 31 0 108 110 32 0 107 110 33 0 106 110 34 0 105 110 35 0 104 110 36 0 103 110 37 0 102 110 38 0 101 110 39 0 100 110 40 0 99 110 41 0 98 110 42 0 97 110 43 0 96 110 44 0 95 110 45 0 94 110 46 0 92 110 47 0 91 110 48 0 90 110 49 0 89 110 50 0 88 110 51 0 87 110 52 0 86 110 53 0 85 110 54 0 84 110 55 0 83 110 57 0 82 110 58 0 81 110 59 0 80 110 60 0 79 110 61 0 78 110 62 0 77 110 63 0 76 110 64 0 75 110 65 0 74 110 66 0 73 110 67 0 72 110 68 0 71 110 69 2 70 110 70 5 69 110 71 7 68 110 72 10 67 110 73 14 66 110 74 17 65 110 75 20 64 110 76 24 63 110 77 27 62 110 78 28 61 110 79 31 59 110 80 35 58 110 81 38 57 110 82 40 56 110 83 46 55 110 84 49 54 110 85 51 53 110 86 57 52 110 87 60 51 110 88 62 50 110 90 66 49 110 91 69 48 110 92 70 47 110 93 74 46 110 94 77 45 110 95 81 44 110 96 84 43 110 97 88 42 110 98 89 41 110 99 92 40 110 100 93 39 110 101 96 38 110 102 98 37 110 103 102 36 110 104 104 35 110 105 108 34 110 106 111 33 110 107 114 32 110 108 115 31 110 109 118 30 110 110 121 29 110 111 126 28 110 112 131 26 110 113 134 25 110 114 138 24 110 115 143 23 110 116 145 22 110 117 152 21 110 118 155 20 110 119 157 19 110 120 160 18 110 121 162 17 110 123 165 16 110 124 167 15 110 125 172 14 110 126 174 13 110 127 175 12 110 128 176 11 110 129 178 10 110 130 179 9 110 131 181 8 110 132 184 7 110 133 185 6 110 134 188 5 110 135 194 4 110 136 198 3 110 137 201 2 110 138 204 1 110 139 205 0 110 140 208 0 110 141 208 0 110 141 209 0 110 142 209 0 110 142 211 0 110 142 211 255 109 0 219 254 109 0 217 254 109 0 217 254 109 0 216 253 109 0 213 252 109 0 211 251 109 0 209 250 109 0 209 249 109 0 208 248 109 0 207 247 109 0 204 246 109 0 202 245 109 0 198 244 109 0 195 243 109 0 189 242 109 0 186 241 109 0 184 240 109 0 182 239 109 0 181 238 109 0 179 237 109 0 178 236 109 0 176 235 109 0 175 234 109 0 172 233 109 0 171 232 109 0 166 231 109 0 163 230 109 0 160 229 109 0 157 228 109 0 155 227 109 0 153 226 109 0 150 224 109 0 144 223 109 0 140 222 109 0 137 221 109 0 133 220 109 0 128 219 109 0 122 218 109 0 120 217 109 0 117 216 109 0 114 215 109 0 111 214 109 0 108 213 109 0 104 212 109 0 102 211 109 0 98 210 109 0 96 209 109 0 95 208 109 0 92 207 109 0 91 206 109 0 88 205 109 0 84 204 109 0 81 203 109 0 80 202 109 0 74 201 109 0 71 200 109 0 69 199 109 0 66 198 109 0 62 197 109 0 60 196 109 0 57 195 109 0 53 194 109 0 50 193 109 0 46 191 109 0 43 190 109 0 39 189 109 0 36 188 109 0 32 187 109 0 29 186 109 0 28 185 109 0 25 184 109 0 22 183 109 0 20 182 109 0 17 181 109 0 14 180 109 0 10 179 109 0 7 178 109 0 3 177 109 0 0 176 109 0 0 175 109 0 0 174 109 0 0 173 109 0 0 172 109 0 0 171 109 0 0 170 109 0 0 169 109 0 0 168 109 0 0 167 109 0 0 166 109 0 0 165 109 0 0 164 109 0 0 163 109 0 0 162 109 0 0 161 109 0 0 160 109 0 0 158 109 0 0 157 109 0 0 156 109 0 0 155 109 0 0 154 109 0 0 153 109 0 0 152 109 0 0 151 109 0 0 150 109 0 0 149 109 0 0 148 109 0 0 147 109 0 0 146 109 0 0 145 109 0 0 144 109 0 0 143 109 0 0 142 109 1 0 141 109 2 0 140 109 2 0 139 109 3 0 138 109 3 0 137 109 4 0 136 109 5 0 135 109 6 0 134 109 7 0 133 109 9 0 132 109 10 0 131 109 10 0 130 109 11 0 129 109 12 0 128 109 13 0 127 109 14 0 125 109 15 0 124 109 17 0 123 109 18 0 122 109 18 0 121 109 19 0 120 109 20 0 119 109 21 0 118 109 22 0 117 109 24 0 116 109 25 0 115 109 26 0 114 109 27 0 113 109 28 0 112 109 29 0 111 109 30 0 110 109 31 0 109 109 32 0 108 109 34 0 107 109 35 0 106 109 35 0 105 109 36 0 104 109 37 0 103 109 38 0 102 109 39 0 101 109 40 0 100 109 42 0 99 109 43 0 98 109 43 0 97 109 44 0 96 109 45 0 95 109 46 0 94 109 47 0 92 109 48 0 91 109 50 0 90 109 51 0 89 109 51 0 88 109 52 0 87 109 53 0 86 109 54 0 85 109 55 0 84 109 57 0 83 109 58 0 82 109 59 0 81 109 60 0 80 109 61 0 79 109 62 0 78 109 63 0 77 109 64 0 76 109 65 0 75 109 67 0 74 109 68 0 73 109 68 0 72 109 69 0 71 109 70 3 70 109 71 6 69 109 72 9 68 109 73 13 67 109 75 16 66 109 76 18 65 109 76 22 64 109 77 25 63 109 78 28 62 109 79 29 61 109 80 32 59 109 81 35 58 109 83 38 57 109 84 40 56 109 84 46 55 109 85 49 54 109 86 53 53 109 87 57 52 109 88 60 51 109 90 62 50 109 91 66 49 109 92 69 48 109 93 70 47 109 94 74 46 109 95 77 45 109 96 81 44 109 97 84 43 109 98 88 42 109 100 89 41 109 101 92 40 109 101 93 39 109 102 96 38 109 103 98 37 109 104 102 36 109 105 104 35 109 106 108 34 109 108 111 33 109 109 114 32 109 109 117 31 109 110 120 30 109 111 122 29 109 112 128 28 109 113 131 26 109 114 135 25 109 116 140 24 109 117 144 23 109 117 149 22 109 118 152 21 109 119 155 20 109 120 157 19 109 121 160 18 109 123 162 17 109 124 165 16 109 125 171 15 109 126 172 14 109 127 175 13 109 128 176 12 109 129 178 11 109 130 179 10 109 131 181 9 109 133 182 8 109 134 184 7 109 134 185 6 109 135 188 5 109 136 194 4 109 137 198 3 109 138 201 2 109 139 204 1 109 141 205 0 109 141 208 0 109 142 208 0 109 143 209 0 109 143 209 0 109 143 211 0 109 143 211 255 108 0 219 254 108 0 217 254 108 0 217 254 108 0 216 253 108 0 213 252 108 0 211 251 108 0 209 250 108 0 209 249 108 0 208 248 108 0 207 247 108 0 204 246 108 0 202 245 108 0 198 244 108 0 195 243 108 0 189 242 108 0 186 241 108 0 184 240 108 0 182 239 108 0 181 238 108 0 179 237 108 0 178 236 108 0 178 235 108 0 175 234 108 0 174 233 108 0 171 232 108 0 166 231 108 0 163 230 108 0 160 229 108 0 157 228 108 0 156 227 108 0 153 226 108 0 150 224 108 0 145 223 108 0 141 222 108 0 138 221 108 0 134 220 108 0 130 219 108 0 126 218 108 0 121 217 108 0 118 216 108 0 115 215 108 0 111 214 108 0 108 213 108 0 104 212 108 0 102 211 108 0 98 210 108 0 96 209 108 0 95 208 108 0 92 207 108 0 91 206 108 0 88 205 108 0 84 204 108 0 81 203 108 0 80 202 108 0 74 201 108 0 71 200 108 0 69 199 108 0 66 198 108 0 62 197 108 0 60 196 108 0 57 195 108 0 53 194 108 0 50 193 108 0 47 191 108 0 43 190 108 0 39 189 108 0 36 188 108 0 32 187 108 0 31 186 108 0 29 185 108 0 27 184 108 0 24 183 108 0 22 182 108 0 18 181 108 0 16 180 108 0 13 179 108 0 9 178 108 0 5 177 108 0 2 176 108 0 0 175 108 0 0 174 108 0 0 173 108 0 0 172 108 0 0 171 108 0 0 170 108 0 0 169 108 0 0 168 108 0 0 167 108 0 0 166 108 0 0 165 108 0 0 164 108 0 0 163 108 0 0 162 108 0 0 161 108 0 0 160 108 0 0 158 108 0 0 157 108 0 0 156 108 0 0 155 108 0 0 154 108 0 0 153 108 0 0 152 108 0 0 151 108 0 0 150 108 0 0 149 108 0 0 148 108 0 0 147 108 0 0 146 108 0 0 145 108 0 0 144 108 0 0 143 108 1 0 142 108 2 0 141 108 2 0 140 108 3 0 139 108 4 0 138 108 4 0 137 108 5 0 136 108 6 0 135 108 7 0 134 108 9 0 133 108 10 0 132 108 11 0 131 108 12 0 130 108 12 0 129 108 13 0 128 108 14 0 127 108 15 0 125 108 17 0 124 108 18 0 123 108 19 0 122 108 20 0 121 108 20 0 120 108 21 0 119 108 22 0 118 108 24 0 117 108 25 0 116 108 26 0 115 108 27 0 114 108 28 0 113 108 29 0 112 108 30 0 111 108 31 0 110 108 32 0 109 108 34 0 108 108 35 0 107 108 36 0 106 108 37 0 105 108 37 0 104 108 38 0 103 108 39 0 102 108 40 0 101 108 42 0 100 108 43 0 99 108 44 0 98 108 45 0 97 108 45 0 96 108 46 0 95 108 47 0 94 108 48 0 92 108 50 0 91 108 51 0 90 108 52 0 89 108 53 0 88 108 53 0 87 108 54 0 86 108 55 0 85 108 57 0 84 108 58 0 83 108 59 0 82 108 60 0 81 108 61 0 80 108 62 0 79 108 63 0 78 108 64 0 77 108 65 0 76 108 67 0 75 108 68 0 74 108 69 0 73 108 70 0 72 108 70 2 71 108 71 5 70 108 72 7 69 108 73 10 68 108 75 14 67 108 76 17 66 108 77 20 65 108 78 24 64 108 78 27 63 108 79 29 62 108 80 31 61 108 81 32 59 108 83 36 58 108 84 39 57 108 85 43 56 108 86 46 55 108 86 50 54 108 87 53 53 108 88 57 52 108 90 60 51 108 91 62 50 108 92 66 49 108 93 69 48 108 94 70 47 108 95 74 46 108 96 77 45 108 97 81 44 108 98 84 43 108 100 88 42 108 101 89 41 108 102 92 40 108 103 93 39 108 103 96 38 108 104 98 37 108 105 102 36 108 106 104 35 108 108 108 34 108 109 111 33 108 110 114 32 108 111 117 31 108 111 120 30 108 112 126 29 108 113 130 28 108 114 133 26 108 116 137 25 108 117 141 24 108 118 144 23 108 119 150 22 108 119 153 21 108 120 155 20 108 121 157 19 108 123 160 18 108 124 162 17 108 125 165 16 108 126 171 15 108 127 172 14 108 128 175 13 108 129 176 12 108 130 178 11 108 131 179 10 108 133 181 9 108 134 182 8 108 135 184 7 108 136 185 6 108 136 188 5 108 137 194 4 108 138 198 3 108 139 201 2 108 141 204 1 108 142 205 0 108 143 208 0 108 143 208 0 108 144 209 0 108 144 209 0 108 144 211 0 108 144 211 255 107 0 219 254 107 0 217 254 107 0 217 254 107 0 216 253 107 0 213 252 107 0 211 251 107 0 209 250 107 0 209 249 107 0 208 248 107 0 207 247 107 0 204 246 107 0 202 245 107 0 198 244 107 0 195 243 107 0 189 242 107 0 186 241 107 0 185 240 107 0 182 239 107 0 182 238 107 0 181 237 107 0 179 236 107 0 178 235 107 0 175 234 107 0 174 233 107 0 171 232 107 0 166 231 107 0 163 230 107 0 160 229 107 0 157 228 107 0 156 227 107 0 153 226 107 0 152 224 107 0 145 223 107 0 143 222 107 0 138 221 107 0 134 220 107 0 131 219 107 0 128 218 107 0 121 217 107 0 118 216 107 0 115 215 107 0 112 214 107 0 108 213 107 0 104 212 107 0 102 211 107 0 98 210 107 0 96 209 107 0 95 208 107 0 92 207 107 0 91 206 107 0 88 205 107 0 84 204 107 0 81 203 107 0 80 202 107 0 74 201 107 0 71 200 107 0 69 199 107 0 66 198 107 0 62 197 107 0 60 196 107 0 57 195 107 0 53 194 107 0 50 193 107 0 47 191 107 0 44 190 107 0 40 189 107 0 38 188 107 0 35 187 107 0 32 186 107 0 29 185 107 0 28 184 107 0 25 183 107 0 24 182 107 0 20 181 107 0 17 180 107 0 14 179 107 0 10 178 107 0 6 177 107 0 3 176 107 0 0 175 107 0 0 174 107 0 0 173 107 0 0 172 107 0 0 171 107 0 0 170 107 0 0 169 107 0 0 168 107 0 0 167 107 0 0 166 107 0 0 165 107 0 0 164 107 0 0 163 107 0 0 162 107 0 0 161 107 0 0 160 107 0 0 158 107 0 0 157 107 0 0 156 107 0 0 155 107 0 0 154 107 0 0 153 107 0 0 152 107 0 0 151 107 0 0 150 107 0 0 149 107 0 0 148 107 0 0 147 107 0 0 146 107 0 0 145 107 0 0 144 107 0 0 143 107 1 0 142 107 2 0 141 107 3 0 140 107 4 0 139 107 5 0 138 107 5 0 137 107 6 0 136 107 7 0 135 107 8 0 134 107 10 0 133 107 11 0 132 107 12 0 131 107 13 0 130 107 13 0 129 107 14 0 128 107 15 0 127 107 16 0 125 107 18 0 124 107 19 0 123 107 20 0 122 107 21 0 121 107 21 0 120 107 22 0 119 107 23 0 118 107 25 0 117 107 26 0 116 107 27 0 115 107 28 0 114 107 29 0 113 107 30 0 112 107 31 0 111 107 32 0 110 107 33 0 109 107 35 0 108 107 36 0 107 107 37 0 106 107 38 0 105 107 38 0 104 107 39 0 103 107 40 0 102 107 41 0 101 107 43 0 100 107 44 0 99 107 45 0 98 107 46 0 97 107 46 0 96 107 47 0 95 107 48 0 94 107 49 0 92 107 51 0 91 107 52 0 90 107 53 0 89 107 54 0 88 107 54 0 87 107 55 0 86 107 56 0 85 107 58 0 84 107 59 0 83 107 60 0 82 107 61 0 81 107 62 0 80 107 63 0 79 107 64 0 78 107 65 0 77 107 66 0 76 107 68 0 75 107 69 0 74 107 70 0 73 107 71 0 72 107 71 2 71 107 72 5 70 107 73 9 69 107 74 13 68 107 76 16 67 107 77 18 66 107 78 22 65 107 79 25 64 107 79 28 63 107 80 29 62 107 81 32 61 107 82 35 59 107 84 38 58 107 85 39 57 107 86 43 56 107 87 47 55 107 87 50 54 107 88 53 53 107 89 57 52 107 91 60 51 107 92 62 50 107 93 66 49 107 94 69 48 107 95 70 47 107 96 74 46 107 97 77 45 107 98 81 44 107 99 84 43 107 101 88 42 107 102 89 41 107 103 92 40 107 104 93 39 107 104 96 38 107 105 98 37 107 106 102 36 107 107 104 35 107 109 108 34 107 110 111 33 107 111 115 32 107 112 118 31 107 112 121 30 107 113 126 29 107 114 131 28 107 115 134 26 107 117 138 25 107 118 143 24 107 119 145 23 107 120 150 22 107 120 153 21 107 121 155 20 107 122 157 19 107 124 160 18 107 125 162 17 107 126 165 16 107 127 171 15 107 128 174 14 107 129 175 13 107 130 178 12 107 131 179 11 107 132 179 10 107 134 181 9 107 135 182 8 107 136 184 7 107 137 185 6 107 137 188 5 107 138 194 4 107 139 198 3 107 140 201 2 107 142 204 1 107 143 205 0 107 144 208 0 107 144 208 0 107 145 209 0 107 145 209 0 107 145 211 0 107 145 211 255 106 0 219 254 106 0 217 254 106 0 217 254 106 0 216 253 106 0 213 252 106 0 211 251 106 0 209 250 106 0 209 249 106 0 208 248 106 0 207 247 106 0 204 246 106 0 202 245 106 0 198 244 106 0 195 243 106 0 189 242 106 0 186 241 106 0 185 240 106 0 184 239 106 0 182 238 106 0 181 237 106 0 179 236 106 0 178 235 106 0 176 234 106 0 174 233 106 0 171 232 106 0 166 231 106 0 163 230 106 0 160 229 106 0 157 228 106 0 156 227 106 0 155 226 106 0 152 224 106 0 149 223 106 0 144 222 106 0 140 221 106 0 135 220 106 0 133 219 106 0 130 218 106 0 122 217 106 0 120 216 106 0 117 215 106 0 114 214 106 0 110 213 106 0 107 212 106 0 103 211 106 0 99 210 106 0 96 209 106 0 95 208 106 0 92 207 106 0 91 206 106 0 88 205 106 0 84 204 106 0 81 203 106 0 80 202 106 0 74 201 106 0 71 200 106 0 69 199 106 0 66 198 106 0 62 197 106 0 60 196 106 0 57 195 106 0 53 194 106 0 50 193 106 0 47 191 106 0 44 190 106 0 40 189 106 0 38 188 106 0 35 187 106 0 32 186 106 0 31 185 106 0 28 184 106 0 27 183 106 0 24 182 106 0 20 181 106 0 17 180 106 0 14 179 106 0 10 178 106 0 7 177 106 0 3 176 106 0 0 175 106 0 0 174 106 0 0 173 106 0 0 172 106 0 0 171 106 0 0 170 106 0 0 169 106 0 0 168 106 0 0 167 106 0 0 166 106 0 0 165 106 0 0 164 106 0 0 163 106 0 0 162 106 0 0 161 106 0 0 160 106 0 0 158 106 0 0 157 106 0 0 156 106 0 0 155 106 0 0 154 106 0 0 153 106 0 0 152 106 0 0 151 106 0 0 150 106 0 0 149 106 0 0 148 106 0 0 147 106 0 0 146 106 0 0 145 106 0 0 144 106 1 0 143 106 2 0 142 106 3 0 141 106 4 0 140 106 5 0 139 106 6 0 138 106 6 0 137 106 7 0 136 106 8 0 135 106 9 0 134 106 10 0 133 106 12 0 132 106 13 0 131 106 14 0 130 106 14 0 129 106 15 0 128 106 16 0 127 106 17 0 125 106 18 0 124 106 20 0 123 106 21 0 122 106 22 0 121 106 22 0 120 106 23 0 119 106 24 0 118 106 26 0 117 106 27 0 116 106 28 0 115 106 29 0 114 106 30 0 113 106 31 0 112 106 32 0 111 106 33 0 110 106 34 0 109 106 35 0 108 106 37 0 107 106 38 0 106 106 39 0 105 106 39 0 104 106 40 0 103 106 41 0 102 106 42 0 101 106 43 0 100 106 45 0 99 106 46 0 98 106 47 0 97 106 47 0 96 106 48 0 95 106 49 0 94 106 50 0 92 106 51 0 91 106 53 0 90 106 54 0 89 106 55 0 88 106 55 0 87 106 56 0 86 106 57 0 85 106 59 0 84 106 60 0 83 106 61 0 82 106 62 0 81 106 63 0 80 106 64 0 79 106 65 0 78 106 66 0 77 106 67 0 76 106 68 0 75 106 70 0 74 106 71 0 73 106 72 0 72 106 72 3 71 106 73 6 70 106 74 9 69 106 75 14 68 106 76 17 67 106 78 20 66 106 79 24 65 106 80 25 64 106 80 28 63 106 81 31 62 106 82 32 61 106 83 35 59 106 84 38 58 106 86 40 57 106 87 43 56 106 88 47 55 106 88 50 54 106 89 53 53 106 90 57 52 106 92 60 51 106 93 62 50 106 94 66 49 106 95 69 48 106 96 70 47 106 97 74 46 106 98 77 45 106 99 81 44 106 100 84 43 106 101 88 42 106 103 89 41 106 104 92 40 106 105 93 39 106 105 96 38 106 106 99 37 106 107 103 36 106 108 107 35 106 109 110 34 106 111 112 33 106 112 115 32 106 113 120 31 106 113 122 30 106 114 128 29 106 115 133 28 106 116 135 26 106 117 140 25 106 119 143 24 106 120 145 23 106 121 150 22 106 121 153 21 106 122 155 20 106 123 157 19 106 125 160 18 106 126 162 17 106 127 165 16 106 128 171 15 106 129 174 14 106 130 176 13 106 131 178 12 106 132 179 11 106 133 181 10 106 134 181 9 106 136 182 8 106 137 184 7 106 138 185 6 106 138 188 5 106 139 194 4 106 140 198 3 106 141 201 2 106 142 204 1 106 144 205 0 106 144 208 0 106 145 208 0 106 146 209 0 106 146 209 0 106 146 211 0 106 146 211 255 105 0 219 254 105 0 217 254 105 0 217 254 105 0 216 253 105 0 213 252 105 0 211 251 105 0 209 250 105 0 209 249 105 0 208 248 105 0 207 247 105 0 204 246 105 0 202 245 105 0 198 244 105 0 195 243 105 0 189 242 105 0 186 241 105 0 185 240 105 0 184 239 105 0 182 238 105 0 181 237 105 0 179 236 105 0 178 235 105 0 176 234 105 0 174 233 105 0 171 232 105 0 166 231 105 0 163 230 105 0 160 229 105 0 157 228 105 0 156 227 105 0 155 226 105 0 152 224 105 0 149 223 105 0 144 222 105 0 141 221 105 0 137 220 105 0 133 219 105 0 130 218 105 0 126 217 105 0 121 216 105 0 118 215 105 0 114 214 105 0 111 213 105 0 108 212 105 0 104 211 105 0 99 210 105 0 98 209 105 0 95 208 105 0 92 207 105 0 91 206 105 0 88 205 105 0 84 204 105 0 81 203 105 0 80 202 105 0 74 201 105 0 71 200 105 0 69 199 105 0 66 198 105 0 62 197 105 0 60 196 105 0 57 195 105 0 53 194 105 0 50 193 105 0 47 191 105 0 44 190 105 0 40 189 105 0 38 188 105 0 36 187 105 0 32 186 105 0 31 185 105 0 29 184 105 0 27 183 105 0 25 182 105 0 22 181 105 0 18 180 105 0 16 179 105 0 10 178 105 0 7 177 105 0 5 176 105 0 2 175 105 0 0 174 105 0 0 173 105 0 0 172 105 0 0 171 105 0 0 170 105 0 0 169 105 0 0 168 105 0 0 167 105 0 0 166 105 0 0 165 105 0 0 164 105 0 0 163 105 0 0 162 105 0 0 161 105 0 0 160 105 0 0 158 105 0 0 157 105 0 0 156 105 0 0 155 105 0 0 154 105 0 0 153 105 0 0 152 105 0 0 151 105 0 0 150 105 0 0 149 105 0 0 148 105 0 0 147 105 0 0 146 105 0 0 145 105 1 0 144 105 1 0 143 105 2 0 142 105 3 0 141 105 4 0 140 105 5 0 139 105 6 0 138 105 7 0 137 105 8 0 136 105 9 0 135 105 10 0 134 105 11 0 133 105 12 0 132 105 13 0 131 105 14 0 130 105 15 0 129 105 16 0 128 105 17 0 127 105 18 0 125 105 19 0 124 105 20 0 123 105 21 0 122 105 22 0 121 105 23 0 120 105 24 0 119 105 25 0 118 105 27 0 117 105 28 0 116 105 29 0 115 105 30 0 114 105 31 0 113 105 32 0 112 105 33 0 111 105 34 0 110 105 35 0 109 105 36 0 108 105 37 0 107 105 38 0 106 105 39 0 105 105 40 0 104 105 41 0 103 105 42 0 102 105 43 0 101 105 44 0 100 105 45 0 99 105 46 0 98 105 47 0 97 105 48 0 96 105 49 0 95 105 50 0 94 105 51 0 92 105 52 0 91 105 53 0 90 105 54 0 89 105 55 0 88 105 56 0 87 105 57 0 86 105 58 0 85 105 60 0 84 105 61 0 83 105 62 0 82 105 63 0 81 105 64 0 80 105 65 0 79 105 66 0 78 105 67 0 77 105 68 0 76 105 69 0 75 105 70 0 74 105 71 0 73 105 72 0 72 105 73 3 71 105 74 6 70 105 75 10 69 105 76 14 68 105 77 17 67 105 78 20 66 105 79 24 65 105 80 27 64 105 81 28 63 105 82 31 62 105 83 32 61 105 84 36 59 105 85 38 58 105 86 40 57 105 87 44 56 105 88 47 55 105 89 50 54 105 90 53 53 105 91 57 52 105 93 60 51 105 94 62 50 105 95 66 49 105 96 69 48 105 97 70 47 105 98 74 46 105 99 77 45 105 100 81 44 105 101 84 43 105 102 88 42 105 103 89 41 105 104 92 40 105 105 95 39 105 106 96 38 105 107 99 37 105 108 103 36 105 109 107 35 105 110 110 34 105 111 114 33 105 112 117 32 105 113 120 31 105 114 126 30 105 115 130 29 105 116 133 28 105 117 137 26 105 118 140 25 105 119 143 24 105 120 149 23 105 121 152 22 105 122 153 21 105 123 155 20 105 124 157 19 105 126 160 18 105 127 162 17 105 128 166 16 105 129 171 15 105 130 174 14 105 131 176 13 105 132 178 12 105 133 179 11 105 134 181 10 105 135 182 9 105 136 182 8 105 137 184 7 105 138 185 6 105 139 188 5 105 140 194 4 105 141 198 3 105 142 201 2 105 143 204 1 105 144 205 0 105 145 208 0 105 146 208 0 105 146 209 0 105 147 209 0 105 147 211 0 105 147 211 255 104 0 219 254 104 0 217 254 104 0 217 254 104 0 216 253 104 0 213 252 104 0 211 251 104 0 209 250 104 0 209 249 104 0 208 248 104 0 207 247 104 0 204 246 104 0 202 245 104 0 198 244 104 0 195 243 104 0 189 242 104 0 186 241 104 0 185 240 104 0 184 239 104 0 182 238 104 0 181 237 104 0 179 236 104 0 178 235 104 0 176 234 104 0 174 233 104 0 171 232 104 0 166 231 104 0 163 230 104 0 160 229 104 0 157 228 104 0 156 227 104 0 155 226 104 0 152 224 104 0 149 223 104 0 144 222 104 0 141 221 104 0 137 220 104 0 134 219 104 0 131 218 104 0 128 217 104 0 121 216 104 0 120 215 104 0 115 214 104 0 112 213 104 0 110 212 104 0 104 211 104 0 102 210 104 0 98 209 104 0 96 208 104 0 93 207 104 0 91 206 104 0 88 205 104 0 84 204 104 0 81 203 104 0 80 202 104 0 74 201 104 0 71 200 104 0 69 199 104 0 66 198 104 0 62 197 104 0 60 196 104 0 57 195 104 0 53 194 104 0 50 193 104 0 47 191 104 0 44 190 104 0 40 189 104 0 38 188 104 0 36 187 104 0 32 186 104 0 31 185 104 0 29 184 104 0 27 183 104 0 25 182 104 0 22 181 104 0 18 180 104 0 16 179 104 0 13 178 104 0 7 177 104 0 5 176 104 0 2 175 104 0 0 174 104 0 0 173 104 0 0 172 104 0 0 171 104 0 0 170 104 0 0 169 104 0 0 168 104 0 0 167 104 0 0 166 104 0 0 165 104 0 0 164 104 0 0 163 104 0 0 162 104 0 0 161 104 0 0 160 104 0 0 158 104 0 0 157 104 0 0 156 104 0 0 155 104 0 0 154 104 0 0 153 104 0 0 152 104 0 0 151 104 0 0 150 104 0 0 149 104 0 0 148 104 0 0 147 104 0 0 146 104 1 0 145 104 1 0 144 104 2 0 143 104 3 0 142 104 4 0 141 104 5 0 140 104 6 0 139 104 7 0 138 104 8 0 137 104 9 0 136 104 10 0 135 104 11 0 134 104 12 0 133 104 13 0 132 104 14 0 131 104 15 0 130 104 16 0 129 104 17 0 128 104 18 0 127 104 19 0 125 104 20 0 124 104 21 0 123 104 22 0 122 104 23 0 121 104 24 0 120 104 25 0 119 104 26 0 118 104 28 0 117 104 29 0 116 104 30 0 115 104 31 0 114 104 32 0 113 104 33 0 112 104 34 0 111 104 35 0 110 104 36 0 109 104 37 0 108 104 38 0 107 104 39 0 106 104 40 0 105 104 41 0 104 104 42 0 103 104 43 0 102 104 44 0 101 104 45 0 100 104 46 0 99 104 47 0 98 104 48 0 97 104 49 0 96 104 50 0 95 104 51 0 94 104 52 0 92 104 53 0 91 104 54 0 90 104 55 0 89 104 56 0 88 104 57 0 87 104 58 0 86 104 59 0 85 104 61 0 84 104 62 0 83 104 63 0 82 104 64 0 81 104 65 0 80 104 66 0 79 104 67 0 78 104 68 0 77 104 69 0 76 104 70 0 75 104 71 0 74 104 72 0 73 104 73 2 72 104 74 5 71 104 75 6 70 104 76 10 69 104 77 14 68 104 78 17 67 104 79 20 66 104 80 24 65 104 81 27 64 104 82 28 63 104 83 31 62 104 84 32 61 104 85 36 59 104 86 38 58 104 87 40 57 104 88 44 56 104 89 47 55 104 90 50 54 104 91 53 53 104 92 57 52 104 94 60 51 104 95 62 50 104 96 66 49 104 97 69 48 104 98 70 47 104 99 74 46 104 100 77 45 104 101 81 44 104 102 84 43 104 103 88 42 104 104 91 41 104 105 92 40 104 106 95 39 104 107 98 38 104 108 102 37 104 109 104 36 104 110 108 35 104 111 111 34 104 112 114 33 104 113 118 32 104 114 121 31 104 115 126 30 104 116 131 29 104 117 134 28 104 118 137 26 104 119 140 25 104 120 144 24 104 121 149 23 104 122 152 22 104 123 153 21 104 124 155 20 104 125 157 19 104 127 160 18 104 128 162 17 104 129 166 16 104 130 171 15 104 131 174 14 104 132 176 13 104 133 178 12 104 134 179 11 104 135 181 10 104 136 182 9 104 137 182 8 104 138 184 7 104 139 186 6 104 140 188 5 104 141 194 4 104 142 198 3 104 143 201 2 104 144 204 1 104 145 205 0 104 146 208 0 104 147 208 0 104 147 209 0 104 148 209 0 104 148 211 0 104 148 211 255 103 0 219 254 103 0 217 254 103 0 217 254 103 0 216 253 103 0 213 252 103 0 211 251 103 0 209 250 103 0 209 249 103 0 208 248 103 0 207 247 103 0 204 246 103 0 202 245 103 0 198 244 103 0 195 243 103 0 189 242 103 0 188 241 103 0 185 240 103 0 184 239 103 0 182 238 103 0 181 237 103 0 179 236 103 0 178 235 103 0 176 234 103 0 174 233 103 0 171 232 103 0 166 231 103 0 163 230 103 0 160 229 103 0 157 228 103 0 156 227 103 0 155 226 103 0 152 224 103 0 149 223 103 0 144 222 103 0 141 221 103 0 137 220 103 0 134 219 103 0 131 218 103 0 128 217 103 0 122 216 103 0 120 215 103 0 117 214 103 0 114 213 103 0 111 212 103 0 108 211 103 0 103 210 103 0 99 209 103 0 96 208 103 0 93 207 103 0 91 206 103 0 88 205 103 0 84 204 103 0 82 203 103 0 80 202 103 0 76 201 103 0 71 200 103 0 69 199 103 0 66 198 103 0 64 197 103 0 60 196 103 0 57 195 103 0 53 194 103 0 51 193 103 0 49 191 103 0 44 190 103 0 40 189 103 0 39 188 103 0 36 187 103 0 32 186 103 0 31 185 103 0 29 184 103 0 27 183 103 0 25 182 103 0 22 181 103 0 18 180 103 0 16 179 103 0 13 178 103 0 7 177 103 0 5 176 103 0 3 175 103 0 0 174 103 0 0 173 103 0 0 172 103 0 0 171 103 0 0 170 103 0 0 169 103 0 0 168 103 0 0 167 103 0 0 166 103 0 0 165 103 0 0 164 103 0 0 163 103 0 0 162 103 0 0 161 103 0 0 160 103 0 0 158 103 0 0 157 103 0 0 156 103 0 0 155 103 0 0 154 103 0 0 153 103 0 0 152 103 0 0 151 103 0 0 150 103 0 0 149 103 0 0 148 103 0 0 147 103 1 0 146 103 1 0 145 103 2 0 144 103 3 0 143 103 4 0 142 103 5 0 141 103 6 0 140 103 7 0 139 103 8 0 138 103 9 0 137 103 10 0 136 103 11 0 135 103 12 0 134 103 13 0 133 103 14 0 132 103 15 0 131 103 16 0 130 103 17 0 129 103 18 0 128 103 19 0 127 103 20 0 125 103 21 0 124 103 22 0 123 103 23 0 122 103 24 0 121 103 25 0 120 103 26 0 119 103 27 0 118 103 29 0 117 103 30 0 116 103 31 0 115 103 32 0 114 103 33 0 113 103 34 0 112 103 35 0 111 103 36 0 110 103 37 0 109 103 38 0 108 103 39 0 107 103 40 0 106 103 41 0 105 103 42 0 104 103 43 0 103 103 44 0 102 103 45 0 101 103 46 0 100 103 47 0 99 103 48 0 98 103 49 0 97 103 50 0 96 103 51 0 95 103 52 0 94 103 53 0 92 103 54 0 91 103 55 0 90 103 56 0 89 103 57 0 88 103 58 0 87 103 59 0 86 103 60 0 85 103 62 0 84 103 63 0 83 103 64 0 82 103 65 0 81 103 66 0 80 103 67 0 79 103 68 0 78 103 69 0 77 103 70 0 76 103 71 0 75 103 72 0 74 103 73 0 73 103 74 2 72 103 75 5 71 103 76 7 70 103 77 10 69 103 78 14 68 103 79 17 67 103 80 20 66 103 81 24 65 103 82 27 64 103 83 28 63 103 84 31 62 103 85 32 61 103 86 36 59 103 87 39 58 103 88 40 57 103 89 44 56 103 90 47 55 103 91 50 54 103 92 53 53 103 93 57 52 103 95 60 51 103 96 62 50 103 97 66 49 103 98 69 48 103 99 71 47 103 100 74 46 103 101 77 45 103 102 81 44 103 103 84 43 103 104 88 42 103 105 91 41 103 106 93 40 103 107 96 39 103 108 99 38 103 109 103 37 103 110 107 36 103 111 110 35 103 112 112 34 103 113 115 33 103 114 120 32 103 115 122 31 103 116 128 30 103 117 131 29 103 118 134 28 103 119 137 26 103 120 141 25 103 121 144 24 103 122 149 23 103 123 152 22 103 124 153 21 103 125 155 20 103 126 157 19 103 128 160 18 103 129 162 17 103 130 166 16 103 131 171 15 103 132 174 14 103 133 176 13 103 134 178 12 103 135 179 11 103 136 181 10 103 137 182 9 103 138 182 8 103 139 184 7 103 140 186 6 103 141 189 5 103 142 195 4 103 143 198 3 103 144 201 2 103 145 204 1 103 146 205 0 103 147 208 0 103 148 208 0 103 148 209 0 103 148 209 0 103 149 211 0 103 149 211 255 102 0 219 254 102 0 217 254 102 0 217 254 102 0 216 253 102 0 213 252 102 0 211 251 102 0 209 250 102 0 209 249 102 0 208 248 102 0 207 247 102 0 204 246 102 0 202 245 102 0 199 244 102 0 197 243 102 0 194 242 102 0 188 241 102 0 185 240 102 0 184 239 102 0 182 238 102 0 181 237 102 0 179 236 102 0 178 235 102 0 176 234 102 0 174 233 102 0 171 232 102 0 166 231 102 0 163 230 102 0 160 229 102 0 157 228 102 0 156 227 102 0 155 226 102 0 152 224 102 0 149 223 102 0 144 222 102 0 141 221 102 0 138 220 102 0 134 219 102 0 131 218 102 0 128 217 102 0 122 216 102 0 121 215 102 0 118 214 102 0 115 213 102 0 112 212 102 0 110 211 102 0 104 210 102 0 102 209 102 0 98 208 102 0 95 207 102 0 92 206 102 0 89 205 102 0 86 204 102 0 82 203 102 0 80 202 102 0 76 201 102 0 73 200 102 0 70 199 102 0 67 198 102 0 64 197 102 0 62 196 102 0 59 195 102 0 54 194 102 0 51 193 102 0 49 191 102 0 46 190 102 0 43 189 102 0 39 188 102 0 36 187 102 0 35 186 102 0 32 185 102 0 29 184 102 0 28 183 102 0 25 182 102 0 24 181 102 0 20 180 102 0 17 179 102 0 13 178 102 0 9 177 102 0 6 176 102 0 3 175 102 0 0 174 102 0 0 173 102 0 0 172 102 0 0 171 102 0 0 170 102 0 0 169 102 0 0 168 102 0 0 167 102 0 0 166 102 0 0 165 102 0 0 164 102 0 0 163 102 0 0 162 102 0 0 161 102 0 0 160 102 0 0 158 102 0 0 157 102 0 0 156 102 0 0 155 102 0 0 154 102 0 0 153 102 0 0 152 102 0 0 151 102 0 0 150 102 0 0 149 102 1 0 148 102 1 0 147 102 2 0 146 102 2 0 145 102 3 0 144 102 4 0 143 102 5 0 142 102 6 0 141 102 7 0 140 102 8 0 139 102 9 0 138 102 10 0 137 102 11 0 136 102 12 0 135 102 13 0 134 102 14 0 133 102 15 0 132 102 16 0 131 102 17 0 130 102 18 0 129 102 19 0 128 102 20 0 127 102 21 0 125 102 22 0 124 102 24 0 123 102 25 0 122 102 26 0 121 102 27 0 120 102 28 0 119 102 29 0 118 102 30 0 117 102 31 0 116 102 32 0 115 102 33 0 114 102 34 0 113 102 35 0 112 102 36 0 111 102 37 0 110 102 38 0 109 102 39 0 108 102 40 0 107 102 41 0 106 102 42 0 105 102 43 0 104 102 44 0 103 102 45 0 102 102 46 0 101 102 47 0 100 102 48 0 99 102 49 0 98 102 50 0 97 102 51 0 96 102 52 0 95 102 53 0 94 102 54 0 92 102 55 0 91 102 57 0 90 102 58 0 89 102 59 0 88 102 60 0 87 102 61 0 86 102 62 0 85 102 63 0 84 102 64 0 83 102 65 0 82 102 66 0 81 102 67 0 80 102 68 0 79 102 69 0 78 102 70 0 77 102 71 0 76 102 72 0 75 102 73 0 74 102 74 0 73 102 75 3 72 102 76 6 71 102 77 9 70 102 78 13 69 102 79 16 68 102 80 18 67 102 81 22 66 102 82 25 65 102 83 27 64 102 84 29 63 102 85 31 62 102 86 35 61 102 87 36 59 102 88 39 58 102 90 43 57 102 91 46 56 102 92 49 55 102 93 51 54 102 94 54 53 102 95 59 52 102 96 60 51 102 97 64 50 102 98 67 49 102 99 70 48 102 100 73 47 102 101 76 46 102 102 80 45 102 103 82 44 102 104 86 43 102 105 89 42 102 106 91 41 102 107 93 40 102 108 98 39 102 109 102 38 102 110 104 37 102 111 108 36 102 112 111 35 102 113 114 34 102 114 117 33 102 115 120 32 102 116 122 31 102 117 128 30 102 118 131 29 102 119 134 28 102 120 137 26 102 121 141 25 102 123 144 24 102 124 149 23 102 125 152 22 102 126 153 21 102 127 155 20 102 128 157 19 102 129 160 18 102 130 162 17 102 131 166 16 102 132 171 15 102 133 174 14 102 134 176 13 102 135 178 12 102 136 179 11 102 137 181 10 102 138 182 9 102 139 184 8 102 140 185 7 102 141 188 6 102 142 189 5 102 143 195 4 102 144 198 3 102 145 201 2 102 146 204 1 102 147 205 0 102 148 208 0 102 149 208 0 102 149 209 0 102 150 211 0 102 150 211 0 102 150 211 255 101 0 219 254 101 0 219 254 101 0 217 254 101 0 216 253 101 0 213 252 101 0 213 251 101 0 211 250 101 0 209 249 101 0 208 248 101 0 207 247 101 0 204 246 101 0 202 245 101 0 199 244 101 0 197 243 101 0 195 242 101 0 189 241 101 0 186 240 101 0 185 239 101 0 184 238 101 0 182 237 101 0 181 236 101 0 178 235 101 0 176 234 101 0 174 233 101 0 171 232 101 0 166 231 101 0 163 230 101 0 160 229 101 0 157 228 101 0 156 227 101 0 155 226 101 0 152 224 101 0 149 223 101 0 144 222 101 0 141 221 101 0 138 220 101 0 134 219 101 0 131 218 101 0 130 217 101 0 126 216 101 0 121 215 101 0 118 214 101 0 115 213 101 0 114 212 101 0 110 211 101 0 107 210 101 0 103 209 101 0 99 208 101 0 95 207 101 0 92 206 101 0 89 205 101 0 86 204 101 0 84 203 101 0 81 202 101 0 77 201 101 0 74 200 101 0 71 199 101 0 69 198 101 0 66 197 101 0 62 196 101 0 60 195 101 0 57 194 101 0 53 193 101 0 50 191 101 0 47 190 101 0 44 189 101 0 40 188 101 0 38 187 101 0 36 186 101 0 32 185 101 0 31 184 101 0 28 183 101 0 27 182 101 0 24 181 101 0 20 180 101 0 17 179 101 0 14 178 101 0 10 177 101 0 7 176 101 0 5 175 101 0 2 174 101 0 0 173 101 0 0 172 101 0 0 171 101 0 0 170 101 0 0 169 101 0 0 168 101 0 0 167 101 0 0 166 101 0 0 165 101 0 0 164 101 0 0 163 101 0 0 162 101 0 0 161 101 0 0 160 101 0 0 158 101 0 0 157 101 0 0 156 101 0 0 155 101 0 0 154 101 0 0 153 101 0 0 152 101 0 0 151 101 0 0 150 101 1 0 149 101 2 0 148 101 2 0 147 101 3 0 146 101 3 0 145 101 4 0 144 101 5 0 143 101 6 0 142 101 7 0 141 101 9 0 140 101 10 0 139 101 10 0 138 101 11 0 137 101 12 0 136 101 13 0 135 101 14 0 134 101 15 0 133 101 17 0 132 101 18 0 131 101 18 0 130 101 19 0 129 101 20 0 128 101 21 0 127 101 22 0 125 101 24 0 124 101 25 0 123 101 26 0 122 101 27 0 121 101 28 0 120 101 29 0 119 101 30 0 118 101 31 0 117 101 32 0 116 101 34 0 115 101 35 0 114 101 35 0 113 101 36 0 112 101 37 0 111 101 38 0 110 101 39 0 109 101 40 0 108 101 42 0 107 101 43 0 106 101 43 0 105 101 44 0 104 101 45 0 103 101 46 0 102 101 47 0 101 101 48 0 100 101 50 0 99 101 51 0 98 101 51 0 97 101 52 0 96 101 53 0 95 101 54 0 94 101 55 0 92 101 57 0 91 101 58 0 90 101 59 0 89 101 60 0 88 101 61 0 87 101 62 0 86 101 63 0 85 101 64 0 84 101 65 0 83 101 67 0 82 101 68 0 81 101 68 0 80 101 69 0 79 101 70 0 78 101 71 0 77 101 72 0 76 101 73 0 75 101 75 0 74 101 76 2 73 101 76 5 72 101 77 7 71 101 78 10 70 101 79 14 69 101 80 17 68 101 81 20 67 101 83 22 66 101 84 25 65 101 84 28 64 101 85 29 63 101 86 32 62 101 87 36 61 101 88 38 59 101 90 40 58 101 91 44 57 101 92 46 56 101 93 50 55 101 94 53 54 101 95 54 53 101 96 59 52 101 97 62 51 101 98 66 50 101 100 67 49 101 101 71 48 101 101 73 47 101 102 77 46 101 103 81 45 101 104 84 44 101 105 86 43 101 106 89 42 101 108 92 41 101 109 95 40 101 109 98 39 101 110 103 38 101 111 107 37 101 112 110 36 101 113 112 35 101 114 115 34 101 116 118 33 101 117 121 32 101 117 122 31 101 118 128 30 101 119 131 29 101 120 134 28 101 121 138 26 101 123 141 25 101 124 144 24 101 125 149 23 101 126 152 22 101 127 153 21 101 128 155 20 101 129 157 19 101 130 160 18 101 131 162 17 101 133 166 16 101 134 171 15 101 134 174 14 101 135 176 13 101 136 178 12 101 137 179 11 101 138 181 10 101 139 182 9 101 141 185 8 101 142 186 7 101 142 188 6 101 143 194 5 101 144 197 4 101 145 199 3 101 146 202 2 101 147 204 1 101 149 205 0 101 149 208 0 101 150 209 0 101 151 209 0 101 151 211 0 101 151 211 0 101 151 213 255 100 0 219 254 100 0 219 254 100 0 217 254 100 0 216 253 100 0 216 252 100 0 213 251 100 0 211 250 100 0 209 249 100 0 208 248 100 0 207 247 100 0 205 246 100 0 204 245 100 0 201 244 100 0 198 243 100 0 197 242 100 0 194 241 100 0 188 240 100 0 186 239 100 0 184 238 100 0 182 237 100 0 181 236 100 0 179 235 100 0 176 234 100 0 174 233 100 0 171 232 100 0 166 231 100 0 163 230 100 0 160 229 100 0 157 228 100 0 156 227 100 0 155 226 100 0 152 224 100 0 149 223 100 0 144 222 100 0 141 221 100 0 138 220 100 0 134 219 100 0 131 218 100 0 130 217 100 0 126 216 100 0 121 215 100 0 120 214 100 0 117 213 100 0 114 212 100 0 111 211 100 0 108 210 100 0 104 209 100 0 99 208 100 0 96 207 100 0 93 206 100 0 91 205 100 0 88 204 100 0 84 203 100 0 82 202 100 0 80 201 100 0 76 200 100 0 73 199 100 0 70 198 100 0 67 197 100 0 64 196 100 0 62 195 100 0 59 194 100 0 54 193 100 0 51 191 100 0 49 190 100 0 46 189 100 0 43 188 100 0 39 187 100 0 38 186 100 0 35 185 100 0 32 184 100 0 29 183 100 0 28 182 100 0 25 181 100 0 22 180 100 0 18 179 100 0 16 178 100 0 13 177 100 0 9 176 100 0 6 175 100 0 3 174 100 0 0 173 100 0 0 172 100 0 0 171 100 0 0 170 100 0 0 169 100 0 0 168 100 0 0 167 100 0 0 166 100 0 0 165 100 0 0 164 100 0 0 163 100 0 0 162 100 0 0 161 100 0 0 160 100 0 0 158 100 0 0 157 100 0 0 156 100 0 0 155 100 0 0 154 100 0 0 153 100 0 0 152 100 0 0 151 100 1 0 150 100 2 0 149 100 2 0 148 100 3 0 147 100 4 0 146 100 4 0 145 100 5 0 144 100 6 0 143 100 7 0 142 100 9 0 141 100 10 0 140 100 11 0 139 100 12 0 138 100 12 0 137 100 13 0 136 100 14 0 135 100 15 0 134 100 17 0 133 100 18 0 132 100 19 0 131 100 20 0 130 100 20 0 129 100 21 0 128 100 22 0 127 100 24 0 125 100 25 0 124 100 26 0 123 100 27 0 122 100 28 0 121 100 29 0 120 100 30 0 119 100 31 0 118 100 32 0 117 100 34 0 116 100 35 0 115 100 36 0 114 100 37 0 113 100 37 0 112 100 38 0 111 100 39 0 110 100 40 0 109 100 42 0 108 100 43 0 107 100 44 0 106 100 45 0 105 100 45 0 104 100 46 0 103 100 47 0 102 100 48 0 101 100 50 0 100 100 51 0 99 100 52 0 98 100 53 0 97 100 53 0 96 100 54 0 95 100 55 0 94 100 57 0 92 100 58 0 91 100 59 0 90 100 60 0 89 100 61 0 88 100 62 0 87 100 63 0 86 100 64 0 85 100 65 0 84 100 67 0 83 100 68 0 82 100 69 0 81 100 70 0 80 100 70 0 79 100 71 0 78 100 72 0 77 100 73 0 76 100 75 0 75 100 76 0 74 100 77 3 73 100 78 6 72 100 78 9 71 100 79 13 70 100 80 16 69 100 81 18 68 100 83 22 67 100 84 24 66 100 85 27 65 100 86 28 64 100 86 31 63 100 87 35 62 100 88 36 61 100 90 39 59 100 91 43 58 100 92 46 57 100 93 49 56 100 94 51 55 100 95 54 54 100 96 57 53 100 97 60 52 100 98 64 51 100 100 67 50 100 101 70 49 100 102 73 48 100 103 76 47 100 103 80 46 100 104 82 45 100 105 84 44 100 106 88 43 100 108 91 42 100 109 93 41 100 110 96 40 100 111 99 39 100 111 103 38 100 112 107 37 100 113 111 36 100 114 114 35 100 116 115 34 100 117 118 33 100 118 121 32 100 119 122 31 100 119 128 30 100 120 131 29 100 121 134 28 100 123 138 26 100 124 141 25 100 125 144 24 100 126 149 23 100 127 152 22 100 128 153 21 100 129 155 20 100 130 157 19 100 131 160 18 100 133 162 17 100 134 166 16 100 135 171 15 100 136 174 14 100 136 176 13 100 137 178 12 100 138 181 11 100 139 182 10 100 141 184 9 100 142 185 8 100 143 188 7 100 144 194 6 100 144 195 5 100 145 198 4 100 146 199 3 100 147 202 2 100 149 204 1 100 150 205 0 100 151 208 0 100 151 209 0 100 152 211 0 100 152 211 0 100 152 213 0 100 152 213 255 99 0 219 254 99 0 219 254 99 0 217 254 99 0 217 253 99 0 216 252 99 0 213 251 99 0 211 250 99 0 209 249 99 0 208 248 99 0 207 247 99 0 205 246 99 0 204 245 99 0 202 244 99 0 199 243 99 0 198 242 99 0 195 241 99 0 189 240 99 0 186 239 99 0 185 238 99 0 182 237 99 0 181 236 99 0 179 235 99 0 176 234 99 0 174 233 99 0 171 232 99 0 166 231 99 0 163 230 99 0 160 229 99 0 157 228 99 0 156 227 99 0 155 226 99 0 152 224 99 0 149 223 99 0 144 222 99 0 141 221 99 0 138 220 99 0 134 219 99 0 131 218 99 0 130 217 99 0 126 216 99 0 122 215 99 0 120 214 99 0 117 213 99 0 114 212 99 0 111 211 99 0 108 210 99 0 104 209 99 0 102 208 99 0 98 207 99 0 95 206 99 0 92 205 99 0 89 204 99 0 88 203 99 0 84 202 99 0 81 201 99 0 77 200 99 0 74 199 99 0 71 198 99 0 69 197 99 0 66 196 99 0 64 195 99 0 60 194 99 0 57 193 99 0 53 191 99 0 50 190 99 0 47 189 99 0 44 188 99 0 40 187 99 0 39 186 99 0 36 185 99 0 32 184 99 0 31 183 99 0 29 182 99 0 27 181 99 0 24 180 99 0 22 179 99 0 18 178 99 0 16 177 99 0 13 176 99 0 9 175 99 0 5 174 99 0 2 173 99 0 0 172 99 0 0 171 99 0 0 170 99 0 0 169 99 0 0 168 99 0 0 167 99 0 0 166 99 0 0 165 99 0 0 164 99 0 0 163 99 0 0 162 99 0 0 161 99 0 0 160 99 0 0 158 99 0 0 157 99 0 0 156 99 0 0 155 99 0 0 154 99 0 0 153 99 0 0 152 99 0 0 151 99 1 0 150 99 2 0 149 99 3 0 148 99 4 0 147 99 5 0 146 99 5 0 145 99 6 0 144 99 7 0 143 99 8 0 142 99 10 0 141 99 11 0 140 99 12 0 139 99 13 0 138 99 13 0 137 99 14 0 136 99 15 0 135 99 16 0 134 99 18 0 133 99 19 0 132 99 20 0 131 99 21 0 130 99 21 0 129 99 22 0 128 99 23 0 127 99 25 0 125 99 26 0 124 99 27 0 123 99 28 0 122 99 29 0 121 99 30 0 120 99 31 0 119 99 32 0 118 99 33 0 117 99 35 0 116 99 36 0 115 99 37 0 114 99 38 0 113 99 38 0 112 99 39 0 111 99 40 0 110 99 41 0 109 99 43 0 108 99 44 0 107 99 45 0 106 99 46 0 105 99 46 0 104 99 47 0 103 99 48 0 102 99 49 0 101 99 51 0 100 99 52 0 99 99 53 0 98 99 54 0 97 99 54 0 96 99 55 0 95 99 56 0 94 99 58 0 92 99 59 0 91 99 60 0 90 99 61 0 89 99 62 0 88 99 63 0 87 99 64 0 86 99 65 0 85 99 66 0 84 99 68 0 83 99 69 0 82 99 70 0 81 99 71 0 80 99 71 0 79 99 72 0 78 99 73 0 77 99 74 0 76 99 76 0 75 99 77 2 74 99 78 5 73 99 79 7 72 99 79 10 71 99 80 14 70 99 81 17 69 99 82 20 68 99 84 24 67 99 85 25 66 99 86 28 65 99 87 29 64 99 87 32 63 99 88 36 62 99 89 38 61 99 91 40 59 99 92 44 58 99 93 47 57 99 94 50 56 99 95 53 55 99 96 57 54 99 97 59 53 99 98 62 52 99 99 66 51 99 101 69 50 99 102 71 49 99 103 74 48 99 104 77 47 99 104 81 46 99 105 84 45 99 106 86 44 99 107 89 43 99 109 92 42 99 110 95 41 99 111 96 40 99 112 99 39 99 112 104 38 99 113 108 37 99 114 111 36 99 115 114 35 99 117 117 34 99 118 118 33 99 119 121 32 99 120 126 31 99 120 128 30 99 121 131 29 99 122 134 28 99 124 138 26 99 125 141 25 99 126 144 24 99 127 149 23 99 128 152 22 99 129 153 21 99 130 155 20 99 131 157 19 99 132 160 18 99 134 162 17 99 135 166 16 99 136 171 15 99 137 174 14 99 137 176 13 99 138 179 12 99 139 181 11 99 140 182 10 99 142 185 9 99 143 186 8 99 144 189 7 99 145 195 6 99 145 197 5 99 146 199 4 99 147 201 3 99 148 204 2 99 150 205 1 99 151 207 0 99 152 208 0 99 152 209 0 99 153 211 0 99 153 213 0 99 153 216 0 99 153 216 255 98 0 219 254 98 0 219 254 98 0 219 254 98 0 217 253 98 0 217 252 98 0 216 251 98 0 213 250 98 0 211 249 98 0 209 248 98 0 207 247 98 0 205 246 98 0 204 245 98 0 202 244 98 0 201 243 98 0 199 242 98 0 197 241 98 0 194 240 98 0 188 239 98 0 186 238 98 0 184 237 98 0 181 236 98 0 179 235 98 0 176 234 98 0 174 233 98 0 171 232 98 0 166 231 98 0 163 230 98 0 160 229 98 0 157 228 98 0 156 227 98 0 155 226 98 0 152 224 98 0 149 223 98 0 144 222 98 0 141 221 98 0 138 220 98 0 134 219 98 0 133 218 98 0 130 217 98 0 126 216 98 0 122 215 98 0 120 214 98 0 117 213 98 0 115 212 98 0 111 211 98 0 108 210 98 0 104 209 98 0 102 208 98 0 98 207 98 0 96 206 98 0 93 205 98 0 91 204 98 0 88 203 98 0 86 202 98 0 82 201 98 0 80 200 98 0 76 199 98 0 73 198 98 0 70 197 98 0 67 196 98 0 64 195 98 0 60 194 98 0 59 193 98 0 54 191 98 0 51 190 98 0 49 189 98 0 46 188 98 0 43 187 98 0 39 186 98 0 38 185 98 0 35 184 98 0 32 183 98 0 29 182 98 0 28 181 98 0 25 180 98 0 22 179 98 0 20 178 98 0 17 177 98 0 14 176 98 0 10 175 98 0 6 174 98 0 3 173 98 0 0 172 98 0 0 171 98 0 0 170 98 0 0 169 98 0 0 168 98 0 0 167 98 0 0 166 98 0 0 165 98 0 0 164 98 0 0 163 98 0 0 162 98 0 0 161 98 0 0 160 98 0 0 158 98 0 0 157 98 0 0 156 98 0 0 155 98 0 0 154 98 0 0 153 98 0 0 152 98 1 0 151 98 2 0 150 98 3 0 149 98 4 0 148 98 5 0 147 98 6 0 146 98 6 0 145 98 7 0 144 98 8 0 143 98 9 0 142 98 10 0 141 98 12 0 140 98 13 0 139 98 14 0 138 98 14 0 137 98 15 0 136 98 16 0 135 98 17 0 134 98 18 0 133 98 20 0 132 98 21 0 131 98 22 0 130 98 22 0 129 98 23 0 128 98 24 0 127 98 26 0 125 98 27 0 124 98 28 0 123 98 29 0 122 98 30 0 121 98 31 0 120 98 32 0 119 98 33 0 118 98 34 0 117 98 35 0 116 98 37 0 115 98 38 0 114 98 39 0 113 98 39 0 112 98 40 0 111 98 41 0 110 98 42 0 109 98 43 0 108 98 45 0 107 98 46 0 106 98 47 0 105 98 47 0 104 98 48 0 103 98 49 0 102 98 50 0 101 98 51 0 100 98 53 0 99 98 54 0 98 98 55 0 97 98 55 0 96 98 56 0 95 98 57 0 94 98 59 0 92 98 60 0 91 98 61 0 90 98 62 0 89 98 63 0 88 98 64 0 87 98 65 0 86 98 66 0 85 98 67 0 84 98 68 0 83 98 70 0 82 98 71 0 81 98 72 0 80 98 72 0 79 98 73 0 78 98 74 0 77 98 75 0 76 98 76 0 75 98 78 3 74 98 79 6 73 98 80 9 72 98 80 13 71 98 81 16 70 98 82 18 69 98 83 22 68 98 84 25 67 98 86 27 66 98 87 29 65 98 88 31 64 98 88 35 63 98 89 36 62 98 90 39 61 98 92 43 59 98 93 46 58 98 94 49 57 98 95 51 56 98 96 54 55 98 97 57 54 98 98 60 53 98 99 64 52 98 100 67 51 98 101 70 50 98 103 73 49 98 104 76 48 98 105 80 47 98 105 82 46 98 106 86 45 98 107 88 44 98 108 91 43 98 109 93 42 98 111 95 41 98 112 98 40 98 113 102 39 98 113 104 38 98 114 108 37 98 115 111 36 98 116 114 35 98 117 117 34 98 119 118 33 98 120 121 32 98 121 126 31 98 121 128 30 98 122 131 29 98 123 134 28 98 125 138 26 98 126 141 25 98 127 144 24 98 128 149 23 98 129 152 22 98 130 153 21 98 131 155 20 98 132 157 19 98 133 160 18 98 134 162 17 98 136 166 16 98 137 171 15 98 138 174 14 98 138 176 13 98 139 179 12 98 140 181 11 98 141 184 10 98 142 185 9 98 144 188 8 98 145 194 7 98 146 197 6 98 146 198 5 98 147 201 4 98 148 202 3 98 149 204 2 98 150 205 1 98 152 207 0 98 152 208 0 98 153 209 0 98 154 211 0 98 154 216 0 98 154 216 0 98 154 217 255 97 0 219 254 97 0 219 254 97 0 219 254 97 0 219 253 97 0 217 252 97 0 216 251 97 0 213 250 97 0 211 249 97 0 209 248 97 0 208 247 97 0 207 246 97 0 205 245 97 0 204 244 97 0 202 243 97 0 199 242 97 0 198 241 97 0 195 240 97 0 189 239 97 0 186 238 97 0 184 237 97 0 181 236 97 0 179 235 97 0 176 234 97 0 174 233 97 0 171 232 97 0 166 231 97 0 163 230 97 0 160 229 97 0 157 228 97 0 156 227 97 0 155 226 97 0 152 224 97 0 149 223 97 0 144 222 97 0 141 221 97 0 138 220 97 0 135 219 97 0 133 218 97 0 130 217 97 0 126 216 97 0 122 215 97 0 120 214 97 0 117 213 97 0 115 212 97 0 112 211 97 0 110 210 97 0 107 209 97 0 103 208 97 0 99 207 97 0 96 206 97 0 95 205 97 0 92 204 97 0 89 203 97 0 88 202 97 0 84 201 97 0 81 200 97 0 77 199 97 0 74 198 97 0 71 197 97 0 69 196 97 0 66 195 97 0 62 194 97 0 60 193 97 0 57 191 97 0 53 190 97 0 50 189 97 0 47 188 97 0 44 187 97 0 40 186 97 0 38 185 97 0 36 184 97 0 32 183 97 0 31 182 97 0 28 181 97 0 27 180 97 0 24 179 97 0 20 178 97 0 17 177 97 0 16 176 97 0 13 175 97 0 7 174 97 0 5 173 97 0 2 172 97 0 0 171 97 0 0 170 97 0 0 169 97 0 0 168 97 0 0 167 97 0 0 166 97 0 0 165 97 0 0 164 97 0 0 163 97 0 0 162 97 0 0 161 97 0 0 160 97 0 0 158 97 0 0 157 97 0 0 156 97 0 0 155 97 0 0 154 97 0 0 153 97 1 0 152 97 1 0 151 97 2 0 150 97 3 0 149 97 4 0 148 97 5 0 147 97 6 0 146 97 7 0 145 97 8 0 144 97 9 0 143 97 10 0 142 97 11 0 141 97 12 0 140 97 13 0 139 97 14 0 138 97 15 0 137 97 16 0 136 97 17 0 135 97 18 0 134 97 19 0 133 97 20 0 132 97 21 0 131 97 22 0 130 97 23 0 129 97 24 0 128 97 25 0 127 97 27 0 125 97 28 0 124 97 29 0 123 97 30 0 122 97 31 0 121 97 32 0 120 97 33 0 119 97 34 0 118 97 35 0 117 97 36 0 116 97 37 0 115 97 38 0 114 97 39 0 113 97 40 0 112 97 41 0 111 97 42 0 110 97 43 0 109 97 44 0 108 97 45 0 107 97 46 0 106 97 47 0 105 97 48 0 104 97 49 0 103 97 50 0 102 97 51 0 101 97 52 0 100 97 53 0 99 97 54 0 98 97 55 0 97 97 56 0 96 97 57 0 95 97 58 0 94 97 60 0 92 97 61 0 91 97 62 0 90 97 63 0 89 97 64 0 88 97 65 0 87 97 66 0 86 97 67 0 85 97 68 0 84 97 69 0 83 97 70 0 82 97 71 0 81 97 72 0 80 97 73 0 79 97 74 0 78 97 75 0 77 97 76 0 76 97 77 2 75 97 78 5 74 97 79 7 73 97 80 10 72 97 81 14 71 97 82 17 70 97 83 20 69 97 84 24 68 97 85 25 67 97 86 28 66 97 87 31 65 97 88 32 64 97 89 35 63 97 90 38 62 97 91 40 61 97 93 44 59 97 94 47 58 97 95 50 57 97 96 53 56 97 97 57 55 97 98 59 54 97 99 62 53 97 100 66 52 97 101 69 51 97 102 71 50 97 103 74 49 97 104 77 48 97 105 81 47 97 106 84 46 97 107 88 45 97 108 89 44 97 109 92 43 97 110 93 42 97 111 96 41 97 112 98 40 97 113 102 39 97 114 104 38 97 115 108 37 97 116 111 36 97 117 114 35 97 118 117 34 97 119 120 33 97 120 121 32 97 121 126 31 97 122 130 30 97 123 133 29 97 124 135 28 97 126 138 26 97 127 141 25 97 128 144 24 97 129 149 23 97 130 152 22 97 131 153 21 97 132 155 20 97 133 157 19 97 134 160 18 97 135 162 17 97 136 166 16 97 137 171 15 97 138 174 14 97 139 176 13 97 140 179 12 97 141 181 11 97 142 184 10 97 143 186 9 97 144 189 8 97 145 194 7 97 146 197 6 97 147 199 5 97 148 201 4 97 149 202 3 97 150 204 2 97 151 205 1 97 152 207 0 97 153 208 0 97 154 209 0 97 154 213 0 97 155 216 0 97 155 217 0 97 155 217 255 96 0 219 254 96 0 219 254 96 0 219 254 96 0 219 253 96 0 217 252 96 0 216 251 96 0 213 250 96 0 211 249 96 0 209 248 96 0 208 247 96 0 207 246 96 0 205 245 96 0 204 244 96 0 202 243 96 0 201 242 96 0 198 241 96 0 195 240 96 0 189 239 96 0 186 238 96 0 184 237 96 0 181 236 96 0 179 235 96 0 176 234 96 0 174 233 96 0 171 232 96 0 166 231 96 0 163 230 96 0 160 229 96 0 157 228 96 0 156 227 96 0 155 226 96 0 153 224 96 0 150 223 96 0 145 222 96 0 143 221 96 0 138 220 96 0 135 219 96 0 133 218 96 0 130 217 96 0 128 216 96 0 122 215 96 0 121 214 96 0 118 213 96 0 115 212 96 0 112 211 96 0 110 210 96 0 107 209 96 0 103 208 96 0 102 207 96 0 98 206 96 0 95 205 96 0 93 204 96 0 91 203 96 0 89 202 96 0 86 201 96 0 82 200 96 0 80 199 96 0 76 198 96 0 73 197 96 0 70 196 96 0 67 195 96 0 64 194 96 0 62 193 96 0 59 191 96 0 54 190 96 0 51 189 96 0 49 188 96 0 46 187 96 0 43 186 96 0 39 185 96 0 36 184 96 0 35 183 96 0 32 182 96 0 29 181 96 0 27 180 96 0 25 179 96 0 22 178 96 0 18 177 96 0 16 176 96 0 13 175 96 0 9 174 96 0 6 173 96 0 3 172 96 0 0 171 96 0 0 170 96 0 0 169 96 0 0 168 96 0 0 167 96 0 0 166 96 0 0 165 96 0 0 164 96 0 0 163 96 0 0 162 96 0 0 161 96 0 0 160 96 0 0 158 96 0 0 157 96 0 0 156 96 0 0 155 96 0 0 154 96 1 0 153 96 1 0 152 96 2 0 151 96 3 0 150 96 4 0 149 96 5 0 148 96 6 0 147 96 7 0 146 96 8 0 145 96 9 0 144 96 10 0 143 96 11 0 142 96 12 0 141 96 13 0 140 96 14 0 139 96 15 0 138 96 16 0 137 96 17 0 136 96 18 0 135 96 19 0 134 96 20 0 133 96 21 0 132 96 22 0 131 96 23 0 130 96 24 0 129 96 25 0 128 96 26 0 127 96 28 0 125 96 29 0 124 96 30 0 123 96 31 0 122 96 32 0 121 96 33 0 120 96 34 0 119 96 35 0 118 96 36 0 117 96 37 0 116 96 38 0 115 96 39 0 114 96 40 0 113 96 41 0 112 96 42 0 111 96 43 0 110 96 44 0 109 96 45 0 108 96 46 0 107 96 47 0 106 96 48 0 105 96 49 0 104 96 50 0 103 96 51 0 102 96 52 0 101 96 53 0 100 96 54 0 99 96 55 0 98 96 56 0 97 96 57 0 96 96 58 0 95 96 59 0 94 96 61 0 92 96 62 0 91 96 63 0 90 96 64 0 89 96 65 0 88 96 66 0 87 96 67 0 86 96 68 0 85 96 69 0 84 96 70 0 83 96 71 0 82 96 72 0 81 96 73 0 80 96 74 0 79 96 75 0 78 96 76 0 77 96 77 0 76 96 78 3 75 96 79 6 74 96 80 9 73 96 81 13 72 96 82 16 71 96 83 18 70 96 84 22 69 96 85 25 68 96 86 27 67 96 87 29 66 96 88 31 65 96 89 35 64 96 90 36 63 96 91 39 62 96 92 43 61 96 94 46 59 96 95 49 58 96 96 51 57 96 97 53 56 96 98 57 55 96 99 60 54 96 100 64 53 96 101 67 52 96 102 70 51 96 103 73 50 96 104 76 49 96 105 80 48 96 106 82 47 96 107 86 46 96 108 88 45 96 109 91 44 96 110 92 43 96 111 95 42 96 112 98 41 96 113 99 40 96 114 103 39 96 115 107 38 96 116 110 37 96 117 112 36 96 118 115 35 96 119 117 34 96 120 120 33 96 121 122 32 96 122 126 31 96 123 130 30 96 124 133 29 96 125 135 28 96 127 138 26 96 128 143 25 96 129 145 24 96 130 149 23 96 131 152 22 96 132 155 21 96 133 156 20 96 134 157 19 96 135 160 18 96 136 162 17 96 137 166 16 96 138 171 15 96 139 174 14 96 140 176 13 96 141 179 12 96 142 181 11 96 143 184 10 96 144 186 9 96 145 189 8 96 146 195 7 96 147 198 6 96 148 201 5 96 149 202 4 96 150 204 3 96 151 205 2 96 152 205 1 96 153 207 0 96 154 208 0 96 155 209 0 96 155 213 0 96 156 216 0 96 156 217 0 96 156 219 255 95 0 220 254 95 0 220 254 95 0 219 254 95 0 219 253 95 0 217 252 95 0 217 251 95 0 213 250 95 0 211 249 95 0 209 248 95 0 208 247 95 0 207 246 95 0 205 245 95 0 204 244 95 0 202 243 95 0 201 242 95 0 199 241 95 0 195 240 95 0 189 239 95 0 186 238 95 0 184 237 95 0 182 236 95 0 179 235 95 0 176 234 95 0 174 233 95 0 171 232 95 0 166 231 95 0 163 230 95 0 160 229 95 0 159 228 95 0 156 227 95 0 155 226 95 0 153 224 95 0 150 223 95 0 149 222 95 0 144 221 95 0 140 220 95 0 137 219 95 0 134 218 95 0 131 217 95 0 128 216 95 0 126 215 95 0 121 214 95 0 118 213 95 0 117 212 95 0 114 211 95 0 111 210 95 0 108 209 95 0 104 208 95 0 102 207 95 0 99 206 95 0 96 205 95 0 93 204 95 0 92 203 95 0 89 202 95 0 88 201 95 0 84 200 95 0 81 199 95 0 77 198 95 0 74 197 95 0 71 196 95 0 69 195 95 0 66 194 95 0 62 193 95 0 60 191 95 0 57 190 95 0 53 189 95 0 50 188 95 0 47 187 95 0 44 186 95 0 40 185 95 0 38 184 95 0 36 183 95 0 32 182 95 0 31 181 95 0 28 180 95 0 27 179 95 0 24 178 95 0 20 177 95 0 17 176 95 0 14 175 95 0 10 174 95 0 7 173 95 0 5 172 95 0 2 171 95 0 0 170 95 0 0 169 95 0 0 168 95 0 0 167 95 0 0 166 95 0 0 165 95 0 0 164 95 0 0 163 95 0 0 162 95 0 0 161 95 0 0 160 95 0 0 158 95 0 0 157 95 0 0 156 95 0 0 155 95 1 0 154 95 1 0 153 95 2 0 152 95 3 0 151 95 4 0 150 95 5 0 149 95 6 0 148 95 7 0 147 95 8 0 146 95 9 0 145 95 10 0 144 95 11 0 143 95 12 0 142 95 13 0 141 95 14 0 140 95 15 0 139 95 16 0 138 95 17 0 137 95 18 0 136 95 19 0 135 95 20 0 134 95 21 0 133 95 22 0 132 95 23 0 131 95 24 0 130 95 25 0 129 95 26 0 128 95 27 0 127 95 29 0 125 95 30 0 124 95 31 0 123 95 32 0 122 95 33 0 121 95 34 0 120 95 35 0 119 95 36 0 118 95 37 0 117 95 38 0 116 95 39 0 115 95 40 0 114 95 41 0 113 95 42 0 112 95 43 0 111 95 44 0 110 95 45 0 109 95 46 0 108 95 47 0 107 95 48 0 106 95 49 0 105 95 50 0 104 95 51 0 103 95 52 0 102 95 53 0 101 95 54 0 100 95 55 0 99 95 56 0 98 95 57 0 97 95 58 0 96 95 59 0 95 95 60 0 94 95 62 0 92 95 63 0 91 95 64 0 90 95 65 0 89 95 66 0 88 95 67 0 87 95 68 0 86 95 69 0 85 95 70 0 84 95 71 0 83 95 72 0 82 95 73 0 81 95 74 0 80 95 75 0 79 95 76 0 78 95 77 0 77 95 78 2 76 95 79 5 75 95 80 7 74 95 81 10 73 95 82 14 72 95 83 17 71 95 84 20 70 95 85 24 69 95 86 25 68 95 87 28 67 95 88 29 66 95 89 32 65 95 90 35 64 95 91 38 63 95 92 40 62 95 93 44 61 95 95 46 59 95 96 50 58 95 97 51 57 95 98 54 56 95 99 59 55 95 100 62 54 95 101 66 53 95 102 69 52 95 103 71 51 95 104 74 50 95 105 77 49 95 106 81 48 95 107 84 47 95 108 86 46 95 109 89 45 95 110 92 44 95 111 93 43 95 112 96 42 95 113 98 41 95 114 102 40 95 115 104 39 95 116 108 38 95 117 110 37 95 118 112 36 95 119 115 35 95 120 118 34 95 121 121 33 95 122 122 32 95 123 128 31 95 124 131 30 95 125 134 29 95 126 137 28 95 128 140 26 95 129 143 25 95 130 145 24 95 131 150 23 95 132 153 22 95 133 155 21 95 134 156 20 95 135 157 19 95 136 160 18 95 137 162 17 95 138 166 16 95 139 171 15 95 140 174 14 95 141 176 13 95 142 179 12 95 143 182 11 95 144 184 10 95 145 186 9 95 146 189 8 95 147 195 7 95 148 198 6 95 149 201 5 95 150 202 4 95 151 204 3 95 152 205 2 95 153 205 1 95 154 207 0 95 155 208 0 95 156 211 0 95 157 213 0 95 157 216 0 95 157 217 0 95 157 219 255 94 0 220 254 94 0 220 254 94 0 219 254 94 0 219 253 94 0 217 252 94 0 217 251 94 0 213 250 94 0 211 249 94 0 209 248 94 0 208 247 94 0 207 246 94 0 205 245 94 0 204 244 94 0 202 243 94 0 201 242 94 0 199 241 94 0 195 240 94 0 189 239 94 0 186 238 94 0 184 237 94 0 182 236 94 0 179 235 94 0 176 234 94 0 174 233 94 0 171 232 94 0 166 231 94 0 163 230 94 0 160 229 94 0 159 228 94 0 157 227 94 0 156 226 94 0 155 224 94 0 152 223 94 0 149 222 94 0 144 221 94 0 141 220 94 0 138 219 94 0 135 218 94 0 133 217 94 0 130 216 94 0 128 215 94 0 122 214 94 0 120 213 94 0 118 212 94 0 115 211 94 0 112 210 94 0 110 209 94 0 107 208 94 0 103 207 94 0 102 206 94 0 98 205 94 0 95 204 94 0 93 203 94 0 91 202 94 0 88 201 94 0 86 200 94 0 82 199 94 0 80 198 94 0 76 197 94 0 73 196 94 0 70 195 94 0 67 194 94 0 64 193 94 0 62 191 94 0 59 190 94 0 54 189 94 0 51 188 94 0 49 187 94 0 46 186 94 0 43 185 94 0 39 184 94 0 38 183 94 0 35 182 94 0 32 181 94 0 29 180 94 0 28 179 94 0 25 178 94 0 22 177 94 0 18 176 94 0 17 175 94 0 13 174 94 0 9 173 94 0 6 172 94 0 3 171 94 0 2 170 94 0 0 169 94 0 0 168 94 0 0 167 94 0 0 166 94 0 0 165 94 0 0 164 94 0 0 163 94 0 0 162 94 0 0 161 94 0 0 160 94 0 0 158 94 0 0 157 94 1 0 156 94 1 0 155 94 2 0 154 94 2 0 153 94 3 0 152 94 4 0 151 94 5 0 150 94 6 0 149 94 7 0 148 94 8 0 147 94 9 0 146 94 10 0 145 94 11 0 144 94 12 0 143 94 13 0 142 94 14 0 141 94 15 0 140 94 16 0 139 94 17 0 138 94 18 0 137 94 19 0 136 94 20 0 135 94 21 0 134 94 22 0 133 94 24 0 132 94 25 0 131 94 26 0 130 94 27 0 129 94 28 0 128 94 29 0 127 94 30 0 125 94 31 0 124 94 32 0 123 94 33 0 122 94 34 0 121 94 35 0 120 94 36 0 119 94 37 0 118 94 38 0 117 94 39 0 116 94 40 0 115 94 41 0 114 94 42 0 113 94 43 0 112 94 44 0 111 94 45 0 110 94 46 0 109 94 47 0 108 94 48 0 107 94 49 0 106 94 50 0 105 94 51 0 104 94 52 0 103 94 53 0 102 94 54 0 101 94 55 0 100 94 57 0 99 94 58 0 98 94 59 0 97 94 60 0 96 94 61 0 95 94 62 0 94 94 63 0 92 94 64 0 91 94 65 0 90 94 66 0 89 94 67 0 88 94 68 0 87 94 69 0 86 94 70 0 85 94 71 0 84 94 72 0 83 94 73 0 82 94 74 0 81 94 75 0 80 94 76 0 79 94 77 0 78 94 78 0 77 94 79 3 76 94 80 6 75 94 81 9 74 94 82 13 73 94 83 16 72 94 84 18 71 94 85 22 70 94 86 25 69 94 87 27 68 94 88 29 67 94 90 31 66 94 91 35 65 94 92 36 64 94 93 39 63 94 94 43 62 94 95 46 61 94 96 49 59 94 97 51 58 94 98 53 57 94 99 57 56 94 100 60 55 94 101 64 54 94 102 67 53 94 103 70 52 94 104 73 51 94 105 76 50 94 106 80 49 94 107 82 48 94 108 84 47 94 109 88 46 94 110 91 45 94 111 93 44 94 112 95 43 94 113 98 42 94 114 99 41 94 115 103 40 94 116 107 39 94 117 110 38 94 118 111 37 94 119 114 36 94 120 117 35 94 121 120 34 94 123 121 33 94 124 126 32 94 125 130 31 94 126 133 30 94 127 135 29 94 128 138 28 94 129 141 26 94 130 144 25 94 131 149 24 94 132 152 23 94 133 153 22 94 134 155 21 94 135 156 20 94 136 159 19 94 137 160 18 94 138 163 17 94 139 166 16 94 140 171 15 94 141 174 14 94 142 176 13 94 143 179 12 94 144 182 11 94 145 184 10 94 146 186 9 94 147 189 8 94 148 195 7 94 149 198 6 94 150 201 5 94 151 202 4 94 152 204 3 94 153 205 2 94 154 205 1 94 156 207 0 94 157 208 0 94 157 211 0 94 158 213 0 94 158 216 0 94 158 217 0 94 158 219 255 92 0 220 254 92 0 220 254 92 0 219 254 92 0 219 253 92 0 217 252 92 0 217 251 92 0 213 250 92 0 211 249 92 0 209 248 92 0 208 247 92 0 207 246 92 0 205 245 92 0 204 244 92 0 202 243 92 0 201 242 92 0 199 241 92 0 195 240 92 0 189 239 92 0 186 238 92 0 184 237 92 0 182 236 92 0 179 235 92 0 176 234 92 0 174 233 92 0 172 232 92 0 166 231 92 0 163 230 92 0 162 229 92 0 160 228 92 0 157 227 92 0 156 226 92 0 155 224 92 0 153 223 92 0 150 222 92 0 149 221 92 0 144 220 92 0 141 219 92 0 138 218 92 0 135 217 92 0 133 216 92 0 130 215 92 0 126 214 92 0 121 213 92 0 120 212 92 0 117 211 92 0 114 210 92 0 111 209 92 0 110 208 92 0 104 207 92 0 103 206 92 0 99 205 92 0 96 204 92 0 95 203 92 0 92 202 92 0 89 201 92 0 88 200 92 0 84 199 92 0 81 198 92 0 77 197 92 0 76 196 92 0 73 195 92 0 69 194 92 0 67 193 92 0 64 191 92 0 60 190 92 0 57 189 92 0 53 188 92 0 50 187 92 0 49 186 92 0 46 185 92 0 43 184 92 0 39 183 92 0 38 182 92 0 35 181 92 0 31 180 92 0 29 179 92 0 27 178 92 0 25 177 92 0 22 176 92 0 18 175 92 0 16 174 92 0 13 173 92 0 9 172 92 0 6 171 92 0 3 170 92 0 2 169 92 0 0 168 92 0 0 167 92 0 0 166 92 0 0 165 92 0 0 164 92 0 0 163 92 0 0 162 92 0 0 161 92 0 0 160 92 0 0 158 92 1 0 157 92 2 0 156 92 2 0 155 92 3 0 154 92 3 0 153 92 4 0 152 92 5 0 151 92 6 0 150 92 7 0 149 92 9 0 148 92 10 0 147 92 10 0 146 92 11 0 145 92 12 0 144 92 13 0 143 92 14 0 142 92 15 0 141 92 17 0 140 92 18 0 139 92 18 0 138 92 19 0 137 92 20 0 136 92 21 0 135 92 22 0 134 92 24 0 133 92 25 0 132 92 26 0 131 92 27 0 130 92 28 0 129 92 29 0 128 92 30 0 127 92 31 0 125 92 32 0 124 92 34 0 123 92 35 0 122 92 35 0 121 92 36 0 120 92 37 0 119 92 38 0 118 92 39 0 117 92 40 0 116 92 42 0 115 92 43 0 114 92 43 0 113 92 44 0 112 92 45 0 111 92 46 0 110 92 47 0 109 92 48 0 108 92 50 0 107 92 51 0 106 92 51 0 105 92 52 0 104 92 53 0 103 92 54 0 102 92 55 0 101 92 57 0 100 92 58 0 99 92 59 0 98 92 60 0 97 92 61 0 96 92 62 0 95 92 63 0 94 92 64 0 92 92 65 0 91 92 67 0 90 92 68 0 89 92 68 0 88 92 69 0 87 92 70 0 86 92 71 0 85 92 72 0 84 92 73 0 83 92 75 0 82 92 76 0 81 92 76 0 80 92 77 0 79 92 78 0 78 92 79 3 77 92 80 6 76 92 81 9 75 92 83 13 74 92 84 16 73 92 84 18 72 92 85 22 71 92 86 24 70 92 87 27 69 92 88 29 68 92 90 31 67 92 91 35 66 92 92 36 65 92 93 39 64 92 94 43 63 92 95 46 62 92 96 47 61 92 97 50 59 92 98 53 58 92 100 57 57 92 101 59 56 92 101 62 55 92 102 66 54 92 103 69 53 92 104 71 52 92 105 74 51 92 106 77 50 92 108 81 49 92 109 84 48 92 109 86 47 92 110 89 46 92 111 92 45 92 112 95 44 92 113 96 43 92 114 99 42 92 116 103 41 92 117 104 40 92 117 108 39 92 118 111 38 92 119 114 37 92 120 117 36 92 121 118 35 92 123 121 34 92 124 126 33 92 125 128 32 92 126 131 31 92 127 134 30 92 128 137 29 92 129 140 28 92 130 143 26 92 131 149 25 92 133 150 24 92 134 153 23 92 134 155 22 92 135 156 21 92 136 157 20 92 137 159 19 92 138 162 18 92 139 163 17 92 141 166 16 92 142 171 15 92 142 174 14 92 143 176 13 92 144 179 12 92 145 182 11 92 146 184 10 92 147 186 9 92 149 189 8 92 150 195 7 92 150 198 6 92 151 201 5 92 152 202 4 92 153 204 3 92 154 205 2 92 156 207 1 92 157 207 0 92 158 208 0 92 159 211 0 92 159 213 0 92 159 216 0 92 160 217 0 92 160 219 255 91 0 220 254 91 0 220 254 91 0 219 254 91 0 219 253 91 0 217 252 91 0 217 251 91 0 213 250 91 0 211 249 91 0 209 248 91 0 208 247 91 0 207 246 91 0 205 245 91 0 205 244 91 0 202 243 91 0 201 242 91 0 199 241 91 0 195 240 91 0 189 239 91 0 186 238 91 0 184 237 91 0 182 236 91 0 179 235 91 0 178 234 91 0 175 233 91 0 172 232 91 0 167 231 91 0 165 230 91 0 163 229 91 0 160 228 91 0 159 227 91 0 157 226 91 0 156 224 91 0 155 223 91 0 152 222 91 0 150 221 91 0 145 220 91 0 143 219 91 0 140 218 91 0 137 217 91 0 134 216 91 0 131 215 91 0 128 214 91 0 122 213 91 0 121 212 91 0 118 211 91 0 115 210 91 0 112 209 91 0 111 208 91 0 107 207 91 0 104 206 91 0 102 205 91 0 98 204 91 0 95 203 91 0 93 202 91 0 91 201 91 0 89 200 91 0 86 199 91 0 82 198 91 0 81 197 91 0 77 196 91 0 74 195 91 0 70 194 91 0 69 193 91 0 66 191 91 0 62 190 91 0 59 189 91 0 57 188 91 0 53 187 91 0 50 186 91 0 49 185 91 0 46 184 91 0 43 183 91 0 39 182 91 0 36 181 91 0 35 180 91 0 31 179 91 0 29 178 91 0 27 177 91 0 24 176 91 0 22 175 91 0 18 174 91 0 16 173 91 0 13 172 91 0 9 171 91 0 6 170 91 0 3 169 91 0 0 168 91 0 0 167 91 0 0 166 91 0 0 165 91 0 0 164 91 0 0 163 91 0 0 162 91 0 0 161 91 0 0 160 91 1 0 158 91 2 0 157 91 2 0 156 91 3 0 155 91 4 0 154 91 4 0 153 91 5 0 152 91 6 0 151 91 7 0 150 91 9 0 149 91 10 0 148 91 11 0 147 91 12 0 146 91 12 0 145 91 13 0 144 91 14 0 143 91 15 0 142 91 17 0 141 91 18 0 140 91 19 0 139 91 20 0 138 91 20 0 137 91 21 0 136 91 22 0 135 91 24 0 134 91 25 0 133 91 26 0 132 91 27 0 131 91 28 0 130 91 29 0 129 91 30 0 128 91 31 0 127 91 32 0 125 91 34 0 124 91 35 0 123 91 36 0 122 91 37 0 121 91 37 0 120 91 38 0 119 91 39 0 118 91 40 0 117 91 42 0 116 91 43 0 115 91 44 0 114 91 45 0 113 91 45 0 112 91 46 0 111 91 47 0 110 91 48 0 109 91 50 0 108 91 51 0 107 91 52 0 106 91 53 0 105 91 53 0 104 91 54 0 103 91 55 0 102 91 57 0 101 91 58 0 100 91 59 0 99 91 60 0 98 91 61 0 97 91 62 0 96 91 63 0 95 91 64 0 94 91 65 0 92 91 67 0 91 91 68 0 90 91 69 0 89 91 70 0 88 91 70 0 87 91 71 0 86 91 72 0 85 91 73 0 84 91 75 0 83 91 76 0 82 91 77 0 81 91 78 0 80 91 78 0 79 91 79 3 78 91 80 5 77 91 81 7 76 91 83 13 75 91 84 16 74 91 85 18 73 91 86 22 72 91 86 24 71 91 87 27 70 91 88 28 69 91 90 31 68 91 91 32 67 91 92 36 66 91 93 39 65 91 94 43 64 91 95 44 63 91 96 47 62 91 97 50 61 91 98 53 59 91 100 54 58 91 101 59 57 91 102 60 56 91 103 64 55 91 103 67 54 91 104 70 53 91 105 73 52 91 106 76 51 91 108 80 50 91 109 82 49 91 110 86 48 91 111 88 47 91 111 91 46 91 112 93 45 91 113 95 44 91 114 98 43 91 116 102 42 91 117 103 41 91 118 107 40 91 119 110 39 91 119 112 38 91 120 115 37 91 121 118 36 91 123 120 35 91 124 122 34 91 125 126 33 91 126 130 32 91 127 133 31 91 128 135 30 91 129 138 29 91 130 143 28 91 131 145 26 91 133 150 25 91 134 152 24 91 135 155 23 91 136 156 22 91 136 157 21 91 137 159 20 91 138 160 19 91 139 162 18 91 141 165 17 91 142 167 16 91 143 172 15 91 144 175 14 91 144 176 13 91 145 179 12 91 146 182 11 91 147 184 10 91 149 186 9 91 150 189 8 91 151 195 7 91 152 198 6 91 152 201 5 91 153 202 4 91 154 204 3 91 156 205 2 91 157 207 1 91 158 208 0 91 159 209 0 91 160 211 0 91 161 213 0 91 161 216 0 91 161 217 0 91 161 219 255 90 0 220 254 90 0 220 254 90 0 219 254 90 0 219 253 90 0 217 252 90 0 217 251 90 0 213 250 90 0 211 249 90 0 209 248 90 0 208 247 90 0 207 246 90 0 207 245 90 0 205 244 90 0 204 243 90 0 201 242 90 0 199 241 90 0 195 240 90 0 189 239 90 0 186 238 90 0 185 237 90 0 182 236 90 0 181 235 90 0 178 234 90 0 176 233 90 0 174 232 90 0 171 231 90 0 166 230 90 0 165 229 90 0 162 228 90 0 160 227 90 0 159 226 90 0 157 224 90 0 155 223 90 0 153 222 90 0 152 221 90 0 149 220 90 0 144 219 90 0 141 218 90 0 138 217 90 0 134 216 90 0 131 215 90 0 128 214 90 0 126 213 90 0 121 212 90 0 120 211 90 0 117 210 90 0 114 209 90 0 111 208 90 0 108 207 90 0 104 206 90 0 103 205 90 0 99 204 90 0 96 203 90 0 95 202 90 0 92 201 90 0 89 200 90 0 88 199 90 0 84 198 90 0 81 197 90 0 80 196 90 0 76 195 90 0 71 194 90 0 69 193 90 0 67 191 90 0 64 190 90 0 60 189 90 0 59 188 90 0 54 187 90 0 53 186 90 0 50 185 90 0 47 184 90 0 44 183 90 0 43 182 90 0 39 181 90 0 36 180 90 0 35 179 90 0 31 178 90 0 28 177 90 0 27 176 90 0 24 175 90 0 20 174 90 0 17 173 90 0 16 172 90 0 10 171 90 0 7 170 90 0 6 169 90 0 3 168 90 0 0 167 90 0 0 166 90 0 0 165 90 0 0 164 90 0 0 163 90 0 0 162 90 0 0 161 90 0 0 160 90 1 0 158 90 2 0 157 90 3 0 156 90 4 0 155 90 5 0 154 90 5 0 153 90 6 0 152 90 7 0 151 90 8 0 150 90 10 0 149 90 11 0 148 90 12 0 147 90 13 0 146 90 13 0 145 90 14 0 144 90 15 0 143 90 16 0 142 90 18 0 141 90 19 0 140 90 20 0 139 90 21 0 138 90 21 0 137 90 22 0 136 90 23 0 135 90 25 0 134 90 26 0 133 90 27 0 132 90 28 0 131 90 29 0 130 90 30 0 129 90 31 0 128 90 32 0 127 90 33 0 125 90 35 0 124 90 36 0 123 90 37 0 122 90 38 0 121 90 38 0 120 90 39 0 119 90 40 0 118 90 41 0 117 90 43 0 116 90 44 0 115 90 45 0 114 90 46 0 113 90 46 0 112 90 47 0 111 90 48 0 110 90 49 0 109 90 51 0 108 90 52 0 107 90 53 0 106 90 54 0 105 90 54 0 104 90 55 0 103 90 56 0 102 90 58 0 101 90 59 0 100 90 60 0 99 90 61 0 98 90 62 0 97 90 63 0 96 90 64 0 95 90 65 0 94 90 66 0 92 90 68 0 91 90 69 0 90 90 70 0 89 90 71 0 88 90 71 0 87 90 72 0 86 90 73 0 85 90 74 0 84 90 76 0 83 90 77 0 82 90 78 0 81 90 79 0 80 90 79 2 79 90 80 5 78 90 81 7 77 90 82 10 76 90 84 14 75 90 85 17 74 90 86 20 73 90 87 24 72 90 87 27 71 90 88 28 70 90 89 31 69 90 91 32 68 90 92 36 67 90 93 38 66 90 94 40 65 90 95 44 64 90 96 47 63 90 97 50 62 90 98 51 61 90 99 54 59 90 101 57 58 90 102 60 57 90 103 62 56 90 104 66 55 90 104 69 54 90 105 71 53 90 106 74 52 90 107 77 51 90 109 81 50 90 110 84 49 90 111 88 48 90 112 89 47 90 112 92 46 90 113 93 45 90 114 96 44 90 115 99 43 90 117 102 42 90 118 104 41 90 119 108 40 90 120 111 39 90 120 114 38 90 121 117 37 90 122 118 36 90 124 121 35 90 125 122 34 90 126 128 33 90 127 131 32 90 128 134 31 90 129 137 30 90 130 140 29 90 131 143 28 90 132 145 26 90 134 150 25 90 135 153 24 90 136 155 23 90 137 156 22 90 137 157 21 90 138 159 20 90 139 162 19 90 140 163 18 90 142 166 17 90 143 171 16 90 144 174 15 90 145 175 14 90 145 178 13 90 146 179 12 90 147 182 11 90 148 184 10 90 150 186 9 90 151 189 8 90 152 195 7 90 153 198 6 90 153 201 5 90 154 202 4 90 155 204 3 90 157 205 2 90 158 207 1 90 159 208 0 90 160 209 0 90 161 211 0 90 162 213 0 90 162 216 0 90 162 217 0 90 162 219 255 89 0 220 254 89 0 220 254 89 0 220 254 89 0 219 253 89 0 217 252 89 0 217 251 89 0 213 250 89 0 211 249 89 0 209 248 89 0 208 247 89 0 208 246 89 0 207 245 89 0 205 244 89 0 204 243 89 0 201 242 89 0 199 241 89 0 195 240 89 0 189 239 89 0 186 238 89 0 185 237 89 0 182 236 89 0 181 235 89 0 179 234 89 0 176 233 89 0 175 232 89 0 172 231 89 0 167 230 89 0 166 229 89 0 163 228 89 0 162 227 89 0 159 226 89 0 157 224 89 0 156 223 89 0 153 222 89 0 152 221 89 0 149 220 89 0 145 219 89 0 143 218 89 0 138 217 89 0 135 216 89 0 133 215 89 0 130 214 89 0 126 213 89 0 122 212 89 0 120 211 89 0 118 210 89 0 115 209 89 0 112 208 89 0 110 207 89 0 107 206 89 0 103 205 89 0 99 204 89 0 98 203 89 0 95 202 89 0 93 201 89 0 91 200 89 0 89 199 89 0 86 198 89 0 82 197 89 0 81 196 89 0 76 195 89 0 73 194 89 0 70 193 89 0 67 191 89 0 64 190 89 0 62 189 89 0 60 188 89 0 57 187 89 0 54 186 89 0 53 185 89 0 50 184 89 0 47 183 89 0 44 182 89 0 40 181 89 0 38 180 89 0 36 179 89 0 32 178 89 0 31 177 89 0 28 176 89 0 27 175 89 0 24 174 89 0 20 173 89 0 17 172 89 0 14 171 89 0 10 170 89 0 7 169 89 0 5 168 89 0 2 167 89 0 0 166 89 0 0 165 89 0 0 164 89 0 0 163 89 0 0 162 89 0 0 161 89 1 0 160 89 2 0 158 89 3 0 157 89 4 0 156 89 5 0 155 89 6 0 154 89 6 0 153 89 7 0 152 89 8 0 151 89 9 0 150 89 10 0 149 89 12 0 148 89 13 0 147 89 14 0 146 89 14 0 145 89 15 0 144 89 16 0 143 89 17 0 142 89 18 0 141 89 20 0 140 89 21 0 139 89 22 0 138 89 22 0 137 89 23 0 136 89 24 0 135 89 26 0 134 89 27 0 133 89 28 0 132 89 29 0 131 89 30 0 130 89 31 0 129 89 32 0 128 89 33 0 127 89 34 0 125 89 35 0 124 89 37 0 123 89 38 0 122 89 39 0 121 89 39 0 120 89 40 0 119 89 41 0 118 89 42 0 117 89 43 0 116 89 45 0 115 89 46 0 114 89 47 0 113 89 47 0 112 89 48 0 111 89 49 0 110 89 50 0 109 89 51 0 108 89 53 0 107 89 54 0 106 89 55 0 105 89 55 0 104 89 56 0 103 89 57 0 102 89 59 0 101 89 60 0 100 89 61 0 99 89 62 0 98 89 63 0 97 89 64 0 96 89 65 0 95 89 66 0 94 89 67 0 92 89 68 0 91 89 70 0 90 89 71 0 89 89 72 0 88 89 72 0 87 89 73 0 86 89 74 0 85 89 75 0 84 89 76 0 83 89 78 0 82 89 79 0 81 89 80 2 80 89 80 5 79 89 81 7 78 89 82 10 77 89 83 14 76 89 84 17 75 89 86 20 74 89 87 24 73 89 88 27 72 89 88 28 71 89 89 29 70 89 90 32 69 89 92 36 68 89 93 38 67 89 94 40 66 89 95 44 65 89 96 47 64 89 97 49 63 89 98 51 62 89 99 54 61 89 100 57 59 89 101 60 58 89 103 62 57 89 104 64 56 89 105 67 55 89 105 70 54 89 106 73 53 89 107 76 52 89 108 80 51 89 109 82 50 89 111 86 49 89 112 88 48 89 113 91 47 89 113 92 46 89 114 95 45 89 115 98 44 89 116 99 43 89 117 103 42 89 119 107 41 89 120 110 40 89 121 112 39 89 121 115 38 89 122 117 37 89 123 120 36 89 125 122 35 89 126 126 34 89 127 130 33 89 128 131 32 89 129 134 31 89 130 137 30 89 131 141 29 89 132 144 28 89 133 149 26 89 134 152 25 89 136 153 24 89 137 156 23 89 138 157 22 89 138 159 21 89 139 160 20 89 140 163 19 89 141 165 18 89 142 167 17 89 144 172 16 89 145 175 15 89 146 176 14 89 146 178 13 89 147 181 12 89 148 182 11 89 149 184 10 89 150 186 9 89 152 189 8 89 153 195 7 89 154 198 6 89 154 201 5 89 155 204 4 89 156 205 3 89 158 207 2 89 159 207 1 89 160 208 0 89 161 209 0 89 162 211 0 89 163 213 0 89 163 216 0 89 163 217 0 89 163 219 255 88 0 221 254 88 0 220 254 88 0 220 254 88 0 219 253 88 0 219 252 88 0 217 251 88 0 213 250 88 0 211 249 88 0 211 248 88 0 209 247 88 0 208 246 88 0 207 245 88 0 205 244 88 0 204 243 88 0 201 242 88 0 199 241 88 0 195 240 88 0 189 239 88 0 188 238 88 0 185 237 88 0 184 236 88 0 182 235 88 0 181 234 88 0 178 233 88 0 176 232 88 0 174 231 88 0 172 230 88 0 167 229 88 0 165 228 88 0 162 227 88 0 160 226 88 0 157 224 88 0 156 223 88 0 155 222 88 0 153 221 88 0 150 220 88 0 145 219 88 0 143 218 88 0 140 217 88 0 135 216 88 0 133 215 88 0 130 214 88 0 126 213 88 0 122 212 88 0 121 211 88 0 118 210 88 0 117 209 88 0 114 208 88 0 111 207 88 0 108 206 88 0 104 205 88 0 102 204 88 0 99 203 88 0 96 202 88 0 93 201 88 0 92 200 88 0 91 199 88 0 88 198 88 0 84 197 88 0 81 196 88 0 77 195 88 0 74 194 88 0 71 193 88 0 69 191 88 0 66 190 88 0 64 189 88 0 62 188 88 0 59 187 88 0 57 186 88 0 54 185 88 0 51 184 88 0 49 183 88 0 47 182 88 0 43 181 88 0 40 180 88 0 38 179 88 0 35 178 88 0 32 177 88 0 29 176 88 0 28 175 88 0 25 174 88 0 22 173 88 0 20 172 88 0 17 171 88 0 14 170 88 0 10 169 88 0 7 168 88 0 5 167 88 0 2 166 88 0 0 165 88 0 0 164 88 0 0 163 88 0 0 162 88 1 0 161 88 1 0 160 88 2 0 158 88 3 0 157 88 4 0 156 88 5 0 155 88 6 0 154 88 7 0 153 88 8 0 152 88 9 0 151 88 10 0 150 88 11 0 149 88 12 0 148 88 13 0 147 88 14 0 146 88 15 0 145 88 16 0 144 88 17 0 143 88 18 0 142 88 19 0 141 88 20 0 140 88 21 0 139 88 22 0 138 88 23 0 137 88 24 0 136 88 25 0 135 88 27 0 134 88 28 0 133 88 29 0 132 88 30 0 131 88 31 0 130 88 32 0 129 88 33 0 128 88 34 0 127 88 35 0 125 88 36 0 124 88 37 0 123 88 38 0 122 88 39 0 121 88 40 0 120 88 41 0 119 88 42 0 118 88 43 0 117 88 44 0 116 88 45 0 115 88 46 0 114 88 47 0 113 88 48 0 112 88 49 0 111 88 50 0 110 88 51 0 109 88 52 0 108 88 53 0 107 88 54 0 106 88 55 0 105 88 56 0 104 88 57 0 103 88 58 0 102 88 60 0 101 88 61 0 100 88 62 0 99 88 63 0 98 88 64 0 97 88 65 0 96 88 66 0 95 88 67 0 94 88 68 0 92 88 69 0 91 88 70 0 90 88 71 0 89 88 72 0 88 88 73 0 87 88 74 0 86 88 75 0 85 88 76 0 84 88 77 0 83 88 78 0 82 88 79 2 81 88 80 3 80 88 81 6 79 88 82 9 78 88 83 13 77 88 84 16 76 88 85 20 75 88 86 22 74 88 87 25 73 88 88 28 72 88 89 29 71 88 90 32 70 88 91 35 69 88 93 38 68 88 94 39 67 88 95 43 66 88 96 46 65 88 97 49 64 88 98 51 63 88 99 54 62 88 100 57 61 88 101 59 59 88 102 62 58 88 103 64 57 88 104 66 56 88 105 69 55 88 106 71 54 88 107 74 53 88 108 77 52 88 109 81 51 88 110 84 50 88 111 86 49 88 112 89 48 88 113 91 47 88 114 93 46 88 115 96 45 88 116 98 44 88 117 102 43 88 118 104 42 88 119 108 41 88 120 111 40 88 121 114 39 88 122 115 38 88 123 118 37 88 124 120 36 88 126 122 35 88 127 126 34 88 128 130 33 88 129 133 32 88 130 134 31 88 131 138 30 88 132 141 29 88 133 144 28 88 134 149 26 88 135 152 25 88 136 155 24 88 137 156 23 88 138 157 22 88 139 159 21 88 140 162 20 88 141 165 19 88 142 166 18 88 143 171 17 88 144 174 16 88 145 176 15 88 146 178 14 88 147 179 13 88 148 181 12 88 149 182 11 88 150 185 10 88 151 186 9 88 152 189 8 88 153 195 7 88 154 198 6 88 155 201 5 88 156 204 4 88 157 205 3 88 159 207 2 88 160 208 1 88 161 208 0 88 162 209 0 88 163 211 0 88 163 213 0 88 164 216 0 88 164 217 0 88 164 219 255 87 0 221 254 87 0 221 254 87 0 221 254 87 0 220 253 87 0 219 252 87 0 217 251 87 0 216 250 87 0 213 249 87 0 211 248 87 0 209 247 87 0 208 246 87 0 208 245 87 0 207 244 87 0 204 243 87 0 202 242 87 0 199 241 87 0 195 240 87 0 194 239 87 0 188 238 87 0 185 237 87 0 184 236 87 0 182 235 87 0 181 234 87 0 179 233 87 0 178 232 87 0 175 231 87 0 172 230 87 0 171 229 87 0 166 228 87 0 163 227 87 0 160 226 87 0 157 224 87 0 156 223 87 0 155 222 87 0 153 221 87 0 150 220 87 0 145 219 87 0 143 218 87 0 140 217 87 0 135 216 87 0 133 215 87 0 130 214 87 0 128 213 87 0 122 212 87 0 121 211 87 0 120 210 87 0 117 209 87 0 115 208 87 0 112 207 87 0 110 206 87 0 107 205 87 0 103 204 87 0 99 203 87 0 98 202 87 0 95 201 87 0 93 200 87 0 91 199 87 0 89 198 87 0 86 197 87 0 82 196 87 0 80 195 87 0 76 194 87 0 73 193 87 0 70 191 87 0 67 190 87 0 66 189 87 0 62 188 87 0 60 187 87 0 59 186 87 0 57 185 87 0 53 184 87 0 50 183 87 0 47 182 87 0 44 181 87 0 40 180 87 0 39 179 87 0 36 178 87 0 32 177 87 0 31 176 87 0 29 175 87 0 27 174 87 0 24 173 87 0 22 172 87 0 18 171 87 0 16 170 87 0 13 169 87 0 7 168 87 0 5 167 87 0 3 166 87 0 0 165 87 0 0 164 87 0 0 163 87 1 0 162 87 1 0 161 87 2 0 160 87 3 0 158 87 4 0 157 87 5 0 156 87 6 0 155 87 7 0 154 87 8 0 153 87 9 0 152 87 10 0 151 87 11 0 150 87 12 0 149 87 13 0 148 87 14 0 147 87 15 0 146 87 16 0 145 87 17 0 144 87 18 0 143 87 19 0 142 87 20 0 141 87 21 0 140 87 22 0 139 87 23 0 138 87 24 0 137 87 25 0 136 87 26 0 135 87 28 0 134 87 29 0 133 87 30 0 132 87 31 0 131 87 32 0 130 87 33 0 129 87 34 0 128 87 35 0 127 87 36 0 125 87 37 0 124 87 38 0 123 87 39 0 122 87 40 0 121 87 41 0 120 87 42 0 119 87 43 0 118 87 44 0 117 87 45 0 116 87 46 0 115 87 47 0 114 87 48 0 113 87 49 0 112 87 50 0 111 87 51 0 110 87 52 0 109 87 53 0 108 87 54 0 107 87 55 0 106 87 56 0 105 87 57 0 104 87 58 0 103 87 59 0 102 87 61 0 101 87 62 0 100 87 63 0 99 87 64 0 98 87 65 0 97 87 66 0 96 87 67 0 95 87 68 0 94 87 69 0 92 87 70 0 91 87 71 0 90 87 72 0 89 87 73 0 88 87 74 0 87 87 75 0 86 87 76 0 85 87 77 0 84 87 78 0 83 87 79 0 82 87 80 3 81 87 81 5 80 87 82 7 79 87 83 10 78 87 84 14 77 87 85 17 76 87 86 20 75 87 87 24 74 87 88 27 73 87 89 28 72 87 90 31 71 87 91 32 70 87 92 36 69 87 94 38 68 87 95 40 67 87 96 44 66 87 97 47 65 87 98 50 64 87 99 53 63 87 100 54 62 87 101 59 61 87 102 60 59 87 103 62 58 87 104 66 57 87 105 67 56 87 106 70 55 87 107 73 54 87 108 76 53 87 109 80 52 87 110 82 51 87 111 84 50 87 112 88 49 87 113 91 48 87 114 92 47 87 115 95 46 87 116 96 45 87 117 99 44 87 118 103 43 87 119 107 42 87 120 110 41 87 121 111 40 87 122 114 39 87 123 117 38 87 124 118 37 87 125 121 36 87 127 122 35 87 128 126 34 87 129 130 33 87 130 133 32 87 131 134 31 87 132 138 30 87 133 141 29 87 134 144 28 87 135 149 26 87 136 152 25 87 137 155 24 87 138 156 23 87 139 157 22 87 140 160 21 87 141 162 20 87 142 165 19 87 143 167 18 87 144 172 17 87 145 175 16 87 146 178 15 87 147 179 14 87 148 181 13 87 149 182 12 87 150 184 11 87 151 185 10 87 152 188 9 87 153 189 8 87 154 195 7 87 155 198 6 87 156 201 5 87 157 204 4 87 158 205 3 87 160 207 2 87 161 208 1 87 162 209 0 87 163 211 0 87 164 211 0 87 164 213 0 87 165 216 0 87 165 217 0 87 165 219 255 86 0 224 254 86 0 223 254 86 0 221 254 86 0 220 253 86 0 219 252 86 0 217 251 86 0 216 250 86 0 213 249 86 0 211 248 86 0 209 247 86 0 209 246 86 0 208 245 86 0 207 244 86 0 204 243 86 0 202 242 86 0 199 241 86 0 197 240 86 0 194 239 86 0 188 238 86 0 186 237 86 0 185 236 86 0 184 235 86 0 182 234 86 0 181 233 86 0 178 232 86 0 176 231 86 0 174 230 86 0 171 229 86 0 166 228 86 0 163 227 86 0 160 226 86 0 159 224 86 0 156 223 86 0 155 222 86 0 153 221 86 0 150 220 86 0 145 219 86 0 143 218 86 0 140 217 86 0 137 216 86 0 134 215 86 0 131 214 86 0 128 213 86 0 126 212 86 0 122 211 86 0 120 210 86 0 118 209 86 0 117 208 86 0 114 207 86 0 111 206 86 0 108 205 86 0 104 204 86 0 103 203 86 0 99 202 86 0 96 201 86 0 95 200 86 0 92 199 86 0 89 198 86 0 88 197 86 0 84 196 86 0 81 195 86 0 77 194 86 0 74 193 86 0 71 191 86 0 69 190 86 0 67 189 86 0 64 188 86 0 62 187 86 0 60 186 86 0 59 185 86 0 54 184 86 0 51 183 86 0 49 182 86 0 46 181 86 0 43 180 86 0 39 179 86 0 38 178 86 0 35 177 86 0 32 176 86 0 29 175 86 0 28 174 86 0 25 173 86 0 24 172 86 0 20 171 86 0 17 170 86 0 14 169 86 0 9 168 86 0 6 167 86 0 5 166 86 0 2 165 86 0 0 164 86 1 0 163 86 1 0 162 86 2 0 161 86 3 0 160 86 4 0 158 86 5 0 157 86 6 0 156 86 7 0 155 86 8 0 154 86 9 0 153 86 10 0 152 86 11 0 151 86 12 0 150 86 13 0 149 86 14 0 148 86 15 0 147 86 16 0 146 86 17 0 145 86 18 0 144 86 19 0 143 86 20 0 142 86 21 0 141 86 22 0 140 86 23 0 139 86 24 0 138 86 25 0 137 86 26 0 136 86 27 0 135 86 29 0 134 86 30 0 133 86 31 0 132 86 32 0 131 86 33 0 130 86 34 0 129 86 35 0 128 86 36 0 127 86 37 0 125 86 38 0 124 86 39 0 123 86 40 0 122 86 41 0 121 86 42 0 120 86 43 0 119 86 44 0 118 86 45 0 117 86 46 0 116 86 47 0 115 86 48 0 114 86 49 0 113 86 50 0 112 86 51 0 111 86 52 0 110 86 53 0 109 86 54 0 108 86 55 0 107 86 56 0 106 86 57 0 105 86 58 0 104 86 59 0 103 86 60 0 102 86 62 0 101 86 63 0 100 86 64 0 99 86 65 0 98 86 66 0 97 86 67 0 96 86 68 0 95 86 69 0 94 86 70 0 92 86 71 0 91 86 72 0 90 86 73 0 89 86 74 0 88 86 75 0 87 86 76 0 86 86 77 0 85 86 78 0 84 86 79 0 83 86 80 2 82 86 81 3 81 86 82 6 80 86 83 9 79 86 84 13 78 86 85 16 77 86 86 18 76 86 87 22 75 86 88 25 74 86 89 27 73 86 90 29 72 86 91 31 71 86 92 35 70 86 93 36 69 86 95 39 68 86 96 43 67 86 97 46 66 86 98 49 65 86 99 51 64 86 100 54 63 86 101 57 62 86 102 60 61 86 103 62 59 86 104 64 58 86 105 67 57 86 106 69 56 86 107 71 55 86 108 74 54 86 109 77 53 86 110 81 52 86 111 84 51 86 112 86 50 86 113 89 49 86 114 92 48 86 115 93 47 86 116 96 46 86 117 98 45 86 118 102 44 86 119 104 43 86 120 108 42 86 121 111 41 86 122 112 40 86 123 115 39 86 124 118 38 86 125 120 37 86 126 121 36 86 128 126 35 86 129 128 34 86 130 130 33 86 131 133 32 86 132 135 31 86 133 138 30 86 134 143 29 86 135 145 28 86 136 150 26 86 137 152 25 86 138 155 24 86 139 156 23 86 140 157 22 86 141 160 21 86 142 162 20 86 143 165 19 86 144 171 18 86 145 174 17 86 146 176 16 86 147 178 15 86 148 181 14 86 149 182 13 86 150 184 12 86 151 185 11 86 152 186 10 86 153 188 9 86 154 194 8 86 155 197 7 86 156 199 6 86 157 202 5 86 158 204 4 86 159 205 3 86 161 208 2 86 162 208 1 86 163 209 0 86 164 211 0 86 165 213 0 86 165 216 0 86 165 217 0 86 166 217 0 86 166 219 255 85 0 226 254 85 0 224 254 85 0 223 254 85 0 221 253 85 0 220 252 85 0 217 251 85 0 216 250 85 0 213 249 85 0 211 248 85 0 211 247 85 0 209 246 85 0 208 245 85 0 207 244 85 0 205 243 85 0 202 242 85 0 199 241 85 0 197 240 85 0 195 239 85 0 189 238 85 0 188 237 85 0 186 236 85 0 185 235 85 0 182 234 85 0 181 233 85 0 179 232 85 0 176 231 85 0 174 230 85 0 172 229 85 0 166 228 85 0 163 227 85 0 160 226 85 0 159 224 85 0 156 223 85 0 155 222 85 0 153 221 85 0 150 220 85 0 149 219 85 0 144 218 85 0 140 217 85 0 137 216 85 0 134 215 85 0 131 214 85 0 130 213 85 0 126 212 85 0 122 211 85 0 121 210 85 0 120 209 85 0 118 208 85 0 115 207 85 0 112 206 85 0 110 205 85 0 107 204 85 0 104 203 85 0 102 202 85 0 98 201 85 0 95 200 85 0 93 199 85 0 91 198 85 0 89 197 85 0 86 196 85 0 82 195 85 0 80 194 85 0 77 193 85 0 74 191 85 0 70 190 85 0 69 189 85 0 66 188 85 0 64 187 85 0 62 186 85 0 59 185 85 0 57 184 85 0 53 183 85 0 50 182 85 0 47 181 85 0 44 180 85 0 40 179 85 0 39 178 85 0 36 177 85 0 32 176 85 0 31 175 85 0 28 174 85 0 27 173 85 0 24 172 85 0 20 171 85 0 17 170 85 0 16 169 85 0 10 168 85 0 7 167 85 0 6 166 85 1 3 165 85 1 2 164 85 2 0 163 85 2 0 162 85 3 0 161 85 4 0 160 85 5 0 158 85 6 0 157 85 7 0 156 85 8 0 155 85 9 0 154 85 10 0 153 85 11 0 152 85 12 0 151 85 13 0 150 85 14 0 149 85 15 0 148 85 16 0 147 85 17 0 146 85 18 0 145 85 19 0 144 85 20 0 143 85 21 0 142 85 22 0 141 85 24 0 140 85 25 0 139 85 26 0 138 85 27 0 137 85 28 0 136 85 29 0 135 85 30 0 134 85 31 0 133 85 32 0 132 85 33 0 131 85 34 0 130 85 35 0 129 85 36 0 128 85 37 0 127 85 38 0 125 85 39 0 124 85 40 0 123 85 41 0 122 85 42 0 121 85 43 0 120 85 44 0 119 85 45 0 118 85 46 0 117 85 47 0 116 85 48 0 115 85 49 0 114 85 50 0 113 85 51 0 112 85 52 0 111 85 53 0 110 85 54 0 109 85 55 0 108 85 57 0 107 85 58 0 106 85 59 0 105 85 60 0 104 85 61 0 103 85 62 0 102 85 63 0 101 85 64 0 100 85 65 0 99 85 66 0 98 85 67 0 97 85 68 0 96 85 69 0 95 85 70 0 94 85 71 0 92 85 72 0 91 85 73 0 90 85 74 0 89 85 75 0 88 85 76 0 87 85 77 0 86 85 78 0 85 85 79 0 84 85 80 2 83 85 81 3 82 85 82 5 81 85 83 7 80 85 84 10 79 85 85 14 78 85 86 17 77 85 87 20 76 85 88 24 75 85 90 27 74 85 91 28 73 85 92 31 72 85 93 32 71 85 94 36 70 85 95 38 69 85 96 40 68 85 97 44 67 85 98 47 66 85 99 50 65 85 100 53 64 85 101 54 63 85 102 59 62 85 103 60 61 85 104 64 59 85 105 66 58 85 106 69 57 85 107 70 56 85 108 73 55 85 109 76 54 85 110 80 53 85 111 82 52 85 112 86 51 85 113 88 50 85 114 91 49 85 115 93 48 85 116 95 47 85 117 98 46 85 118 99 45 85 119 103 44 85 120 107 43 85 121 110 42 85 123 112 41 85 124 115 40 85 125 117 39 85 126 120 38 85 127 121 37 85 128 122 36 85 129 126 35 85 130 128 34 85 131 131 33 85 132 134 32 85 133 137 31 85 134 140 30 85 135 143 29 85 136 145 28 85 137 150 26 85 138 153 25 85 139 155 24 85 140 156 23 85 141 157 22 85 142 160 21 85 143 163 20 85 144 166 19 85 145 171 18 85 146 174 17 85 147 176 16 85 148 179 15 85 149 181 14 85 150 182 13 85 151 184 12 85 152 185 11 85 153 186 10 85 154 189 9 85 156 194 8 85 157 197 7 85 158 199 6 85 159 202 5 85 160 204 4 85 161 207 3 85 162 208 2 85 163 209 1 85 164 209 0 85 165 211 0 85 166 213 0 85 166 216 0 85 167 217 0 85 167 217 0 85 167 219 255 84 0 227 254 84 0 226 254 84 0 224 254 84 0 223 253 84 0 220 252 84 0 219 251 84 0 216 250 84 0 213 249 84 0 213 248 84 0 211 247 84 0 209 246 84 0 208 245 84 0 207 244 84 0 205 243 84 0 202 242 84 0 201 241 84 0 198 240 84 0 195 239 84 0 194 238 84 0 188 237 84 0 186 236 84 0 185 235 84 0 184 234 84 0 181 233 84 0 179 232 84 0 176 231 84 0 175 230 84 0 172 229 84 0 167 228 84 0 163 227 84 0 162 226 84 0 159 224 84 0 157 223 84 0 155 222 84 0 153 221 84 0 152 220 84 0 149 219 84 0 144 218 84 0 141 217 84 0 138 216 84 0 135 215 84 0 133 214 84 0 130 213 84 0 128 212 84 0 126 211 84 0 122 210 84 0 121 209 84 0 118 208 84 0 117 207 84 0 114 206 84 0 111 205 84 0 108 204 84 0 104 203 84 0 103 202 84 0 99 201 84 0 96 200 84 0 95 199 84 0 92 198 84 0 89 197 84 0 88 196 84 0 84 195 84 0 81 194 84 0 80 193 84 0 76 191 84 0 71 190 84 0 70 189 84 0 67 188 84 0 66 187 84 0 62 186 84 0 60 185 84 0 59 184 84 0 54 183 84 0 51 182 84 0 49 181 84 0 46 180 84 0 43 179 84 0 39 178 84 0 38 177 84 0 35 176 84 0 32 175 84 0 29 174 84 0 28 173 84 0 25 172 84 0 22 171 84 0 18 170 84 0 17 169 84 0 13 168 84 0 10 167 84 1 7 166 84 2 6 165 84 2 3 164 84 3 2 163 84 3 0 162 84 4 0 161 84 5 0 160 84 6 0 158 84 7 0 157 84 9 0 156 84 10 0 155 84 10 0 154 84 11 0 153 84 12 0 152 84 13 0 151 84 14 0 150 84 15 0 149 84 17 0 148 84 18 0 147 84 18 0 146 84 19 0 145 84 20 0 144 84 21 0 143 84 22 0 142 84 24 0 141 84 25 0 140 84 26 0 139 84 27 0 138 84 28 0 137 84 29 0 136 84 30 0 135 84 31 0 134 84 32 0 133 84 34 0 132 84 35 0 131 84 35 0 130 84 36 0 129 84 37 0 128 84 38 0 127 84 39 0 125 84 40 0 124 84 42 0 123 84 43 0 122 84 43 0 121 84 44 0 120 84 45 0 119 84 46 0 118 84 47 0 117 84 48 0 116 84 50 0 115 84 51 0 114 84 51 0 113 84 52 0 112 84 53 0 111 84 54 0 110 84 55 0 109 84 57 0 108 84 58 0 107 84 59 0 106 84 60 0 105 84 61 0 104 84 62 0 103 84 63 0 102 84 64 0 101 84 65 0 100 84 67 0 99 84 68 0 98 84 68 0 97 84 69 0 96 84 70 0 95 84 71 0 94 84 72 0 92 84 73 0 91 84 75 0 90 84 76 0 89 84 76 0 88 84 77 0 87 84 78 0 86 84 79 0 85 84 80 0 84 84 81 3 83 84 83 5 82 84 84 6 81 84 84 9 80 84 85 13 79 84 86 16 78 84 87 18 77 84 88 22 76 84 90 25 75 84 91 27 74 84 92 29 73 84 93 31 72 84 94 35 71 84 95 36 70 84 96 39 69 84 97 43 68 84 98 46 67 84 100 49 66 84 101 51 65 84 101 54 64 84 102 57 63 84 103 60 62 84 104 62 61 84 105 64 59 84 106 67 58 84 108 69 57 84 109 71 56 84 109 74 55 84 110 77 54 84 111 81 53 84 112 84 52 84 113 88 51 84 114 89 50 84 116 92 49 84 117 93 48 84 117 96 47 84 118 98 46 84 119 102 45 84 120 104 44 84 121 108 43 84 123 111 42 84 124 114 41 84 125 117 40 84 126 118 39 84 127 120 38 84 128 122 37 84 129 126 36 84 130 128 35 84 131 130 34 84 133 133 33 84 134 135 32 84 134 138 31 84 135 141 30 84 136 144 29 84 137 149 28 84 138 152 26 84 139 153 25 84 141 155 24 84 142 156 23 84 142 159 22 84 143 160 21 84 144 163 20 84 145 166 19 84 146 171 18 84 147 174 17 84 149 176 16 84 150 179 15 84 150 181 14 84 151 184 13 84 152 185 12 84 153 186 11 84 154 188 10 84 156 194 9 84 157 195 8 84 158 198 7 84 159 199 6 84 160 202 5 84 161 204 4 84 162 207 3 84 163 208 2 84 164 209 1 84 166 211 0 84 166 213 0 84 167 213 0 84 168 216 0 84 168 217 0 84 168 219 0 84 168 219 255 83 0 228 254 83 0 227 254 83 0 226 254 83 0 223 253 83 0 221 252 83 0 219 251 83 0 217 250 83 0 216 249 83 0 213 248 83 0 211 247 83 0 209 246 83 0 208 245 83 0 207 244 83 0 205 243 83 0 204 242 83 0 201 241 83 0 199 240 83 0 197 239 83 0 195 238 83 0 189 237 83 0 188 236 83 0 186 235 83 0 184 234 83 0 182 233 83 0 179 232 83 0 178 231 83 0 175 230 83 0 172 229 83 0 167 228 83 0 165 227 83 0 162 226 83 0 159 224 83 0 157 223 83 0 156 222 83 0 155 221 83 0 153 220 83 0 150 219 83 0 145 218 83 0 143 217 83 0 140 216 83 0 137 215 83 0 134 214 83 0 131 213 83 0 130 212 83 0 128 211 83 0 122 210 83 0 121 209 83 0 120 208 83 0 118 207 83 0 115 206 83 0 112 205 83 0 110 204 83 0 107 203 83 0 103 202 83 0 102 201 83 0 98 200 83 0 95 199 83 0 93 198 83 0 91 197 83 0 89 196 83 0 86 195 83 0 82 194 83 0 80 193 83 0 76 191 83 0 73 190 83 0 71 189 83 0 69 188 83 0 67 187 83 0 64 186 83 0 62 185 83 0 60 184 83 0 57 183 83 0 53 182 83 0 51 181 83 0 49 180 83 0 46 179 83 0 43 178 83 0 39 177 83 0 36 176 83 0 35 175 83 0 31 174 83 0 29 173 83 0 27 172 83 0 24 171 83 0 20 170 83 0 18 169 83 0 16 168 83 1 13 167 83 2 9 166 83 2 7 165 83 3 5 164 83 4 3 163 83 4 2 162 83 5 0 161 83 6 0 160 83 7 0 158 83 9 0 157 83 10 0 156 83 11 0 155 83 12 0 154 83 12 0 153 83 13 0 152 83 14 0 151 83 15 0 150 83 17 0 149 83 18 0 148 83 19 0 147 83 20 0 146 83 20 0 145 83 21 0 144 83 22 0 143 83 24 0 142 83 25 0 141 83 26 0 140 83 27 0 139 83 28 0 138 83 29 0 137 83 30 0 136 83 31 0 135 83 32 0 134 83 34 0 133 83 35 0 132 83 36 0 131 83 37 0 130 83 37 0 129 83 38 0 128 83 39 0 127 83 40 0 125 83 42 0 124 83 43 0 123 83 44 0 122 83 45 0 121 83 45 0 120 83 46 0 119 83 47 0 118 83 48 0 117 83 50 0 116 83 51 0 115 83 52 0 114 83 53 0 113 83 53 0 112 83 54 0 111 83 55 0 110 83 57 0 109 83 58 0 108 83 59 0 107 83 60 0 106 83 61 0 105 83 62 0 104 83 63 0 103 83 64 0 102 83 65 0 101 83 67 0 100 83 68 0 99 83 69 0 98 83 70 0 97 83 70 0 96 83 71 0 95 83 72 0 94 83 73 0 92 83 75 0 91 83 76 0 90 83 77 0 89 83 78 0 88 83 78 0 87 83 79 0 86 83 80 0 85 83 81 3 84 83 83 5 83 83 84 6 82 83 85 9 81 83 86 13 80 83 86 14 79 83 87 18 78 83 88 20 77 83 90 24 76 83 91 27 75 83 92 28 74 83 93 31 73 83 94 32 72 83 95 36 71 83 96 39 70 83 97 40 69 83 98 44 68 83 100 47 67 83 101 50 66 83 102 53 65 83 103 57 64 83 103 60 63 83 104 62 62 83 105 64 61 83 106 67 59 83 108 69 58 83 109 70 57 83 110 73 56 83 111 76 55 83 111 80 54 83 112 82 53 83 113 86 52 83 114 88 51 83 116 91 50 83 117 92 49 83 118 95 48 83 119 96 47 83 119 99 46 83 120 103 45 83 121 107 44 83 123 110 43 83 124 112 42 83 125 115 41 83 126 117 40 83 127 120 39 83 128 121 38 83 129 122 37 83 130 128 36 83 131 130 35 83 133 131 34 83 134 134 33 83 135 137 32 83 136 140 31 83 136 143 30 83 137 145 29 83 138 150 28 83 139 152 26 83 141 155 25 83 142 156 24 83 143 157 23 83 144 159 22 83 144 160 21 83 145 163 20 83 146 166 19 83 147 171 18 83 149 174 17 83 150 176 16 83 151 179 15 83 152 181 14 83 152 184 13 83 153 185 12 83 154 188 11 83 156 189 10 83 157 195 9 83 158 197 8 83 159 199 7 83 160 201 6 83 161 204 5 83 162 205 4 83 163 207 3 83 164 208 2 83 166 209 1 83 167 211 0 83 168 213 0 83 168 216 0 83 169 216 0 83 169 217 0 83 169 219 0 83 169 219 255 82 0 228 254 82 0 227 254 82 0 226 254 82 0 223 253 82 0 221 252 82 0 220 251 82 0 217 250 82 0 216 249 82 0 216 248 82 0 213 247 82 0 211 246 82 0 209 245 82 0 208 244 82 0 205 243 82 0 204 242 82 0 202 241 82 0 201 240 82 0 198 239 82 0 197 238 82 0 194 237 82 0 189 236 82 0 186 235 82 0 184 234 82 0 182 233 82 0 181 232 82 0 178 231 82 0 175 230 82 0 172 229 82 0 167 228 82 0 165 227 82 0 163 226 82 0 160 224 82 0 159 223 82 0 157 222 82 0 156 221 82 0 153 220 82 0 152 219 82 0 150 218 82 0 145 217 82 0 143 216 82 0 140 215 82 0 135 214 82 0 133 213 82 0 131 212 82 0 130 211 82 0 126 210 82 0 122 209 82 0 121 208 82 0 118 207 82 0 117 206 82 0 114 205 82 0 111 204 82 0 108 203 82 0 104 202 82 0 102 201 82 0 99 200 82 0 96 199 82 0 93 198 82 0 92 197 82 0 89 196 82 0 88 195 82 0 84 194 82 0 81 193 82 0 77 191 82 0 74 190 82 0 73 189 82 0 70 188 82 0 69 187 82 0 67 186 82 0 66 185 82 0 62 184 82 0 60 183 82 0 57 182 82 0 53 181 82 0 50 180 82 0 47 179 82 0 46 178 82 0 43 177 82 0 39 176 82 0 36 175 82 0 32 174 82 0 31 173 82 0 28 172 82 0 27 171 82 0 24 170 82 0 20 169 82 0 18 168 82 1 16 167 82 2 13 166 82 3 10 165 82 4 7 164 82 5 6 163 82 5 3 162 82 6 2 161 82 7 0 160 82 8 0 158 82 10 0 157 82 11 0 156 82 12 0 155 82 13 0 154 82 13 0 153 82 14 0 152 82 15 0 151 82 16 0 150 82 18 0 149 82 19 0 148 82 20 0 147 82 21 0 146 82 21 0 145 82 22 0 144 82 23 0 143 82 25 0 142 82 26 0 141 82 27 0 140 82 28 0 139 82 29 0 138 82 30 0 137 82 31 0 136 82 32 0 135 82 33 0 134 82 35 0 133 82 36 0 132 82 37 0 131 82 38 0 130 82 38 0 129 82 39 0 128 82 40 0 127 82 41 0 125 82 43 0 124 82 44 0 123 82 45 0 122 82 46 0 121 82 46 0 120 82 47 0 119 82 48 0 118 82 49 0 117 82 51 0 116 82 52 0 115 82 53 0 114 82 54 0 113 82 54 0 112 82 55 0 111 82 56 0 110 82 58 0 109 82 59 0 108 82 60 0 107 82 61 0 106 82 62 0 105 82 63 0 104 82 64 0 103 82 65 0 102 82 66 0 101 82 68 0 100 82 69 0 99 82 70 0 98 82 71 0 97 82 71 0 96 82 72 0 95 82 73 0 94 82 74 0 92 82 76 0 91 82 77 0 90 82 78 0 89 82 79 0 88 82 79 0 87 82 80 0 86 82 81 3 85 82 82 5 84 82 84 7 83 82 85 9 82 82 86 13 81 82 87 14 80 82 87 17 79 82 88 20 78 82 89 24 77 82 91 27 76 82 92 28 75 82 93 31 74 82 94 32 73 82 95 36 72 82 96 38 71 82 97 40 70 82 98 44 69 82 99 47 68 82 101 50 67 82 102 53 66 82 103 57 65 82 104 59 64 82 104 62 63 82 105 66 62 82 106 67 61 82 107 69 59 82 109 70 58 82 110 73 57 82 111 74 56 82 112 77 55 82 112 81 54 82 113 84 53 82 114 88 52 82 115 89 51 82 117 92 50 82 118 93 49 82 119 96 48 82 120 98 47 82 120 102 46 82 121 104 45 82 122 108 44 82 124 111 43 82 125 114 42 82 126 117 41 82 127 118 40 82 128 121 39 82 129 122 38 82 130 126 37 82 131 128 36 82 132 131 35 82 134 133 34 82 135 135 33 82 136 138 32 82 137 141 31 82 137 144 30 82 138 149 29 82 139 152 28 82 140 153 26 82 142 156 25 82 143 157 24 82 144 159 23 82 145 160 22 82 145 162 21 82 146 165 20 82 147 167 19 82 148 172 18 82 150 175 17 82 151 176 16 82 152 179 15 82 153 182 14 82 153 184 13 82 154 186 12 82 155 188 11 82 157 194 10 82 158 197 9 82 159 198 8 82 160 201 7 82 161 202 6 82 162 204 5 82 163 205 4 82 164 207 3 82 165 208 2 82 167 209 1 82 168 211 0 82 169 213 0 82 169 216 0 82 170 217 0 82 170 217 0 82 170 219 0 82 170 219 255 81 0 230 254 81 0 228 254 81 0 226 254 81 0 223 253 81 0 221 252 81 0 220 251 81 0 219 250 81 0 217 249 81 0 216 248 81 0 213 247 81 0 211 246 81 0 209 245 81 0 208 244 81 0 207 243 81 0 205 242 81 0 204 241 81 0 202 240 81 0 199 239 81 0 198 238 81 0 195 237 81 0 189 236 81 0 186 235 81 0 185 234 81 0 182 233 81 0 181 232 81 0 178 231 81 0 176 230 81 0 174 229 81 0 171 228 81 0 166 227 81 0 163 226 81 0 162 224 81 0 160 223 81 0 157 222 81 0 156 221 81 0 155 220 81 0 153 219 81 0 150 218 81 0 149 217 81 0 144 216 81 0 141 215 81 0 137 214 81 0 134 213 81 0 133 212 81 0 130 211 81 0 128 210 81 0 126 209 81 0 122 208 81 0 120 207 81 0 118 206 81 0 115 205 81 0 112 204 81 0 110 203 81 0 107 202 81 0 103 201 81 0 99 200 81 0 98 199 81 0 95 198 81 0 93 197 81 0 91 196 81 0 89 195 81 0 86 194 81 0 82 193 81 0 80 191 81 0 76 190 81 0 74 189 81 0 73 188 81 0 71 187 81 0 69 186 81 0 67 185 81 0 66 184 81 0 62 183 81 0 60 182 81 0 57 181 81 0 53 180 81 0 50 179 81 0 47 178 81 0 44 177 81 0 43 176 81 0 39 175 81 0 36 174 81 0 32 173 81 0 31 172 81 0 28 171 81 0 25 170 81 0 24 169 81 1 20 168 81 2 18 167 81 3 16 166 81 4 13 165 81 5 10 164 81 6 9 163 81 6 6 162 81 7 3 161 81 8 2 160 81 9 0 158 81 10 0 157 81 12 0 156 81 13 0 155 81 14 0 154 81 14 0 153 81 15 0 152 81 16 0 151 81 17 0 150 81 18 0 149 81 20 0 148 81 21 0 147 81 22 0 146 81 22 0 145 81 23 0 144 81 24 0 143 81 26 0 142 81 27 0 141 81 28 0 140 81 29 0 139 81 30 0 138 81 31 0 137 81 32 0 136 81 33 0 135 81 34 0 134 81 35 0 133 81 37 0 132 81 38 0 131 81 39 0 130 81 39 0 129 81 40 0 128 81 41 0 127 81 42 0 125 81 43 0 124 81 45 0 123 81 46 0 122 81 47 0 121 81 47 0 120 81 48 0 119 81 49 0 118 81 50 0 117 81 51 0 116 81 53 0 115 81 54 0 114 81 55 0 113 81 55 0 112 81 56 0 111 81 57 0 110 81 59 0 109 81 60 0 108 81 61 0 107 81 62 0 106 81 63 0 105 81 64 0 104 81 65 0 103 81 66 0 102 81 67 0 101 81 68 0 100 81 70 0 99 81 71 0 98 81 72 0 97 81 72 0 96 81 73 0 95 81 74 0 94 81 75 0 92 81 76 0 91 81 78 0 90 81 79 0 89 81 80 0 88 81 80 2 87 81 81 3 86 81 82 6 85 81 83 7 84 81 84 10 83 81 86 13 82 81 87 16 81 81 88 17 80 81 88 20 79 81 89 24 78 81 90 25 77 81 92 28 76 81 93 29 75 81 94 32 74 81 95 35 73 81 96 38 72 81 97 40 71 81 98 44 70 81 99 47 69 81 100 50 68 81 101 51 67 81 103 54 66 81 104 59 65 81 105 62 64 81 105 66 63 81 106 67 62 81 107 69 61 81 108 70 59 81 109 73 58 81 111 74 57 81 112 76 56 81 113 80 55 81 113 82 54 81 114 84 53 81 115 88 52 81 116 91 51 81 117 92 50 81 119 95 49 81 120 96 48 81 121 99 47 81 121 103 46 81 122 107 45 81 123 110 44 81 125 111 43 81 126 115 42 81 127 117 41 81 128 120 40 81 129 122 39 81 130 126 38 81 131 128 37 81 132 130 36 81 133 133 35 81 134 134 34 81 136 137 33 81 137 140 32 81 138 143 31 81 138 145 30 81 139 150 29 81 140 153 28 81 141 155 26 81 142 156 25 81 144 157 24 81 145 159 23 81 146 162 22 81 146 163 21 81 147 166 20 81 148 171 19 81 149 172 18 81 150 175 17 81 152 178 16 81 153 179 15 81 154 182 14 81 154 184 13 81 155 186 12 81 156 189 11 81 158 195 10 81 159 198 9 81 160 199 8 81 161 201 7 81 162 204 6 81 163 205 5 81 164 207 4 81 165 208 3 81 166 209 2 81 167 211 1 81 169 213 0 81 169 216 0 81 170 217 0 81 171 217 0 81 171 219 0 81 171 219 0 81 171 219 255 80 0 230 254 80 0 228 254 80 0 226 254 80 0 223 253 80 0 221 252 80 0 220 251 80 0 219 250 80 0 217 249 80 0 216 248 80 0 213 247 80 0 211 246 80 0 209 245 80 0 208 244 80 0 207 243 80 0 205 242 80 0 205 241 80 0 202 240 80 0 201 239 80 0 198 238 80 0 195 237 80 0 189 236 80 0 186 235 80 0 185 234 80 0 182 233 80 0 181 232 80 0 179 231 80 0 176 230 80 0 175 229 80 0 172 228 80 0 167 227 80 0 165 226 80 0 163 224 80 0 160 223 80 0 159 222 80 0 157 221 80 0 156 220 80 0 153 219 80 0 152 218 80 0 149 217 80 0 144 216 80 0 143 215 80 0 138 214 80 0 135 213 80 0 134 212 80 0 131 211 80 0 130 210 80 0 128 209 80 0 122 208 80 0 121 207 80 0 118 206 80 0 117 205 80 0 114 204 80 0 111 203 80 0 108 202 80 0 104 201 80 0 102 200 80 0 99 199 80 0 96 198 80 0 93 197 80 0 92 196 80 0 91 195 80 0 88 194 80 0 84 193 80 0 82 191 80 0 80 190 80 0 76 189 80 0 74 188 80 0 73 187 80 0 71 186 80 0 70 185 80 0 69 184 80 0 66 183 80 0 62 182 80 0 59 181 80 0 57 180 80 0 53 179 80 0 50 178 80 0 47 177 80 0 44 176 80 0 40 175 80 0 38 174 80 0 36 173 80 0 32 172 80 0 29 171 80 0 28 170 80 1 27 169 80 1 24 168 80 2 20 167 80 3 18 166 80 4 17 165 80 5 14 164 80 6 13 163 80 7 9 162 80 8 7 161 80 9 5 160 80 10 2 158 80 11 0 157 80 12 0 156 80 13 0 155 80 14 0 154 80 15 0 153 80 16 0 152 80 17 0 151 80 18 0 150 80 19 0 149 80 20 0 148 80 21 0 147 80 22 0 146 80 23 0 145 80 24 0 144 80 25 0 143 80 27 0 142 80 28 0 141 80 29 0 140 80 30 0 139 80 31 0 138 80 32 0 137 80 33 0 136 80 34 0 135 80 35 0 134 80 36 0 133 80 37 0 132 80 38 0 131 80 39 0 130 80 40 0 129 80 41 0 128 80 42 0 127 80 43 0 125 80 44 0 124 80 45 0 123 80 46 0 122 80 47 0 121 80 48 0 120 80 49 0 119 80 50 0 118 80 51 0 117 80 52 0 116 80 53 0 115 80 54 0 114 80 55 0 113 80 56 0 112 80 57 0 111 80 58 0 110 80 60 0 109 80 61 0 108 80 62 0 107 80 63 0 106 80 64 0 105 80 65 0 104 80 66 0 103 80 67 0 102 80 68 0 101 80 69 0 100 80 70 0 99 80 71 0 98 80 72 0 97 80 73 0 96 80 74 0 95 80 75 0 94 80 76 0 92 80 77 0 91 80 78 0 90 80 79 0 89 80 80 2 88 80 81 5 87 80 82 6 86 80 83 9 85 80 84 10 84 80 85 14 83 80 86 16 82 80 87 18 81 80 88 20 80 80 89 24 79 80 90 25 78 80 91 28 77 80 93 29 76 80 94 32 75 80 95 35 74 80 96 38 73 80 97 40 72 80 98 44 71 80 99 47 70 80 100 50 69 80 101 51 68 80 102 54 67 80 103 59 66 80 104 62 65 80 105 66 64 80 106 67 63 80 107 70 62 80 108 71 61 80 109 73 59 80 110 74 58 80 111 76 57 80 112 80 56 80 113 81 55 80 114 84 54 80 115 86 53 80 116 89 52 80 117 92 51 80 118 93 50 80 119 96 49 80 120 98 48 80 121 102 47 80 122 104 46 80 123 108 45 80 124 111 44 80 126 112 43 80 127 117 42 80 128 118 41 80 129 121 40 80 130 122 39 80 131 128 38 80 132 130 37 80 133 131 36 80 134 133 35 80 135 135 34 80 136 138 33 80 137 141 32 80 138 144 31 80 139 149 30 80 140 152 29 80 141 153 28 80 142 155 26 80 143 157 25 80 144 159 24 80 145 160 23 80 146 163 22 80 147 165 21 80 148 167 20 80 149 172 19 80 150 174 18 80 151 176 17 80 152 178 16 80 153 181 15 80 154 182 14 80 155 184 13 80 156 186 12 80 157 189 11 80 159 195 10 80 160 198 9 80 161 201 8 80 162 202 7 80 163 204 6 80 164 205 5 80 165 207 4 80 166 208 3 80 167 209 2 80 168 211 1 80 169 213 0 80 170 216 0 80 171 217 0 80 171 219 0 80 172 219 0 80 172 219 0 80 172 219 255 79 0 230 254 79 0 228 254 79 0 226 254 79 0 224 253 79 0 221 252 79 0 220 251 79 0 219 250 79 0 217 249 79 0 216 248 79 0 213 247 79 0 211 246 79 0 211 245 79 0 209 244 79 0 208 243 79 0 207 242 79 0 205 241 79 0 204 240 79 0 201 239 79 0 199 238 79 0 195 237 79 0 189 236 79 0 188 235 79 0 185 234 79 0 184 233 79 0 182 232 79 0 179 231 79 0 178 230 79 0 176 229 79 0 174 228 79 0 171 227 79 0 167 226 79 0 165 224 79 0 162 223 79 0 160 222 79 0 157 221 79 0 156 220 79 0 155 219 79 0 153 218 79 0 150 217 79 0 145 216 79 0 143 215 79 0 140 214 79 0 137 213 79 0 135 212 79 0 133 211 79 0 131 210 79 0 130 209 79 0 126 208 79 0 122 207 79 0 120 206 79 0 118 205 79 0 115 204 79 0 112 203 79 0 110 202 79 0 107 201 79 0 103 200 79 0 102 199 79 0 98 198 79 0 96 197 79 0 93 196 79 0 92 195 79 0 89 194 79 0 88 193 79 0 84 191 79 0 82 190 79 0 80 189 79 0 77 188 79 0 76 187 79 0 74 186 79 0 73 185 79 0 70 184 79 0 67 183 79 0 66 182 79 0 62 181 79 0 59 180 79 0 54 179 79 0 53 178 79 0 50 177 79 0 47 176 79 0 44 175 79 0 40 174 79 0 39 173 79 0 36 172 79 0 32 171 79 1 31 170 79 1 28 169 79 2 27 168 79 3 24 167 79 4 22 166 79 5 20 165 79 6 17 164 79 7 16 163 79 8 14 162 79 9 10 161 79 10 9 160 79 11 6 158 79 12 3 157 79 13 0 156 79 14 0 155 79 15 0 154 79 16 0 153 79 17 0 152 79 18 0 151 79 19 0 150 79 20 0 149 79 21 0 148 79 22 0 147 79 23 0 146 79 24 0 145 79 25 0 144 79 26 0 143 79 28 0 142 79 29 0 141 79 30 0 140 79 31 0 139 79 32 0 138 79 33 0 137 79 34 0 136 79 35 0 135 79 36 0 134 79 37 0 133 79 38 0 132 79 39 0 131 79 40 0 130 79 41 0 129 79 42 0 128 79 43 0 127 79 44 0 125 79 45 0 124 79 46 0 123 79 47 0 122 79 48 0 121 79 49 0 120 79 50 0 119 79 51 0 118 79 52 0 117 79 53 0 116 79 54 0 115 79 55 0 114 79 56 0 113 79 57 0 112 79 58 0 111 79 59 0 110 79 61 0 109 79 62 0 108 79 63 0 107 79 64 0 106 79 65 0 105 79 66 0 104 79 67 0 103 79 68 0 102 79 69 0 101 79 70 0 100 79 71 0 99 79 72 0 98 79 73 0 97 79 74 0 96 79 75 0 95 79 76 0 94 79 77 0 92 79 78 0 91 79 79 0 90 79 80 3 89 79 81 6 88 79 82 7 87 79 83 10 86 79 84 13 85 79 85 16 84 79 86 17 83 79 87 18 82 79 88 22 81 79 89 24 80 79 90 27 79 79 91 28 78 79 92 29 77 79 94 32 76 79 95 36 75 79 96 38 74 79 97 40 73 79 98 44 72 79 99 47 71 79 100 49 70 79 101 51 69 79 102 54 68 79 103 59 67 79 104 60 66 79 105 64 65 79 106 67 64 79 107 70 63 79 108 73 62 79 109 74 61 79 110 76 59 79 111 77 58 79 112 80 57 79 113 81 56 79 114 84 55 79 115 86 54 79 116 89 53 79 117 91 52 79 118 93 51 79 119 95 50 79 120 98 49 79 121 102 48 79 122 103 47 79 123 107 46 79 124 110 45 79 125 112 44 79 127 115 43 79 128 118 42 79 129 120 41 79 130 122 40 79 131 126 39 79 132 128 38 79 133 131 37 79 134 133 36 79 135 134 35 79 136 137 34 79 137 140 33 79 138 143 32 79 139 145 31 79 140 150 30 79 141 152 29 79 142 155 28 79 143 156 26 79 144 157 25 79 145 160 24 79 146 162 23 79 147 165 22 79 148 166 21 79 149 171 20 79 150 174 19 79 151 176 18 79 152 178 17 79 153 179 16 79 154 181 15 79 155 182 14 79 156 185 13 79 157 186 12 79 158 189 11 79 160 195 10 79 161 198 9 79 162 201 8 79 163 204 7 79 164 205 6 79 165 207 5 79 166 208 4 79 167 208 3 79 168 209 2 79 169 211 1 79 170 213 0 79 171 216 0 79 172 217 0 79 172 219 0 79 173 219 0 79 173 219 0 79 173 219 255 78 0 230 254 78 0 228 254 78 0 226 254 78 0 224 253 78 0 221 252 78 0 220 251 78 0 219 250 78 0 217 249 78 0 217 248 78 0 216 247 78 0 213 246 78 0 211 245 78 0 209 244 78 0 208 243 78 0 208 242 78 0 207 241 78 0 204 240 78 0 202 239 78 0 199 238 78 0 197 237 78 0 189 236 78 0 188 235 78 0 185 234 78 0 184 233 78 0 182 232 78 0 181 231 78 0 179 230 78 0 178 229 78 0 175 228 78 0 172 227 78 0 171 226 78 0 166 224 78 0 163 223 78 0 160 222 78 0 159 221 78 0 156 220 78 0 155 219 78 0 153 218 78 0 152 217 78 0 149 216 78 0 144 215 78 0 141 214 78 0 138 213 78 0 137 212 78 0 134 211 78 0 133 210 78 0 131 209 78 0 128 208 78 0 126 207 78 0 121 206 78 0 120 205 78 0 117 204 78 0 114 203 78 0 111 202 78 0 108 201 78 0 104 200 78 0 103 199 78 0 99 198 78 0 98 197 78 0 96 196 78 0 93 195 78 0 92 194 78 0 89 193 78 0 88 191 78 0 84 190 78 0 82 189 78 0 81 188 78 0 80 187 78 0 77 186 78 0 74 185 78 0 73 184 78 0 70 183 78 0 67 182 78 0 64 181 78 0 60 180 78 0 59 179 78 0 54 178 78 0 53 177 78 0 50 176 78 0 47 175 78 0 44 174 78 0 40 173 78 0 39 172 78 1 36 171 78 1 32 170 78 2 31 169 78 3 28 168 78 4 27 167 78 5 25 166 78 6 24 165 78 7 20 164 78 8 18 163 78 9 17 162 78 10 14 161 78 11 13 160 78 12 9 158 78 13 6 157 78 14 5 156 78 15 2 155 78 16 0 154 78 17 0 153 78 18 0 152 78 19 0 151 78 20 0 150 78 21 0 149 78 22 0 148 78 23 0 147 78 24 0 146 78 25 0 145 78 26 0 144 78 27 0 143 78 29 0 142 78 30 0 141 78 31 0 140 78 32 0 139 78 33 0 138 78 34 0 137 78 35 0 136 78 36 0 135 78 37 0 134 78 38 0 133 78 39 0 132 78 40 0 131 78 41 0 130 78 42 0 129 78 43 0 128 78 44 0 127 78 45 0 125 78 46 0 124 78 47 0 123 78 48 0 122 78 49 0 121 78 50 0 120 78 51 0 119 78 52 0 118 78 53 0 117 78 54 0 116 78 55 0 115 78 56 0 114 78 57 0 113 78 58 0 112 78 59 0 111 78 60 0 110 78 62 0 109 78 63 0 108 78 64 0 107 78 65 0 106 78 66 0 105 78 67 0 104 78 68 0 103 78 69 0 102 78 70 0 101 78 71 0 100 78 72 0 99 78 73 0 98 78 74 0 97 78 75 0 96 78 76 0 95 78 77 0 94 78 78 0 92 78 79 2 91 78 80 3 90 78 81 6 89 78 82 9 88 78 83 10 87 78 84 14 86 78 85 16 85 78 86 18 84 78 87 20 83 78 88 22 82 78 89 25 81 78 90 27 80 78 91 28 79 78 92 31 78 78 93 32 77 78 95 35 76 78 96 38 75 78 97 40 74 78 98 44 73 78 99 47 72 78 100 50 71 78 101 51 70 78 102 54 69 78 103 57 68 78 104 60 67 78 105 62 66 78 106 66 65 78 107 69 64 78 108 71 63 78 109 74 62 78 110 76 61 78 111 77 59 78 112 81 58 78 113 82 57 78 114 84 56 78 115 86 55 78 116 89 54 78 117 91 53 78 118 93 52 78 119 95 51 78 120 96 50 78 121 99 49 78 122 103 48 78 123 104 47 78 124 108 46 78 125 111 45 78 126 114 44 78 128 117 43 78 129 120 42 78 130 121 41 78 131 126 40 78 132 128 39 78 133 130 38 78 134 131 37 78 135 134 36 78 136 135 35 78 137 138 34 78 138 141 33 78 139 144 32 78 140 149 31 78 141 150 30 78 142 153 29 78 143 155 28 78 144 156 26 78 145 157 25 78 146 160 24 78 147 162 23 78 148 165 22 78 149 167 21 78 150 172 20 78 151 175 19 78 152 176 18 78 153 179 17 78 154 181 16 78 155 182 15 78 156 184 14 78 157 185 13 78 158 188 12 78 159 189 11 78 161 195 10 78 162 199 9 78 163 201 8 78 164 204 7 78 165 205 6 78 166 207 5 78 167 208 4 78 168 209 3 78 169 211 2 78 170 211 1 78 171 213 0 78 172 217 0 78 173 217 0 78 173 219 0 78 173 219 0 78 174 220 0 78 174 220 255 77 0 230 254 77 0 228 254 77 0 226 254 77 0 224 253 77 0 221 252 77 0 220 251 77 0 219 250 77 0 217 249 77 0 217 248 77 0 216 247 77 0 213 246 77 0 211 245 77 0 209 244 77 0 209 243 77 0 208 242 77 0 207 241 77 0 205 240 77 0 202 239 77 0 199 238 77 0 197 237 77 0 194 236 77 0 188 235 77 0 186 234 77 0 185 233 77 0 184 232 77 0 182 231 77 0 181 230 77 0 179 229 77 0 176 228 77 0 174 227 77 0 171 226 77 0 166 224 77 0 163 223 77 0 160 222 77 0 159 221 77 0 157 220 77 0 155 219 77 0 153 218 77 0 152 217 77 0 150 216 77 0 145 215 77 0 143 214 77 0 141 213 77 0 138 212 77 0 135 211 77 0 134 210 77 0 131 209 77 0 130 208 77 0 126 207 77 0 122 206 77 0 120 205 77 0 118 204 77 0 115 203 77 0 112 202 77 0 110 201 77 0 107 200 77 0 104 199 77 0 103 198 77 0 99 197 77 0 98 196 77 0 95 195 77 0 93 194 77 0 92 193 77 0 89 191 77 0 88 190 77 0 86 189 77 0 82 188 77 0 81 187 77 0 80 186 77 0 77 185 77 0 74 184 77 0 71 183 77 0 69 182 77 0 66 181 77 0 62 180 77 0 60 179 77 0 57 178 77 0 54 177 77 0 53 176 77 0 50 175 77 0 47 174 77 1 44 173 77 1 40 172 77 2 38 171 77 2 36 170 77 3 32 169 77 4 31 168 77 5 29 167 77 6 27 166 77 7 25 165 77 8 24 164 77 9 22 163 77 10 20 162 77 11 17 161 77 12 16 160 77 13 13 158 77 14 9 157 77 15 7 156 77 16 5 155 77 17 2 154 77 18 0 153 77 19 0 152 77 20 0 151 77 21 0 150 77 22 0 149 77 24 0 148 77 25 0 147 77 26 0 146 77 27 0 145 77 28 0 144 77 29 0 143 77 30 0 142 77 31 0 141 77 32 0 140 77 33 0 139 77 34 0 138 77 35 0 137 77 36 0 136 77 37 0 135 77 38 0 134 77 39 0 133 77 40 0 132 77 41 0 131 77 42 0 130 77 43 0 129 77 44 0 128 77 45 0 127 77 46 0 125 77 47 0 124 77 48 0 123 77 49 0 122 77 50 0 121 77 51 0 120 77 52 0 119 77 53 0 118 77 54 0 117 77 55 0 116 77 57 0 115 77 58 0 114 77 59 0 113 77 60 0 112 77 61 0 111 77 62 0 110 77 63 0 109 77 64 0 108 77 65 0 107 77 66 0 106 77 67 0 105 77 68 0 104 77 69 0 103 77 70 0 102 77 71 0 101 77 72 0 100 77 73 0 99 77 74 0 98 77 75 0 97 77 76 0 96 77 77 0 95 77 78 0 94 77 79 2 92 77 80 5 91 77 81 7 90 77 82 9 89 77 83 13 88 77 84 14 87 77 85 17 86 77 86 18 85 77 87 22 84 77 88 24 83 77 90 25 82 77 91 27 81 77 92 28 80 77 93 31 79 77 94 32 78 77 95 35 77 77 96 38 76 77 97 40 75 77 98 44 74 77 99 47 73 77 100 49 72 77 101 51 71 77 102 53 70 77 103 57 69 77 104 59 68 77 105 62 67 77 106 64 66 77 107 67 65 77 108 70 64 77 109 73 63 77 110 76 62 77 111 77 61 77 112 81 59 77 113 82 58 77 114 84 57 77 115 86 56 77 116 89 55 77 117 91 54 77 118 93 53 77 119 95 52 77 120 96 51 77 121 99 50 77 123 102 49 77 124 104 48 77 125 107 47 77 126 110 46 77 127 112 45 77 128 115 44 77 129 118 43 77 130 120 42 77 131 122 41 77 132 126 40 77 133 130 39 77 134 131 38 77 135 133 37 77 136 135 36 77 137 138 35 77 138 140 34 77 139 143 33 77 140 145 32 77 141 149 31 77 142 152 30 77 143 153 29 77 144 155 28 77 145 156 26 77 146 159 25 77 147 160 24 77 148 163 23 77 149 166 22 77 150 171 21 77 151 174 20 77 152 176 19 77 153 178 18 77 154 179 17 77 156 181 16 77 157 184 15 77 158 184 14 77 159 186 13 77 160 188 12 77 161 194 11 77 162 197 10 77 163 199 9 77 164 202 8 77 165 204 7 77 166 207 6 77 167 208 5 77 168 208 4 77 169 209 3 77 170 211 2 77 171 213 1 77 172 213 0 77 173 217 0 77 174 217 0 77 174 219 0 77 175 219 0 77 175 220 0 77 175 220 255 76 0 230 254 76 0 228 254 76 0 226 254 76 0 224 253 76 0 221 252 76 0 220 251 76 0 219 250 76 0 217 249 76 0 217 248 76 0 216 247 76 0 213 246 76 0 211 245 76 0 209 244 76 0 209 243 76 0 208 242 76 0 207 241 76 0 205 240 76 0 202 239 76 0 199 238 76 0 197 237 76 0 194 236 76 0 189 235 76 0 188 234 76 0 185 233 76 0 185 232 76 0 184 231 76 0 181 230 76 0 179 229 76 0 178 228 76 0 175 227 76 0 172 226 76 0 167 224 76 0 165 223 76 0 162 222 76 0 159 221 76 0 157 220 76 0 156 219 76 0 155 218 76 0 153 217 76 0 152 216 76 0 149 215 76 0 145 214 76 0 143 213 76 0 140 212 76 0 137 211 76 0 135 210 76 0 133 209 76 0 131 208 76 0 128 207 76 0 126 206 76 0 121 205 76 0 118 204 76 0 117 203 76 0 114 202 76 0 111 201 76 0 108 200 76 0 107 199 76 0 104 198 76 0 102 197 76 0 99 196 76 0 98 195 76 0 95 194 76 0 93 193 76 0 92 191 76 0 89 190 76 0 88 189 76 0 86 188 76 0 84 187 76 0 81 186 76 0 80 185 76 0 76 184 76 0 71 183 76 0 70 182 76 0 67 181 76 0 64 180 76 0 62 179 76 0 60 178 76 0 57 177 76 0 54 176 76 0 53 175 76 1 50 174 76 2 47 173 76 2 44 172 76 3 40 171 76 3 39 170 76 4 36 169 76 5 35 168 76 6 31 167 76 7 29 166 76 9 28 165 76 10 25 164 76 10 24 163 76 11 22 162 76 12 20 161 76 13 17 160 76 14 16 158 76 15 13 157 76 17 10 156 76 18 7 155 76 18 5 154 76 19 3 153 76 20 0 152 76 21 0 151 76 22 0 150 76 24 0 149 76 25 0 148 76 26 0 147 76 27 0 146 76 28 0 145 76 29 0 144 76 30 0 143 76 31 0 142 76 32 0 141 76 34 0 140 76 35 0 139 76 35 0 138 76 36 0 137 76 37 0 136 76 38 0 135 76 39 0 134 76 40 0 133 76 42 0 132 76 43 0 131 76 43 0 130 76 44 0 129 76 45 0 128 76 46 0 127 76 47 0 125 76 48 0 124 76 50 0 123 76 51 0 122 76 51 0 121 76 52 0 120 76 53 0 119 76 54 0 118 76 55 0 117 76 57 0 116 76 58 0 115 76 59 0 114 76 60 0 113 76 61 0 112 76 62 0 111 76 63 0 110 76 64 0 109 76 65 0 108 76 67 0 107 76 68 0 106 76 68 0 105 76 69 0 104 76 70 0 103 76 71 0 102 76 72 0 101 76 73 0 100 76 75 0 99 76 76 0 98 76 76 0 97 76 77 0 96 76 78 0 95 76 79 3 94 76 80 5 92 76 81 7 91 76 83 10 90 76 84 13 89 76 84 16 88 76 85 17 87 76 86 18 86 76 87 22 85 76 88 24 84 76 90 25 83 76 91 27 82 76 92 29 81 76 93 31 80 76 94 32 79 76 95 36 78 76 96 38 77 76 97 40 76 76 98 44 75 76 100 47 74 76 101 49 73 76 101 51 72 76 102 54 71 76 103 57 70 76 104 59 69 76 105 60 68 76 106 64 67 76 108 66 66 76 109 69 65 76 109 71 64 76 110 74 63 76 111 77 62 76 112 81 61 76 113 82 59 76 114 86 58 76 116 88 57 76 117 89 56 76 117 91 55 76 118 93 54 76 119 95 53 76 120 96 52 76 121 99 51 76 123 102 50 76 124 103 49 76 125 107 48 76 126 108 47 76 127 111 46 76 128 114 45 76 129 117 44 76 130 118 43 76 131 121 42 76 133 122 41 76 134 128 40 76 134 130 39 76 135 133 38 76 136 134 37 76 137 137 36 76 138 140 35 76 139 141 34 76 141 144 33 76 142 149 32 76 142 150 31 76 143 152 30 76 144 155 29 76 145 156 28 76 146 157 26 76 147 159 25 76 149 162 24 76 150 165 23 76 150 167 22 76 151 172 21 76 152 174 20 76 153 176 19 76 154 179 18 76 156 181 17 76 157 182 16 76 158 184 15 76 159 185 14 76 160 186 13 76 161 189 12 76 162 194 11 76 163 197 10 76 164 199 9 76 166 202 8 76 167 205 7 76 167 207 6 76 168 208 5 76 169 209 4 76 170 209 3 76 171 211 2 76 172 213 1 76 174 216 0 76 174 217 0 76 175 217 0 76 176 219 0 76 176 219 0 76 176 220 0 76 176 220 255 75 0 230 254 75 0 228 254 75 0 226 254 75 0 224 253 75 0 221 252 75 0 220 251 75 0 219 250 75 0 217 249 75 0 217 248 75 0 216 247 75 0 213 246 75 0 211 245 75 0 211 244 75 0 209 243 75 0 208 242 75 0 207 241 75 0 205 240 75 0 202 239 75 0 201 238 75 0 198 237 75 0 195 236 75 0 194 235 75 0 188 234 75 0 186 233 75 0 185 232 75 0 184 231 75 0 182 230 75 0 179 229 75 0 178 228 75 0 175 227 75 0 172 226 75 0 171 224 75 0 165 223 75 0 163 222 75 0 160 221 75 0 159 220 75 0 156 219 75 0 156 218 75 0 153 217 75 0 152 216 75 0 150 215 75 0 149 214 75 0 144 213 75 0 141 212 75 0 138 211 75 0 135 210 75 0 134 209 75 0 131 208 75 0 130 207 75 0 126 206 75 0 122 205 75 0 120 204 75 0 118 203 75 0 115 202 75 0 112 201 75 0 110 200 75 0 108 199 75 0 107 198 75 0 103 197 75 0 102 196 75 0 99 195 75 0 96 194 75 0 95 193 75 0 93 191 75 0 91 190 75 0 89 189 75 0 88 188 75 0 86 187 75 0 82 186 75 0 81 185 75 0 77 184 75 0 73 183 75 0 70 182 75 0 69 181 75 0 66 180 75 0 64 179 75 0 62 178 75 0 59 177 75 0 57 176 75 1 54 175 75 2 53 174 75 2 50 173 75 3 47 172 75 4 44 171 75 4 43 170 75 5 39 169 75 6 36 168 75 7 35 167 75 9 31 166 75 10 29 165 75 11 28 164 75 12 25 163 75 12 24 162 75 13 22 161 75 14 18 160 75 15 17 158 75 17 16 157 75 18 13 156 75 19 10 155 75 20 7 154 75 20 5 153 75 21 3 152 75 22 0 151 75 24 0 150 75 25 0 149 75 26 0 148 75 27 0 147 75 28 0 146 75 29 0 145 75 30 0 144 75 31 0 143 75 32 0 142 75 34 0 141 75 35 0 140 75 36 0 139 75 37 0 138 75 37 0 137 75 38 0 136 75 39 0 135 75 40 0 134 75 42 0 133 75 43 0 132 75 44 0 131 75 45 0 130 75 45 0 129 75 46 0 128 75 47 0 127 75 48 0 125 75 50 0 124 75 51 0 123 75 52 0 122 75 53 0 121 75 53 0 120 75 54 0 119 75 55 0 118 75 57 0 117 75 58 0 116 75 59 0 115 75 60 0 114 75 61 0 113 75 62 0 112 75 63 0 111 75 64 0 110 75 65 0 109 75 67 0 108 75 68 0 107 75 69 0 106 75 70 0 105 75 70 0 104 75 71 0 103 75 72 0 102 75 73 0 101 75 75 0 100 75 76 0 99 75 77 0 98 75 78 0 97 75 78 0 96 75 79 3 95 75 80 5 94 75 81 7 92 75 83 10 91 75 84 13 90 75 85 14 89 75 86 17 88 75 86 18 87 75 87 20 86 75 88 24 85 75 90 25 84 75 91 27 83 75 92 29 82 75 93 31 81 75 94 32 80 75 95 36 79 75 96 38 78 75 97 40 77 75 98 44 76 75 100 47 75 75 101 50 74 75 102 51 73 75 103 54 72 75 103 57 71 75 104 59 70 75 105 60 69 75 106 62 68 75 108 64 67 75 109 67 66 75 110 70 65 75 111 73 64 75 111 76 63 75 112 80 62 75 113 82 61 75 114 84 59 75 116 88 58 75 117 89 57 75 118 91 56 75 119 93 55 75 119 95 54 75 120 96 53 75 121 98 52 75 123 102 51 75 124 103 50 75 125 104 49 75 126 108 48 75 127 110 47 75 128 112 46 75 129 115 45 75 130 117 44 75 131 120 43 75 133 122 42 75 134 126 41 75 135 128 40 75 136 131 39 75 136 133 38 75 137 135 37 75 138 138 36 75 139 141 35 75 141 143 34 75 142 145 33 75 143 150 32 75 144 152 31 75 144 153 30 75 145 155 29 75 146 156 28 75 147 157 26 75 149 160 25 75 150 163 24 75 151 165 23 75 152 167 22 75 152 172 21 75 153 175 20 75 154 178 19 75 156 179 18 75 157 181 17 75 158 184 16 75 159 185 15 75 160 186 14 75 161 188 13 75 162 194 12 75 163 195 11 75 164 198 10 75 166 199 9 75 167 202 8 75 168 205 7 75 169 207 6 75 169 208 5 75 170 209 4 75 171 209 3 75 172 211 2 75 174 213 1 75 175 216 0 75 176 217 0 75 176 217 0 75 177 219 0 75 177 219 0 75 177 220 0 75 177 220 255 74 0 230 254 74 0 228 254 74 0 226 254 74 0 224 253 74 0 221 252 74 0 220 251 74 0 219 250 74 0 217 249 74 0 217 248 74 0 216 247 74 0 213 246 74 0 211 245 74 0 211 244 74 0 209 243 74 0 208 242 74 0 207 241 74 0 205 240 74 0 204 239 74 0 201 238 74 0 199 237 74 0 197 236 74 0 195 235 74 0 189 234 74 0 188 233 74 0 186 232 74 0 184 231 74 0 182 230 74 0 181 229 74 0 178 228 74 0 175 227 74 0 174 226 74 0 171 224 74 0 166 223 74 0 165 222 74 0 162 221 74 0 159 220 74 0 157 219 74 0 156 218 74 0 155 217 74 0 153 216 74 0 152 215 74 0 150 214 74 0 145 213 74 0 143 212 74 0 140 211 74 0 137 210 74 0 134 209 74 0 133 208 74 0 130 207 74 0 128 206 74 0 126 205 74 0 121 204 74 0 118 203 74 0 117 202 74 0 114 201 74 0 111 200 74 0 110 199 74 0 108 198 74 0 104 197 74 0 103 196 74 0 102 195 74 0 98 194 74 0 96 193 74 0 95 191 74 0 92 190 74 0 91 189 74 0 89 188 74 0 88 187 74 0 84 186 74 0 82 185 74 0 80 184 74 0 74 183 74 0 73 182 74 0 70 181 74 0 67 180 74 0 66 179 74 0 62 178 74 0 60 177 74 0 59 176 74 1 57 175 74 2 54 174 74 3 51 173 74 4 50 172 74 5 47 171 74 5 44 170 74 6 40 169 74 7 39 168 74 8 36 167 74 10 35 166 74 11 31 165 74 12 29 164 74 13 27 163 74 13 25 162 74 14 24 161 74 15 20 160 74 16 18 158 74 18 17 157 74 19 16 156 74 20 13 155 74 21 10 154 74 21 7 153 74 22 6 152 74 23 3 151 74 25 2 150 74 26 0 149 74 27 0 148 74 28 0 147 74 29 0 146 74 30 0 145 74 31 0 144 74 32 0 143 74 33 0 142 74 35 0 141 74 36 0 140 74 37 0 139 74 38 0 138 74 38 0 137 74 39 0 136 74 40 0 135 74 41 0 134 74 43 0 133 74 44 0 132 74 45 0 131 74 46 0 130 74 46 0 129 74 47 0 128 74 48 0 127 74 49 0 125 74 51 0 124 74 52 0 123 74 53 0 122 74 54 0 121 74 54 0 120 74 55 0 119 74 56 0 118 74 58 0 117 74 59 0 116 74 60 0 115 74 61 0 114 74 62 0 113 74 63 0 112 74 64 0 111 74 65 0 110 74 66 0 109 74 68 0 108 74 69 0 107 74 70 0 106 74 71 0 105 74 71 0 104 74 72 0 103 74 73 0 102 74 74 0 101 74 76 0 100 74 77 0 99 74 78 0 98 74 79 0 97 74 79 3 96 74 80 5 95 74 81 7 94 74 82 9 92 74 84 13 91 74 85 14 90 74 86 17 89 74 87 18 88 74 87 20 87 74 88 22 86 74 89 25 85 74 91 27 84 74 92 28 83 74 93 31 82 74 94 32 81 74 95 35 80 74 96 38 79 74 97 40 78 74 98 44 77 74 99 46 76 74 101 49 75 74 102 51 74 74 103 53 73 74 104 57 72 74 104 59 71 74 105 60 70 74 106 62 69 74 107 64 68 74 109 67 67 74 110 69 66 74 111 71 65 74 112 74 64 74 112 77 63 74 113 81 62 74 114 84 61 74 115 86 59 74 117 89 58 74 118 91 57 74 119 92 56 74 120 93 55 74 120 96 54 74 121 98 53 74 122 99 52 74 124 103 51 74 125 104 50 74 126 107 49 74 127 110 48 74 128 111 47 74 129 114 46 74 130 117 45 74 131 118 44 74 132 121 43 74 134 122 42 74 135 128 41 74 136 130 40 74 137 131 39 74 137 134 38 74 138 135 37 74 139 138 36 74 140 141 35 74 142 144 34 74 143 149 33 74 144 152 32 74 145 153 31 74 145 155 30 74 146 156 29 74 147 157 28 74 148 159 26 74 150 162 25 74 151 163 24 74 152 166 23 74 153 171 22 74 153 174 21 74 154 175 20 74 155 178 19 74 157 179 18 74 158 182 17 74 159 184 16 74 160 185 15 74 161 188 14 74 162 189 13 74 163 194 12 74 164 197 11 74 165 198 10 74 167 201 9 74 168 204 8 74 169 205 7 74 170 207 6 74 170 208 5 74 171 209 4 74 172 209 3 74 173 211 2 74 175 213 1 74 176 216 0 74 177 217 0 74 177 217 0 74 178 219 0 74 178 219 0 74 178 220 0 74 178 220 255 73 0 230 254 73 0 228 254 73 0 226 254 73 0 224 253 73 0 223 252 73 0 220 251 73 0 219 250 73 0 219 249 73 0 217 248 73 0 216 247 73 0 213 246 73 0 211 245 73 0 211 244 73 0 209 243 73 0 208 242 73 0 207 241 73 0 205 240 73 0 204 239 73 0 202 238 73 0 199 237 73 0 198 236 73 0 197 235 73 0 194 234 73 0 189 233 73 0 186 232 73 0 185 231 73 0 182 230 73 0 181 229 73 0 178 228 73 0 176 227 73 0 174 226 73 0 172 224 73 0 167 223 73 0 166 222 73 0 163 221 73 0 160 220 73 0 159 219 73 0 157 218 73 0 156 217 73 0 155 216 73 0 153 215 73 0 150 214 73 0 149 213 73 0 144 212 73 0 141 211 73 0 138 210 73 0 135 209 73 0 133 208 73 0 131 207 73 0 130 206 73 0 126 205 73 0 122 204 73 0 120 203 73 0 118 202 73 0 115 201 73 0 114 200 73 0 111 199 73 0 110 198 73 0 107 197 73 0 104 196 73 0 102 195 73 0 99 194 73 0 98 193 73 0 96 191 73 0 95 190 73 0 92 189 73 0 91 188 73 0 89 187 73 0 86 186 73 0 84 185 73 0 81 184 73 0 77 183 73 0 74 182 73 0 71 181 73 0 69 180 73 0 67 179 73 0 66 178 73 0 62 177 73 1 60 176 73 2 59 175 73 3 57 174 73 4 54 173 73 5 51 172 73 6 50 171 73 6 47 170 73 7 44 169 73 8 40 168 73 9 39 167 73 10 36 166 73 12 35 165 73 13 31 164 73 14 29 163 73 14 27 162 73 15 25 161 73 16 24 160 73 17 20 158 73 18 18 157 73 20 17 156 73 21 16 155 73 22 13 154 73 22 10 153 73 23 9 152 73 24 6 151 73 26 5 150 73 27 3 149 73 28 2 148 73 29 0 147 73 30 0 146 73 31 0 145 73 32 0 144 73 33 0 143 73 34 0 142 73 35 0 141 73 37 0 140 73 38 0 139 73 39 0 138 73 39 0 137 73 40 0 136 73 41 0 135 73 42 0 134 73 43 0 133 73 45 0 132 73 46 0 131 73 47 0 130 73 47 0 129 73 48 0 128 73 49 0 127 73 50 0 125 73 51 0 124 73 53 0 123 73 54 0 122 73 55 0 121 73 55 0 120 73 56 0 119 73 57 0 118 73 59 0 117 73 60 0 116 73 61 0 115 73 62 0 114 73 63 0 113 73 64 0 112 73 65 0 111 73 66 0 110 73 67 0 109 73 68 0 108 73 70 0 107 73 71 0 106 73 72 0 105 73 72 0 104 73 73 0 103 73 74 0 102 73 75 0 101 73 76 0 100 73 78 0 99 73 79 2 98 73 80 3 97 73 80 6 96 73 81 7 95 73 82 10 94 73 83 13 92 73 84 16 91 73 86 17 90 73 87 18 89 73 88 20 88 73 88 22 87 73 89 24 86 73 90 27 85 73 92 28 84 73 93 31 83 73 94 32 82 73 95 36 81 73 96 38 80 73 97 40 79 73 98 44 78 73 99 46 77 73 100 49 76 73 101 51 75 73 103 54 74 73 104 57 73 73 105 59 72 73 105 60 71 73 106 62 70 73 107 64 69 73 108 67 68 73 109 69 67 73 111 71 66 73 112 74 65 73 113 77 64 73 113 80 63 73 114 82 62 73 115 86 61 73 116 88 59 73 117 91 58 73 119 92 57 73 120 93 56 73 121 95 55 73 121 98 54 73 122 99 53 73 123 102 52 73 125 104 51 73 126 107 50 73 127 108 49 73 128 111 48 73 129 112 47 73 130 115 46 73 131 118 45 73 132 120 44 73 133 122 43 73 134 126 42 73 136 128 41 73 137 131 40 73 138 133 39 73 138 135 38 73 139 137 37 73 140 140 36 73 141 143 35 73 142 145 34 73 144 150 33 73 145 152 32 73 146 153 31 73 146 155 30 73 147 157 29 73 148 159 28 73 149 160 26 73 150 163 25 73 152 166 24 73 153 167 23 73 154 172 22 73 154 174 21 73 155 175 20 73 156 178 19 73 158 179 18 73 159 182 17 73 160 184 16 73 161 186 15 73 162 188 14 73 163 194 13 73 164 195 12 73 165 198 11 73 166 199 10 73 167 202 9 73 169 204 8 73 170 205 7 73 171 207 6 73 171 208 5 73 172 209 4 73 173 209 3 73 174 211 2 73 175 213 1 73 177 216 0 73 177 217 0 73 178 217 0 73 179 219 0 73 179 220 0 73 179 220 0 73 179 220 255 72 0 230 254 72 0 228 254 72 0 227 254 72 0 224 253 72 0 223 252 72 0 221 251 72 0 220 250 72 0 219 249 72 0 217 248 72 0 216 247 72 0 213 246 72 0 211 245 72 0 211 244 72 0 209 243 72 0 208 242 72 0 207 241 72 0 205 240 72 0 204 239 72 0 202 238 72 0 201 237 72 0 199 236 72 0 198 235 72 0 195 234 72 0 189 233 72 0 188 232 72 0 185 231 72 0 182 230 72 0 181 229 72 0 179 228 72 0 176 227 72 0 175 226 72 0 174 224 72 0 171 223 72 0 167 222 72 0 165 221 72 0 162 220 72 0 160 219 72 0 157 218 72 0 156 217 72 0 155 216 72 0 153 215 72 0 152 214 72 0 149 213 72 0 145 212 72 0 143 211 72 0 140 210 72 0 137 209 72 0 134 208 72 0 133 207 72 0 131 206 72 0 128 205 72 0 126 204 72 0 121 203 72 0 120 202 72 0 117 201 72 0 115 200 72 0 112 199 72 0 111 198 72 0 108 197 72 0 107 196 72 0 103 195 72 0 102 194 72 0 99 193 72 0 96 191 72 0 95 190 72 0 93 189 72 0 92 188 72 0 91 187 72 0 88 186 72 0 86 185 72 0 82 184 72 0 80 183 72 0 77 182 72 0 74 181 72 0 71 180 72 0 69 179 72 0 67 178 72 1 64 177 72 1 62 176 72 2 60 175 72 3 59 174 72 4 57 173 72 5 54 172 72 6 51 171 72 7 49 170 72 8 47 169 72 9 44 168 72 10 40 167 72 11 39 166 72 12 36 165 72 13 32 164 72 14 31 163 72 15 29 162 72 16 27 161 72 17 25 160 72 18 24 158 72 19 20 157 72 20 18 156 72 21 17 155 72 22 16 154 72 23 14 153 72 24 10 152 72 25 9 151 72 27 6 150 72 28 5 149 72 29 3 148 72 30 2 147 72 31 0 146 72 32 0 145 72 33 0 144 72 34 0 143 72 35 0 142 72 36 0 141 72 37 0 140 72 38 0 139 72 39 0 138 72 40 0 137 72 41 0 136 72 42 0 135 72 43 0 134 72 44 0 133 72 45 0 132 72 46 0 131 72 47 0 130 72 48 0 129 72 49 0 128 72 50 0 127 72 51 0 125 72 52 0 124 72 53 0 123 72 54 0 122 72 55 0 121 72 56 0 120 72 57 0 119 72 58 0 118 72 60 0 117 72 61 0 116 72 62 0 115 72 63 0 114 72 64 0 113 72 65 0 112 72 66 0 111 72 67 0 110 72 68 0 109 72 69 0 108 72 70 0 107 72 71 0 106 72 72 0 105 72 73 0 104 72 74 0 103 72 75 0 102 72 76 0 101 72 77 2 100 72 78 3 99 72 79 5 98 72 80 6 97 72 81 7 96 72 82 10 95 72 83 14 94 72 84 16 92 72 85 17 91 72 86 18 90 72 87 20 89 72 88 22 88 72 89 24 87 72 90 27 86 72 91 28 85 72 93 31 84 72 94 32 83 72 95 36 82 72 96 38 81 72 97 40 80 72 98 43 79 72 99 46 78 72 100 49 77 72 101 51 76 72 102 53 75 72 103 57 74 72 104 59 73 72 105 60 72 72 106 62 71 72 107 64 70 72 108 67 69 72 109 69 68 72 110 71 67 72 111 74 66 72 112 76 65 72 113 80 64 72 114 82 63 72 115 86 62 72 116 88 61 72 117 89 59 72 118 92 58 72 119 93 57 72 120 95 56 72 121 96 55 72 122 98 54 72 123 99 53 72 124 103 52 72 126 104 51 72 127 108 50 72 128 110 49 72 129 112 48 72 130 114 47 72 131 117 46 72 132 120 45 72 133 121 44 72 134 122 43 72 135 128 42 72 136 130 41 72 137 131 40 72 138 134 39 72 139 135 38 72 140 138 37 72 141 141 36 72 142 144 35 72 143 149 34 72 144 150 33 72 145 153 32 72 146 155 31 72 147 156 30 72 148 157 29 72 149 159 28 72 150 162 26 72 151 165 25 72 152 167 24 72 153 171 23 72 154 174 22 72 155 175 21 72 156 176 20 72 157 178 19 72 159 181 18 72 160 182 17 72 161 185 16 72 162 186 15 72 163 189 14 72 164 194 13 72 165 197 12 72 166 199 11 72 167 201 10 72 168 202 9 72 169 204 8 72 170 205 7 72 171 207 6 72 172 208 5 72 173 209 4 72 174 211 3 72 175 211 2 72 176 213 1 72 177 216 0 72 178 217 0 72 179 219 0 72 179 219 0 72 180 220 0 72 180 220 0 72 180 221 255 71 0 230 254 71 0 228 254 71 0 227 254 71 0 226 253 71 0 223 252 71 0 221 251 71 0 220 250 71 0 219 249 71 0 217 248 71 0 216 247 71 0 216 246 71 0 213 245 71 0 211 244 71 0 209 243 71 0 208 242 71 0 208 241 71 0 207 240 71 0 205 239 71 0 204 238 71 0 202 237 71 0 201 236 71 0 198 235 71 0 195 234 71 0 194 233 71 0 188 232 71 0 185 231 71 0 182 230 71 0 181 229 71 0 179 228 71 0 178 227 71 0 176 226 71 0 175 224 71 0 172 223 71 0 171 222 71 0 166 221 71 0 163 220 71 0 160 219 71 0 159 218 71 0 156 217 71 0 155 216 71 0 153 215 71 0 152 214 71 0 150 213 71 0 145 212 71 0 144 211 71 0 141 210 71 0 138 209 71 0 135 208 71 0 134 207 71 0 131 206 71 0 130 205 71 0 126 204 71 0 122 203 71 0 121 202 71 0 118 201 71 0 117 200 71 0 114 199 71 0 112 198 71 0 110 197 71 0 108 196 71 0 104 195 71 0 103 194 71 0 99 193 71 0 98 191 71 0 96 190 71 0 95 189 71 0 93 188 71 0 92 187 71 0 89 186 71 0 88 185 71 0 84 184 71 0 82 183 71 0 80 182 71 0 77 181 71 0 74 180 71 0 71 179 71 1 69 178 71 1 67 177 71 2 64 176 71 3 62 175 71 4 60 174 71 5 59 173 71 6 57 172 71 7 53 171 71 8 50 170 71 9 49 169 71 10 46 168 71 11 44 167 71 12 40 166 71 13 39 165 71 14 36 164 71 15 32 163 71 16 31 162 71 17 28 161 71 18 27 160 71 19 25 158 71 20 22 157 71 21 20 156 71 22 18 155 71 23 17 154 71 24 16 153 71 25 14 152 71 26 13 151 71 28 9 150 71 29 7 149 71 30 5 148 71 31 3 147 71 32 2 146 71 33 2 145 71 34 0 144 71 35 0 143 71 36 0 142 71 37 0 141 71 38 0 140 71 39 0 139 71 40 0 138 71 41 0 137 71 42 0 136 71 43 0 135 71 44 0 134 71 45 0 133 71 46 0 132 71 47 0 131 71 48 0 130 71 49 0 129 71 50 0 128 71 51 0 127 71 52 0 125 71 53 0 124 71 54 0 123 71 55 0 122 71 56 0 121 71 57 0 120 71 58 0 119 71 59 0 118 71 61 0 117 71 62 0 116 71 63 0 115 71 64 0 114 71 65 0 113 71 66 0 112 71 67 0 111 71 68 0 110 71 69 0 109 71 70 0 108 71 71 0 107 71 72 0 106 71 73 0 105 71 74 0 104 71 75 0 103 71 76 0 102 71 77 2 101 71 78 3 100 71 79 5 99 71 80 6 98 71 81 9 97 71 82 10 96 71 83 14 95 71 84 16 94 71 85 17 92 71 86 18 91 71 87 20 90 71 88 22 89 71 89 24 88 71 90 27 87 71 91 28 86 71 92 31 85 71 94 32 84 71 95 35 83 71 96 38 82 71 97 40 81 71 98 43 80 71 99 46 79 71 100 49 78 71 101 50 77 71 102 53 76 71 103 54 75 71 104 59 74 71 105 60 73 71 106 62 72 71 107 64 71 71 108 66 70 71 109 69 69 71 110 71 68 71 111 73 67 71 112 76 66 71 113 80 65 71 114 81 64 71 115 84 63 71 116 88 62 71 117 89 61 71 118 91 59 71 119 93 58 71 120 95 57 71 121 96 56 71 122 98 55 71 123 99 54 71 124 102 53 71 125 104 52 71 127 107 51 71 128 110 50 71 129 111 49 71 130 114 48 71 131 115 47 71 132 118 46 71 133 120 45 71 134 122 44 71 135 126 43 71 136 130 42 71 137 131 41 71 138 133 40 71 139 135 39 71 140 137 38 71 141 140 37 71 142 143 36 71 143 145 35 71 144 149 34 71 145 152 33 71 146 153 32 71 147 155 31 71 148 156 30 71 149 157 29 71 150 160 28 71 151 163 26 71 152 166 25 71 153 167 24 71 154 172 23 71 155 174 22 71 156 176 21 71 157 178 20 71 158 179 19 71 160 181 18 71 161 182 17 71 162 185 16 71 163 186 15 71 164 189 14 71 165 195 13 71 166 198 12 71 167 199 11 71 168 202 10 71 169 204 9 71 170 205 8 71 171 207 7 71 172 207 6 71 173 208 5 71 174 209 4 71 175 211 3 71 176 213 2 71 177 213 1 71 178 216 0 71 179 217 0 71 180 219 0 71 180 220 0 71 181 221 0 71 181 221 0 71 181 221 255 70 0 230 254 70 0 228 254 70 0 227 254 70 0 226 253 70 0 224 252 70 0 223 251 70 0 221 250 70 0 220 249 70 0 219 248 70 0 217 247 70 0 216 246 70 0 213 245 70 0 211 244 70 0 211 243 70 0 209 242 70 0 208 241 70 0 207 240 70 0 205 239 70 0 204 238 70 0 202 237 70 0 201 236 70 0 199 235 70 0 197 234 70 0 194 233 70 0 188 232 70 0 185 231 70 0 184 230 70 0 182 229 70 0 179 228 70 0 178 227 70 0 176 226 70 0 175 224 70 0 174 223 70 0 171 222 70 0 166 221 70 0 163 220 70 0 162 219 70 0 159 218 70 0 157 217 70 0 156 216 70 0 155 215 70 0 153 214 70 0 152 213 70 0 149 212 70 0 145 211 70 0 143 210 70 0 140 209 70 0 137 208 70 0 134 207 70 0 133 206 70 0 131 205 70 0 128 204 70 0 126 203 70 0 121 202 70 0 120 201 70 0 117 200 70 0 115 199 70 0 114 198 70 0 111 197 70 0 110 196 70 0 107 195 70 0 104 194 70 0 102 193 70 0 99 191 70 0 98 190 70 0 96 189 70 0 95 188 70 0 92 187 70 0 91 186 70 0 89 185 70 0 88 184 70 0 84 183 70 0 82 182 70 0 80 181 70 0 76 180 70 1 74 179 70 1 71 178 70 2 69 177 70 3 67 176 70 4 64 175 70 5 62 174 70 6 60 173 70 7 57 172 70 8 54 171 70 9 51 170 70 10 50 169 70 11 49 168 70 12 46 167 70 13 44 166 70 14 40 165 70 15 39 164 70 16 36 163 70 17 35 162 70 18 31 161 70 19 29 160 70 20 27 158 70 21 25 157 70 22 24 156 70 23 22 155 70 24 20 154 70 25 18 153 70 26 17 152 70 27 14 151 70 29 13 150 70 30 9 149 70 31 7 148 70 32 6 147 70 33 5 146 70 34 3 145 70 35 2 144 70 36 2 143 70 37 0 142 70 38 0 141 70 39 0 140 70 40 0 139 70 41 0 138 70 42 0 137 70 43 0 136 70 44 0 135 70 45 0 134 70 46 0 133 70 47 0 132 70 48 0 131 70 49 0 130 70 50 0 129 70 51 0 128 70 52 0 127 70 53 0 125 70 54 0 124 70 55 0 123 70 56 0 122 70 57 0 121 70 58 0 120 70 59 0 119 70 60 0 118 70 62 0 117 70 63 0 116 70 64 0 115 70 65 0 114 70 66 0 113 70 67 0 112 70 68 0 111 70 69 0 110 70 70 0 109 70 71 0 108 70 72 0 107 70 73 0 106 70 74 0 105 70 75 2 104 70 76 2 103 70 77 3 102 70 78 5 101 70 79 5 100 70 80 7 99 70 81 9 98 70 82 13 97 70 83 14 96 70 84 17 95 70 85 18 94 70 86 20 92 70 87 22 91 70 88 24 90 70 89 25 89 70 90 27 88 70 91 28 87 70 92 31 86 70 93 32 85 70 95 36 84 70 96 38 83 70 97 40 82 70 98 43 81 70 99 46 80 70 100 47 79 70 101 50 78 70 102 51 77 70 103 54 76 70 104 57 75 70 105 60 74 70 106 62 73 70 107 64 72 70 108 66 71 70 109 69 70 70 110 71 69 70 111 73 68 70 112 76 67 70 113 80 66 70 114 82 65 70 115 84 64 70 116 86 63 70 117 89 62 70 118 91 61 70 119 92 59 70 120 93 58 70 121 95 57 70 122 98 56 70 123 99 55 70 124 102 54 70 125 103 53 70 126 107 52 70 128 110 51 70 129 111 50 70 130 112 49 70 131 115 48 70 132 117 47 70 133 118 46 70 134 121 45 70 135 122 44 70 136 128 43 70 137 130 42 70 138 133 41 70 139 134 40 70 140 137 39 70 141 140 38 70 142 141 37 70 143 144 36 70 144 149 35 70 145 150 34 70 146 152 33 70 147 155 32 70 148 155 31 70 149 156 30 70 150 159 29 70 151 160 28 70 152 163 26 70 153 166 25 70 154 171 24 70 155 174 23 70 156 175 22 70 157 176 21 70 158 178 20 70 159 179 19 70 161 181 18 70 162 182 17 70 163 185 16 70 164 188 15 70 165 189 14 70 166 195 13 70 167 198 12 70 168 201 11 70 169 202 10 70 170 204 9 70 171 205 8 70 172 207 7 70 173 208 6 70 174 209 5 70 175 209 4 70 176 211 3 70 177 213 2 70 178 216 1 70 179 217 0 70 180 219 0 70 181 220 0 70 181 221 0 70 181 221 0 70 182 223 0 70 182 224 255 69 0 230 254 69 0 230 254 69 0 228 254 69 0 227 253 69 0 226 252 69 0 224 251 69 0 223 250 69 0 220 249 69 0 219 248 69 0 217 247 69 0 217 246 69 0 216 245 69 0 213 244 69 0 211 243 69 0 209 242 69 0 208 241 69 0 207 240 69 0 205 239 69 0 205 238 69 0 204 237 69 0 202 236 69 0 199 235 69 0 197 234 69 0 194 233 69 0 188 232 69 0 186 231 69 0 184 230 69 0 182 229 69 0 181 228 69 0 179 227 69 0 178 226 69 0 176 224 69 0 174 223 69 0 172 222 69 0 167 221 69 0 165 220 69 0 162 219 69 0 159 218 69 0 157 217 69 0 156 216 69 0 155 215 69 0 153 214 69 0 152 213 69 0 150 212 69 0 149 211 69 0 144 210 69 0 141 209 69 0 138 208 69 0 135 207 69 0 134 206 69 0 131 205 69 0 130 204 69 0 126 203 69 0 122 202 69 0 120 201 69 0 118 200 69 0 117 199 69 0 115 198 69 0 114 197 69 0 111 196 69 0 110 195 69 0 107 194 69 0 103 193 69 0 102 191 69 0 99 190 69 0 96 189 69 0 95 188 69 0 93 187 69 0 92 186 69 0 91 185 69 0 89 184 69 0 86 183 69 0 84 182 69 1 82 181 69 1 80 180 69 2 76 179 69 2 74 178 69 3 71 177 69 4 69 176 69 5 67 175 69 6 64 174 69 7 62 173 69 8 59 172 69 9 57 171 69 10 53 170 69 11 51 169 69 12 50 168 69 13 47 167 69 14 46 166 69 15 44 165 69 16 40 164 69 17 39 163 69 18 36 162 69 19 32 161 69 20 31 160 69 21 29 158 69 22 27 157 69 24 25 156 69 25 24 155 69 26 22 154 69 27 22 153 69 28 20 152 69 29 17 151 69 30 16 150 69 31 13 149 69 32 10 148 69 33 7 147 69 34 6 146 69 35 5 145 69 36 5 144 69 37 3 143 69 38 3 142 69 39 2 141 69 40 0 140 69 41 0 139 69 42 0 138 69 43 0 137 69 44 0 136 69 45 0 135 69 46 0 134 69 47 0 133 69 48 0 132 69 49 0 131 69 50 0 130 69 51 0 129 69 52 0 128 69 53 0 127 69 54 0 125 69 55 0 124 69 57 0 123 69 58 0 122 69 59 0 121 69 60 0 120 69 61 0 119 69 62 0 118 69 63 0 117 69 64 0 116 69 65 0 115 69 66 0 114 69 67 0 113 69 68 0 112 69 69 0 111 69 70 0 110 69 71 0 109 69 72 0 108 69 73 0 107 69 74 2 106 69 75 3 105 69 76 3 104 69 77 5 103 69 78 5 102 69 79 6 101 69 80 7 100 69 81 9 99 69 82 13 98 69 83 14 97 69 84 17 96 69 85 18 95 69 86 20 94 69 87 22 92 69 88 24 91 69 90 25 90 69 91 27 89 69 92 28 88 69 93 31 87 69 94 32 86 69 95 36 85 69 96 38 84 69 97 40 83 69 98 43 82 69 99 46 81 69 100 47 80 69 101 50 79 69 102 51 78 69 103 53 77 69 104 57 76 69 105 59 75 69 106 62 74 69 107 64 73 69 108 66 72 69 109 69 71 69 110 70 70 69 111 73 69 69 112 76 68 69 113 80 67 69 114 81 66 69 115 84 65 69 116 86 64 69 117 88 63 69 118 91 62 69 119 92 61 69 120 93 59 69 121 95 58 69 123 96 57 69 124 98 56 69 125 102 55 69 126 103 54 69 127 104 53 69 128 108 52 69 129 111 51 69 130 112 50 69 131 114 49 69 132 117 48 69 133 118 47 69 134 120 46 69 135 122 45 69 136 126 44 69 137 128 43 69 138 131 42 69 139 133 41 69 140 135 40 69 141 138 39 69 142 141 38 69 143 143 37 69 144 145 36 69 145 150 35 69 146 152 34 69 147 153 33 69 148 155 32 69 149 156 31 69 150 157 30 69 151 159 29 69 152 162 28 69 153 163 26 69 154 167 25 69 156 172 24 69 157 174 23 69 158 176 22 69 159 178 21 69 160 179 20 69 161 181 19 69 162 182 18 69 163 184 17 69 164 185 16 69 165 188 15 69 166 189 14 69 167 195 13 69 168 198 12 69 169 201 11 69 170 202 10 69 171 204 9 69 172 205 8 69 173 207 7 69 174 208 6 69 175 209 5 69 176 211 4 69 177 213 3 69 178 216 2 69 179 216 1 69 180 217 0 69 181 219 0 69 182 220 0 69 182 221 0 69 183 223 0 69 183 224 0 69 183 226 255 68 0 230 254 68 0 230 254 68 0 230 254 68 0 228 253 68 0 227 252 68 0 226 251 68 0 223 250 68 0 221 249 68 0 220 248 68 0 219 247 68 0 217 246 68 0 216 245 68 0 213 244 68 0 211 243 68 0 209 242 68 0 208 241 68 0 207 240 68 0 207 239 68 0 205 238 68 0 204 237 68 0 202 236 68 0 199 235 68 0 197 234 68 0 194 233 68 0 189 232 68 0 186 231 68 0 184 230 68 0 184 229 68 0 182 228 68 0 181 227 68 0 179 226 68 0 178 224 68 0 175 223 68 0 172 222 68 0 167 221 68 0 165 220 68 0 162 219 68 0 159 218 68 0 157 217 68 0 156 216 68 0 156 215 68 0 155 214 68 0 153 213 68 0 152 212 68 0 150 211 68 0 145 210 68 0 143 209 68 0 140 208 68 0 137 207 68 0 134 206 68 0 133 205 68 0 130 204 68 0 128 203 68 0 122 202 68 0 121 201 68 0 120 200 68 0 118 199 68 0 117 198 68 0 114 197 68 0 112 196 68 0 110 195 68 0 108 194 68 0 104 193 68 0 103 191 68 0 99 190 68 0 98 189 68 0 96 188 68 0 95 187 68 0 92 186 68 0 91 185 68 0 89 184 68 0 88 183 68 1 86 182 68 2 84 181 68 2 81 180 68 3 80 179 68 3 76 178 68 4 73 177 68 5 71 176 68 6 69 175 68 7 66 174 68 9 64 173 68 10 60 172 68 10 59 171 68 11 54 170 68 12 53 169 68 13 51 168 68 14 50 167 68 15 49 166 68 17 46 165 68 18 44 164 68 18 40 163 68 19 39 162 68 20 36 161 68 21 32 160 68 22 31 158 68 24 28 157 68 25 27 156 68 26 27 155 68 27 25 154 68 28 24 153 68 29 22 152 68 30 20 151 68 31 17 150 68 32 16 149 68 34 13 148 68 35 10 147 68 35 9 146 68 36 7 145 68 37 6 144 68 38 6 143 68 39 5 142 68 40 3 141 68 42 2 140 68 43 2 139 68 43 0 138 68 44 0 137 68 45 0 136 68 46 0 135 68 47 0 134 68 48 0 133 68 50 0 132 68 51 0 131 68 51 0 130 68 52 0 129 68 53 0 128 68 54 0 127 68 55 0 125 68 57 0 124 68 58 0 123 68 59 0 122 68 60 0 121 68 61 0 120 68 62 0 119 68 63 0 118 68 64 0 117 68 65 0 116 68 67 0 115 68 68 0 114 68 68 0 113 68 69 0 112 68 70 0 111 68 71 0 110 68 72 0 109 68 73 2 108 68 75 2 107 68 76 3 106 68 76 5 105 68 77 6 104 68 78 6 103 68 79 7 102 68 80 9 101 68 81 10 100 68 83 13 99 68 84 16 98 68 84 17 97 68 85 18 96 68 86 22 95 68 87 24 94 68 88 25 92 68 90 25 91 68 91 27 90 68 92 28 89 68 93 31 88 68 94 32 87 68 95 35 86 68 96 38 85 68 97 40 84 68 98 43 83 68 100 46 82 68 101 47 81 68 101 49 80 68 102 51 79 68 103 53 78 68 104 54 77 68 105 59 76 68 106 60 75 68 108 64 74 68 109 66 73 68 109 69 72 68 110 70 71 68 111 73 70 68 112 76 69 68 113 77 68 68 114 81 67 68 116 82 66 68 117 86 65 68 117 88 64 68 118 89 63 68 119 91 62 68 120 92 61 68 121 93 59 68 123 96 58 68 124 98 57 68 125 99 56 68 126 102 55 68 127 104 54 68 128 107 53 68 129 110 52 68 130 112 51 68 131 114 50 68 133 115 49 68 134 118 48 68 134 120 47 68 135 121 46 68 136 122 45 68 137 126 44 68 138 130 43 68 139 131 42 68 141 134 41 68 142 137 40 68 142 140 39 68 143 143 38 68 144 144 37 68 145 149 36 68 146 152 35 68 147 153 34 68 149 155 33 68 150 155 32 68 150 156 31 68 151 157 30 68 152 159 29 68 153 162 28 68 154 165 26 68 156 167 25 68 157 172 24 68 158 175 23 68 159 176 22 68 160 178 21 68 161 179 20 68 162 181 19 68 163 182 18 68 164 184 17 68 166 185 16 68 167 188 15 68 167 194 14 68 168 195 13 68 169 199 12 68 170 201 11 68 171 204 10 68 172 205 9 68 174 207 8 68 175 207 7 68 175 208 6 68 176 209 5 68 177 211 4 68 178 213 3 68 179 216 2 68 180 217 1 68 182 219 0 68 182 220 0 68 183 221 0 68 184 223 0 68 184 224 0 68 184 226 0 68 184 227 255 67 0 230 254 67 0 230 254 67 0 230 254 67 0 228 253 67 0 227 252 67 0 226 251 67 0 224 250 67 0 221 249 67 0 220 248 67 0 219 247 67 0 217 246 67 0 216 245 67 0 213 244 67 0 211 243 67 0 209 242 67 0 208 241 67 0 208 240 67 0 207 239 67 0 205 238 67 0 204 237 67 0 202 236 67 0 199 235 67 0 197 234 67 0 195 233 67 0 189 232 67 0 186 231 67 0 185 230 67 0 184 229 67 0 182 228 67 0 181 227 67 0 179 226 67 0 178 224 67 0 175 223 67 0 172 222 67 0 167 221 67 0 165 220 67 0 162 219 67 0 160 218 67 0 159 217 67 0 157 216 67 0 156 215 67 0 155 214 67 0 153 213 67 0 153 212 67 0 150 211 67 0 145 210 67 0 144 209 67 0 141 208 67 0 138 207 67 0 135 206 67 0 133 205 67 0 131 204 67 0 128 203 67 0 126 202 67 0 122 201 67 0 121 200 67 0 120 199 67 0 118 198 67 0 115 197 67 0 114 196 67 0 111 195 67 0 110 194 67 0 107 193 67 0 104 191 67 0 102 190 67 0 99 189 67 0 98 188 67 0 96 187 67 0 93 186 67 0 92 185 67 0 91 184 67 1 89 183 67 2 88 182 67 2 86 181 67 3 82 180 67 4 81 179 67 4 80 178 67 5 76 177 67 6 73 176 67 7 71 175 67 9 69 174 67 10 66 173 67 11 64 172 67 12 60 171 67 12 57 170 67 13 54 169 67 14 53 168 67 15 51 167 67 17 50 166 67 18 49 165 67 19 46 164 67 20 44 163 67 20 40 162 67 21 39 161 67 22 36 160 67 24 32 158 67 25 31 157 67 26 29 156 67 27 28 155 67 28 27 154 67 29 25 153 67 30 24 152 67 31 22 151 67 32 20 150 67 34 18 149 67 35 16 148 67 36 14 147 67 37 13 146 67 37 10 145 67 38 9 144 67 39 9 143 67 40 7 142 67 42 6 141 67 43 5 140 67 44 3 139 67 45 2 138 67 45 2 137 67 46 0 136 67 47 0 135 67 48 0 134 67 50 0 133 67 51 0 132 67 52 0 131 67 53 0 130 67 53 0 129 67 54 0 128 67 55 0 127 67 57 0 125 67 58 0 124 67 59 0 123 67 60 0 122 67 61 0 121 67 62 0 120 67 63 0 119 67 64 0 118 67 65 0 117 67 67 0 116 67 68 0 115 67 69 0 114 67 70 0 113 67 70 0 112 67 71 0 111 67 72 2 110 67 73 2 109 67 75 3 108 67 76 5 107 67 77 6 106 67 78 7 105 67 78 7 104 67 79 9 103 67 80 10 102 67 81 13 101 67 83 14 100 67 84 16 99 67 85 17 98 67 86 20 97 67 86 22 96 67 87 24 95 67 88 25 94 67 90 27 92 67 91 28 91 67 92 29 90 67 93 31 89 67 94 32 88 67 95 36 87 67 96 38 86 67 97 40 85 67 98 44 84 67 100 46 83 67 101 47 82 67 102 50 81 67 103 51 80 67 103 53 79 67 104 54 78 67 105 57 77 67 106 60 76 67 108 62 75 67 109 66 74 67 110 69 73 67 111 71 72 67 111 73 71 67 112 76 70 67 113 77 69 67 114 81 68 67 116 82 67 67 117 84 66 67 118 88 65 67 119 89 64 67 119 91 63 67 120 92 62 67 121 93 61 67 123 95 59 67 124 98 58 67 125 99 57 67 126 102 56 67 127 103 55 67 128 107 54 67 129 108 53 67 130 111 52 67 131 114 51 67 133 115 50 67 134 117 49 67 135 120 48 67 136 121 47 67 136 122 46 67 137 126 45 67 138 128 44 67 139 130 43 67 141 133 42 67 142 134 41 67 143 137 40 67 144 140 39 67 144 143 38 67 145 145 37 67 146 150 36 67 147 152 35 67 149 153 34 67 150 155 33 67 151 156 32 67 152 157 31 67 152 157 30 67 153 160 29 67 154 162 28 67 156 165 26 67 157 167 25 67 158 172 24 67 159 175 23 67 160 178 22 67 161 179 21 67 162 181 20 67 163 182 19 67 164 184 18 67 166 185 17 67 167 186 16 67 168 188 15 67 169 194 14 67 169 197 13 67 170 199 12 67 171 202 11 67 172 204 10 67 174 205 9 67 175 207 8 67 176 208 7 67 177 208 6 67 177 209 5 67 178 211 4 67 179 213 3 67 180 216 2 67 182 217 1 67 183 219 0 67 184 220 0 67 184 221 0 67 185 223 0 67 185 226 0 67 185 227 0 67 185 228 255 66 0 230 254 66 0 230 254 66 0 230 254 66 0 230 253 66 0 228 252 66 0 226 251 66 0 224 250 66 0 221 249 66 0 220 248 66 0 219 247 66 0 217 246 66 0 216 245 66 0 216 244 66 0 213 243 66 0 211 242 66 0 209 241 66 0 208 240 66 0 207 239 66 0 207 238 66 0 205 237 66 0 202 236 66 0 201 235 66 0 198 234 66 0 195 233 66 0 194 232 66 0 188 231 66 0 186 230 66 0 185 229 66 0 184 228 66 0 182 227 66 0 181 226 66 0 178 224 66 0 176 223 66 0 174 222 66 0 171 221 66 0 166 220 66 0 163 219 66 0 162 218 66 0 159 217 66 0 157 216 66 0 157 215 66 0 156 214 66 0 155 213 66 0 153 212 66 0 152 211 66 0 149 210 66 0 145 209 66 0 143 208 66 0 138 207 66 0 137 206 66 0 134 205 66 0 133 204 66 0 130 203 66 0 128 202 66 0 126 201 66 0 122 200 66 0 121 199 66 0 120 198 66 0 117 197 66 0 115 196 66 0 112 195 66 0 110 194 66 0 108 193 66 0 107 191 66 0 103 190 66 0 102 189 66 0 99 188 66 0 98 187 66 0 96 186 66 0 93 185 66 0 92 184 66 1 91 183 66 2 89 182 66 3 88 181 66 4 84 180 66 5 82 179 66 5 81 178 66 6 80 177 66 7 76 176 66 8 74 175 66 10 71 174 66 11 69 173 66 12 66 172 66 13 62 171 66 13 60 170 66 14 59 169 66 15 57 168 66 16 53 167 66 18 53 166 66 19 50 165 66 20 49 164 66 21 47 163 66 21 44 162 66 22 40 161 66 23 39 160 66 25 36 158 66 26 35 157 66 27 31 156 66 28 29 155 66 29 28 154 66 30 27 153 66 31 27 152 66 32 25 151 66 33 24 150 66 35 22 149 66 36 18 148 66 37 17 147 66 38 16 146 66 38 14 145 66 39 14 144 66 40 13 143 66 41 10 142 66 43 9 141 66 44 7 140 66 45 6 139 66 46 5 138 66 46 5 137 66 47 3 136 66 48 3 135 66 49 3 134 66 51 3 133 66 52 3 132 66 53 3 131 66 54 3 130 66 54 3 129 66 55 3 128 66 56 3 127 66 58 3 125 66 59 3 124 66 60 3 123 66 61 3 122 66 62 3 121 66 63 3 120 66 64 3 119 66 65 3 118 66 66 3 117 66 68 3 116 66 69 3 115 66 70 3 114 66 71 3 113 66 71 3 112 66 72 3 111 66 73 5 110 66 74 5 109 66 76 6 108 66 77 6 107 66 78 7 106 66 79 9 105 66 79 10 104 66 80 13 103 66 81 14 102 66 82 16 101 66 84 17 100 66 85 18 99 66 86 20 98 66 87 24 97 66 87 25 96 66 88 27 95 66 89 27 94 66 91 28 92 66 92 29 91 66 93 31 90 66 94 32 89 66 95 36 88 66 96 38 87 66 97 40 86 66 98 44 85 66 99 46 84 66 101 49 83 66 102 50 82 66 103 51 81 66 104 53 80 66 104 54 79 66 105 59 78 66 106 60 77 66 107 62 76 66 109 66 75 66 110 69 74 66 111 71 73 66 112 73 72 66 112 76 71 66 113 77 70 66 114 81 69 66 115 82 68 66 117 84 67 66 118 86 66 66 119 88 65 66 120 91 64 66 120 92 63 66 121 93 62 66 122 95 61 66 124 98 59 66 125 99 58 66 126 102 57 66 127 103 56 66 128 104 55 66 129 108 54 66 130 110 53 66 131 112 52 66 132 114 51 66 134 117 50 66 135 118 49 66 136 121 48 66 137 122 47 66 137 126 46 66 138 128 45 66 139 130 44 66 140 131 43 66 142 134 42 66 143 135 41 66 144 138 40 66 145 141 39 66 145 144 38 66 146 149 37 66 147 152 36 66 148 153 35 66 150 155 34 66 151 156 33 66 152 156 32 66 153 157 31 66 153 159 30 66 154 160 29 66 155 163 28 66 157 166 26 66 158 171 25 66 159 174 24 66 160 175 23 66 161 178 22 66 162 179 21 66 163 181 20 66 164 184 19 66 165 185 18 66 167 186 17 66 168 188 16 66 169 189 15 66 170 195 14 66 170 197 13 66 171 199 12 66 172 202 11 66 173 204 10 66 175 207 9 66 176 207 8 66 177 208 7 66 178 209 6 66 178 211 5 66 179 211 4 66 180 213 3 66 181 216 2 66 183 217 1 66 184 219 0 66 185 220 0 66 185 221 0 66 186 223 0 66 186 226 0 66 186 227 0 66 186 228 255 65 0 231 254 65 0 231 254 65 0 230 254 65 0 230 253 65 0 228 252 65 0 227 251 65 0 224 250 65 0 223 249 65 0 220 248 65 0 219 247 65 0 217 246 65 0 217 245 65 0 216 244 65 0 213 243 65 0 211 242 65 0 209 241 65 0 208 240 65 0 208 239 65 0 207 238 65 0 205 237 65 0 204 236 65 0 201 235 65 0 198 234 65 0 197 233 65 0 194 232 65 0 189 231 65 0 188 230 65 0 186 229 65 0 184 228 65 0 182 227 65 0 181 226 65 0 179 224 65 0 176 223 65 0 175 222 65 0 172 221 65 0 167 220 65 0 165 219 65 0 162 218 65 0 160 217 65 0 159 216 65 0 157 215 65 0 156 214 65 0 155 213 65 0 153 212 65 0 152 211 65 0 150 210 65 0 145 209 65 0 143 208 65 0 140 207 65 0 138 206 65 0 135 205 65 0 134 204 65 0 131 203 65 0 130 202 65 0 128 201 65 0 126 200 65 0 122 199 65 0 121 198 65 0 118 197 65 0 117 196 65 0 114 195 65 0 111 194 65 0 110 193 65 0 107 191 65 0 104 190 65 0 103 189 65 0 102 188 65 0 99 187 65 0 98 186 65 0 96 185 65 1 93 184 65 2 92 183 65 3 91 182 65 4 88 181 65 5 86 180 65 6 84 179 65 6 82 178 65 7 81 177 65 8 80 176 65 9 76 175 65 10 74 174 65 12 71 173 65 13 69 172 65 14 66 171 65 14 62 170 65 15 60 169 65 16 59 168 65 17 57 167 65 18 54 166 65 20 53 165 65 21 51 164 65 22 50 163 65 22 47 162 65 23 44 161 65 24 43 160 65 26 39 158 65 27 36 157 65 28 35 156 65 29 32 155 65 30 31 154 65 31 29 153 65 32 28 152 65 33 27 151 65 34 25 150 65 35 24 149 65 37 22 148 65 38 20 147 65 39 18 146 65 39 18 145 65 40 17 144 65 41 16 143 65 42 14 142 65 43 13 141 65 45 10 140 65 46 9 139 65 47 7 138 65 47 7 137 65 48 6 136 65 49 6 135 65 50 6 134 65 51 6 133 65 53 5 132 65 54 5 131 65 55 5 130 65 55 5 129 65 56 5 128 65 57 5 127 65 59 5 125 65 60 5 124 65 61 5 123 65 62 5 122 65 63 5 121 65 64 5 120 65 65 5 119 65 66 5 118 65 67 5 117 65 68 5 116 65 70 5 115 65 71 6 114 65 72 6 113 65 72 6 112 65 73 6 111 65 74 7 110 65 75 7 109 65 76 9 108 65 78 10 107 65 79 10 106 65 80 14 105 65 80 16 104 65 81 16 103 65 82 17 102 65 83 18 101 65 84 20 100 65 86 22 99 65 87 24 98 65 88 25 97 65 88 27 96 65 89 28 95 65 90 29 94 65 92 29 92 65 93 31 91 65 94 32 90 65 95 36 89 65 96 38 88 65 97 40 87 65 98 44 86 65 99 47 85 65 100 49 84 65 101 51 83 65 103 53 82 65 104 54 81 65 105 57 80 65 105 59 79 65 106 60 78 65 107 62 77 65 108 66 76 65 109 69 75 65 111 70 74 65 112 73 73 65 113 76 72 65 113 80 71 65 114 81 70 65 115 82 69 65 116 84 68 65 117 86 67 65 119 88 66 65 120 89 65 65 121 91 64 65 121 93 63 65 122 95 62 65 123 96 61 65 125 99 59 65 126 102 58 65 127 103 57 65 128 104 56 65 129 107 55 65 130 110 54 65 131 111 53 65 132 114 52 65 133 115 51 65 134 118 50 65 136 120 49 65 137 122 48 65 138 126 47 65 138 128 46 65 139 130 45 65 140 131 44 65 141 133 43 65 142 135 42 65 144 137 41 65 145 140 40 65 146 143 39 65 146 145 38 65 147 149 37 65 148 152 36 65 149 153 35 65 150 155 34 65 152 156 33 65 153 157 32 65 154 159 31 65 154 160 30 65 155 162 29 65 156 165 28 65 158 166 26 65 159 171 25 65 160 174 24 65 161 176 23 65 162 178 22 65 163 181 21 65 164 182 20 65 165 184 19 65 166 185 18 65 167 186 17 65 169 189 16 65 170 194 15 65 171 195 14 65 171 198 13 65 172 201 12 65 173 202 11 65 174 205 10 65 175 207 9 65 177 208 8 65 178 208 7 65 179 209 6 65 179 211 5 65 180 213 4 65 181 216 3 65 182 217 2 65 183 217 1 65 185 219 0 65 185 220 0 65 186 221 0 65 187 224 0 65 187 226 0 65 187 228 0 65 187 230 255 64 0 231 254 64 0 231 254 64 0 230 254 64 0 230 253 64 0 228 252 64 0 227 251 64 0 224 250 64 0 223 249 64 0 220 248 64 0 219 247 64 0 217 246 64 0 217 245 64 0 216 244 64 0 213 243 64 0 211 242 64 0 209 241 64 0 209 240 64 0 208 239 64 0 207 238 64 0 205 237 64 0 204 236 64 0 202 235 64 0 199 234 64 0 198 233 64 0 195 232 64 0 194 231 64 0 188 230 64 0 186 229 64 0 185 228 64 0 184 227 64 0 181 226 64 0 179 224 64 0 178 223 64 0 175 222 64 0 174 221 64 0 171 220 64 0 166 219 64 0 163 218 64 0 162 217 64 0 159 216 64 0 157 215 64 0 156 214 64 0 155 213 64 0 155 212 64 0 153 211 64 0 150 210 64 0 149 209 64 0 144 208 64 0 141 207 64 0 140 206 64 0 137 205 64 0 135 204 64 0 133 203 64 0 131 202 64 0 130 201 64 0 128 200 64 0 126 199 64 0 122 198 64 0 120 197 64 0 118 196 64 0 115 195 64 0 112 194 64 0 111 193 64 0 110 191 64 0 107 190 64 0 104 189 64 0 103 188 64 0 102 187 64 0 99 186 64 1 98 185 64 1 95 184 64 2 93 183 64 3 92 182 64 4 89 181 64 5 88 180 64 6 86 179 64 7 86 178 64 8 84 177 64 9 82 176 64 10 80 175 64 11 76 174 64 12 74 173 64 13 71 172 64 14 69 171 64 15 66 170 64 16 64 169 64 17 62 168 64 18 60 167 64 19 59 166 64 20 57 165 64 21 54 164 64 22 51 163 64 23 50 162 64 24 47 161 64 25 44 160 64 27 43 158 64 28 39 157 64 29 36 156 64 30 35 155 64 31 32 154 64 32 31 153 64 33 31 152 64 34 29 151 64 35 28 150 64 36 27 149 64 37 25 148 64 38 25 147 64 39 24 146 64 40 22 145 64 41 20 144 64 42 18 143 64 43 17 142 64 44 16 141 64 45 14 140 64 46 14 139 64 47 13 138 64 48 10 137 64 49 10 136 64 50 10 135 64 51 9 134 64 52 9 133 64 53 9 132 64 54 9 131 64 55 9 130 64 56 9 129 64 57 9 128 64 58 9 127 64 60 9 125 64 61 9 124 64 62 9 123 64 63 9 122 64 64 9 121 64 65 9 120 64 66 9 119 64 67 9 118 64 68 9 117 64 69 9 116 64 70 9 115 64 71 9 114 64 72 9 113 64 73 9 112 64 74 10 111 64 75 10 110 64 76 13 109 64 77 13 108 64 78 14 107 64 79 16 106 64 80 17 105 64 81 18 104 64 82 20 103 64 83 22 102 64 84 24 101 64 85 24 100 64 86 25 99 64 87 27 98 64 88 28 97 64 89 29 96 64 90 31 95 64 91 31 94 64 93 32 92 64 94 35 91 64 95 36 90 64 96 38 89 64 97 40 88 64 98 44 87 64 99 47 86 64 100 49 85 64 101 51 84 64 102 53 83 64 103 57 82 64 104 59 81 64 105 60 80 64 106 62 79 64 107 64 78 64 108 66 77 64 109 69 76 64 110 71 75 64 111 73 74 64 112 76 73 64 113 80 72 64 114 81 71 64 115 82 70 64 116 84 69 64 117 86 68 64 118 88 67 64 119 89 66 64 120 91 65 64 121 93 64 64 122 95 63 64 123 96 62 64 124 99 61 64 126 102 59 64 127 103 58 64 128 104 57 64 129 107 56 64 130 108 55 64 131 111 54 64 132 112 53 64 133 115 52 64 134 117 51 64 135 120 50 64 136 121 49 64 137 126 48 64 138 128 47 64 139 130 46 64 140 131 45 64 141 133 44 64 142 134 43 64 143 137 42 64 144 140 41 64 145 141 40 64 146 144 39 64 147 149 38 64 148 150 37 64 149 152 36 64 150 155 35 64 151 155 34 64 152 156 33 64 153 157 32 64 154 159 31 64 155 162 30 64 156 163 29 64 157 166 28 64 159 167 26 64 160 172 25 64 161 175 24 64 162 178 23 64 163 179 22 64 164 181 21 64 165 182 20 64 166 185 19 64 167 186 18 64 168 188 17 64 169 189 16 64 170 195 15 64 171 197 14 64 172 199 13 64 173 201 12 64 174 204 11 64 175 205 10 64 176 207 9 64 177 208 8 64 178 209 7 64 179 209 6 64 180 211 5 64 181 213 4 64 182 216 3 64 183 217 2 64 184 217 1 64 185 219 0 64 186 220 0 64 187 221 0 64 187 224 0 64 188 226 0 64 188 228 0 64 188 230 255 63 0 231 254 63 0 231 254 63 0 230 254 63 0 230 253 63 0 228 252 63 0 227 251 63 0 224 250 63 0 223 249 63 0 220 248 63 0 219 247 63 0 217 246 63 0 217 245 63 0 216 244 63 0 213 243 63 0 211 242 63 0 209 241 63 0 209 240 63 0 208 239 63 0 207 238 63 0 205 237 63 0 204 236 63 0 202 235 63 0 201 234 63 0 199 233 63 0 197 232 63 0 195 231 63 0 189 230 63 0 188 229 63 0 185 228 63 0 184 227 63 0 182 226 63 0 181 224 63 0 179 223 63 0 176 222 63 0 175 221 63 0 172 220 63 0 167 219 63 0 166 218 63 0 163 217 63 0 160 216 63 0 159 215 63 0 157 214 63 0 156 213 63 0 155 212 63 0 153 211 63 0 152 210 63 0 150 209 63 0 149 208 63 0 144 207 63 0 141 206 63 0 140 205 63 0 137 204 63 0 135 203 63 0 134 202 63 0 131 201 63 0 130 200 63 0 128 199 63 0 126 198 63 0 121 197 63 0 120 196 63 0 117 195 63 0 115 194 63 0 112 193 63 0 111 191 63 0 110 190 63 0 107 189 63 0 104 188 63 0 103 187 63 1 102 186 63 1 99 185 63 2 98 184 63 3 95 183 63 4 93 182 63 5 92 181 63 6 91 180 63 7 89 179 63 8 88 178 63 9 86 177 63 10 84 176 63 11 82 175 63 12 80 174 63 13 77 173 63 14 74 172 63 15 71 171 63 16 69 170 63 17 67 169 63 18 66 168 63 19 64 167 63 20 62 166 63 21 60 165 63 22 59 164 63 23 54 163 63 24 53 162 63 25 50 161 63 26 47 160 63 28 46 158 63 29 43 157 63 30 39 156 63 31 38 155 63 32 36 154 63 33 35 153 63 34 35 152 63 35 32 151 63 36 31 150 63 37 29 149 63 38 29 148 63 39 28 147 63 40 27 146 63 41 25 145 63 42 24 144 63 43 22 143 63 44 22 142 63 45 20 141 63 46 18 140 63 47 18 139 63 48 17 138 63 49 16 137 63 50 16 136 63 51 14 135 63 52 14 134 63 53 14 133 63 54 13 132 63 55 13 131 63 56 13 130 63 57 13 129 63 58 13 128 63 59 13 127 63 61 13 125 63 62 13 124 63 63 13 123 63 64 13 122 63 65 13 121 63 66 13 120 63 67 13 119 63 68 13 118 63 69 13 117 63 70 13 116 63 71 13 115 63 72 13 114 63 73 14 113 63 74 14 112 63 75 16 111 63 76 16 110 63 77 17 109 63 78 17 108 63 79 18 107 63 80 20 106 63 81 20 105 63 82 22 104 63 83 24 103 63 84 25 102 63 85 27 101 63 86 28 100 63 87 28 99 63 88 29 98 63 89 31 97 63 90 32 96 63 91 35 95 63 92 35 94 63 94 36 92 63 95 38 91 63 96 39 90 63 97 40 89 63 98 44 88 63 99 47 87 63 100 50 86 63 101 51 85 63 102 54 84 63 103 57 83 63 104 60 82 63 105 62 81 63 106 64 80 63 107 66 79 63 108 67 78 63 109 69 77 63 110 71 76 63 111 74 75 63 112 76 74 63 113 80 73 63 114 82 72 63 115 84 71 63 116 86 70 63 117 88 69 63 118 88 68 63 119 89 67 63 120 91 66 63 121 93 65 63 122 95 64 63 123 96 63 63 124 99 62 63 125 102 61 63 127 103 59 63 128 104 58 63 129 107 57 63 130 108 56 63 131 111 55 63 132 112 54 63 133 114 53 63 134 117 52 63 135 120 51 63 136 121 50 63 137 122 49 63 138 128 48 63 139 130 47 63 140 131 46 63 141 133 45 63 142 134 44 63 143 137 43 63 144 138 42 63 145 141 41 63 146 143 40 63 147 145 39 63 148 150 38 63 149 152 37 63 150 153 36 63 151 155 35 63 152 156 34 63 153 157 33 63 154 159 32 63 155 160 31 63 156 162 30 63 157 165 29 63 158 167 28 63 160 172 26 63 161 175 25 63 162 176 24 63 163 178 23 63 164 181 22 63 165 182 21 63 166 184 20 63 167 185 19 63 168 186 18 63 169 189 17 63 170 194 16 63 171 197 15 63 172 198 14 63 173 201 13 63 174 202 12 63 175 204 11 63 176 205 10 63 177 207 9 63 178 208 8 63 179 209 7 63 180 209 6 63 181 211 5 63 182 213 4 63 183 216 3 63 184 217 2 63 185 217 1 63 186 219 0 63 187 220 0 63 188 221 0 63 188 224 0 63 189 226 0 63 189 228 0 63 189 230 255 62 0 231 254 62 0 231 254 62 0 230 254 62 0 230 253 62 0 228 252 62 0 227 251 62 0 224 250 62 0 223 249 62 0 220 248 62 0 219 247 62 0 217 246 62 0 217 245 62 0 216 244 62 0 213 243 62 0 211 242 62 0 211 241 62 0 209 240 62 0 208 239 62 0 208 238 62 0 207 237 62 0 205 236 62 0 204 235 62 0 202 234 62 0 201 233 62 0 198 232 62 0 197 231 62 0 194 230 62 0 188 229 62 0 186 228 62 0 185 227 62 0 182 226 62 0 181 224 62 0 179 223 62 0 178 222 62 0 176 221 62 0 174 220 62 0 171 219 62 0 166 218 62 0 165 217 62 0 162 216 62 0 159 215 62 0 157 214 62 0 156 213 62 0 156 212 62 0 155 211 62 0 153 210 62 0 152 209 62 0 150 208 62 0 145 207 62 0 143 206 62 0 141 205 62 0 138 204 62 0 137 203 62 0 135 202 62 0 133 201 62 0 131 200 62 0 130 199 62 0 126 198 62 0 122 197 62 0 121 196 62 0 118 195 62 0 117 194 62 0 115 193 62 0 112 191 62 0 111 190 62 0 110 189 62 0 107 188 62 1 104 187 62 1 103 186 62 2 102 185 62 3 99 184 62 4 96 183 62 5 95 182 62 6 93 181 62 7 92 180 62 8 91 179 62 9 89 178 62 10 88 177 62 11 86 176 62 12 84 175 62 13 82 174 62 14 80 173 62 15 77 172 62 16 74 171 62 17 71 170 62 18 70 169 62 19 67 168 62 20 66 167 62 21 64 166 62 22 62 165 62 23 60 164 62 24 59 163 62 25 57 162 62 26 53 161 62 27 50 160 62 29 47 158 62 30 46 157 62 31 43 156 62 32 40 155 62 33 39 154 62 34 38 153 62 35 38 152 62 36 36 151 62 37 35 150 62 38 32 149 62 39 31 148 62 40 31 147 62 41 29 146 62 42 28 145 62 43 27 144 62 44 27 143 62 45 25 142 62 46 24 141 62 47 22 140 62 48 22 139 62 49 20 138 62 50 20 137 62 51 18 136 62 52 18 135 62 53 17 134 62 54 17 133 62 55 16 132 62 56 16 131 62 57 16 130 62 58 16 129 62 59 16 128 62 60 16 127 62 62 16 125 62 63 16 124 62 64 16 123 62 65 16 122 62 66 16 121 62 67 16 120 62 68 16 119 62 69 16 118 62 70 16 117 62 71 16 116 62 72 16 115 62 73 17 114 62 74 17 113 62 75 17 112 62 76 18 111 62 77 20 110 62 78 20 109 62 79 22 108 62 80 22 107 62 81 24 106 62 82 25 105 62 83 25 104 62 84 27 103 62 85 28 102 62 86 29 101 62 87 31 100 62 88 31 99 62 89 32 98 62 90 35 97 62 91 36 96 62 92 36 95 62 93 38 94 62 95 39 92 62 96 40 91 62 97 43 90 62 98 44 89 62 99 47 88 62 100 50 87 62 101 51 86 62 102 54 85 62 103 59 84 62 104 60 83 62 105 62 82 62 106 64 81 62 107 66 80 62 108 67 79 62 109 70 78 62 110 71 77 62 111 74 76 62 112 77 75 62 113 80 74 62 114 82 73 62 115 84 72 62 116 86 71 62 117 88 70 62 118 89 69 62 119 91 68 62 120 91 67 62 121 93 66 62 122 95 65 62 123 96 64 62 124 98 63 62 125 102 62 62 126 103 61 62 128 104 59 62 129 107 58 62 130 108 57 62 131 110 56 62 132 112 55 62 133 114 54 62 134 117 53 62 135 118 52 62 136 121 51 62 137 122 50 62 138 126 49 62 139 130 48 62 140 131 47 62 141 133 46 62 142 134 45 62 143 137 44 62 144 138 43 62 145 141 42 62 146 143 41 62 147 145 40 62 148 149 39 62 149 150 38 62 150 153 37 62 151 155 36 62 152 155 35 62 153 156 34 62 154 157 33 62 155 159 32 62 156 160 31 62 157 163 30 62 158 166 29 62 159 171 28 62 161 174 26 62 162 176 25 62 163 178 24 62 164 179 23 62 165 181 22 62 166 182 21 62 167 184 20 62 168 186 19 62 169 188 18 62 170 194 17 62 171 195 16 62 172 198 15 62 173 199 14 62 174 201 13 62 175 204 12 62 176 205 11 62 177 205 10 62 178 207 9 62 179 208 8 62 180 209 7 62 181 211 6 62 182 211 5 62 183 213 4 62 184 216 3 62 185 217 2 62 186 217 1 62 187 219 0 62 188 220 0 62 189 221 0 62 190 224 0 62 190 226 0 62 190 228 0 62 190 230 255 61 0 231 254 61 0 231 254 61 0 230 254 61 0 230 253 61 0 228 252 61 0 227 251 61 0 224 250 61 0 223 249 61 0 220 248 61 0 219 247 61 0 217 246 61 0 217 245 61 0 216 244 61 0 213 243 61 0 211 242 61 0 211 241 61 0 209 240 61 0 208 239 61 0 208 238 61 0 207 237 61 0 205 236 61 0 204 235 61 0 202 234 61 0 201 233 61 0 199 232 61 0 197 231 61 0 194 230 61 0 189 229 61 0 186 228 61 0 185 227 61 0 184 226 61 0 182 224 61 0 181 223 61 0 179 222 61 0 178 221 61 0 175 220 61 0 172 219 61 0 167 218 61 0 165 217 61 0 162 216 61 0 160 215 61 0 159 214 61 0 157 213 61 0 156 212 61 0 155 211 61 0 155 210 61 0 153 209 61 0 152 208 61 0 149 207 61 0 144 206 61 0 143 205 61 0 140 204 61 0 138 203 61 0 137 202 61 0 134 201 61 0 133 200 61 0 131 199 61 0 128 198 61 0 126 197 61 0 122 196 61 0 121 195 61 0 118 194 61 0 117 193 61 0 115 191 61 0 112 190 61 1 111 189 61 1 110 188 61 2 107 187 61 2 104 186 61 3 103 185 61 4 102 184 61 5 99 183 61 6 96 182 61 7 95 181 61 8 93 180 61 9 92 179 61 10 91 178 61 11 89 177 61 12 88 176 61 13 86 175 61 14 84 174 61 15 82 173 61 16 80 172 61 17 77 171 61 18 74 170 61 19 73 169 61 20 70 168 61 21 69 167 61 22 67 166 61 24 66 165 61 25 64 164 61 26 62 163 61 27 59 162 61 28 57 161 61 29 53 160 61 30 50 158 61 31 49 157 61 32 46 156 61 33 44 155 61 34 43 154 61 35 40 153 61 36 40 152 61 37 39 151 61 38 38 150 61 39 36 149 61 40 35 148 61 41 32 147 61 42 32 146 61 43 31 145 61 44 29 144 61 45 28 143 61 46 28 142 61 47 27 141 61 48 27 140 61 49 25 139 61 50 24 138 61 51 24 137 61 52 22 136 61 53 22 135 61 54 20 134 61 55 20 133 61 57 18 132 61 58 18 131 61 59 18 130 61 60 18 129 61 61 18 128 61 62 18 127 61 63 18 125 61 64 18 124 61 65 18 123 61 66 18 122 61 67 18 121 61 68 18 120 61 69 18 119 61 70 18 118 61 71 18 117 61 72 18 116 61 73 18 115 61 74 20 114 61 75 20 113 61 76 20 112 61 77 22 111 61 78 24 110 61 79 24 109 61 80 25 108 61 81 25 107 61 82 27 106 61 83 28 105 61 84 28 104 61 85 29 103 61 86 31 102 61 87 32 101 61 88 32 100 61 90 35 99 61 91 36 98 61 92 36 97 61 93 38 96 61 94 40 95 61 95 40 94 61 96 43 92 61 97 44 91 61 98 46 90 61 99 47 89 61 100 50 88 61 101 53 87 61 102 54 86 61 103 59 85 61 104 60 84 61 105 62 83 61 106 66 82 61 107 67 81 61 108 69 80 61 109 70 79 61 110 71 78 61 111 74 77 61 112 76 76 61 113 80 75 61 114 82 74 61 115 84 73 61 116 86 72 61 117 88 71 61 118 89 70 61 119 91 69 61 120 92 68 61 121 93 67 61 123 95 66 61 124 96 65 61 125 98 64 61 126 102 63 61 127 103 62 61 128 104 61 61 129 107 59 61 130 108 58 61 131 111 57 61 132 112 56 61 133 114 55 61 134 117 54 61 135 118 53 61 136 120 52 61 137 122 51 61 138 126 50 61 139 128 49 61 140 131 48 61 141 133 47 61 142 134 46 61 143 137 45 61 144 138 44 61 145 140 43 61 146 143 42 61 147 144 41 61 148 149 40 61 149 150 39 61 150 152 38 61 151 153 37 61 152 155 36 61 153 156 35 61 154 157 34 61 156 157 33 61 157 160 32 61 158 162 31 61 159 165 30 61 160 167 29 61 161 172 28 61 162 175 26 61 163 176 25 61 164 179 24 61 165 181 23 61 166 182 22 61 167 184 21 61 168 185 20 61 169 186 19 61 170 189 18 61 171 194 17 61 172 197 16 61 173 199 15 61 174 201 14 61 175 202 13 61 176 204 12 61 177 205 11 61 178 207 10 61 179 208 9 61 180 208 8 61 181 209 7 61 182 211 6 61 183 211 5 61 184 213 4 61 185 216 3 61 186 217 2 61 187 217 1 61 189 219 0 61 190 220 0 61 190 221 0 61 191 224 0 61 191 226 0 61 191 228 0 61 191 230 255 59 0 231 254 59 0 231 254 59 0 230 254 59 0 230 253 59 0 228 252 59 0 227 251 59 0 224 250 59 0 223 249 59 0 221 248 59 0 220 247 59 0 219 246 59 0 217 245 59 0 216 244 59 0 213 243 59 0 211 242 59 0 211 241 59 0 209 240 59 0 208 239 59 0 208 238 59 0 207 237 59 0 205 236 59 0 205 235 59 0 204 234 59 0 202 233 59 0 199 232 59 0 198 231 59 0 195 230 59 0 194 229 59 0 188 228 59 0 186 227 59 0 185 226 59 0 184 224 59 0 182 223 59 0 181 222 59 0 178 221 59 0 176 220 59 0 174 219 59 0 171 218 59 0 166 217 59 0 163 216 59 0 162 215 59 0 159 214 59 0 157 213 59 0 157 212 59 0 156 211 59 0 155 210 59 0 153 209 59 0 152 208 59 0 150 207 59 0 149 206 59 0 144 205 59 0 143 204 59 0 140 203 59 0 138 202 59 0 137 201 59 0 134 200 59 0 133 199 59 0 130 198 59 0 128 197 59 0 126 196 59 0 122 195 59 0 121 194 59 0 118 193 59 0 117 191 59 1 115 190 59 2 112 189 59 2 111 188 59 3 110 187 59 3 107 186 59 4 104 185 59 5 103 184 59 6 102 183 59 7 99 182 59 9 98 181 59 10 95 180 59 10 93 179 59 11 92 178 59 12 91 177 59 13 91 176 59 14 89 175 59 15 86 174 59 17 84 173 59 18 82 172 59 18 80 171 59 19 77 170 59 20 74 169 59 21 73 168 59 22 71 167 59 24 69 166 59 25 67 165 59 26 66 164 59 27 64 163 59 28 62 162 59 29 59 161 59 30 57 160 59 31 53 158 59 32 51 157 59 34 50 156 59 35 49 155 59 35 47 154 59 36 46 153 59 37 44 152 59 38 43 151 59 39 40 150 59 40 39 149 59 42 38 148 59 43 36 147 59 43 36 146 59 44 35 145 59 45 32 144 59 46 31 143 59 47 31 142 59 48 29 141 59 50 29 140 59 51 28 139 59 51 27 138 59 52 27 137 59 53 25 136 59 54 24 135 59 55 24 134 59 57 24 133 59 58 22 132 59 59 22 131 59 60 22 130 59 61 22 129 59 62 22 128 59 63 22 127 59 64 22 125 59 65 22 124 59 67 22 123 59 68 22 122 59 68 22 121 59 69 22 120 59 70 22 119 59 71 22 118 59 72 22 117 59 73 22 116 59 75 22 115 59 76 24 114 59 76 24 113 59 77 24 112 59 78 25 111 59 79 27 110 59 80 27 109 59 81 28 108 59 83 29 107 59 84 29 106 59 84 31 105 59 85 31 104 59 86 32 103 59 87 35 102 59 88 36 101 59 90 36 100 59 91 38 99 59 92 39 98 59 93 40 97 59 94 43 96 59 95 44 95 59 96 46 94 59 97 47 92 59 98 49 91 59 100 49 90 59 101 50 89 59 101 53 88 59 102 54 87 59 103 59 86 59 104 60 85 59 105 64 84 59 106 66 83 59 108 67 82 59 109 69 81 59 109 70 80 59 110 73 79 59 111 74 78 59 112 77 77 59 113 80 76 59 114 82 75 59 116 84 74 59 117 86 73 59 117 88 72 59 118 89 71 59 119 91 70 59 120 92 69 59 121 93 68 59 123 95 67 59 124 98 66 59 125 99 65 59 126 102 64 59 127 103 63 59 128 104 62 59 129 107 61 59 130 108 59 59 131 111 58 59 133 112 57 59 134 114 56 59 134 117 55 59 135 118 54 59 136 120 53 59 137 121 52 59 138 126 51 59 139 128 50 59 141 130 49 59 142 133 48 59 142 134 47 59 143 135 46 59 144 138 45 59 145 140 44 59 146 143 43 59 147 144 42 59 149 145 41 59 150 150 40 59 150 152 39 59 151 153 38 59 152 155 37 59 153 156 36 59 154 157 35 59 156 157 34 59 157 159 33 59 158 160 32 59 159 163 31 59 160 165 30 59 161 171 29 59 162 174 28 59 163 175 26 59 164 178 25 59 166 181 24 59 167 182 23 59 167 184 22 59 168 185 21 59 169 186 20 59 170 188 19 59 171 189 18 59 172 195 17 59 174 197 16 59 175 199 15 59 175 201 14 59 176 204 13 59 177 204 12 59 178 205 11 59 179 207 10 59 180 208 9 59 182 208 8 59 183 209 7 59 183 211 6 59 184 211 5 59 185 213 4 59 186 216 3 59 187 217 2 59 189 219 1 59 190 219 0 59 191 221 0 59 192 223 0 59 192 224 0 59 192 226 0 59 193 228 0 59 193 230 255 58 0 231 254 58 0 231 254 58 0 230 254 58 0 230 253 58 0 228 252 58 0 227 251 58 0 226 250 58 0 223 249 58 0 221 248 58 0 220 247 58 0 219 246 58 0 217 245 58 0 216 244 58 0 213 243 58 0 213 242 58 0 211 241 58 0 209 240 58 0 209 239 58 0 208 238 58 0 207 237 58 0 205 236 58 0 205 235 58 0 204 234 58 0 202 233 58 0 201 232 58 0 198 231 58 0 197 230 58 0 194 229 58 0 189 228 58 0 188 227 58 0 186 226 58 0 185 224 58 0 182 223 58 0 181 222 58 0 179 221 58 0 176 220 58 0 175 219 58 0 172 218 58 0 167 217 58 0 165 216 58 0 162 215 58 0 160 214 58 0 159 213 58 0 157 212 58 0 157 211 58 0 156 210 58 0 155 209 58 0 153 208 58 0 152 207 58 0 150 206 58 0 145 205 58 0 144 204 58 0 143 203 58 0 140 202 58 0 138 201 58 0 135 200 58 0 134 199 58 0 131 198 58 0 130 197 58 0 128 196 58 0 126 195 58 0 122 194 58 0 121 193 58 1 118 191 58 2 117 190 58 2 115 189 58 3 112 188 58 4 111 187 58 4 110 186 58 5 107 185 58 6 104 184 58 7 103 183 58 9 102 182 58 10 99 181 58 11 98 180 58 12 96 179 58 12 95 178 58 13 92 177 58 14 92 176 58 15 91 175 58 17 89 174 58 18 88 173 58 19 84 172 58 20 82 171 58 20 81 170 58 21 77 169 58 22 74 168 58 24 73 167 58 25 71 166 58 26 70 165 58 27 67 164 58 28 66 163 58 29 64 162 58 30 62 161 58 31 59 160 58 32 57 158 58 34 54 157 58 35 51 156 58 36 51 155 58 37 50 154 58 37 49 153 58 38 47 152 58 39 46 151 58 40 44 150 58 42 43 149 58 43 40 148 58 44 39 147 58 45 38 146 58 45 38 145 58 46 36 144 58 47 35 143 58 48 32 142 58 50 32 141 58 51 31 140 58 52 31 139 58 53 29 138 58 53 28 137 58 54 28 136 58 55 27 135 58 57 27 134 58 58 25 133 58 59 25 132 58 60 25 131 58 61 25 130 58 62 25 129 58 63 25 128 58 64 25 127 58 65 25 125 58 67 25 124 58 68 25 123 58 69 25 122 58 70 25 121 58 70 25 120 58 71 25 119 58 72 25 118 58 73 25 117 58 75 25 116 58 76 25 115 58 77 25 114 58 78 25 113 58 78 27 112 58 79 27 111 58 80 28 110 58 81 29 109 58 83 31 108 58 84 31 107 58 85 32 106 58 86 32 105 58 86 35 104 58 87 36 103 58 88 36 102 58 90 38 101 58 91 39 100 58 92 40 99 58 93 40 98 58 94 43 97 58 95 44 96 58 96 47 95 58 97 49 94 58 98 50 92 58 100 51 91 58 101 51 90 58 102 53 89 58 103 57 88 58 103 59 87 58 104 60 86 58 105 64 85 58 106 66 84 58 108 67 83 58 109 69 82 58 110 71 81 58 111 73 80 58 111 74 79 58 112 77 78 58 113 80 77 58 114 82 76 58 116 84 75 58 117 86 74 58 118 88 73 58 119 89 72 58 119 91 71 58 120 92 70 58 121 93 69 58 123 95 68 58 124 98 67 58 125 99 66 58 126 102 65 58 127 103 64 58 128 104 63 58 129 107 62 58 130 108 61 58 131 111 59 58 133 112 58 58 134 114 57 58 135 117 56 58 136 118 55 58 136 120 54 58 137 121 53 58 138 122 52 58 139 126 51 58 141 130 50 58 142 131 49 58 143 134 48 58 144 135 47 58 144 138 46 58 145 140 45 58 146 143 44 58 147 144 43 58 149 145 42 58 150 149 41 58 151 150 40 58 152 153 39 58 152 155 38 58 153 155 37 58 154 156 36 58 156 157 35 58 157 159 34 58 158 160 33 58 159 162 32 58 160 163 31 58 161 166 30 58 162 171 29 58 163 174 28 58 164 176 26 58 166 179 25 58 167 181 24 58 168 182 23 58 169 184 22 58 169 185 21 58 170 186 20 58 171 189 19 58 172 194 18 58 174 197 17 58 175 198 16 58 176 201 15 58 177 202 14 58 177 204 13 58 178 205 12 58 179 205 11 58 180 207 10 58 182 208 9 58 183 209 8 58 184 209 7 58 185 211 6 58 185 213 5 58 186 213 4 58 187 216 3 58 189 217 2 58 190 219 1 58 191 220 0 58 192 221 0 58 193 223 0 58 194 224 0 58 194 227 0 58 194 228 0 58 194 230 255 57 0 231 254 57 0 231 254 57 0 230 254 57 0 230 253 57 0 228 252 57 0 227 251 57 0 226 250 57 0 224 249 57 0 223 248 57 0 221 247 57 0 220 246 57 0 219 245 57 0 217 244 57 0 216 243 57 0 213 242 57 0 211 241 57 0 211 240 57 0 209 239 57 0 208 238 57 0 207 237 57 0 207 236 57 0 205 235 57 0 204 234 57 0 202 233 57 0 201 232 57 0 199 231 57 0 198 230 57 0 195 229 57 0 194 228 57 0 188 227 57 0 186 226 57 0 185 224 57 0 184 223 57 0 182 222 57 0 179 221 57 0 178 220 57 0 175 219 57 0 174 218 57 0 171 217 57 0 166 216 57 0 163 215 57 0 162 214 57 0 160 213 57 0 159 212 57 0 157 211 57 0 156 210 57 0 156 209 57 0 155 208 57 0 152 207 57 0 150 206 57 0 149 205 57 0 145 204 57 0 144 203 57 0 143 202 57 0 140 201 57 0 138 200 57 0 135 199 57 0 133 198 57 0 131 197 57 0 128 196 57 0 126 195 57 0 122 194 57 0 121 193 57 1 120 191 57 2 118 190 57 3 117 189 57 4 115 188 57 5 112 187 57 5 111 186 57 6 110 185 57 7 107 184 57 8 104 183 57 10 103 182 57 11 102 181 57 12 99 180 57 13 98 179 57 13 96 178 57 14 93 177 57 15 92 176 57 16 91 175 57 18 89 174 57 19 88 173 57 20 86 172 57 21 84 171 57 21 82 170 57 22 81 169 57 23 77 168 57 25 74 167 57 26 73 166 57 27 71 165 57 28 70 164 57 29 67 163 57 30 66 162 57 31 64 161 57 32 62 160 57 33 60 158 57 35 57 157 57 36 54 156 57 37 53 155 57 38 53 154 57 38 51 153 57 39 50 152 57 40 49 151 57 41 46 150 57 43 46 149 57 44 44 148 57 45 43 147 57 46 40 146 57 46 39 145 57 47 38 144 57 48 36 143 57 49 36 142 57 51 35 141 57 52 32 140 57 53 32 139 57 54 31 138 57 54 31 137 57 55 29 136 57 56 28 135 57 58 28 134 57 59 28 133 57 60 27 132 57 61 27 131 57 62 27 130 57 63 27 129 57 64 27 128 57 65 27 127 57 66 27 125 57 68 27 124 57 69 27 123 57 70 27 122 57 71 27 121 57 71 27 120 57 72 27 119 57 73 27 118 57 74 27 117 57 76 27 116 57 77 27 115 57 78 28 114 57 79 28 113 57 79 28 112 57 80 29 111 57 81 31 110 57 82 31 109 57 84 32 108 57 85 32 107 57 86 35 106 57 87 35 105 57 87 36 104 57 88 38 103 57 89 39 102 57 91 40 101 57 92 43 100 57 93 43 99 57 94 44 98 57 95 46 97 57 96 47 96 57 97 49 95 57 98 51 94 57 99 51 92 57 101 53 91 57 102 54 90 57 103 57 89 57 104 59 88 57 104 60 87 57 105 64 86 57 106 66 85 57 107 67 84 57 109 69 83 57 110 70 82 57 111 73 81 57 112 74 80 57 112 77 79 57 113 80 78 57 114 82 77 57 115 84 76 57 117 86 75 57 118 88 74 57 119 89 73 57 120 91 72 57 120 92 71 57 121 93 70 57 122 95 69 57 124 96 68 57 125 99 67 57 126 102 66 57 127 103 65 57 128 104 64 57 129 107 63 57 130 108 62 57 131 110 61 57 132 112 59 57 134 114 58 57 135 117 57 57 136 118 56 57 137 120 55 57 137 121 54 57 138 122 53 57 139 126 52 57 140 128 51 57 142 130 50 57 143 133 49 57 144 135 48 57 145 137 47 57 145 140 46 57 146 141 45 57 147 144 44 57 148 145 43 57 150 149 42 57 151 150 41 57 152 152 40 57 153 153 39 57 153 155 38 57 154 156 37 57 155 157 36 57 157 159 35 57 158 160 34 57 159 162 33 57 160 163 32 57 161 166 31 57 162 167 30 57 163 172 29 57 164 175 28 57 165 178 26 57 167 179 25 57 168 181 24 57 169 182 23 57 170 185 22 57 170 186 21 57 171 188 20 57 172 194 19 57 173 195 18 57 175 197 17 57 176 199 16 57 177 201 15 57 178 202 14 57 178 204 13 57 179 205 12 57 180 207 11 57 181 207 10 57 183 208 9 57 184 209 8 57 185 211 7 57 186 211 6 57 186 213 5 57 187 216 4 57 188 217 3 57 190 219 2 57 191 219 1 57 192 220 0 57 193 223 0 57 194 224 0 57 195 226 0 57 195 227 0 57 195 228 0 57 195 230 255 56 0 231 254 56 0 231 254 56 0 230 254 56 0 230 253 56 0 228 252 56 0 228 251 56 0 227 250 56 0 226 249 56 0 224 248 56 0 221 247 56 0 220 246 56 0 219 245 56 0 217 244 56 0 216 243 56 0 216 242 56 0 213 241 56 0 211 240 56 0 209 239 56 0 208 238 56 0 208 237 56 0 207 236 56 0 207 235 56 0 205 234 56 0 204 233 56 0 202 232 56 0 201 231 56 0 199 230 56 0 197 229 56 0 195 228 56 0 189 227 56 0 188 226 56 0 186 224 56 0 184 223 56 0 182 222 56 0 181 221 56 0 178 220 56 0 176 219 56 0 175 218 56 0 172 217 56 0 167 216 56 0 166 215 56 0 163 214 56 0 162 213 56 0 160 212 56 0 159 211 56 0 157 210 56 0 156 209 56 0 155 208 56 0 153 207 56 0 152 206 56 0 150 205 56 0 149 204 56 0 145 203 56 0 144 202 56 0 143 201 56 0 140 200 56 0 137 199 56 0 135 198 56 0 133 197 56 0 130 196 56 0 128 195 56 0 126 194 56 1 122 193 56 2 121 191 56 3 120 190 56 4 118 189 56 5 117 188 56 6 115 187 56 6 112 186 56 7 111 185 56 8 110 184 56 9 107 183 56 10 104 182 56 12 103 181 56 13 102 180 56 14 99 179 56 14 98 178 56 15 96 177 56 16 95 176 56 17 92 175 56 18 91 174 56 20 89 173 56 21 88 172 56 22 86 171 56 22 84 170 56 23 82 169 56 24 81 168 56 26 77 167 56 27 76 166 56 28 73 165 56 29 71 164 56 30 70 163 56 31 69 162 56 32 66 161 56 33 64 160 56 34 62 158 56 35 60 157 56 37 59 156 56 38 57 155 56 39 54 154 56 39 53 153 56 40 53 152 56 41 50 151 56 42 49 150 56 43 47 149 56 45 47 148 56 46 46 147 56 47 44 146 56 47 43 145 56 48 40 144 56 49 39 143 56 50 38 142 56 51 38 141 56 53 36 140 56 54 36 139 56 55 35 138 56 55 32 137 56 56 32 136 56 57 31 135 56 59 31 134 56 60 29 133 56 61 29 132 56 62 29 131 56 63 29 130 56 64 29 129 56 65 29 128 56 66 29 127 56 67 29 125 56 68 29 124 56 70 29 123 56 71 29 122 56 72 29 121 56 72 29 120 56 73 29 119 56 74 29 118 56 75 29 117 56 76 29 116 56 78 29 115 56 79 29 114 56 80 29 113 56 80 31 112 56 81 32 111 56 82 32 110 56 83 35 109 56 84 36 108 56 86 36 107 56 87 36 106 56 88 38 105 56 88 39 104 56 89 40 103 56 90 43 102 56 92 44 101 56 93 44 100 56 94 46 99 56 95 47 98 56 96 49 97 56 97 50 96 56 98 51 95 56 99 53 94 56 100 54 92 56 101 57 91 56 103 59 90 56 104 60 89 56 105 62 88 56 105 64 87 56 106 66 86 56 107 67 85 56 108 69 84 56 109 70 83 56 111 73 82 56 112 74 81 56 113 77 80 56 113 80 79 56 114 82 78 56 115 84 77 56 116 86 76 56 117 88 75 56 119 89 74 56 120 91 73 56 121 92 72 56 121 93 71 56 122 95 70 56 123 98 69 56 125 99 68 56 126 102 67 56 127 103 66 56 128 104 65 56 129 107 64 56 130 108 63 56 131 111 62 56 132 112 61 56 133 114 59 56 134 117 58 56 136 118 57 56 137 120 56 56 138 121 55 56 138 122 54 56 139 126 53 56 140 128 52 56 141 130 51 56 142 133 50 56 144 134 49 56 145 137 48 56 146 140 47 56 146 141 46 56 147 144 45 56 148 145 44 56 149 149 43 56 150 150 42 56 152 152 41 56 153 153 40 56 154 155 39 56 154 156 38 56 155 157 37 56 156 159 36 56 158 160 35 56 159 162 34 56 160 163 33 56 161 165 32 56 162 167 31 56 163 172 30 56 164 174 29 56 165 176 28 56 166 178 26 56 167 181 25 56 169 182 24 56 170 184 23 56 171 185 22 56 171 188 21 56 172 189 20 56 173 194 19 56 174 197 18 56 175 198 17 56 177 199 16 56 178 202 15 56 179 204 14 56 179 205 13 56 180 205 12 56 181 207 11 56 182 208 10 56 183 208 9 56 185 209 8 56 186 211 7 56 187 213 6 56 187 216 5 56 188 216 4 56 189 217 3 56 191 219 2 56 192 220 1 56 193 221 0 56 194 223 0 56 195 226 0 56 196 227 0 56 196 228 0 56 196 228 0 56 196 230 255 55 0 231 254 55 0 231 254 55 0 230 254 55 0 230 253 55 0 230 252 55 0 228 251 55 0 227 250 55 0 226 249 55 0 224 248 55 0 223 247 55 0 221 246 55 0 220 245 55 0 219 244 55 0 217 243 55 0 216 242 55 0 213 241 55 0 211 240 55 0 211 239 55 0 209 238 55 0 208 237 55 0 208 236 55 0 207 235 55 0 205 234 55 0 204 233 55 0 204 232 55 0 202 231 55 0 199 230 55 0 198 229 55 0 197 228 55 0 194 227 55 0 189 226 55 0 186 224 55 0 185 223 55 0 182 222 55 0 181 221 55 0 179 220 55 0 178 219 55 0 176 218 55 0 174 217 55 0 172 216 55 0 167 215 55 0 165 214 55 0 163 213 55 0 162 212 55 0 160 211 55 0 159 210 55 0 157 209 55 0 156 208 55 0 155 207 55 0 153 206 55 0 152 205 55 0 150 204 55 0 149 203 55 0 145 202 55 0 144 201 55 0 141 200 55 0 140 199 55 0 137 198 55 0 134 197 55 0 131 196 55 0 130 195 55 1 128 194 55 1 126 193 55 2 122 191 55 3 121 190 55 4 120 189 55 5 118 188 55 6 117 187 55 7 115 186 55 8 112 185 55 9 111 184 55 10 110 183 55 11 107 182 55 12 104 181 55 13 103 180 55 14 102 179 55 15 99 178 55 16 98 177 55 17 96 176 55 18 95 175 55 19 92 174 55 20 91 173 55 21 89 172 55 22 88 171 55 23 86 170 55 24 84 169 55 25 82 168 55 27 81 167 55 28 77 166 55 29 76 165 55 30 73 164 55 31 71 163 55 32 70 162 55 33 67 161 55 34 66 160 55 35 64 158 55 36 62 157 55 37 60 156 55 38 60 155 55 39 59 154 55 40 57 153 55 41 54 152 55 42 53 151 55 43 51 150 55 44 50 149 55 45 49 148 55 46 47 147 55 47 46 146 55 48 44 145 55 49 43 144 55 50 43 143 55 51 40 142 55 52 39 141 55 53 39 140 55 54 38 139 55 55 36 138 55 56 36 137 55 57 35 136 55 58 32 135 55 60 32 134 55 61 32 133 55 62 32 132 55 63 32 131 55 64 32 130 55 65 32 129 55 66 32 128 55 67 32 127 55 68 32 125 55 69 32 124 55 70 32 123 55 71 32 122 55 72 32 121 55 73 32 120 55 74 32 119 55 75 32 118 55 76 32 117 55 77 32 116 55 78 32 115 55 79 32 114 55 80 32 113 55 81 32 112 55 82 35 111 55 83 36 110 55 84 36 109 55 85 38 108 55 86 39 107 55 87 39 106 55 88 40 105 55 89 40 104 55 90 43 103 55 91 44 102 55 93 46 101 55 94 47 100 55 95 49 99 55 96 50 98 55 97 51 97 55 98 53 96 55 99 54 95 55 100 57 94 55 101 59 92 55 102 59 91 55 103 60 90 55 104 62 89 55 105 64 88 55 106 66 87 55 107 67 86 55 108 69 85 55 109 71 84 55 110 73 83 55 111 74 82 55 112 77 81 55 113 80 80 55 114 82 79 55 115 84 78 55 116 86 77 55 117 88 76 55 118 89 75 55 119 91 74 55 120 92 73 55 121 93 72 55 122 95 71 55 123 98 70 55 124 99 69 55 126 102 68 55 127 103 67 55 128 104 66 55 129 107 65 55 130 108 64 55 131 111 63 55 132 112 62 55 133 114 61 55 134 117 59 55 135 118 58 55 136 120 57 55 137 121 56 55 138 122 55 55 139 126 54 55 140 128 53 55 141 130 52 55 142 131 51 55 143 134 50 55 144 135 49 55 145 138 48 55 146 141 47 55 147 143 46 55 148 145 45 55 149 149 44 55 150 150 43 55 151 152 42 55 152 153 41 55 153 155 40 55 154 156 39 55 155 157 38 55 156 157 37 55 157 160 36 55 159 162 35 55 160 163 34 55 161 165 33 55 162 167 32 55 163 171 31 55 164 174 30 55 165 176 29 55 166 178 28 55 167 179 26 55 168 181 25 55 169 182 24 55 170 184 23 55 171 186 22 55 172 188 21 55 173 194 20 55 174 195 19 55 175 198 18 55 176 199 17 55 177 201 16 55 178 202 15 55 179 204 14 55 180 205 13 55 181 207 12 55 182 207 11 55 183 208 10 55 184 209 9 55 185 211 8 55 186 211 7 55 187 213 6 55 188 216 5 55 189 217 4 55 190 219 3 55 192 220 2 55 193 221 1 55 194 223 0 55 195 224 0 55 196 226 0 55 196 227 0 55 197 228 0 55 197 230 0 55 197 230 255 54 0 231 254 54 0 231 254 54 0 230 254 54 0 230 253 54 0 230 252 54 0 230 251 54 0 228 250 54 0 227 249 54 0 226 248 54 0 223 247 54 0 221 246 54 0 220 245 54 0 219 244 54 0 217 243 54 0 217 242 54 0 216 241 54 0 213 240 54 0 211 239 54 0 209 238 54 0 209 237 54 0 208 236 54 0 207 235 54 0 207 234 54 0 205 233 54 0 204 232 54 0 202 231 54 0 201 230 54 0 199 229 54 0 197 228 54 0 195 227 54 0 189 226 54 0 186 224 54 0 185 223 54 0 184 222 54 0 182 221 54 0 181 220 54 0 179 219 54 0 178 218 54 0 175 217 54 0 174 216 54 0 171 215 54 0 167 214 54 0 165 213 54 0 163 212 54 0 162 211 54 0 160 210 54 0 159 209 54 0 157 208 54 0 156 207 54 0 155 206 54 0 153 205 54 0 152 204 54 0 150 203 54 0 149 202 54 0 145 201 54 0 143 200 54 0 141 199 54 0 138 198 54 0 135 197 54 0 133 196 54 1 131 195 54 1 130 194 54 2 128 193 54 3 126 191 54 4 122 190 54 5 121 189 54 6 120 188 54 7 118 187 54 8 117 186 54 9 115 185 54 10 112 184 54 11 111 183 54 12 110 182 54 13 107 181 54 14 104 180 54 15 103 179 54 16 102 178 54 17 99 177 54 18 98 176 54 19 96 175 54 20 93 174 54 21 92 173 54 22 91 172 54 23 89 171 54 24 88 170 54 25 88 169 54 26 84 168 54 28 82 167 54 29 81 166 54 30 77 165 54 31 76 164 54 32 73 163 54 33 71 162 54 34 70 161 54 35 69 160 54 36 66 158 54 37 64 157 54 38 64 156 54 39 62 155 54 40 60 154 54 41 59 153 54 42 57 152 54 43 54 151 54 44 54 150 54 45 53 149 54 46 51 148 54 47 50 147 54 48 49 146 54 49 47 145 54 50 46 144 54 51 44 143 54 52 44 142 54 53 43 141 54 54 40 140 54 55 40 139 54 56 39 138 54 57 38 137 54 58 36 136 54 59 36 135 54 61 35 134 54 62 35 133 54 63 35 132 54 64 35 131 54 65 35 130 54 66 35 129 54 67 35 128 54 68 35 127 54 69 35 125 54 70 35 124 54 71 35 123 54 72 35 122 54 73 35 121 54 74 35 120 54 75 35 119 54 76 35 118 54 77 35 117 54 78 35 116 54 79 35 115 54 80 35 114 54 81 35 113 54 82 36 112 54 83 36 111 54 84 38 110 54 85 39 109 54 86 40 108 54 87 40 107 54 88 43 106 54 89 43 105 54 90 44 104 54 91 46 103 54 92 47 102 54 94 49 101 54 95 50 100 54 96 51 99 54 97 51 98 54 98 53 97 54 99 54 96 54 100 57 95 54 101 59 94 54 102 60 92 54 103 62 91 54 104 62 90 54 105 64 89 54 106 66 88 54 107 67 87 54 108 69 86 54 109 70 85 54 110 73 84 54 111 74 83 54 112 77 82 54 113 80 81 54 114 82 80 54 115 84 79 54 116 86 78 54 117 88 77 54 118 89 76 54 119 91 75 54 120 92 74 54 121 93 73 54 122 95 72 54 123 98 71 54 124 99 70 54 125 102 69 54 127 103 68 54 128 104 67 54 129 107 66 54 130 108 65 54 131 110 64 54 132 112 63 54 133 114 62 54 134 117 61 54 135 118 59 54 136 120 58 54 137 121 57 54 138 122 56 54 139 126 55 54 140 128 54 54 141 128 53 54 142 131 52 54 143 133 51 54 144 134 50 54 145 137 49 54 146 140 48 54 147 143 47 54 148 144 46 54 149 149 45 54 150 150 44 54 151 150 43 54 152 152 42 54 153 153 41 54 154 155 40 54 155 156 39 54 156 157 38 54 157 159 37 54 158 160 36 54 160 163 35 54 161 165 34 54 162 166 33 54 163 171 32 54 164 172 31 54 165 175 30 54 166 176 29 54 167 179 28 54 168 181 26 54 169 182 25 54 170 184 24 54 171 185 23 54 172 186 22 54 173 189 21 54 174 194 20 54 175 197 19 54 176 198 18 54 177 201 17 54 178 202 16 54 179 204 15 54 180 205 14 54 181 205 13 54 182 207 12 54 183 208 11 54 184 209 10 54 185 209 9 54 186 211 8 54 187 213 7 54 188 213 6 54 189 216 5 54 190 217 4 54 191 219 3 54 193 220 2 54 194 221 1 54 195 223 0 54 196 226 0 54 197 227 0 54 197 228 0 54 198 230 0 54 198 230 0 54 198 230 255 53 0 231 254 53 0 231 254 53 0 231 254 53 0 230 253 53 0 230 252 53 0 230 251 53 0 228 250 53 0 227 249 53 0 226 248 53 0 224 247 53 0 221 246 53 0 220 245 53 0 219 244 53 0 219 243 53 0 217 242 53 0 216 241 53 0 213 240 53 0 211 239 53 0 211 238 53 0 209 237 53 0 208 236 53 0 208 235 53 0 207 234 53 0 205 233 53 0 204 232 53 0 204 231 53 0 202 230 53 0 199 229 53 0 198 228 53 0 195 227 53 0 194 226 53 0 188 224 53 0 186 223 53 0 185 222 53 0 184 221 53 0 182 220 53 0 181 219 53 0 179 218 53 0 176 217 53 0 175 216 53 0 172 215 53 0 171 214 53 0 166 213 53 0 165 212 53 0 163 211 53 0 162 210 53 0 159 209 53 0 157 208 53 0 156 207 53 0 155 206 53 0 153 205 53 0 152 204 53 0 152 203 53 0 150 202 53 0 149 201 53 0 144 200 53 0 143 199 53 0 140 198 53 0 137 197 53 1 134 196 53 1 133 195 53 2 131 194 53 3 130 193 53 4 128 191 53 5 126 190 53 6 122 189 53 7 121 188 53 8 120 187 53 9 118 186 53 10 117 185 53 11 115 184 53 12 112 183 53 13 111 182 53 14 110 181 53 15 107 180 53 16 104 179 53 17 103 178 53 18 102 177 53 19 99 176 53 20 98 175 53 21 96 174 53 22 95 173 53 23 93 172 53 24 92 171 53 25 91 170 53 26 89 169 53 27 88 168 53 29 86 167 53 30 82 166 53 31 81 165 53 32 77 164 53 33 76 163 53 34 73 162 53 35 71 161 53 36 70 160 53 37 69 158 53 38 67 157 53 39 66 156 53 40 64 155 53 41 64 154 53 42 62 153 53 43 60 152 53 44 59 151 53 45 57 150 53 46 54 149 53 47 53 148 53 48 51 147 53 49 51 146 53 50 50 145 53 51 49 144 53 52 47 143 53 53 46 142 53 54 46 141 53 55 44 140 53 56 44 139 53 57 43 138 53 58 40 137 53 59 39 136 53 60 39 135 53 62 38 134 53 63 38 133 53 64 38 132 53 65 38 131 53 66 38 130 53 67 38 129 53 68 38 128 53 69 38 127 53 70 38 125 53 71 38 124 53 72 38 123 53 73 38 122 53 74 38 121 53 75 38 120 53 76 38 119 53 77 38 118 53 78 38 117 53 79 38 116 53 80 38 115 53 81 38 114 53 82 38 113 53 83 39 112 53 84 39 111 53 85 40 110 53 86 43 109 53 87 44 108 53 88 44 107 53 89 46 106 53 90 46 105 53 91 47 104 53 92 49 103 53 93 49 102 53 95 50 101 53 96 51 100 53 97 53 99 53 98 54 98 53 99 57 97 53 100 59 96 53 101 60 95 53 102 62 94 53 103 62 92 53 104 64 91 53 105 66 90 53 106 67 89 53 107 69 88 53 108 70 87 53 109 71 86 53 110 73 85 53 111 74 84 53 112 77 83 53 113 80 82 53 114 82 81 53 115 84 80 53 116 88 79 53 117 89 78 53 118 91 77 53 119 91 76 53 120 92 75 53 121 93 74 53 122 96 73 53 123 98 72 53 124 99 71 53 125 102 70 53 126 103 69 53 128 104 68 53 129 107 67 53 130 108 66 53 131 111 65 53 132 112 64 53 133 114 63 53 134 117 62 53 135 118 61 53 136 120 59 53 137 121 58 53 138 122 57 53 139 126 56 53 140 128 55 53 141 130 54 53 142 131 53 53 143 133 52 53 144 134 51 53 145 135 50 53 146 138 49 53 147 141 48 53 148 144 47 53 149 145 46 53 150 150 45 53 151 152 44 53 152 152 43 53 153 153 42 53 154 155 41 53 155 156 40 53 156 157 39 53 157 159 38 53 158 160 37 53 159 163 36 53 161 165 35 53 162 166 34 53 163 171 33 53 164 172 32 53 165 174 31 53 166 176 30 53 167 178 29 53 168 179 28 53 169 181 26 53 170 184 25 53 171 185 24 53 172 186 23 53 173 188 22 53 174 189 21 53 175 195 20 53 176 198 19 53 177 199 18 53 178 201 17 53 179 202 16 53 180 204 15 53 181 205 14 53 182 207 13 53 183 207 12 53 184 208 11 53 185 209 10 53 186 209 9 53 187 211 8 53 188 213 7 53 189 216 6 53 190 217 5 53 191 217 4 53 192 219 3 53 194 220 2 53 195 221 1 53 196 224 0 53 197 226 0 53 198 227 0 53 198 228 0 53 198 230 0 53 199 230 0 53 199 230 255 52 0 231 254 52 0 231 254 52 0 231 254 52 0 231 253 52 0 230 252 52 0 230 251 52 0 230 250 52 0 228 249 52 0 227 248 52 0 224 247 52 0 223 246 52 0 221 245 52 0 220 244 52 0 219 243 52 0 217 242 52 0 216 241 52 0 213 240 52 0 213 239 52 0 211 238 52 0 209 237 52 0 209 236 52 0 208 235 52 0 207 234 52 0 205 233 52 0 205 232 52 0 204 231 52 0 202 230 52 0 201 229 52 0 198 228 52 0 197 227 52 0 194 226 52 0 189 224 52 0 186 223 52 0 185 222 52 0 184 221 52 0 182 220 52 0 181 219 52 0 179 218 52 0 178 217 52 0 176 216 52 0 174 215 52 0 172 214 52 0 171 213 52 0 166 212 52 0 165 211 52 0 163 210 52 0 160 209 52 0 159 208 52 0 157 207 52 0 156 206 52 0 155 205 52 0 153 204 52 0 152 203 52 0 152 202 52 0 150 201 52 0 145 200 52 0 144 199 52 1 141 198 52 1 138 197 52 2 137 196 52 2 134 195 52 3 133 194 52 4 131 193 52 5 130 191 52 6 128 190 52 7 126 189 52 8 122 188 52 9 121 187 52 10 120 186 52 11 118 185 52 12 117 184 52 13 115 183 52 14 112 182 52 15 111 181 52 16 110 180 52 17 108 179 52 18 107 178 52 19 104 177 52 20 103 176 52 21 102 175 52 22 98 174 52 24 96 173 52 25 95 172 52 26 93 171 52 27 92 170 52 28 91 169 52 29 89 168 52 30 88 167 52 31 86 166 52 32 84 165 52 33 81 164 52 34 80 163 52 35 76 162 52 36 74 161 52 37 73 160 52 38 71 158 52 39 70 157 52 40 69 156 52 41 67 155 52 42 66 154 52 43 64 153 52 44 64 152 52 45 62 151 52 46 60 150 52 47 59 149 52 48 57 148 52 49 54 147 52 50 53 146 52 51 51 145 52 52 51 144 52 53 50 143 52 54 50 142 52 55 49 141 52 57 47 140 52 58 47 139 52 59 46 138 52 60 44 137 52 61 43 136 52 62 43 135 52 63 40 134 52 64 40 133 52 65 40 132 52 66 40 131 52 67 40 130 52 68 40 129 52 69 40 128 52 70 40 127 52 71 40 125 52 72 40 124 52 73 40 123 52 74 40 122 52 75 40 121 52 76 40 120 52 77 40 119 52 78 40 118 52 79 40 117 52 80 40 116 52 81 40 115 52 82 40 114 52 83 40 113 52 84 43 112 52 85 43 111 52 86 44 110 52 87 46 109 52 88 47 108 52 90 47 107 52 91 49 106 52 92 49 105 52 93 50 104 52 94 50 103 52 95 51 102 52 96 53 101 52 97 54 100 52 98 57 99 52 99 59 98 52 100 60 97 52 101 60 96 52 102 62 95 52 103 64 94 52 104 66 92 52 105 67 91 52 106 69 90 52 107 69 89 52 108 70 88 52 109 71 87 52 110 73 86 52 111 76 85 52 112 77 84 52 113 81 83 52 114 82 82 52 115 86 81 52 116 88 80 52 117 89 79 52 118 91 78 52 119 92 77 52 120 93 76 52 121 95 75 52 123 96 74 52 124 98 73 52 125 99 72 52 126 103 71 52 127 104 70 52 128 107 69 52 129 108 68 52 130 108 67 52 131 111 66 52 132 112 65 52 133 114 64 52 134 117 63 52 135 118 62 52 136 120 61 52 137 121 59 52 138 122 58 52 139 126 57 52 140 128 56 52 141 130 55 52 142 131 54 52 143 133 53 52 144 134 52 52 145 135 51 52 146 138 50 52 147 140 49 52 148 143 48 52 149 145 47 52 150 149 46 52 151 150 45 52 152 152 44 52 153 153 43 52 154 155 42 52 156 156 41 52 157 157 40 52 158 159 39 52 159 160 38 52 160 162 37 52 161 165 36 52 162 166 35 52 163 167 34 52 164 172 33 52 165 174 32 52 166 175 31 52 167 176 30 52 168 179 29 52 169 181 28 52 170 182 26 52 171 184 25 52 172 185 24 52 173 186 23 52 174 189 22 52 175 194 21 52 176 197 20 52 177 198 19 52 178 201 18 52 179 202 17 52 180 204 16 52 181 205 15 52 182 205 14 52 183 207 13 52 184 208 12 52 185 208 11 52 186 209 10 52 187 211 9 52 189 211 8 52 190 213 7 52 191 216 6 52 192 217 5 52 193 217 4 52 194 219 3 52 195 220 2 52 196 221 1 52 197 224 0 52 198 226 0 52 199 228 0 52 199 230 0 52 200 230 0 52 200 230 0 52 200 230 255 51 0 234 254 51 0 231 254 51 0 231 254 51 0 231 253 51 0 231 252 51 0 230 251 51 0 230 250 51 0 228 249 51 0 227 248 51 0 224 247 51 0 223 246 51 0 221 245 51 0 220 244 51 0 219 243 51 0 217 242 51 0 217 241 51 0 216 240 51 0 213 239 51 0 211 238 51 0 211 237 51 0 209 236 51 0 208 235 51 0 207 234 51 0 207 233 51 0 205 232 51 0 204 231 51 0 202 230 51 0 201 229 51 0 199 228 51 0 198 227 51 0 195 226 51 0 194 224 51 0 188 223 51 0 186 222 51 0 185 221 51 0 184 220 51 0 182 219 51 0 181 218 51 0 178 217 51 0 176 216 51 0 175 215 51 0 174 214 51 0 172 213 51 0 171 212 51 0 166 211 51 0 165 210 51 0 162 209 51 0 160 208 51 0 159 207 51 0 157 206 51 0 156 205 51 0 155 204 51 0 153 203 51 0 152 202 51 0 150 201 51 0 149 200 51 1 145 199 51 2 143 198 51 2 140 197 51 3 138 196 51 3 137 195 51 4 135 194 51 5 134 193 51 6 133 191 51 7 130 190 51 9 128 189 51 10 126 188 51 10 122 187 51 11 121 186 51 12 120 185 51 13 118 184 51 14 117 183 51 15 115 182 51 17 112 181 51 18 111 180 51 18 110 179 51 19 108 178 51 20 107 177 51 21 104 176 51 22 103 175 51 24 102 174 51 25 99 173 51 26 96 172 51 27 95 171 51 28 93 170 51 29 93 169 51 30 92 168 51 31 91 167 51 32 89 166 51 34 86 165 51 35 84 164 51 35 81 163 51 36 80 162 51 37 77 161 51 38 74 160 51 39 74 158 51 40 73 157 51 42 71 156 51 43 70 155 51 43 69 154 51 44 67 153 51 45 66 152 51 46 64 151 51 47 62 150 51 48 62 149 51 50 60 148 51 51 59 147 51 51 57 146 51 52 54 145 51 53 53 144 51 54 53 143 51 55 51 142 51 57 51 141 51 58 50 140 51 59 50 139 51 60 49 138 51 61 47 137 51 62 46 136 51 63 46 135 51 64 46 134 51 65 44 133 51 67 44 132 51 68 44 131 51 68 44 130 51 69 44 129 51 70 44 128 51 71 44 127 51 72 44 125 51 73 44 124 51 75 43 123 51 76 44 122 51 76 44 121 51 77 44 120 51 78 44 119 51 79 44 118 51 80 44 117 51 81 44 116 51 83 44 115 51 84 44 114 51 84 46 113 51 85 46 112 51 86 46 111 51 87 47 110 51 88 49 109 51 90 50 108 51 91 50 107 51 92 51 106 51 93 51 105 51 94 53 104 51 95 53 103 51 96 54 102 51 97 57 101 51 98 59 100 51 100 59 99 51 101 60 98 51 101 62 97 51 102 64 96 51 103 66 95 51 104 67 94 51 105 69 92 51 106 70 91 51 108 71 90 51 109 71 89 51 109 73 88 51 110 74 87 51 111 76 86 51 112 80 85 51 113 81 84 51 114 82 83 51 116 86 82 51 117 88 81 51 117 89 80 51 118 91 79 51 119 92 78 51 120 93 77 51 121 95 76 51 123 96 75 51 124 98 74 51 125 102 73 51 126 103 72 51 127 104 71 51 128 107 70 51 129 108 69 51 130 110 68 51 131 111 67 51 133 112 66 51 134 114 65 51 134 117 64 51 135 118 63 51 136 120 62 51 137 121 61 51 138 122 59 51 139 126 58 51 141 128 57 51 142 130 56 51 142 131 55 51 143 134 54 51 144 134 53 51 145 135 52 51 146 138 51 51 147 140 50 51 149 141 49 51 150 144 48 51 150 149 47 51 151 150 46 51 152 152 45 51 153 153 44 51 154 155 43 51 156 156 42 51 157 157 41 51 158 159 40 51 159 160 39 51 160 162 38 51 161 165 37 51 162 166 36 51 163 167 35 51 164 172 34 51 166 174 33 51 167 175 32 51 167 176 31 51 168 178 30 51 169 179 29 51 170 181 28 51 171 184 26 51 172 185 25 51 174 186 24 51 175 188 23 51 175 194 22 51 176 195 21 51 177 197 20 51 178 199 19 51 179 201 18 51 180 202 17 51 182 204 16 51 183 205 15 51 183 207 14 51 184 207 13 51 185 208 12 51 186 209 11 51 187 209 10 51 189 211 9 51 190 213 8 51 191 216 7 51 192 216 6 51 193 217 5 51 194 219 4 51 195 219 3 51 196 220 2 51 197 223 1 51 199 224 0 51 199 227 0 51 200 228 0 51 201 230 0 51 201 230 0 51 201 231 0 51 201 231 255 50 0 234 254 50 0 234 254 50 0 234 254 50 0 231 253 50 0 231 252 50 0 230 251 50 0 230 250 50 0 228 249 50 0 227 248 50 0 224 247 50 0 223 246 50 0 221 245 50 0 220 244 50 0 219 243 50 0 219 242 50 0 217 241 50 0 216 240 50 0 216 239 50 0 213 238 50 0 211 237 50 0 209 236 50 0 209 235 50 0 208 234 50 0 207 233 50 0 205 232 50 0 205 231 50 0 204 230 50 0 202 229 50 0 201 228 50 0 198 227 50 0 197 226 50 0 195 224 50 0 189 223 50 0 188 222 50 0 186 221 50 0 184 220 50 0 182 219 50 0 181 218 50 0 179 217 50 0 178 216 50 0 176 215 50 0 175 214 50 0 174 213 50 0 172 212 50 0 171 211 50 0 166 210 50 0 165 209 50 0 162 208 50 0 160 207 50 0 157 206 50 0 156 205 50 0 155 204 50 0 155 203 50 0 153 202 50 0 152 201 50 1 150 200 50 2 149 199 50 2 144 198 50 3 143 197 50 4 141 196 50 4 140 195 50 5 138 194 50 6 137 193 50 7 134 191 50 9 133 190 50 10 131 189 50 11 128 188 50 12 126 187 50 12 122 186 50 13 121 185 50 14 120 184 50 15 118 183 50 17 117 182 50 18 115 181 50 19 114 180 50 20 112 179 50 20 111 178 50 21 110 177 50 22 108 176 50 24 107 175 50 25 104 174 50 26 102 173 50 27 99 172 50 28 98 171 50 29 96 170 50 30 95 169 50 31 93 168 50 32 92 167 50 34 91 166 50 35 89 165 50 36 88 164 50 37 84 163 50 37 82 162 50 38 81 161 50 39 80 160 50 40 77 158 50 42 76 157 50 43 74 156 50 44 73 155 50 45 71 154 50 45 71 153 50 46 70 152 50 47 67 151 50 48 66 150 50 50 64 149 50 51 64 148 50 52 62 147 50 53 60 146 50 53 59 145 50 54 57 144 50 55 57 143 50 57 54 142 50 58 54 141 50 59 53 140 50 60 53 139 50 61 51 138 50 62 50 137 50 63 50 136 50 64 50 135 50 65 49 134 50 67 49 133 50 68 49 132 50 69 49 131 50 70 49 130 50 70 49 129 50 71 49 128 50 72 47 127 50 73 47 125 50 75 47 124 50 76 47 123 50 77 47 122 50 78 47 121 50 78 47 120 50 79 49 119 50 80 49 118 50 81 49 117 50 83 49 116 50 84 49 115 50 85 49 114 50 86 49 113 50 86 50 112 50 87 50 111 50 88 50 110 50 90 51 109 50 91 53 108 50 92 53 107 50 93 54 106 50 94 54 105 50 95 57 104 50 96 57 103 50 97 59 102 50 98 60 101 50 100 62 100 50 101 62 99 50 102 64 98 50 103 66 97 50 103 67 96 50 104 69 95 50 105 70 94 50 106 71 92 50 108 73 91 50 109 74 90 50 110 76 89 50 111 77 88 50 111 80 87 50 112 80 86 50 113 82 85 50 114 84 84 50 116 86 83 50 117 89 82 50 118 91 81 50 119 92 80 50 119 93 79 50 120 95 78 50 121 96 77 50 123 98 76 50 124 99 75 50 125 102 74 50 126 103 73 50 127 107 72 50 128 108 71 50 129 110 70 50 130 111 69 50 131 112 68 50 133 112 67 50 134 115 66 50 135 117 65 50 136 118 64 50 136 120 63 50 137 121 62 50 138 122 61 50 139 126 59 50 141 128 58 50 142 130 57 50 143 133 56 50 144 134 55 50 144 135 54 50 145 137 53 50 146 138 52 50 147 140 51 50 149 141 50 50 150 144 49 50 151 145 48 50 152 150 47 50 152 152 46 50 153 153 45 50 154 155 44 50 156 155 43 50 157 156 42 50 158 157 41 50 159 159 40 50 160 162 39 50 161 163 38 50 162 166 37 50 163 167 36 50 164 171 35 50 166 174 34 50 167 175 33 50 168 176 32 50 169 178 31 50 169 179 30 50 170 181 29 50 171 182 28 50 172 184 26 50 174 185 25 50 175 188 24 50 176 189 23 50 177 194 22 50 177 197 21 50 178 198 20 50 179 201 19 50 180 202 18 50 182 204 17 50 183 205 16 50 184 205 15 50 185 207 14 50 185 208 13 50 186 208 12 50 187 209 11 50 189 211 10 50 190 213 9 50 191 213 8 50 192 216 7 50 193 217 6 50 194 217 5 50 195 219 4 50 196 220 3 50 197 220 2 50 199 223 1 50 200 224 0 50 201 227 0 50 201 228 0 50 202 230 0 50 202 230 0 50 202 231 0 50 202 231 255 49 0 235 254 49 0 235 254 49 0 234 254 49 0 234 253 49 0 231 252 49 0 231 251 49 0 230 250 49 0 228 249 49 0 227 248 49 0 226 247 49 0 223 246 49 0 221 245 49 0 220 244 49 0 219 243 49 0 219 242 49 0 217 241 49 0 217 240 49 0 216 239 49 0 213 238 49 0 211 237 49 0 211 236 49 0 209 235 49 0 208 234 49 0 208 233 49 0 207 232 49 0 205 231 49 0 204 230 49 0 204 229 49 0 202 228 49 0 199 227 49 0 198 226 49 0 197 224 49 0 194 223 49 0 188 222 49 0 186 221 49 0 185 220 49 0 182 219 49 0 182 218 49 0 179 217 49 0 179 216 49 0 178 215 49 0 176 214 49 0 175 213 49 0 174 212 49 0 172 211 49 0 167 210 49 0 166 209 49 0 163 208 49 0 162 207 49 0 159 206 49 0 157 205 49 0 156 204 49 0 155 203 49 0 155 202 49 0 153 201 49 1 152 200 49 2 150 199 49 3 149 198 49 4 144 197 49 5 144 196 49 5 143 195 49 6 141 194 49 7 140 193 49 8 137 191 49 10 135 190 49 11 133 189 49 12 131 188 49 13 128 187 49 13 126 186 49 14 122 185 49 15 121 184 49 16 120 183 49 18 118 182 49 19 117 181 49 20 115 180 49 21 114 179 49 21 114 178 49 22 112 177 49 23 111 176 49 25 110 175 49 26 107 174 49 27 104 173 49 28 103 172 49 29 102 171 49 30 99 170 49 31 98 169 49 32 96 168 49 33 95 167 49 35 93 166 49 36 92 165 49 37 89 164 49 38 88 163 49 38 86 162 49 39 84 161 49 40 82 160 49 41 81 158 49 43 80 157 49 44 80 156 49 45 77 155 49 46 76 154 49 46 74 153 49 47 73 152 49 48 71 151 49 49 70 150 49 51 69 149 49 52 67 148 49 53 66 147 49 54 64 146 49 54 62 145 49 55 60 144 49 56 60 143 49 58 59 142 49 59 59 141 49 60 57 140 49 61 57 139 49 62 57 138 49 63 54 137 49 64 54 136 49 65 53 135 49 66 53 134 49 68 53 133 49 69 53 132 49 70 53 131 49 71 53 130 49 71 53 129 49 72 51 128 49 73 51 127 49 74 51 125 49 76 50 124 49 77 50 123 49 78 50 122 49 79 51 121 49 79 51 120 49 80 51 119 49 81 53 118 49 82 53 117 49 84 53 116 49 85 53 115 49 86 53 114 49 87 53 113 49 87 53 112 49 88 54 111 49 89 54 110 49 91 54 109 49 92 57 108 49 93 57 107 49 94 59 106 49 95 59 105 49 96 60 104 49 97 60 103 49 98 62 102 49 99 64 101 49 101 66 100 49 102 67 99 49 103 69 98 49 104 70 97 49 104 71 96 49 105 73 95 49 106 74 94 49 107 76 92 49 109 77 91 49 110 77 90 49 111 80 89 49 112 81 88 49 112 82 87 49 113 84 86 49 114 86 85 49 115 88 84 49 117 89 83 49 118 91 82 49 119 93 81 49 120 95 80 49 120 96 79 49 121 98 78 49 122 99 77 49 124 102 76 49 125 103 75 49 126 104 74 49 127 107 73 49 128 110 72 49 129 111 71 49 130 112 70 49 131 112 69 49 132 114 68 49 134 115 67 49 135 117 66 49 136 118 65 49 137 120 64 49 137 121 63 49 138 122 62 49 139 126 61 49 140 128 59 49 142 131 58 49 143 133 57 49 144 134 56 49 145 137 55 49 145 138 54 49 146 140 53 49 147 141 52 49 148 143 51 49 150 144 50 49 151 145 49 49 152 150 48 49 153 152 47 49 153 153 46 49 154 155 45 49 155 155 44 49 157 156 43 49 158 157 42 49 159 159 41 49 160 160 40 49 161 163 39 49 162 166 38 49 163 167 37 49 164 171 36 49 165 172 35 49 167 174 34 49 168 175 33 49 169 176 32 49 170 178 31 49 170 179 30 49 171 181 29 49 172 182 28 49 173 184 26 49 175 186 25 49 176 188 24 49 177 194 23 49 178 195 22 49 178 198 21 49 179 199 20 49 180 201 19 49 181 202 18 49 183 204 17 49 184 205 16 49 185 207 15 49 186 207 14 49 186 208 13 49 187 209 12 49 188 211 11 49 190 211 10 49 191 213 9 49 192 216 8 49 193 217 7 49 194 217 6 49 195 219 5 49 196 219 4 49 197 220 3 49 198 221 2 49 200 223 1 49 201 224 0 49 202 227 0 49 202 228 0 49 203 230 0 49 203 230 0 49 203 231 0 49 203 231 255 48 0 238 254 48 0 235 254 48 0 235 254 48 0 234 253 48 0 231 252 48 0 231 251 48 0 230 250 48 0 228 249 48 0 227 248 48 0 226 247 48 0 224 246 48 0 223 245 48 0 221 244 48 0 220 243 48 0 219 242 48 0 219 241 48 0 217 240 48 0 217 239 48 0 216 238 48 0 213 237 48 0 211 236 48 0 209 235 48 0 209 234 48 0 208 233 48 0 207 232 48 0 207 231 48 0 205 230 48 0 204 229 48 0 202 228 48 0 201 227 48 0 199 226 48 0 198 224 48 0 195 223 48 0 189 222 48 0 186 221 48 0 185 220 48 0 184 219 48 0 182 218 48 0 181 217 48 0 179 216 48 0 178 215 48 0 176 214 48 0 175 213 48 0 174 212 48 0 172 211 48 0 171 210 48 0 167 209 48 0 165 208 48 0 162 207 48 0 160 206 48 0 159 205 48 0 157 204 48 0 156 203 48 0 155 202 48 1 155 201 48 2 153 200 48 3 152 199 48 4 150 198 48 5 149 197 48 6 145 196 48 6 144 195 48 7 143 194 48 8 141 193 48 9 140 191 48 10 137 190 48 12 135 189 48 13 133 188 48 14 131 187 48 14 128 186 48 15 126 185 48 16 122 184 48 17 121 183 48 18 120 182 48 20 118 181 48 21 118 180 48 22 117 179 48 22 115 178 48 23 114 177 48 24 112 176 48 26 111 175 48 27 110 174 48 28 108 173 48 29 107 172 48 30 103 171 48 31 102 170 48 32 102 169 48 33 99 168 48 34 98 167 48 35 95 166 48 37 93 165 48 38 92 164 48 39 91 163 48 39 89 162 48 40 88 161 48 41 86 160 48 42 86 158 48 43 84 157 48 45 82 156 48 46 81 155 48 47 80 154 48 47 77 153 48 48 76 152 48 49 74 151 48 50 73 150 48 51 71 149 48 53 70 148 48 54 69 147 48 55 67 146 48 55 66 145 48 56 64 144 48 57 64 143 48 59 62 142 48 60 62 141 48 61 60 140 48 62 60 139 48 63 60 138 48 64 59 137 48 65 59 136 48 66 59 135 48 67 59 134 48 68 59 133 48 70 57 132 48 71 57 131 48 72 57 130 48 72 57 129 48 73 54 128 48 74 54 127 48 75 54 125 48 76 53 124 48 78 53 123 48 79 53 122 48 80 53 121 48 80 54 120 48 81 54 119 48 82 54 118 48 83 57 117 48 84 57 116 48 86 57 115 48 87 57 114 48 88 59 113 48 88 59 112 48 89 59 111 48 90 59 110 48 92 60 109 48 93 60 108 48 94 60 107 48 95 60 106 48 96 62 105 48 97 62 104 48 98 64 103 48 99 66 102 48 100 67 101 48 101 69 100 48 103 70 99 48 104 71 98 48 105 73 97 48 105 74 96 48 106 76 95 48 107 77 94 48 108 80 92 48 109 81 91 48 111 82 90 48 112 82 89 48 113 84 88 48 113 86 87 48 114 88 86 48 115 89 85 48 116 91 84 48 117 92 83 48 119 93 82 48 120 95 81 48 121 96 80 48 121 98 79 48 122 99 78 48 123 102 77 48 125 103 76 48 126 104 75 48 127 108 74 48 128 110 73 48 129 111 72 48 130 112 71 48 131 114 70 48 132 115 69 48 133 117 68 48 134 117 67 48 136 118 66 48 137 120 65 48 138 121 64 48 138 122 63 48 139 126 62 48 140 128 61 48 141 130 59 48 142 133 58 48 144 134 57 48 145 137 56 48 146 138 55 48 146 141 54 48 147 143 53 48 148 144 52 48 149 145 51 48 150 149 50 48 152 150 49 48 153 152 48 48 154 153 47 48 154 153 46 48 155 155 45 48 156 156 44 48 158 157 43 48 159 159 42 48 160 160 41 48 161 162 40 48 162 165 39 48 163 166 38 48 164 171 37 48 165 172 36 48 166 174 35 48 167 175 34 48 169 176 33 48 170 178 32 48 171 179 31 48 171 181 30 48 172 182 29 48 173 184 28 48 174 185 26 48 175 186 25 48 177 189 24 48 178 194 23 48 179 197 22 48 179 199 21 48 180 201 20 48 181 202 19 48 182 204 18 48 183 205 17 48 185 205 16 48 186 207 15 48 187 208 14 48 187 209 13 48 188 209 12 48 189 211 11 48 191 213 10 48 192 216 9 48 193 216 8 48 194 217 7 48 195 219 6 48 196 219 5 48 197 220 4 48 198 220 3 48 199 221 2 48 200 224 1 48 202 226 0 48 202 227 0 48 203 228 0 48 204 230 0 48 204 230 0 48 204 231 0 48 204 231 255 47 0 238 254 47 0 238 254 47 0 235 254 47 0 234 253 47 0 234 252 47 0 231 251 47 0 230 250 47 0 228 249 47 0 228 248 47 0 227 247 47 0 224 246 47 0 223 245 47 0 221 244 47 0 220 243 47 0 220 242 47 0 219 241 47 0 219 240 47 0 217 239 47 0 216 238 47 0 213 237 47 0 211 236 47 0 211 235 47 0 209 234 47 0 208 233 47 0 208 232 47 0 207 231 47 0 205 230 47 0 205 229 47 0 204 228 47 0 202 227 47 0 201 226 47 0 198 224 47 0 195 223 47 0 189 222 47 0 188 221 47 0 185 220 47 0 184 219 47 0 184 218 47 0 182 217 47 0 181 216 47 0 179 215 47 0 178 214 47 0 176 213 47 0 175 212 47 0 174 211 47 0 172 210 47 0 171 209 47 0 166 208 47 0 163 207 47 0 162 206 47 0 159 205 47 0 157 204 47 0 156 203 47 1 156 202 47 1 155 201 47 2 155 200 47 3 153 199 47 4 152 198 47 5 150 197 47 6 149 196 47 7 149 195 47 8 145 194 47 9 144 193 47 10 141 191 47 11 140 190 47 12 137 189 47 13 135 188 47 14 133 187 47 15 130 186 47 16 128 185 47 17 126 184 47 18 122 183 47 19 121 182 47 20 120 181 47 21 120 180 47 22 118 179 47 23 117 178 47 24 115 177 47 25 115 176 47 27 114 175 47 28 111 174 47 29 110 173 47 30 108 172 47 31 107 171 47 32 104 170 47 33 103 169 47 34 102 168 47 35 99 167 47 36 98 166 47 37 96 165 47 38 95 164 47 39 93 163 47 40 92 162 47 41 91 161 47 42 89 160 47 43 89 158 47 44 86 157 47 45 86 156 47 46 84 155 47 47 82 154 47 48 81 153 47 49 80 152 47 50 77 151 47 51 76 150 47 52 74 149 47 53 73 148 47 54 71 147 47 55 70 146 47 56 69 145 47 57 67 144 47 58 66 143 47 60 66 142 47 61 64 141 47 62 64 140 47 63 64 139 47 64 64 138 47 65 64 137 47 66 64 136 47 67 62 135 47 68 62 134 47 69 62 133 47 70 60 132 47 71 60 131 47 72 60 130 47 73 59 129 47 74 59 128 47 75 59 127 47 76 57 125 47 77 57 124 47 78 57 123 47 79 57 122 47 80 57 121 47 81 57 120 47 82 59 119 47 83 59 118 47 84 59 117 47 85 60 116 47 86 60 115 47 87 60 114 47 88 62 113 47 89 62 112 47 90 62 111 47 91 64 110 47 93 64 109 47 94 64 108 47 95 64 107 47 96 64 106 47 97 66 105 47 98 66 104 47 99 67 103 47 100 69 102 47 101 70 101 47 102 71 100 47 103 73 99 47 104 74 98 47 105 76 97 47 106 77 96 47 107 80 95 47 108 80 94 47 109 81 92 47 110 82 91 47 111 84 90 47 112 86 89 47 113 88 88 47 114 89 87 47 115 91 86 47 116 92 85 47 117 93 84 47 118 93 83 47 119 95 82 47 120 98 81 47 121 99 80 47 122 102 79 47 123 103 78 47 124 104 77 47 126 107 76 47 127 108 75 47 128 110 74 47 129 111 73 47 130 112 72 47 131 115 71 47 132 115 70 47 133 117 69 47 134 118 68 47 135 120 67 47 136 120 66 47 137 121 65 47 138 122 64 47 139 126 63 47 140 128 62 47 141 130 61 47 142 133 59 47 143 134 58 47 144 137 57 47 145 140 56 47 146 141 55 47 147 143 54 47 148 144 53 47 149 145 52 47 150 149 51 47 151 150 50 47 152 152 49 47 153 153 48 47 154 153 47 47 155 155 46 47 156 156 45 47 157 156 44 47 159 157 43 47 160 159 42 47 161 160 41 47 162 163 40 47 163 166 39 47 164 167 38 47 165 171 37 47 166 174 36 47 167 175 35 47 168 175 34 47 169 176 33 47 170 179 32 47 171 179 31 47 172 181 30 47 173 182 29 47 174 184 28 47 175 185 26 47 176 188 25 47 177 189 24 47 178 195 23 47 179 198 22 47 180 199 21 47 181 201 20 47 182 202 19 47 183 204 18 47 184 205 17 47 185 207 16 47 186 207 15 47 187 208 14 47 188 209 13 47 189 211 12 47 190 211 11 47 192 213 10 47 193 216 9 47 194 217 8 47 195 217 7 47 196 219 6 47 197 220 5 47 198 220 4 47 199 221 3 47 200 223 2 47 201 224 1 47 202 226 0 47 203 228 0 47 204 228 0 47 204 230 0 47 205 230 0 47 205 231 0 47 205 231 255 46 0 239 254 46 0 238 254 46 0 235 254 46 0 234 253 46 0 234 252 46 0 231 251 46 0 230 250 46 0 230 249 46 0 228 248 46 0 227 247 46 0 226 246 46 0 224 245 46 0 223 244 46 0 221 243 46 0 220 242 46 0 220 241 46 0 219 240 46 0 217 239 46 0 216 238 46 0 213 237 46 0 213 236 46 0 211 235 46 0 209 234 46 0 208 233 46 0 208 232 46 0 207 231 46 0 205 230 46 0 205 229 46 0 204 228 46 0 202 227 46 0 201 226 46 0 198 224 46 0 195 223 46 0 194 222 46 0 188 221 46 0 186 220 46 0 185 219 46 0 184 218 46 0 182 217 46 0 181 216 46 0 179 215 46 0 178 214 46 0 176 213 46 0 175 212 46 0 174 211 46 0 172 210 46 0 171 209 46 0 167 208 46 0 165 207 46 0 162 206 46 0 160 205 46 0 159 204 46 1 157 203 46 1 156 202 46 2 156 201 46 3 155 200 46 4 155 199 46 5 153 198 46 6 152 197 46 7 152 196 46 8 150 195 46 9 149 194 46 10 145 193 46 11 144 191 46 12 141 190 46 13 140 189 46 14 137 188 46 15 134 187 46 16 133 186 46 17 130 185 46 18 128 184 46 19 126 183 46 20 122 182 46 21 121 181 46 22 121 180 46 23 120 179 46 24 118 178 46 25 118 177 46 26 117 176 46 28 115 175 46 29 114 174 46 30 112 173 46 31 111 172 46 32 108 171 46 33 107 170 46 34 104 169 46 35 103 168 46 36 102 167 46 37 99 166 46 38 98 165 46 39 96 164 46 40 95 163 46 41 93 162 46 42 93 161 46 43 92 160 46 44 91 158 46 45 89 157 46 46 88 156 46 47 86 155 46 48 84 154 46 49 82 153 46 50 81 152 46 51 81 151 46 52 80 150 46 53 77 149 46 54 76 148 46 55 76 147 46 56 74 146 46 57 73 145 46 58 70 144 46 59 70 143 46 61 69 142 46 62 69 141 46 63 67 140 46 64 67 139 46 65 67 138 46 66 67 137 46 67 67 136 46 68 66 135 46 69 66 134 46 70 64 133 46 71 64 132 46 72 62 131 46 73 62 130 46 74 62 129 46 75 60 128 46 76 60 127 46 77 60 125 46 78 60 124 46 79 59 123 46 80 59 122 46 81 60 121 46 82 60 120 46 83 60 119 46 84 60 118 46 85 62 117 46 86 62 116 46 87 64 115 46 88 64 114 46 89 66 113 46 90 66 112 46 91 67 111 46 92 67 110 46 94 67 109 46 95 67 108 46 96 67 107 46 97 67 106 46 98 69 105 46 99 69 104 46 100 70 103 46 101 71 102 46 102 74 101 46 103 74 100 46 104 76 99 46 105 77 98 46 106 80 97 46 107 80 96 46 108 81 95 46 109 82 94 46 110 84 92 46 111 86 91 46 112 88 90 46 113 89 89 46 114 91 88 46 115 92 87 46 116 93 86 46 117 93 85 46 118 95 84 46 119 96 83 46 120 98 82 46 121 99 81 46 122 102 80 46 123 103 79 46 124 104 78 46 125 107 77 46 127 108 76 46 128 111 75 46 129 112 74 46 130 114 73 46 131 115 72 46 132 117 71 46 133 117 70 46 134 118 69 46 135 120 68 46 136 121 67 46 137 121 66 46 138 122 65 46 139 126 64 46 140 128 63 46 141 130 62 46 142 131 61 46 143 134 59 46 144 137 58 46 145 140 57 46 146 141 56 46 147 143 55 46 148 145 54 46 149 149 53 46 150 150 52 46 151 150 51 46 152 152 50 46 153 153 49 46 154 155 48 46 155 155 47 46 156 156 46 46 157 156 45 46 158 157 44 46 160 159 43 46 161 160 42 46 162 162 41 46 163 165 40 46 164 166 39 46 165 171 38 46 166 172 37 46 167 174 36 46 168 175 35 46 169 176 34 46 170 178 33 46 171 179 32 46 172 181 31 46 173 182 30 46 174 184 29 46 175 185 28 46 176 186 26 46 177 188 25 46 178 194 24 46 179 195 23 46 180 198 22 46 181 201 21 46 182 202 20 46 183 204 19 46 184 205 18 46 185 205 17 46 186 207 16 46 187 208 15 46 188 208 14 46 189 209 13 46 190 211 12 46 191 213 11 46 193 213 10 46 194 216 9 46 195 217 8 46 196 219 7 46 197 219 6 46 198 220 5 46 199 221 4 46 200 223 3 46 201 224 2 46 202 226 1 46 203 227 0 46 204 228 0 46 205 230 0 46 205 230 0 46 206 230 0 46 206 231 0 46 206 231 255 45 0 239 254 45 0 238 254 45 0 238 254 45 0 235 253 45 0 234 252 45 0 231 251 45 0 230 250 45 0 230 249 45 0 230 248 45 0 228 247 45 0 227 246 45 0 226 245 45 0 224 244 45 0 221 243 45 0 221 242 45 0 220 241 45 0 219 240 45 0 217 239 45 0 217 238 45 0 216 237 45 0 213 236 45 0 211 235 45 0 209 234 45 0 209 233 45 0 208 232 45 0 207 231 45 0 207 230 45 0 205 229 45 0 204 228 45 0 202 227 45 0 201 226 45 0 199 224 45 0 197 223 45 0 194 222 45 0 189 221 45 0 186 220 45 0 186 219 45 0 185 218 45 0 184 217 45 0 182 216 45 0 181 215 45 0 178 214 45 0 176 213 45 0 176 212 45 0 175 211 45 0 174 210 45 0 172 209 45 0 167 208 45 0 166 207 45 0 163 206 45 0 162 205 45 1 160 204 45 1 159 203 45 2 157 202 45 3 156 201 45 4 156 200 45 5 155 199 45 6 155 198 45 7 153 197 45 8 152 196 45 9 152 195 45 10 150 194 45 11 149 193 45 12 145 191 45 13 143 190 45 14 141 189 45 15 138 188 45 16 135 187 45 17 133 186 45 18 131 185 45 19 130 184 45 20 128 183 45 21 126 182 45 22 122 181 45 23 121 180 45 24 121 179 45 25 120 178 45 26 118 177 45 27 118 176 45 29 117 175 45 30 115 174 45 31 114 173 45 32 112 172 45 33 111 171 45 34 110 170 45 35 107 169 45 36 104 168 45 37 103 167 45 38 102 166 45 39 99 165 45 40 98 164 45 41 98 163 45 42 96 162 45 43 95 161 45 44 93 160 45 45 93 158 45 46 91 157 45 47 89 156 45 48 88 155 45 49 86 154 45 50 84 153 45 51 84 152 45 52 82 151 45 53 81 150 45 54 81 149 45 55 80 148 45 56 77 147 45 57 76 146 45 58 74 145 45 59 73 144 45 60 71 143 45 62 71 142 45 63 70 141 45 64 70 140 45 65 70 139 45 66 70 138 45 67 70 137 45 68 69 136 45 69 69 135 45 70 67 134 45 71 67 133 45 72 66 132 45 73 64 131 45 74 64 130 45 75 64 129 45 76 62 128 45 77 62 127 45 78 62 125 45 79 62 124 45 80 62 123 45 81 62 122 45 82 62 121 45 83 62 120 45 84 62 119 45 85 62 118 45 86 64 117 45 87 64 116 45 88 66 115 45 89 66 114 45 90 67 113 45 91 69 112 45 92 69 111 45 93 70 110 45 95 70 109 45 96 70 108 45 97 70 107 45 98 70 106 45 99 71 105 45 100 71 104 45 101 73 103 45 102 74 102 45 103 76 101 45 104 77 100 45 105 80 99 45 106 81 98 45 107 81 97 45 108 82 96 45 109 84 95 45 110 84 94 45 111 86 92 45 112 88 91 45 113 89 90 45 114 91 89 45 115 92 88 45 116 93 87 45 117 95 86 45 118 96 85 45 119 96 84 45 120 98 83 45 121 99 82 45 122 102 81 45 123 103 80 45 124 104 79 45 125 107 78 45 126 108 77 45 128 111 76 45 129 112 75 45 130 114 74 45 131 115 73 45 132 117 72 45 133 118 71 45 134 118 70 45 135 120 69 45 136 121 68 45 137 121 67 45 138 122 66 45 139 126 65 45 140 128 64 45 141 130 63 45 142 131 62 45 143 133 61 45 144 135 59 45 145 138 58 45 146 141 57 45 147 143 56 45 148 145 55 45 149 149 54 45 150 150 53 45 151 152 52 45 152 152 51 45 153 153 50 45 154 155 49 45 155 155 48 45 156 156 47 45 157 156 46 45 158 157 45 45 159 159 44 45 161 160 43 45 162 162 42 45 163 163 41 45 164 165 40 45 165 167 39 45 166 171 38 45 167 174 37 45 168 175 36 45 169 176 35 45 170 176 34 45 171 178 33 45 172 179 32 45 173 181 31 45 174 182 30 45 175 185 29 45 176 185 28 45 177 186 26 45 178 189 25 45 179 194 24 45 180 195 23 45 181 198 22 45 182 201 21 45 183 202 20 45 184 204 19 45 185 205 18 45 186 205 17 45 187 207 16 45 188 208 15 45 189 208 14 45 190 209 13 45 191 211 12 45 192 213 11 45 194 216 10 45 195 217 9 45 196 217 8 45 197 219 7 45 198 220 6 45 199 220 5 45 200 221 4 45 201 223 3 45 202 226 2 45 203 227 1 45 204 228 0 45 205 230 0 45 206 230 0 45 206 230 0 45 206 230 0 45 207 231 0 45 207 231 255 44 0 239 254 44 0 238 254 44 0 238 254 44 0 235 253 44 0 234 252 44 0 231 251 44 0 231 250 44 0 230 249 44 0 230 248 44 0 228 247 44 0 228 246 44 0 226 245 44 0 224 244 44 0 223 243 44 0 221 242 44 0 220 241 44 0 219 240 44 0 217 239 44 0 217 238 44 0 216 237 44 0 213 236 44 0 211 235 44 0 209 234 44 0 209 233 44 0 208 232 44 0 207 231 44 0 207 230 44 0 205 229 44 0 204 228 44 0 202 227 44 0 201 226 44 0 199 224 44 0 197 223 44 0 194 222 44 0 189 221 44 0 188 220 44 0 186 219 44 0 185 218 44 0 184 217 44 0 182 216 44 0 181 215 44 0 179 214 44 0 178 213 44 0 176 212 44 0 175 211 44 0 174 210 44 0 172 209 44 0 171 208 44 0 166 207 44 1 165 206 44 1 163 205 44 2 162 204 44 2 160 203 44 3 159 202 44 4 157 201 44 5 156 200 44 6 156 199 44 7 155 198 44 8 155 197 44 9 153 196 44 10 152 195 44 11 152 194 44 12 150 193 44 13 149 191 44 14 144 190 44 15 143 189 44 16 140 188 44 17 137 187 44 18 134 186 44 19 133 185 44 20 131 184 44 21 130 183 44 22 128 182 44 24 126 181 44 25 122 180 44 26 122 179 44 27 121 178 44 28 120 177 44 29 120 176 44 30 118 175 44 31 117 174 44 32 115 173 44 33 114 172 44 34 112 171 44 35 111 170 44 36 110 169 44 37 107 168 44 38 104 167 44 39 104 166 44 40 102 165 44 41 102 164 44 42 99 163 44 43 98 162 44 44 96 161 44 45 96 160 44 46 95 158 44 47 93 157 44 48 92 156 44 49 91 155 44 50 89 154 44 51 88 153 44 52 86 152 44 53 84 151 44 54 84 150 44 55 82 149 44 57 82 148 44 58 81 147 44 59 80 146 44 60 77 145 44 61 76 144 44 62 74 143 44 63 74 142 44 64 74 141 44 65 73 140 44 66 73 139 44 67 73 138 44 68 73 137 44 69 71 136 44 70 70 135 44 71 69 134 44 72 69 133 44 73 67 132 44 74 66 131 44 75 66 130 44 76 66 129 44 77 66 128 44 78 66 127 44 79 66 125 44 80 64 124 44 81 64 123 44 82 64 122 44 83 64 121 44 84 66 120 44 85 66 119 44 86 66 118 44 87 66 117 44 88 66 116 44 90 67 115 44 91 67 114 44 92 69 113 44 93 70 112 44 94 71 111 44 95 73 110 44 96 73 109 44 97 73 108 44 98 73 107 44 99 74 106 44 100 74 105 44 101 74 104 44 102 76 103 44 103 77 102 44 104 80 101 44 105 81 100 44 106 82 99 44 107 82 98 44 108 84 97 44 109 84 96 44 110 86 95 44 111 88 94 44 112 88 92 44 113 91 91 44 114 92 90 44 115 93 89 44 116 95 88 44 117 95 87 44 118 96 86 44 119 98 85 44 120 99 84 44 121 99 83 44 123 102 82 44 124 103 81 44 125 104 80 44 126 107 79 44 127 110 78 44 128 111 77 44 129 112 76 44 130 114 75 44 131 115 74 44 132 117 73 44 133 118 72 44 134 120 71 44 135 120 70 44 136 121 69 44 137 122 68 44 138 122 67 44 139 126 66 44 140 128 65 44 141 130 64 44 142 131 63 44 143 133 62 44 144 134 61 44 145 137 59 44 146 140 58 44 147 143 57 44 148 144 56 44 149 149 55 44 150 150 54 44 151 150 53 44 152 152 52 44 153 153 51 44 154 155 50 44 156 155 49 44 157 156 48 44 158 156 47 44 159 157 46 44 160 159 45 44 161 159 44 44 162 160 43 44 163 163 42 44 164 165 41 44 165 166 40 44 166 171 39 44 167 172 38 44 168 174 37 44 169 175 36 44 170 176 35 44 171 178 34 44 172 179 33 44 173 181 32 44 174 182 31 44 175 184 30 44 176 185 29 44 177 186 28 44 178 188 26 44 179 189 25 44 180 194 24 44 181 197 23 44 182 198 22 44 183 201 21 44 184 202 20 44 185 204 19 44 186 205 18 44 187 205 17 44 189 207 16 44 190 208 15 44 191 208 14 44 192 209 13 44 193 211 12 44 194 213 11 44 195 216 10 44 196 217 9 44 197 217 8 44 198 219 7 44 199 220 6 44 200 221 5 44 201 221 4 44 202 224 3 44 203 226 2 44 204 227 1 44 205 228 0 44 206 230 0 44 207 230 0 44 207 230 0 44 208 230 0 44 208 231 0 44 208 231 255 43 0 239 254 43 0 238 254 43 0 238 254 43 0 235 253 43 0 234 252 43 0 231 251 43 0 231 250 43 0 230 249 43 0 230 248 43 0 230 247 43 0 228 246 43 0 227 245 43 0 226 244 43 0 223 243 43 0 221 242 43 0 220 241 43 0 219 240 43 0 217 239 43 0 217 238 43 0 216 237 43 0 213 236 43 0 211 235 43 0 209 234 43 0 209 233 43 0 208 232 43 0 207 231 43 0 207 230 43 0 205 229 43 0 204 228 43 0 202 227 43 0 201 226 43 0 199 224 43 0 197 223 43 0 195 222 43 0 189 221 43 0 188 220 43 0 186 219 43 0 186 218 43 0 184 217 43 0 182 216 43 0 181 215 43 0 179 214 43 0 179 213 43 0 178 212 43 0 176 211 43 0 175 210 43 0 174 209 43 0 172 208 43 1 171 207 43 2 166 206 43 2 165 205 43 3 163 204 43 3 162 203 43 4 160 202 43 5 159 201 43 6 157 200 43 7 156 199 43 9 156 198 43 10 155 197 43 10 155 196 43 11 153 195 43 12 153 194 43 13 152 193 43 14 150 191 43 15 149 190 43 17 144 189 43 18 141 188 43 18 140 187 43 19 137 186 43 20 134 185 43 21 133 184 43 22 131 183 43 24 130 182 43 25 130 181 43 26 128 180 43 27 126 179 43 28 122 178 43 29 121 177 43 30 121 176 43 31 120 175 43 32 118 174 43 34 117 173 43 35 117 172 43 35 114 171 43 36 112 170 43 37 111 169 43 38 110 168 43 39 108 167 43 40 107 166 43 42 104 165 43 43 103 164 43 43 102 163 43 44 102 162 43 45 99 161 43 46 98 160 43 47 96 158 43 48 95 157 43 50 93 156 43 51 92 155 43 51 91 154 43 52 89 153 43 53 89 152 43 54 88 151 43 55 88 150 43 57 86 149 43 58 86 148 43 59 84 147 43 60 82 146 43 61 81 145 43 62 80 144 43 63 80 143 43 64 77 142 43 65 77 141 43 67 77 140 43 68 77 139 43 68 76 138 43 69 76 137 43 70 74 136 43 71 73 135 43 72 71 134 43 73 70 133 43 75 70 132 43 76 69 131 43 76 69 130 43 77 69 129 43 78 69 128 43 79 69 127 43 80 69 125 43 81 69 124 43 83 69 123 43 84 69 122 43 84 69 121 43 85 69 120 43 86 69 119 43 87 69 118 43 88 69 117 43 90 69 116 43 91 69 115 43 92 70 114 43 93 71 113 43 94 73 112 43 95 74 111 43 96 76 110 43 97 76 109 43 98 77 108 43 100 77 107 43 101 77 106 43 101 77 105 43 102 80 104 43 103 80 103 43 104 81 102 43 105 82 101 43 106 84 100 43 108 84 99 43 109 86 98 43 109 86 97 43 110 88 96 43 111 89 95 43 112 89 94 43 113 91 92 43 114 92 91 43 116 93 90 43 117 95 89 43 117 96 88 43 118 98 87 43 119 99 86 43 120 99 85 43 121 102 84 43 123 103 83 43 124 104 82 43 125 107 81 43 126 108 80 43 127 110 79 43 128 111 78 43 129 112 77 43 130 114 76 43 131 115 75 43 133 117 74 43 134 118 73 43 134 120 72 43 135 121 71 43 136 121 70 43 137 122 69 43 138 126 68 43 139 128 67 43 141 130 66 43 142 130 65 43 142 131 64 43 143 133 63 43 144 134 62 43 145 137 61 43 146 138 59 43 147 141 58 43 149 144 57 43 150 145 56 43 150 150 55 43 151 152 54 43 152 152 53 43 153 153 52 43 154 155 51 43 156 155 50 43 157 156 49 43 158 156 48 43 159 157 47 43 160 159 46 43 161 160 45 43 162 160 44 43 163 163 43 43 164 165 42 43 166 166 41 43 167 167 40 43 167 172 39 43 168 174 38 43 169 175 37 43 170 176 36 43 171 178 35 43 172 178 34 43 174 179 33 43 175 181 32 43 175 182 31 43 176 184 30 43 177 185 29 43 178 186 28 43 179 188 26 43 180 189 25 43 182 195 24 43 183 197 23 43 183 199 22 43 184 201 21 43 185 202 20 43 186 204 19 43 187 205 18 43 189 205 17 43 190 207 16 43 191 208 15 43 192 209 14 43 193 209 13 43 194 211 12 43 195 213 11 43 196 216 10 43 197 217 9 43 199 217 8 43 200 219 7 43 200 220 6 43 201 221 5 43 202 223 4 43 203 224 3 43 204 227 2 43 205 228 1 43 207 230 0 43 207 230 0 43 208 230 0 43 209 231 0 43 209 231 0 43 209 231 0 43 209 231 255 42 0 239 254 42 0 238 254 42 0 238 254 42 0 235 253 42 0 234 252 42 0 231 251 42 0 231 250 42 0 231 249 42 0 230 248 42 0 230 247 42 0 228 246 42 0 227 245 42 0 226 244 42 0 224 243 42 0 223 242 42 0 221 241 42 0 220 240 42 0 219 239 42 0 217 238 42 0 216 237 42 0 213 236 42 0 211 235 42 0 211 234 42 0 209 233 42 0 208 232 42 0 208 231 42 0 207 230 42 0 205 229 42 0 205 228 42 0 204 227 42 0 202 226 42 0 199 224 42 0 198 223 42 0 195 222 42 0 194 221 42 0 189 220 42 0 188 219 42 0 186 218 42 0 185 217 42 0 184 216 42 0 182 215 42 0 181 214 42 0 179 213 42 0 178 212 42 0 178 211 42 0 176 210 42 0 175 209 42 1 174 208 42 2 172 207 42 2 171 206 42 3 166 205 42 4 165 204 42 4 163 203 42 5 162 202 42 6 160 201 42 7 159 200 42 9 157 199 42 10 156 198 42 11 156 197 42 12 156 196 42 12 155 195 42 13 155 194 42 14 153 193 42 15 152 191 42 17 150 190 42 18 145 189 42 19 144 188 42 20 141 187 42 20 138 186 42 21 137 185 42 22 135 184 42 24 134 183 42 25 133 182 42 26 131 181 42 27 130 180 42 28 130 179 42 29 128 178 42 30 126 177 42 31 122 176 42 32 121 175 42 34 121 174 42 35 120 173 42 36 118 172 42 37 117 171 42 37 115 170 42 38 114 169 42 39 112 168 42 40 111 167 42 42 110 166 42 43 108 165 42 44 107 164 42 45 104 163 42 45 103 162 42 46 103 161 42 47 102 160 42 48 99 158 42 50 98 157 42 51 96 156 42 52 95 155 42 53 93 154 42 53 92 153 42 54 91 152 42 55 91 151 42 57 89 150 42 58 89 149 42 59 88 148 42 60 86 147 42 61 86 146 42 62 84 145 42 63 84 144 42 64 82 143 42 65 82 142 42 67 81 141 42 68 81 140 42 69 81 139 42 70 80 138 42 70 80 137 42 71 77 136 42 72 76 135 42 73 74 134 42 75 73 133 42 76 73 132 42 77 71 131 42 78 71 130 42 78 71 129 42 79 71 128 42 80 71 127 42 81 71 125 42 83 71 124 42 84 71 123 42 85 71 122 42 86 71 121 42 86 71 120 42 87 71 119 42 88 71 118 42 90 71 117 42 91 71 116 42 92 71 115 42 93 73 114 42 94 74 113 42 95 76 112 42 96 77 111 42 97 80 110 42 98 80 109 42 100 81 108 42 101 81 107 42 102 81 106 42 103 82 105 42 103 82 104 42 104 82 103 42 105 84 102 42 106 86 101 42 108 86 100 42 109 88 99 42 110 88 98 42 111 89 97 42 111 91 96 42 112 91 95 42 113 92 94 42 114 93 92 42 116 95 91 42 117 96 90 42 118 98 89 42 119 99 88 42 119 102 87 42 120 102 86 42 121 103 85 42 123 104 84 42 124 107 83 42 125 107 82 42 126 108 81 42 127 110 80 42 128 111 79 42 129 114 78 42 130 115 77 42 131 117 76 42 133 118 75 42 134 120 74 42 135 120 73 42 136 121 72 42 136 122 71 42 137 126 70 42 138 128 69 42 139 128 68 42 141 130 67 42 142 131 66 42 143 133 65 42 144 134 64 42 144 135 63 42 145 137 62 42 146 138 61 42 147 141 59 42 149 144 58 42 150 145 57 42 151 149 56 42 152 152 55 42 152 153 54 42 153 153 53 42 154 155 52 42 156 155 51 42 157 156 50 42 158 156 49 42 159 157 48 42 160 159 47 42 161 159 46 42 162 160 45 42 163 163 44 42 164 165 43 42 166 166 42 42 167 167 41 42 168 172 40 42 169 174 39 42 169 175 38 42 170 176 37 42 171 176 36 42 172 178 35 42 174 179 34 42 175 181 33 42 176 182 32 42 177 184 31 42 177 185 30 42 178 186 29 42 179 188 28 42 180 189 26 42 182 194 25 42 183 195 24 42 184 197 23 42 185 199 22 42 185 201 21 42 186 202 20 42 187 204 19 42 189 205 18 42 190 207 17 42 191 207 16 42 192 208 15 42 193 209 14 42 194 209 13 42 195 211 12 42 196 213 11 42 197 216 10 42 199 217 9 42 200 219 8 42 201 219 7 42 202 220 6 42 202 223 5 42 203 224 4 42 204 226 3 42 205 227 2 42 207 228 1 42 208 230 0 42 209 230 0 42 209 231 0 42 210 231 0 42 210 231 0 42 210 231 0 42 210 231 255 41 0 239 254 41 0 239 254 41 0 238 254 41 0 235 253 41 0 234 252 41 0 234 251 41 0 231 250 41 0 231 249 41 0 230 248 41 0 230 247 41 0 228 246 41 0 228 245 41 0 227 244 41 0 224 243 41 0 223 242 41 0 221 241 41 0 220 240 41 0 219 239 41 0 217 238 41 0 216 237 41 0 213 236 41 0 213 235 41 0 211 234 41 0 209 233 41 0 209 232 41 0 208 231 41 0 207 230 41 0 207 229 41 0 205 228 41 0 204 227 41 0 202 226 41 0 201 224 41 0 198 223 41 0 197 222 41 0 195 221 41 0 194 220 41 0 188 219 41 0 188 218 41 0 185 217 41 0 185 216 41 0 184 215 41 0 182 214 41 0 181 213 41 0 179 212 41 0 178 211 41 0 176 210 41 0 176 209 41 1 175 208 41 2 174 207 41 3 172 206 41 4 167 205 41 5 166 204 41 5 165 203 41 6 163 202 41 7 162 201 41 8 159 200 41 10 159 199 41 11 157 198 41 12 157 197 41 13 156 196 41 13 156 195 41 14 155 194 41 15 155 193 41 16 153 191 41 18 152 190 41 19 149 189 41 20 145 188 41 21 143 187 41 21 141 186 41 22 140 185 41 23 138 184 41 25 137 183 41 26 135 182 41 27 134 181 41 28 134 180 41 29 133 179 41 30 131 178 41 31 130 177 41 32 128 176 41 33 126 175 41 35 122 174 41 36 121 173 41 37 120 172 41 38 120 171 41 38 118 170 41 39 117 169 41 40 114 168 41 41 112 167 41 43 112 166 41 44 111 165 41 45 110 164 41 46 108 163 41 46 107 162 41 47 104 161 41 48 104 160 41 49 103 158 41 51 102 157 41 52 99 156 41 53 98 155 41 54 96 154 41 54 95 153 41 55 93 152 41 56 92 151 41 58 92 150 41 59 91 149 41 60 91 148 41 61 89 147 41 62 89 146 41 63 88 145 41 64 88 144 41 65 86 143 41 66 86 142 41 68 84 141 41 69 84 140 41 70 84 139 41 71 82 138 41 71 82 137 41 72 81 136 41 73 80 135 41 74 77 134 41 76 77 133 41 77 76 132 41 78 76 131 41 79 76 130 41 79 76 129 41 80 76 128 41 81 76 127 41 82 76 125 41 84 76 124 41 85 76 123 41 86 76 122 41 87 76 121 41 87 76 120 41 88 76 119 41 89 76 118 41 91 76 117 41 92 76 116 41 93 76 115 41 94 76 114 41 95 77 113 41 96 80 112 41 97 81 111 41 98 81 110 41 99 82 109 41 101 84 108 41 102 84 107 41 103 84 106 41 104 86 105 41 104 86 104 41 105 88 103 41 106 88 102 41 107 88 101 41 109 89 100 41 110 89 99 41 111 91 98 41 112 92 97 41 112 92 96 41 113 93 95 41 114 95 94 41 115 95 92 41 117 96 91 41 118 98 90 41 119 99 89 41 120 102 88 41 120 103 87 41 121 104 86 41 122 107 85 41 124 108 84 41 125 108 83 41 126 110 82 41 127 111 81 41 128 112 80 41 129 114 79 41 130 115 78 41 131 117 77 41 132 118 76 41 134 120 75 41 135 121 74 41 136 122 73 41 137 126 72 41 137 128 71 41 138 128 70 41 139 130 69 41 140 131 68 41 142 133 67 41 143 134 66 41 144 135 65 41 145 137 64 41 145 138 63 41 146 140 62 41 147 141 61 41 148 143 59 41 150 145 58 41 151 149 57 41 152 152 56 41 153 153 55 41 153 155 54 41 154 155 53 41 155 156 52 41 157 156 51 41 158 157 50 41 159 157 49 41 160 159 48 41 161 159 47 41 162 160 46 41 163 163 45 41 164 165 44 41 165 166 43 41 167 167 42 41 168 172 41 41 169 174 40 41 170 175 39 41 170 176 38 41 171 176 37 41 172 178 36 41 173 179 35 41 175 181 34 41 176 182 33 41 177 182 32 41 178 184 31 41 178 185 30 41 179 186 29 41 180 188 28 41 181 189 26 41 183 195 25 41 184 197 24 41 185 198 23 41 186 201 22 41 186 202 21 41 187 204 20 41 188 205 19 41 190 205 18 41 191 207 17 41 192 208 16 41 193 208 15 41 194 209 14 41 195 211 13 41 196 213 12 41 197 213 11 41 198 216 10 41 200 217 9 41 201 219 8 41 202 220 7 41 203 221 6 41 203 223 5 41 204 224 4 41 205 226 3 41 206 228 2 41 208 228 1 41 209 230 0 41 210 230 0 41 210 231 0 41 211 231 0 41 211 231 0 41 211 231 0 41 211 234 255 40 0 239 254 40 0 239 254 40 0 238 254 40 0 235 253 40 0 235 252 40 0 234 251 40 0 234 250 40 0 231 249 40 0 231 248 40 0 230 247 40 0 230 246 40 0 228 245 40 0 227 244 40 0 226 243 40 0 224 242 40 0 223 241 40 0 221 240 40 0 220 239 40 0 219 238 40 0 217 237 40 0 216 236 40 0 213 235 40 0 213 234 40 0 211 233 40 0 209 232 40 0 208 231 40 0 208 230 40 0 207 229 40 0 205 228 40 0 205 227 40 0 204 226 40 0 202 224 40 0 199 223 40 0 198 222 40 0 197 221 40 0 194 220 40 0 189 219 40 0 188 218 40 0 186 217 40 0 185 216 40 0 185 215 40 0 184 214 40 0 182 213 40 0 181 212 40 0 179 211 40 0 178 210 40 1 178 209 40 2 176 208 40 3 175 207 40 4 174 206 40 5 172 205 40 6 167 204 40 6 166 203 40 7 165 202 40 8 163 201 40 9 162 200 40 10 160 199 40 12 159 198 40 13 157 197 40 14 157 196 40 14 157 195 40 15 156 194 40 16 156 193 40 17 155 191 40 18 153 190 40 20 152 189 40 21 150 188 40 22 145 187 40 22 144 186 40 23 143 185 40 24 141 184 40 26 141 183 40 27 140 182 40 28 138 181 40 29 137 180 40 30 135 179 40 31 134 178 40 32 133 177 40 33 131 176 40 34 130 175 40 35 128 174 40 37 126 173 40 38 122 172 40 39 121 171 40 39 120 170 40 40 118 169 40 41 117 168 40 42 115 167 40 43 115 166 40 45 114 165 40 46 112 164 40 47 111 163 40 47 111 162 40 48 110 161 40 49 108 160 40 50 107 158 40 51 104 157 40 53 103 156 40 54 102 155 40 55 99 154 40 55 98 153 40 56 96 152 40 57 95 151 40 59 95 150 40 60 93 149 40 61 92 148 40 62 92 147 40 63 92 146 40 64 91 145 40 65 91 144 40 66 89 143 40 67 89 142 40 68 88 141 40 70 88 140 40 71 88 139 40 72 86 138 40 72 86 137 40 73 84 136 40 74 82 135 40 75 82 134 40 76 81 133 40 78 81 132 40 79 81 131 40 80 81 130 40 80 81 129 40 81 81 128 40 82 81 127 40 83 81 125 40 84 81 124 40 86 81 123 40 87 81 122 40 88 81 121 40 88 81 120 40 89 81 119 40 90 81 118 40 92 81 117 40 93 81 116 40 94 81 115 40 95 81 114 40 96 82 113 40 97 82 112 40 98 84 111 40 99 86 110 40 100 86 109 40 101 86 108 40 103 88 107 40 104 88 106 40 105 89 105 40 105 89 104 40 106 91 103 40 107 91 102 40 108 91 101 40 109 92 100 40 111 92 99 40 112 93 98 40 113 93 97 40 113 95 96 40 114 96 95 40 115 98 94 40 116 98 92 40 117 99 91 40 119 103 90 40 120 104 89 40 121 107 88 40 121 108 87 40 122 110 86 40 123 110 85 40 125 111 84 40 126 112 83 40 127 114 82 40 128 114 81 40 129 115 80 40 130 117 79 40 131 118 78 40 132 120 77 40 133 121 76 40 134 122 75 40 136 126 74 40 137 128 73 40 138 130 72 40 138 131 71 40 139 131 70 40 140 134 69 40 141 135 68 40 142 137 67 40 144 138 66 40 145 140 65 40 146 140 64 40 146 141 63 40 147 143 62 40 148 144 61 40 149 145 59 40 150 150 58 40 152 152 57 40 153 153 56 40 154 155 55 40 154 156 54 40 155 156 53 40 156 156 52 40 158 157 51 40 159 157 50 40 160 159 49 40 161 160 48 40 162 160 47 40 163 163 46 40 164 165 45 40 165 166 44 40 166 167 43 40 167 172 42 40 169 174 41 40 170 175 40 40 171 176 39 40 171 178 38 40 172 178 37 40 173 179 36 40 174 181 35 40 175 182 34 40 177 182 33 40 178 184 32 40 179 185 31 40 179 186 30 40 180 188 29 40 181 189 28 40 182 194 26 40 183 197 25 40 185 198 24 40 186 199 23 40 187 201 22 40 187 204 21 40 188 204 20 40 189 205 19 40 191 207 18 40 192 208 17 40 193 208 16 40 194 209 15 40 195 211 14 40 196 211 13 40 197 213 12 40 198 216 11 40 199 217 10 40 200 219 9 40 202 219 8 40 203 220 7 40 204 223 6 40 204 224 5 40 205 226 4 40 206 227 3 40 207 228 2 40 208 230 1 40 210 230 0 40 210 231 0 40 211 231 0 40 212 231 0 40 212 234 0 40 212 234 0 40 212 234 255 39 0 239 254 39 0 239 254 39 0 239 254 39 0 238 253 39 0 235 252 39 0 235 251 39 0 234 250 39 0 231 249 39 0 231 248 39 0 230 247 39 0 230 246 39 0 228 245 39 0 228 244 39 0 227 243 39 0 226 242 39 0 224 241 39 0 221 240 39 0 220 239 39 0 219 238 39 0 217 237 39 0 216 236 39 0 216 235 39 0 213 234 39 0 211 233 39 0 211 232 39 0 209 231 39 0 208 230 39 0 208 229 39 0 207 228 39 0 205 227 39 0 204 226 39 0 202 224 39 0 201 223 39 0 199 222 39 0 198 221 39 0 197 220 39 0 194 219 39 0 189 218 39 0 188 217 39 0 186 216 39 0 185 215 39 0 185 214 39 0 184 213 39 0 182 212 39 0 181 211 39 1 179 210 39 1 178 209 39 2 178 208 39 3 176 207 39 4 175 206 39 5 174 205 39 6 172 204 39 7 167 203 39 8 166 202 39 9 165 201 39 10 163 200 39 11 162 199 39 12 160 198 39 13 159 197 39 14 159 196 39 15 157 195 39 16 157 194 39 17 157 193 39 18 156 191 39 19 155 190 39 20 153 189 39 21 152 188 39 22 150 187 39 23 149 186 39 24 149 185 39 25 145 184 39 27 144 183 39 28 143 182 39 29 141 181 39 30 140 180 39 31 138 179 39 32 137 178 39 33 135 177 39 34 134 176 39 35 133 175 39 36 131 174 39 37 130 173 39 38 128 172 39 39 126 171 39 40 122 170 39 41 121 169 39 42 120 168 39 43 118 167 39 44 118 166 39 45 117 165 39 46 115 164 39 47 114 163 39 48 114 162 39 49 112 161 39 50 111 160 39 51 110 158 39 52 108 157 39 53 107 156 39 54 103 155 39 55 102 154 39 56 99 153 39 57 99 152 39 58 98 151 39 60 96 150 39 61 96 149 39 62 95 148 39 63 95 147 39 64 93 146 39 65 93 145 39 66 93 144 39 67 92 143 39 68 92 142 39 69 91 141 39 70 91 140 39 71 89 139 39 72 89 138 39 73 88 137 39 74 88 136 39 75 88 135 39 76 86 134 39 77 86 133 39 78 86 132 39 79 86 131 39 80 86 130 39 81 86 129 39 82 86 128 39 83 86 127 39 84 86 125 39 85 86 124 39 86 86 123 39 87 86 122 39 88 86 121 39 89 86 120 39 90 86 119 39 91 86 118 39 93 86 117 39 94 86 116 39 95 86 115 39 96 86 114 39 97 86 113 39 98 86 112 39 99 88 111 39 100 88 110 39 101 89 109 39 102 89 108 39 103 89 107 39 104 91 106 39 105 91 105 39 106 92 104 39 107 92 103 39 108 93 102 39 109 93 101 39 110 95 100 39 111 95 99 39 112 96 98 39 113 96 97 39 114 98 96 39 115 99 95 39 116 99 94 39 117 102 92 39 118 103 91 39 119 104 90 39 120 107 89 39 121 110 88 39 122 111 87 39 123 112 86 39 124 112 85 39 126 114 84 39 127 115 83 39 128 117 82 39 129 117 81 39 130 118 80 39 131 120 79 39 132 121 78 39 133 122 77 39 134 126 76 39 135 128 75 39 136 128 74 39 137 130 73 39 138 131 72 39 139 133 71 39 140 134 70 39 141 137 69 39 142 138 68 39 143 140 67 39 144 141 66 39 145 143 65 39 146 144 64 39 147 145 63 39 148 145 62 39 149 149 61 39 150 150 59 39 151 152 58 39 152 153 57 39 153 155 56 39 154 156 55 39 155 156 54 39 156 157 53 39 157 157 52 39 159 159 51 39 160 159 50 39 161 160 49 39 162 162 48 39 163 163 47 39 164 165 46 39 165 166 45 39 166 167 44 39 167 171 43 39 168 174 42 39 169 175 41 39 170 176 40 39 171 178 39 39 172 178 38 39 173 179 37 39 174 181 36 39 175 182 35 39 176 182 34 39 177 184 33 39 178 185 32 39 179 186 31 39 180 188 30 39 181 189 29 39 182 194 28 39 183 195 26 39 184 198 25 39 185 199 24 39 186 201 23 39 187 202 22 39 188 204 21 39 189 205 20 39 190 207 19 39 192 208 18 39 193 208 17 39 194 209 16 39 195 211 15 39 196 211 14 39 197 213 13 39 198 216 12 39 199 216 11 39 200 217 10 39 201 219 9 39 202 220 8 39 203 221 7 39 204 223 6 39 205 226 5 39 206 227 4 39 207 228 3 39 208 228 2 39 209 230 1 39 210 230 0 39 211 231 0 39 212 231 0 39 212 234 0 39 213 234 0 39 213 235 0 39 213 235 255 38 0 239 254 38 0 239 254 38 0 239 254 38 0 238 253 38 0 238 252 38 0 235 251 38 0 234 250 38 0 231 249 38 0 231 248 38 0 230 247 38 0 230 246 38 0 230 245 38 0 228 244 38 0 228 243 38 0 227 242 38 0 224 241 38 0 223 240 38 0 221 239 38 0 220 238 38 0 219 237 38 0 217 236 38 0 216 235 38 0 216 234 38 0 213 233 38 0 211 232 38 0 211 231 38 0 209 230 38 0 208 229 38 0 208 228 38 0 207 227 38 0 205 226 38 0 204 224 38 0 202 223 38 0 201 222 38 0 199 221 38 0 198 220 38 0 197 219 38 0 194 218 38 0 189 217 38 0 188 216 38 0 186 215 38 0 185 214 38 0 184 213 38 0 184 212 38 1 182 211 38 1 181 210 38 2 179 209 38 3 178 208 38 4 176 207 38 5 176 206 38 6 175 205 38 7 174 204 38 8 172 203 38 9 167 202 38 10 166 201 38 11 165 200 38 12 163 199 38 13 162 198 38 14 160 197 38 15 159 196 38 16 159 195 38 17 157 194 38 18 157 193 38 19 157 191 38 20 156 190 38 21 155 189 38 22 155 188 38 23 153 187 38 24 152 186 38 25 150 185 38 26 150 184 38 28 149 183 38 29 145 182 38 30 144 181 38 31 143 180 38 32 141 179 38 33 140 178 38 34 138 177 38 35 135 176 38 36 134 175 38 37 133 174 38 38 131 173 38 39 130 172 38 40 128 171 38 41 126 170 38 42 126 169 38 43 122 168 38 44 121 167 38 45 120 166 38 46 118 165 38 47 118 164 38 48 117 163 38 49 115 162 38 50 114 161 38 51 114 160 38 52 112 158 38 53 110 157 38 54 108 156 38 55 107 155 38 56 104 154 38 57 103 153 38 58 102 152 38 59 99 151 38 61 99 150 38 62 98 149 38 63 98 148 38 64 98 147 38 65 96 146 38 66 96 145 38 67 95 144 38 68 95 143 38 69 93 142 38 70 92 141 38 71 92 140 38 72 92 139 38 73 91 138 38 74 91 137 38 75 91 136 38 76 91 135 38 77 89 134 38 78 89 133 38 79 89 132 38 80 89 131 38 81 89 130 38 82 89 129 38 83 89 128 38 84 89 127 38 85 89 125 38 86 89 124 38 87 89 123 38 88 89 122 38 89 89 121 38 90 89 120 38 91 89 119 38 92 89 118 38 94 89 117 38 95 89 116 38 96 89 115 38 97 89 114 38 98 89 113 38 99 91 112 38 100 91 111 38 101 91 110 38 102 91 109 38 103 91 108 38 104 92 107 38 105 92 106 38 106 93 105 38 107 93 104 38 108 95 103 38 109 96 102 38 110 96 101 38 111 96 100 38 112 98 99 38 113 98 98 38 114 99 97 38 115 99 96 38 116 102 95 38 117 103 94 38 118 104 92 38 119 107 91 38 120 108 90 38 121 110 89 38 122 111 88 38 123 112 87 38 124 114 86 38 125 115 85 38 127 117 84 38 128 117 83 38 129 118 82 38 130 120 81 38 131 121 80 38 132 122 79 38 133 122 78 38 134 126 77 38 135 128 76 38 136 130 75 38 137 131 74 38 138 133 73 38 139 134 72 38 140 135 71 38 141 137 70 38 142 140 69 38 143 141 68 38 144 143 67 38 145 144 66 38 146 145 65 38 147 149 64 38 148 149 63 38 149 150 62 38 150 152 61 38 151 153 59 38 152 153 58 38 153 155 57 38 154 156 56 38 155 156 55 38 156 157 54 38 157 157 53 38 158 159 52 38 160 159 51 38 161 160 50 38 162 162 49 38 163 163 48 38 164 165 47 38 165 166 46 38 166 167 45 38 167 171 44 38 168 174 43 38 169 175 42 38 170 176 41 38 171 176 40 38 172 178 39 38 173 179 38 38 174 181 37 38 175 182 36 38 176 182 35 38 177 184 34 38 178 185 33 38 179 186 32 38 180 188 31 38 181 189 30 38 182 194 29 38 183 195 28 38 184 198 26 38 185 199 25 38 186 201 24 38 187 202 23 38 188 204 22 38 189 205 21 38 190 207 20 38 191 207 19 38 193 208 18 38 194 209 17 38 195 211 16 38 196 211 15 38 197 213 14 38 198 216 13 38 199 216 12 38 200 217 11 38 201 219 10 38 202 219 9 38 203 220 8 38 204 223 7 38 205 224 6 38 206 226 5 38 207 227 4 38 208 228 3 38 209 230 2 38 210 230 1 38 211 230 0 38 212 231 0 38 213 231 0 38 213 234 0 38 214 235 0 38 214 238 0 38 214 238 255 37 0 239 254 37 0 239 254 37 0 239 254 37 0 239 253 37 0 238 252 37 0 235 251 37 0 235 250 37 0 234 249 37 0 231 248 37 0 231 247 37 0 230 246 37 0 230 245 37 0 230 244 37 0 228 243 37 0 227 242 37 0 226 241 37 0 223 240 37 0 221 239 37 0 220 238 37 0 219 237 37 0 219 236 37 0 217 235 37 0 216 234 37 0 216 233 37 0 213 232 37 0 211 231 37 0 211 230 37 0 209 229 37 0 208 228 37 0 207 227 37 0 207 226 37 0 205 224 37 0 204 223 37 0 202 222 37 0 201 221 37 0 199 220 37 0 198 219 37 0 197 218 37 0 195 217 37 0 189 216 37 0 188 215 37 0 186 214 37 0 185 213 37 1 185 212 37 1 184 211 37 2 182 210 37 3 181 209 37 4 179 208 37 5 178 207 37 6 178 206 37 7 176 205 37 8 175 204 37 9 174 203 37 10 172 202 37 11 171 201 37 12 166 200 37 13 165 199 37 14 163 198 37 15 162 197 37 16 160 196 37 17 160 195 37 18 159 194 37 19 159 193 37 20 157 191 37 21 157 190 37 22 156 189 37 23 156 188 37 24 155 187 37 25 153 186 37 26 153 185 37 27 152 184 37 29 150 183 37 30 150 182 37 31 149 181 37 32 145 180 37 33 144 179 37 34 143 178 37 35 140 177 37 36 138 176 37 37 137 175 37 38 135 174 37 39 134 173 37 40 133 172 37 41 131 171 37 42 130 170 37 43 128 169 37 44 126 168 37 45 122 167 37 46 122 166 37 47 121 165 37 48 120 164 37 49 120 163 37 50 118 162 37 51 117 161 37 52 115 160 37 53 114 158 37 54 112 157 37 55 111 156 37 56 110 155 37 57 108 154 37 58 104 153 37 59 104 152 37 60 103 151 37 62 102 150 37 63 102 149 37 64 102 148 37 65 99 147 37 66 99 146 37 67 99 145 37 68 98 144 37 69 96 143 37 70 96 142 37 71 95 141 37 72 95 140 37 73 93 139 37 74 93 138 37 75 93 137 37 76 93 136 37 77 93 135 37 78 93 134 37 79 93 133 37 80 93 132 37 81 93 131 37 82 93 130 37 83 93 129 37 84 93 128 37 85 93 127 37 86 93 125 37 87 93 124 37 88 93 123 37 89 93 122 37 90 93 121 37 91 93 120 37 92 93 119 37 93 93 118 37 95 93 117 37 96 93 116 37 97 93 115 37 98 93 114 37 99 93 113 37 100 93 112 37 101 93 111 37 102 93 110 37 103 93 109 37 104 93 108 37 105 93 107 37 106 95 106 37 107 95 105 37 108 96 104 37 109 98 103 37 110 98 102 37 111 99 101 37 112 99 100 37 113 102 99 37 114 102 98 37 115 102 97 37 116 103 96 37 117 104 95 37 118 104 94 37 119 108 92 37 120 110 91 37 121 111 90 37 122 112 89 37 123 114 88 37 124 115 87 37 125 117 86 37 126 118 85 37 128 118 84 37 129 120 83 37 130 121 82 37 131 122 81 37 132 122 80 37 133 126 79 37 134 128 78 37 135 130 77 37 136 131 76 37 137 133 75 37 138 134 74 37 139 135 73 37 140 137 72 37 141 138 71 37 142 140 70 37 143 141 69 37 144 144 68 37 145 145 67 37 146 149 66 37 147 149 65 37 148 150 64 37 149 152 63 37 150 153 62 37 151 153 61 37 152 155 59 37 153 156 58 37 154 156 57 37 155 157 56 37 156 157 55 37 157 159 54 37 158 159 53 37 159 160 52 37 161 160 51 37 162 162 50 37 163 163 49 37 164 165 48 37 165 166 47 37 166 167 46 37 167 172 45 37 168 174 44 37 169 175 43 37 170 176 42 37 171 176 41 37 172 178 40 37 173 179 39 37 174 181 38 37 175 182 37 37 176 184 36 37 177 184 35 37 178 185 34 37 179 186 33 37 180 188 32 37 181 189 31 37 182 194 30 37 183 195 29 37 184 198 28 37 185 199 26 37 186 201 25 37 187 202 24 37 188 204 23 37 189 205 22 37 190 207 21 37 191 207 20 37 192 208 19 37 194 209 18 37 195 209 17 37 196 211 16 37 197 213 15 37 198 216 14 37 199 216 13 37 200 217 12 37 201 217 11 37 202 219 10 37 203 220 9 37 204 221 8 37 205 223 7 37 206 224 6 37 207 227 5 37 208 228 4 37 209 230 3 37 210 230 2 37 211 230 1 37 212 231 0 37 213 231 0 37 214 234 0 37 214 234 0 37 214 235 0 37 215 238 0 37 215 238 255 36 0 239 254 36 0 239 254 36 0 239 254 36 0 239 253 36 0 238 252 36 0 238 251 36 0 235 250 36 0 234 249 36 0 231 248 36 0 231 247 36 0 231 246 36 0 230 245 36 0 230 244 36 0 228 243 36 0 228 242 36 0 226 241 36 0 224 240 36 0 223 239 36 0 221 238 36 0 220 237 36 0 219 236 36 0 219 235 36 0 217 234 36 0 216 233 36 0 216 232 36 0 213 231 36 0 211 230 36 0 209 229 36 0 209 228 36 0 208 227 36 0 208 226 36 0 207 224 36 0 205 223 36 0 204 222 36 0 202 221 36 0 201 220 36 0 199 219 36 0 198 218 36 0 197 217 36 0 195 216 36 0 189 215 36 1 188 214 36 1 186 213 36 2 185 212 36 2 185 211 36 3 184 210 36 4 182 209 36 5 181 208 36 6 179 207 36 7 178 206 36 8 178 205 36 9 176 204 36 10 175 203 36 11 174 202 36 12 172 201 36 13 171 200 36 14 167 199 36 15 166 198 36 16 163 197 36 17 163 196 36 18 162 195 36 19 160 194 36 20 160 193 36 21 159 191 36 22 159 190 36 24 157 189 36 25 156 188 36 26 156 187 36 27 155 186 36 28 155 185 36 29 153 184 36 30 153 183 36 31 152 182 36 32 150 181 36 33 149 180 36 34 145 179 36 35 144 178 36 36 143 177 36 37 141 176 36 38 140 175 36 39 137 174 36 40 135 173 36 41 134 172 36 42 133 171 36 43 133 170 36 44 131 169 36 45 130 168 36 46 128 167 36 47 126 166 36 48 122 165 36 49 122 164 36 50 121 163 36 51 120 162 36 52 118 161 36 53 118 160 36 54 117 158 36 55 115 157 36 57 112 156 36 58 111 155 36 59 110 154 36 60 108 153 36 61 107 152 36 62 107 151 36 63 104 150 36 64 104 149 36 65 104 148 36 66 103 147 36 67 103 146 36 68 102 145 36 69 102 144 36 70 99 143 36 71 98 142 36 72 98 141 36 73 96 140 36 74 96 139 36 75 96 138 36 76 96 137 36 77 96 136 36 78 96 135 36 79 96 134 36 80 96 133 36 81 96 132 36 82 96 131 36 83 96 130 36 84 96 129 36 85 96 128 36 86 96 127 36 87 96 125 36 88 96 124 36 90 96 123 36 91 96 122 36 92 96 121 36 93 96 120 36 94 96 119 36 95 96 118 36 96 96 117 36 97 96 116 36 98 96 115 36 99 96 114 36 100 96 113 36 101 96 112 36 102 96 111 36 103 96 110 36 104 96 109 36 105 96 108 36 106 96 107 36 107 96 106 36 108 98 105 36 109 99 104 36 110 99 103 36 111 102 102 36 112 103 101 36 113 103 100 36 114 104 99 36 115 104 98 36 116 104 97 36 117 107 96 36 118 107 95 36 119 108 94 36 120 110 92 36 121 111 91 36 123 112 90 36 124 114 89 36 125 117 88 36 126 118 87 36 127 118 86 36 128 120 85 36 129 121 84 36 130 121 83 36 131 122 82 36 132 126 81 36 133 128 80 36 134 128 79 36 135 130 78 36 136 131 77 36 137 133 76 36 138 134 75 36 139 135 74 36 140 137 73 36 141 138 72 36 142 140 71 36 143 143 70 36 144 144 69 36 145 145 68 36 146 149 67 36 147 150 66 36 148 152 65 36 149 152 64 36 150 153 63 36 151 155 62 36 152 155 61 36 153 156 59 36 154 156 58 36 156 157 57 36 157 159 56 36 158 159 55 36 159 160 54 36 160 160 53 36 161 162 52 36 162 162 51 36 163 163 50 36 164 165 49 36 165 167 48 36 166 171 47 36 167 172 46 36 168 174 45 36 169 175 44 36 170 176 43 36 171 178 42 36 172 178 41 36 173 179 40 36 174 181 39 36 175 182 38 36 176 182 37 36 177 184 36 36 178 185 35 36 179 186 34 36 180 188 33 36 181 189 32 36 182 194 31 36 183 195 30 36 184 198 29 36 185 199 28 36 186 201 26 36 187 202 25 36 189 204 24 36 190 205 23 36 191 207 22 36 192 207 21 36 193 208 20 36 194 209 19 36 195 209 18 36 196 211 17 36 197 213 16 36 198 216 15 36 199 216 14 36 200 217 13 36 201 219 12 36 202 219 11 36 203 220 10 36 204 220 9 36 205 221 8 36 206 224 7 36 207 226 6 36 208 227 5 36 209 228 4 36 210 230 3 36 211 230 2 36 212 231 1 36 213 231 0 36 214 231 0 36 215 234 0 36 215 235 0 36 216 238 0 36 216 238 0 36 216 239 255 35 0 240 254 35 0 240 254 35 0 239 254 35 0 239 253 35 0 239 252 35 0 238 251 35 0 235 250 35 0 234 249 35 0 234 248 35 0 231 247 35 0 231 246 35 0 231 245 35 0 230 244 35 0 230 243 35 0 228 242 35 0 227 241 35 0 224 240 35 0 223 239 35 0 221 238 35 0 220 237 35 0 220 236 35 0 219 235 35 0 217 234 35 0 217 233 35 0 216 232 35 0 213 231 35 0 211 230 35 0 211 229 35 0 209 228 35 0 208 227 35 0 208 226 35 0 207 224 35 0 207 223 35 0 205 222 35 0 204 221 35 0 202 220 35 0 201 219 35 0 199 218 35 0 198 217 35 0 197 216 35 1 195 215 35 2 189 214 35 2 188 213 35 3 186 212 35 3 185 211 35 4 184 210 35 5 184 209 35 6 182 208 35 7 181 207 35 9 179 206 35 10 179 205 35 10 178 204 35 11 176 203 35 12 175 202 35 13 174 201 35 14 172 200 35 15 171 199 35 17 167 198 35 18 166 197 35 18 165 196 35 19 163 195 35 20 163 194 35 21 162 193 35 22 160 191 35 24 159 190 35 25 159 189 35 26 157 188 35 27 156 187 35 28 156 186 35 29 155 185 35 30 155 184 35 31 153 183 35 32 153 182 35 34 152 181 35 35 150 180 35 35 149 179 35 36 145 178 35 37 144 177 35 38 143 176 35 39 141 175 35 40 140 174 35 42 138 173 35 43 137 172 35 43 135 171 35 44 134 170 35 45 133 169 35 46 131 168 35 47 130 167 35 48 128 166 35 50 126 165 35 51 126 164 35 51 122 163 35 52 121 162 35 53 120 161 35 54 120 160 35 55 118 158 35 57 117 157 35 58 115 156 35 59 114 155 35 60 112 154 35 61 111 153 35 62 110 152 35 63 108 151 35 64 108 150 35 65 108 149 35 67 107 148 35 68 107 147 35 68 107 146 35 69 104 145 35 70 104 144 35 71 103 143 35 72 102 142 35 73 99 141 35 75 99 140 35 76 98 139 35 76 98 138 35 77 98 137 35 78 98 136 35 79 98 135 35 80 98 134 35 81 98 133 35 83 98 132 35 84 98 131 35 84 98 130 35 85 98 129 35 86 98 128 35 87 98 127 35 88 98 125 35 90 98 124 35 91 98 123 35 92 98 122 35 93 98 121 35 94 98 120 35 95 98 119 35 96 98 118 35 97 98 117 35 98 98 116 35 100 98 115 35 101 98 114 35 101 98 113 35 102 98 112 35 103 98 111 35 104 98 110 35 105 98 109 35 106 98 108 35 108 98 107 35 109 99 106 35 109 102 105 35 110 102 104 35 111 103 103 35 112 104 102 35 113 107 101 35 114 107 100 35 116 107 99 35 117 108 98 35 117 108 97 35 118 108 96 35 119 110 95 35 120 111 94 35 121 112 92 35 123 114 91 35 124 115 90 35 125 117 89 35 126 118 88 35 127 120 87 35 128 120 86 35 129 121 85 35 130 122 84 35 131 126 83 35 133 126 82 35 134 128 81 35 134 130 80 35 135 131 79 35 136 133 78 35 137 134 77 35 138 135 76 35 139 137 75 35 141 138 74 35 142 138 73 35 142 141 72 35 143 143 71 35 144 144 70 35 145 145 69 35 146 149 68 35 147 150 67 35 149 152 66 35 150 152 65 35 150 153 64 35 151 155 63 35 152 155 62 35 153 156 61 35 154 156 59 35 156 157 58 35 157 159 57 35 158 159 56 35 159 160 55 35 160 162 54 35 161 162 53 35 162 163 52 35 163 165 51 35 164 166 50 35 166 167 49 35 167 171 48 35 167 172 47 35 168 174 46 35 169 175 45 35 170 176 44 35 171 178 43 35 172 178 42 35 174 179 41 35 175 181 40 35 175 182 39 35 176 182 38 35 177 184 37 35 178 185 36 35 179 186 35 35 180 188 34 35 182 189 33 35 183 194 32 35 183 195 31 35 184 197 30 35 185 199 29 35 186 201 28 35 187 202 26 35 189 204 25 35 190 205 24 35 191 207 23 35 192 207 22 35 193 208 21 35 194 208 20 35 195 209 19 35 196 211 18 35 197 211 17 35 199 213 16 35 200 216 15 35 200 217 14 35 201 217 13 35 202 219 12 35 203 220 11 35 204 220 10 35 205 221 9 35 207 223 8 35 208 224 7 35 208 226 6 35 209 228 5 35 210 228 4 35 211 230 3 35 212 230 2 35 213 231 1 35 215 231 0 35 215 234 0 35 216 234 0 35 217 235 0 35 217 238 0 35 217 239 0 35 217 239 255 34 0 240 254 34 0 240 254 34 0 239 254 34 0 239 253 34 0 239 252 34 0 238 251 34 0 235 250 34 0 235 249 34 0 234 248 34 0 234 247 34 0 231 246 34 0 231 245 34 0 230 244 34 0 230 243 34 0 228 242 34 0 227 241 34 0 226 240 34 0 224 239 34 0 223 238 34 0 221 237 34 0 220 236 34 0 219 235 34 0 219 234 34 0 217 233 34 0 216 232 34 0 216 231 34 0 213 230 34 0 211 229 34 0 209 228 34 0 209 227 34 0 208 226 34 0 208 224 34 0 207 223 34 0 207 222 34 0 205 221 34 0 204 220 34 0 202 219 34 0 201 218 34 0 199 217 34 1 198 216 34 2 197 215 34 2 195 214 34 3 189 213 34 4 188 212 34 4 186 211 34 5 185 210 34 6 184 209 34 7 184 208 34 9 182 207 34 10 181 206 34 11 179 205 34 12 179 204 34 12 178 203 34 13 176 202 34 14 176 201 34 15 175 200 34 17 174 199 34 18 172 198 34 19 171 197 34 20 167 196 34 20 166 195 34 21 165 194 34 22 163 193 34 24 163 191 34 25 162 190 34 26 160 189 34 27 159 188 34 28 157 187 34 29 156 186 34 30 156 185 34 31 155 184 34 32 155 183 34 34 153 182 34 35 153 181 34 36 152 180 34 37 150 179 34 37 149 178 34 38 145 177 34 39 144 176 34 40 143 175 34 42 141 174 34 43 140 173 34 44 140 172 34 45 138 171 34 45 137 170 34 46 135 169 34 47 134 168 34 48 133 167 34 50 131 166 34 51 130 165 34 52 128 164 34 53 126 163 34 53 122 162 34 54 122 161 34 55 121 160 34 57 120 158 34 58 118 157 34 59 117 156 34 60 115 155 34 61 114 154 34 62 112 153 34 63 111 152 34 64 111 151 34 65 111 150 34 67 111 149 34 68 110 148 34 69 110 147 34 70 110 146 34 70 108 145 34 71 108 144 34 72 107 143 34 73 104 142 34 75 103 141 34 76 102 140 34 77 102 139 34 78 102 138 34 78 102 137 34 79 102 136 34 80 102 135 34 81 102 134 34 83 102 133 34 84 102 132 34 85 102 131 34 86 102 130 34 86 102 129 34 87 102 128 34 88 102 127 34 90 102 125 34 91 102 124 34 92 102 123 34 93 102 122 34 94 102 121 34 95 102 120 34 96 102 119 34 97 102 118 34 98 102 117 34 100 102 116 34 101 102 115 34 102 102 114 34 103 102 113 34 103 102 112 34 104 102 111 34 105 102 110 34 106 102 109 34 108 102 108 34 109 102 107 34 110 103 106 34 111 104 105 34 111 107 104 34 112 107 103 34 113 108 102 34 114 110 101 34 116 110 100 34 117 110 99 34 118 110 98 34 119 111 97 34 119 111 96 34 120 111 95 34 121 112 94 34 123 114 92 34 124 115 91 34 125 117 90 34 126 118 89 34 127 120 88 34 128 121 87 34 129 121 86 34 130 122 85 34 131 126 84 34 133 128 83 34 134 130 82 34 135 130 81 34 136 131 80 34 136 133 79 34 137 135 78 34 138 137 77 34 139 138 76 34 141 140 75 34 142 140 74 34 143 141 73 34 144 143 72 34 144 144 71 34 145 145 70 34 146 149 69 34 147 150 68 34 149 152 67 34 150 152 66 34 151 153 65 34 152 155 64 34 152 155 63 34 153 156 62 34 154 156 61 34 156 157 59 34 157 159 58 34 158 160 57 34 159 160 56 34 160 162 55 34 161 163 54 34 162 165 53 34 163 166 52 34 164 166 51 34 166 167 50 34 167 171 49 34 168 174 48 34 169 175 47 34 169 175 46 34 170 176 45 34 171 178 44 34 172 178 43 34 174 179 42 34 175 181 41 34 176 182 40 34 177 182 39 34 177 184 38 34 178 185 37 34 179 186 36 34 180 188 35 34 182 189 34 34 183 194 33 34 184 195 32 34 185 197 31 34 185 199 30 34 186 201 29 34 187 202 28 34 189 204 26 34 190 205 25 34 191 207 24 34 192 207 23 34 193 208 22 34 194 208 21 34 195 209 20 34 196 209 19 34 197 211 18 34 199 213 17 34 200 213 16 34 201 216 15 34 202 217 14 34 202 219 13 34 203 219 12 34 204 220 11 34 205 221 10 34 207 223 9 34 208 224 8 34 209 226 7 34 210 227 6 34 210 228 5 34 211 230 4 34 212 230 3 34 213 231 2 34 215 231 1 34 216 231 0 34 217 234 0 34 217 235 0 34 218 235 0 34 218 238 0 34 218 239 0 34 218 239 255 33 0 240 254 33 0 240 254 33 0 239 254 33 0 239 253 33 0 239 252 33 0 239 251 33 0 238 250 33 0 235 249 33 0 235 248 33 0 234 247 33 0 231 246 33 0 231 245 33 0 230 244 33 0 230 243 33 0 230 242 33 0 228 241 33 0 227 240 33 0 226 239 33 0 224 238 33 0 221 237 33 0 220 236 33 0 220 235 33 0 219 234 33 0 217 233 33 0 217 232 33 0 216 231 33 0 213 230 33 0 211 229 33 0 211 228 33 0 209 227 33 0 209 226 33 0 208 224 33 0 208 223 33 0 207 222 33 0 207 221 33 0 205 220 33 0 204 219 33 0 202 218 33 0 201 217 33 1 199 216 33 2 198 215 33 3 197 214 33 4 194 213 33 5 189 212 33 5 188 211 33 6 186 210 33 7 185 209 33 8 185 208 33 10 184 207 33 11 182 206 33 12 181 205 33 13 181 204 33 13 179 203 33 14 179 202 33 15 178 201 33 16 176 200 33 18 176 199 33 19 174 198 33 20 172 197 33 21 172 196 33 21 171 195 33 22 167 194 33 23 166 193 33 25 165 191 33 26 163 190 33 27 162 189 33 28 160 188 33 29 159 187 33 30 157 186 33 31 157 185 33 32 156 184 33 33 155 183 33 35 155 182 33 36 153 181 33 37 153 180 33 38 152 179 33 38 150 178 33 39 149 177 33 40 145 176 33 41 145 175 33 43 144 174 33 44 143 173 33 45 143 172 33 46 141 171 33 46 140 170 33 47 138 169 33 48 135 168 33 49 134 167 33 51 133 166 33 52 131 165 33 53 130 164 33 54 128 163 33 54 128 162 33 55 126 161 33 56 122 160 33 58 121 158 33 59 121 157 33 60 120 156 33 61 118 155 33 62 117 154 33 63 115 153 33 64 114 152 33 65 114 151 33 66 114 150 33 68 114 149 33 69 114 148 33 70 112 147 33 71 112 146 33 71 112 145 33 72 111 144 33 73 110 143 33 74 108 142 33 76 107 141 33 77 104 140 33 78 104 139 33 79 104 138 33 79 104 137 33 80 104 136 33 81 104 135 33 82 104 134 33 84 104 133 33 85 104 132 33 86 104 131 33 87 104 130 33 87 104 129 33 88 104 128 33 89 104 127 33 91 104 125 33 92 104 124 33 93 104 123 33 94 104 122 33 95 104 121 33 96 104 120 33 97 104 119 33 98 104 118 33 99 104 117 33 101 104 116 33 102 104 115 33 103 104 114 33 104 104 113 33 104 104 112 33 105 104 111 33 106 104 110 33 107 104 109 33 109 104 108 33 110 104 107 33 111 107 106 33 112 108 105 33 112 110 104 33 113 111 103 33 114 111 102 33 115 112 101 33 117 112 100 33 118 112 99 33 119 114 98 33 120 114 97 33 120 114 96 33 121 114 95 33 122 115 94 33 124 117 92 33 125 118 91 33 126 120 90 33 127 121 89 33 128 121 88 33 129 122 87 33 130 126 86 33 131 128 85 33 132 128 84 33 134 130 83 33 135 131 82 33 136 133 81 33 137 134 80 33 137 135 79 33 138 138 78 33 139 140 77 33 140 141 76 33 142 141 75 33 143 143 74 33 144 144 73 33 145 144 72 33 145 145 71 33 146 149 70 33 147 150 69 33 148 152 68 33 150 152 67 33 151 153 66 33 152 155 65 33 153 155 64 33 153 156 63 33 154 156 62 33 155 157 61 33 157 159 59 33 158 160 58 33 159 162 57 33 160 163 56 33 161 165 55 33 162 166 54 33 163 167 53 33 164 167 52 33 165 171 51 33 167 172 50 33 168 174 49 33 169 175 48 33 170 176 47 33 170 178 46 33 171 178 45 33 172 179 44 33 173 179 43 33 175 181 42 33 176 182 41 33 177 182 40 33 178 184 39 33 178 185 38 33 179 186 37 33 180 188 36 33 181 189 35 33 183 194 34 33 184 195 33 33 185 198 32 33 186 199 31 33 186 201 30 33 187 202 29 33 188 204 28 33 190 205 26 33 191 207 25 33 192 207 24 33 193 208 23 33 194 208 22 33 195 209 21 33 196 209 20 33 197 211 19 33 198 211 18 33 200 213 17 33 201 216 16 33 202 217 15 33 203 217 14 33 203 219 13 33 204 220 12 33 205 220 11 33 206 221 10 33 208 224 9 33 209 226 8 33 210 227 7 33 211 228 6 33 211 228 5 33 212 230 4 33 213 230 3 33 214 231 2 33 216 231 1 33 217 234 0 33 218 234 0 33 218 235 0 33 219 238 0 33 219 238 0 33 219 239 0 33 219 239 255 32 0 240 254 32 0 240 254 32 0 239 254 32 0 239 253 32 0 239 252 32 0 239 251 32 0 238 250 32 0 238 249 32 0 235 248 32 0 234 247 32 0 231 246 32 0 231 245 32 0 231 244 32 0 230 243 32 0 230 242 32 0 228 241 32 0 227 240 32 0 226 239 32 0 224 238 32 0 223 237 32 0 221 236 32 0 220 235 32 0 219 234 32 0 219 233 32 0 217 232 32 0 216 231 32 0 213 230 32 0 213 229 32 0 211 228 32 0 211 227 32 0 209 226 32 0 209 224 32 0 208 223 32 0 208 222 32 0 207 221 32 0 205 220 32 0 205 219 32 0 204 218 32 1 202 217 32 2 201 216 32 3 199 215 32 4 198 214 32 5 197 213 32 6 194 212 32 6 189 211 32 7 188 210 32 8 186 209 32 9 185 208 32 10 184 207 32 12 184 206 32 13 182 205 32 14 181 204 32 14 181 203 32 15 179 202 32 16 179 201 32 17 178 200 32 18 178 199 32 20 176 198 32 21 175 197 32 22 174 196 32 22 172 195 32 23 171 194 32 24 167 193 32 26 166 191 32 27 165 190 32 28 163 189 32 29 162 188 32 30 160 187 32 31 159 186 32 32 157 185 32 33 156 184 32 34 156 183 32 35 155 182 32 37 155 181 32 38 153 180 32 39 153 179 32 39 152 178 32 40 150 177 32 41 150 176 32 42 149 175 32 43 145 174 32 45 145 173 32 46 144 172 32 47 143 171 32 47 143 170 32 48 140 169 32 49 138 168 32 50 137 167 32 51 135 166 32 53 133 165 32 54 131 164 32 55 131 163 32 55 130 162 32 56 128 161 32 57 126 160 32 59 126 158 32 60 122 157 32 61 121 156 32 62 121 155 32 63 118 154 32 64 118 153 32 65 117 152 32 66 117 151 32 67 115 150 32 68 115 149 32 70 115 148 32 71 115 147 32 72 115 146 32 72 114 145 32 73 114 144 32 74 112 143 32 75 111 142 32 76 110 141 32 78 108 140 32 79 108 139 32 80 107 138 32 80 107 137 32 81 107 136 32 82 107 135 32 83 107 134 32 84 107 133 32 86 107 132 32 87 107 131 32 88 107 130 32 88 107 129 32 89 107 128 32 90 107 127 32 92 107 125 32 93 107 124 32 94 107 123 32 95 107 122 32 96 107 121 32 97 107 120 32 98 107 119 32 99 107 118 32 100 107 117 32 101 107 116 32 103 107 115 32 104 107 114 32 105 107 113 32 105 107 112 32 106 107 111 32 107 107 110 32 108 107 109 32 109 108 108 32 111 108 107 32 112 110 106 32 113 111 105 32 113 112 104 32 114 114 103 32 115 114 102 32 116 115 101 32 117 115 100 32 119 115 99 32 120 115 98 32 121 115 97 32 121 117 96 32 122 117 95 32 123 118 94 32 125 118 92 32 126 121 91 32 127 121 90 32 128 122 89 32 129 126 88 32 130 126 87 32 131 128 86 32 132 130 85 32 133 130 84 32 134 131 83 32 136 133 82 32 137 134 81 32 138 135 80 32 138 138 79 32 139 140 78 32 140 141 77 32 141 143 76 32 142 144 75 32 144 145 74 32 145 145 73 32 146 149 72 32 146 149 71 32 147 150 70 32 148 152 69 32 149 152 68 32 150 153 67 32 152 155 66 32 153 155 65 32 154 156 64 32 154 156 63 32 155 157 62 32 156 159 61 32 158 160 59 32 159 162 58 32 160 163 57 32 161 165 56 32 162 166 55 32 163 167 54 32 164 171 53 32 165 172 52 32 166 174 51 32 167 175 50 32 169 176 49 32 170 178 48 32 171 178 47 32 171 179 46 32 172 179 45 32 173 181 44 32 174 181 43 32 175 182 42 32 177 182 41 32 178 184 40 32 179 185 39 32 179 186 38 32 180 188 37 32 181 189 36 32 182 194 35 32 183 195 34 32 185 197 33 32 186 199 32 32 187 201 31 32 187 202 30 32 188 204 29 32 189 205 28 32 191 205 26 32 192 207 25 32 193 208 24 32 194 208 23 32 195 209 22 32 196 209 21 32 197 209 20 32 198 211 19 32 199 213 18 32 200 213 17 32 202 216 16 32 203 217 15 32 204 219 14 32 204 219 13 32 205 220 12 32 206 221 11 32 207 223 10 32 208 224 9 32 210 226 8 32 211 227 7 32 212 228 6 32 212 230 5 32 213 230 4 32 214 230 3 32 215 231 2 32 216 231 1 32 218 234 0 32 218 235 0 32 219 238 0 32 220 238 0 32 220 239 0 32 220 239 0 32 220 239 255 31 0 240 254 31 0 240 254 31 0 239 254 31 0 239 253 31 0 239 252 31 0 239 251 31 0 239 250 31 0 238 249 31 0 235 248 31 0 234 247 31 0 234 246 31 0 231 245 31 0 231 244 31 0 230 243 31 0 230 242 31 0 230 241 31 0 228 240 31 0 227 239 31 0 226 238 31 0 223 237 31 0 221 236 31 0 220 235 31 0 219 234 31 0 219 233 31 0 217 232 31 0 216 231 31 0 216 230 31 0 213 229 31 0 213 228 31 0 211 227 31 0 211 226 31 0 209 224 31 0 209 223 31 0 208 222 31 0 207 221 31 0 207 220 31 0 205 219 31 1 204 218 31 1 204 217 31 2 202 216 31 3 201 215 31 4 199 214 31 5 198 213 31 6 197 212 31 7 194 211 31 8 189 210 31 9 188 209 31 10 186 208 31 11 185 207 31 12 184 206 31 13 184 205 31 14 182 204 31 15 181 203 31 16 181 202 31 17 181 201 31 18 179 200 31 19 179 199 31 20 178 198 31 21 176 197 31 22 175 196 31 23 175 195 31 24 174 194 31 25 172 193 31 27 171 191 31 28 166 190 31 29 165 189 31 30 163 188 31 31 162 187 31 32 160 186 31 33 159 185 31 34 157 184 31 35 156 183 31 36 156 182 31 37 155 181 31 38 155 180 31 39 153 179 31 40 153 178 31 41 152 177 31 42 152 176 31 43 150 175 31 44 150 174 31 45 149 173 31 46 149 172 31 47 145 171 31 48 144 170 31 49 143 169 31 50 141 168 31 51 138 167 31 52 137 166 31 53 135 165 31 54 134 164 31 55 133 163 31 56 131 162 31 57 130 161 31 58 130 160 31 60 128 158 31 61 126 157 31 62 126 156 31 63 122 155 31 64 121 154 31 65 120 153 31 66 120 152 31 67 118 151 31 68 118 150 31 69 118 149 31 70 118 148 31 71 118 147 31 72 117 146 31 73 117 145 31 74 115 144 31 75 114 143 31 76 114 142 31 77 112 141 31 78 111 140 31 79 111 139 31 80 110 138 31 81 110 137 31 82 110 136 31 83 110 135 31 84 110 134 31 85 110 133 31 86 110 132 31 87 110 131 31 88 110 130 31 89 110 129 31 90 110 128 31 91 110 127 31 93 110 125 31 94 110 124 31 95 110 123 31 96 110 122 31 97 110 121 31 98 110 120 31 99 110 119 31 100 110 118 31 101 110 117 31 102 110 116 31 103 110 115 31 104 110 114 31 105 110 113 31 106 110 112 31 107 110 111 31 108 110 110 31 109 110 109 31 110 111 108 31 111 111 107 31 112 112 106 31 113 114 105 31 114 114 104 31 115 115 103 31 116 117 102 31 117 117 101 31 118 118 100 31 119 118 99 31 120 118 98 31 121 118 97 31 122 118 96 31 123 120 95 31 124 120 94 31 126 121 92 31 127 122 91 31 128 126 90 31 129 126 89 31 130 128 88 31 131 130 87 31 132 130 86 31 133 131 85 31 134 133 84 31 135 134 83 31 136 135 82 31 137 137 81 31 138 138 80 31 139 140 79 31 140 143 78 31 141 144 77 31 142 145 76 31 143 149 75 31 144 149 74 31 145 150 73 31 146 150 72 31 147 152 71 31 148 152 70 31 149 153 69 31 150 153 68 31 151 155 67 31 152 155 66 31 153 156 65 31 154 156 64 31 155 157 63 31 156 159 62 31 157 160 61 31 159 162 59 31 160 163 58 31 161 165 57 31 162 166 56 31 163 167 55 31 164 171 54 31 165 172 53 31 166 174 52 31 167 175 51 31 168 176 50 31 169 178 49 31 170 179 48 31 171 179 47 31 172 181 46 31 173 181 45 31 174 181 44 31 175 182 43 31 176 184 42 31 177 184 41 31 178 185 40 31 179 186 39 31 180 188 38 31 181 189 37 31 182 194 36 31 183 195 35 31 184 197 34 31 185 199 33 31 186 201 32 31 187 202 31 31 188 202 30 31 189 204 29 31 190 205 28 31 192 207 26 31 193 207 25 31 194 208 24 31 195 209 23 31 196 209 22 31 197 211 21 31 198 211 20 31 199 211 19 31 200 213 18 31 201 216 17 31 202 216 16 31 203 217 15 31 204 219 14 31 205 219 13 31 206 220 12 31 207 221 11 31 208 223 10 31 209 226 9 31 210 227 8 31 211 228 7 31 212 230 6 31 213 230 5 31 214 230 4 31 215 231 3 31 216 231 2 31 217 234 1 31 218 234 0 31 219 235 0 31 220 238 0 31 220 239 0 31 221 239 0 31 221 239 0 31 221 239 255 30 0 240 254 30 0 240 254 30 0 239 254 30 0 239 253 30 0 239 252 30 0 239 251 30 0 239 250 30 0 238 249 30 0 235 248 30 0 235 247 30 0 234 246 30 0 231 245 30 0 231 244 30 0 230 243 30 0 230 242 30 0 230 241 30 0 228 240 30 0 228 239 30 0 226 238 30 0 224 237 30 0 223 236 30 0 221 235 30 0 220 234 30 0 219 233 30 0 219 232 30 0 217 231 30 0 216 230 30 0 216 229 30 0 213 228 30 0 213 227 30 0 211 226 30 0 211 224 30 0 209 223 30 0 208 222 30 0 208 221 30 0 207 220 30 1 205 219 30 1 205 218 30 2 204 217 30 3 204 216 30 4 202 215 30 5 201 214 30 6 199 213 30 7 198 212 30 8 197 211 30 9 194 210 30 10 189 209 30 11 188 208 30 12 186 207 30 13 185 206 30 14 185 205 30 15 184 204 30 16 182 203 30 17 182 202 30 18 181 201 30 19 181 200 30 20 179 199 30 21 179 198 30 22 178 197 30 23 178 196 30 24 176 195 30 25 175 194 30 26 174 193 30 28 172 191 30 29 171 190 30 30 166 189 30 31 165 188 30 32 163 187 30 33 162 186 30 34 160 185 30 35 159 184 30 36 157 183 30 37 157 182 30 38 156 181 30 39 155 180 30 40 155 179 30 41 155 178 30 42 153 177 30 43 153 176 30 44 152 175 30 45 152 174 30 46 152 173 30 47 150 172 30 48 149 171 30 49 149 170 30 50 145 169 30 51 143 168 30 52 141 167 30 53 140 166 30 54 138 165 30 55 135 164 30 56 134 163 30 57 133 162 30 58 133 161 30 59 131 160 30 61 131 158 30 62 130 157 30 63 128 156 30 64 128 155 30 65 126 154 30 66 122 153 30 67 121 152 30 68 121 151 30 69 121 150 30 70 121 149 30 71 120 148 30 72 120 147 30 73 120 146 30 74 118 145 30 75 118 144 30 76 117 143 30 77 115 142 30 78 115 141 30 79 114 140 30 80 114 139 30 81 114 138 30 82 114 137 30 83 114 136 30 84 114 135 30 85 114 134 30 86 114 133 30 87 114 132 30 88 114 131 30 89 114 130 30 90 114 129 30 91 114 128 30 92 114 127 30 94 114 125 30 95 114 124 30 96 114 123 30 97 114 122 30 98 114 121 30 99 114 120 30 100 114 119 30 101 114 118 30 102 114 117 30 103 114 116 30 104 114 115 30 105 114 114 30 106 114 113 30 107 114 112 30 108 114 111 30 109 114 110 30 110 114 109 30 111 114 108 30 112 114 107 30 113 114 106 30 114 115 105 30 115 117 104 30 116 117 103 30 117 118 102 30 118 120 101 30 119 120 100 30 120 120 99 30 121 121 98 30 122 121 97 30 123 121 96 30 124 121 95 30 125 122 94 30 127 126 92 30 128 126 91 30 129 128 90 30 130 130 89 30 131 131 88 30 132 131 87 30 133 133 86 30 134 133 85 30 135 134 84 30 136 135 83 30 137 137 82 30 138 140 81 30 139 141 80 30 140 143 79 30 141 144 78 30 142 145 77 30 143 149 76 30 144 150 75 30 145 150 74 30 146 152 73 30 147 152 72 30 148 153 71 30 149 153 70 30 150 155 69 30 151 155 68 30 152 155 67 30 153 156 66 30 154 157 65 30 155 157 64 30 156 159 63 30 157 160 62 30 158 162 61 30 160 163 59 30 161 165 58 30 162 166 57 30 163 167 56 30 164 172 55 30 165 174 54 30 166 175 53 30 167 176 52 30 168 176 51 30 169 178 50 30 170 179 49 30 171 179 48 30 172 181 47 30 173 181 46 30 174 182 45 30 175 182 44 30 176 184 43 30 177 184 42 30 178 185 41 30 179 186 40 30 180 188 39 30 181 189 38 30 182 194 37 30 183 195 36 30 184 198 35 30 185 199 34 30 186 201 33 30 187 202 32 30 188 202 31 30 189 204 30 30 190 205 29 30 191 205 28 30 193 207 26 30 194 208 25 30 195 208 24 30 196 209 23 30 197 209 22 30 198 211 21 30 199 211 20 30 200 213 19 30 201 216 18 30 202 216 17 30 203 217 16 30 204 219 15 30 205 219 14 30 206 220 13 30 207 221 12 30 208 223 11 30 209 224 10 30 210 226 9 30 211 227 8 30 212 228 7 30 213 230 6 30 214 230 5 30 215 230 4 30 216 231 3 30 217 231 2 30 218 234 1 30 219 234 0 30 220 235 0 30 221 238 0 30 221 239 0 30 222 239 0 30 222 239 0 30 222 239 255 29 0 240 254 29 0 240 254 29 0 240 254 29 0 240 253 29 0 240 252 29 0 239 251 29 0 239 250 29 0 238 249 29 0 238 248 29 0 235 247 29 0 234 246 29 0 231 245 29 0 231 244 29 0 231 243 29 0 231 242 29 0 230 241 29 0 230 240 29 0 228 239 29 0 227 238 29 0 224 237 29 0 223 236 29 0 221 235 29 0 220 234 29 0 220 233 29 0 219 232 29 0 217 231 29 0 217 230 29 0 216 229 29 0 216 228 29 0 213 227 29 0 213 226 29 0 211 224 29 0 209 223 29 0 209 222 29 0 208 221 29 1 207 220 29 1 207 219 29 2 205 218 29 3 205 217 29 4 204 216 29 5 204 215 29 6 202 214 29 7 201 213 29 8 199 212 29 9 198 211 29 10 197 210 29 11 194 209 29 12 189 208 29 13 188 207 29 14 186 206 29 15 185 205 29 16 185 204 29 17 184 203 29 18 182 202 29 19 182 201 29 20 181 200 29 21 181 199 29 22 179 198 29 23 179 197 29 24 178 196 29 25 178 195 29 26 176 194 29 27 175 193 29 29 174 191 29 30 172 190 29 31 171 189 29 32 166 188 29 33 165 187 29 34 163 186 29 35 162 185 29 36 160 184 29 37 159 183 29 38 157 182 29 39 157 181 29 40 156 180 29 41 156 179 29 42 155 178 29 43 155 177 29 44 155 176 29 45 153 175 29 46 153 174 29 47 153 173 29 48 152 172 29 49 150 171 29 50 150 170 29 51 149 169 29 52 145 168 29 53 144 167 29 54 143 166 29 55 140 165 29 56 138 164 29 57 137 163 29 58 135 162 29 59 134 161 29 60 134 160 29 62 133 158 29 63 131 157 29 64 131 156 29 65 130 155 29 66 128 154 29 67 126 153 29 68 126 152 29 69 122 151 29 70 122 150 29 71 122 149 29 72 122 148 29 73 121 147 29 74 121 146 29 75 120 145 29 76 118 144 29 77 118 143 29 78 117 142 29 79 117 141 29 80 117 140 29 81 115 139 29 82 115 138 29 83 115 137 29 84 115 136 29 85 115 135 29 86 115 134 29 87 115 133 29 88 115 132 29 89 115 131 29 90 115 130 29 91 115 129 29 92 115 128 29 93 115 127 29 95 115 125 29 96 115 124 29 97 115 123 29 98 115 122 29 99 115 121 29 100 115 120 29 101 115 119 29 102 115 118 29 103 115 117 29 104 115 116 29 105 115 115 29 106 115 114 29 107 115 113 29 108 115 112 29 109 115 111 29 110 115 110 29 111 115 109 29 112 115 108 29 113 117 107 29 114 117 106 29 115 117 105 29 116 118 104 29 117 118 103 29 118 120 102 29 119 121 101 29 120 121 100 29 121 121 99 29 122 122 98 29 123 122 97 29 124 122 96 29 125 126 95 29 126 126 94 29 128 128 92 29 129 130 91 29 130 131 90 29 131 131 89 29 132 133 88 29 133 134 87 29 134 134 86 29 135 135 85 29 136 137 84 29 137 138 83 29 138 140 82 29 139 141 81 29 140 144 80 29 141 145 79 29 142 149 78 29 143 150 77 29 144 150 76 29 145 152 75 29 146 152 74 29 147 153 73 29 148 153 72 29 149 155 71 29 150 155 70 29 151 155 69 29 152 156 68 29 153 156 67 29 154 157 66 29 155 157 65 29 156 159 64 29 157 160 63 29 158 162 62 29 159 163 61 29 161 165 59 29 162 166 58 29 163 171 57 29 164 172 56 29 165 174 55 29 166 175 54 29 167 176 53 29 168 176 52 29 169 178 51 29 170 179 50 29 171 179 49 29 172 181 48 29 173 181 47 29 174 182 46 29 175 182 45 29 176 184 44 29 177 184 43 29 178 185 42 29 179 186 41 29 180 188 40 29 181 189 39 29 182 194 38 29 183 195 37 29 184 198 36 29 185 199 35 29 186 201 34 29 187 202 33 29 188 202 32 29 189 204 31 29 190 204 30 29 191 205 29 29 192 207 28 29 194 207 26 29 195 208 25 29 196 209 24 29 197 209 23 29 198 211 22 29 199 213 21 29 200 213 20 29 201 216 19 29 202 216 18 29 203 217 17 29 204 217 16 29 205 219 15 29 206 220 14 29 207 220 13 29 208 221 12 29 209 223 11 29 210 224 10 29 211 227 9 29 212 228 8 29 213 230 7 29 214 230 6 29 215 231 5 29 216 231 4 29 217 231 3 29 218 231 2 29 219 234 1 29 220 235 0 29 221 238 0 29 222 238 0 29 223 239 0 29 223 239 0 29 223 240 0 29 223 240 255 28 0 240 254 28 0 240 254 28 0 240 254 28 0 240 253 28 0 240 252 28 0 239 251 28 0 239 250 28 0 238 249 28 0 238 248 28 0 235 247 28 0 234 246 28 0 231 245 28 0 231 244 28 0 231 243 28 0 231 242 28 0 230 241 28 0 230 240 28 0 228 239 28 0 227 238 28 0 226 237 28 0 224 236 28 0 223 235 28 0 221 234 28 0 220 233 28 0 220 232 28 0 219 231 28 0 217 230 28 0 217 229 28 0 216 228 28 0 216 227 28 0 213 226 28 0 213 224 28 0 211 223 28 1 209 222 28 1 208 221 28 2 208 220 28 2 207 219 28 3 205 218 28 4 205 217 28 5 205 216 28 6 204 215 28 7 204 214 28 8 202 213 28 9 201 212 28 10 199 211 28 11 198 210 28 12 197 209 28 13 195 208 28 14 189 207 28 15 188 206 28 16 186 205 28 17 185 204 28 18 185 203 28 19 184 202 28 20 182 201 28 21 182 200 28 22 181 199 28 24 181 198 28 25 181 197 28 26 179 196 28 27 178 195 28 28 178 194 28 29 176 193 28 30 175 191 28 31 174 190 28 32 172 189 28 33 171 188 28 34 166 187 28 35 165 186 28 36 163 185 28 37 162 184 28 38 160 183 28 39 159 182 28 40 157 181 28 41 157 180 28 42 157 179 28 43 156 178 28 44 156 177 28 45 156 176 28 46 155 175 28 47 155 174 28 48 153 173 28 49 153 172 28 50 152 171 28 51 152 170 28 52 150 169 28 53 149 168 28 54 145 167 28 55 144 166 28 57 143 165 28 58 141 164 28 59 140 163 28 60 138 162 28 61 137 161 28 62 137 160 28 63 135 158 28 64 134 157 28 65 133 156 28 66 131 155 28 67 130 154 28 68 130 153 28 69 128 152 28 70 128 151 28 71 128 150 28 72 126 149 28 73 126 148 28 74 122 147 28 75 122 146 28 76 121 145 28 77 121 144 28 78 120 143 28 79 120 142 28 80 120 141 28 81 118 140 28 82 118 139 28 83 118 138 28 84 118 137 28 85 118 136 28 86 118 135 28 87 118 134 28 88 118 133 28 90 118 132 28 91 118 131 28 92 118 130 28 93 118 129 28 94 118 128 28 95 118 127 28 96 118 125 28 97 118 124 28 98 118 123 28 99 118 122 28 100 118 121 28 101 118 120 28 102 118 119 28 103 118 118 28 104 118 117 28 105 118 116 28 106 118 115 28 107 118 114 28 108 118 113 28 109 118 112 28 110 118 111 28 111 118 110 28 112 118 109 28 113 118 108 28 114 118 107 28 115 120 106 28 116 120 105 28 117 120 104 28 118 121 103 28 119 121 102 28 120 122 101 28 121 122 100 28 123 126 99 28 124 126 98 28 125 128 97 28 126 128 96 28 127 128 95 28 128 130 94 28 129 130 92 28 130 131 91 28 131 133 90 28 132 134 89 28 133 135 88 28 134 137 87 28 135 137 86 28 136 138 85 28 137 140 84 28 138 141 83 28 139 143 82 28 140 144 81 28 141 145 80 28 142 149 79 28 143 150 78 28 144 152 77 28 145 152 76 28 146 153 75 28 147 153 74 28 148 155 73 28 149 155 72 28 150 156 71 28 151 156 70 28 152 156 69 28 153 157 68 28 154 157 67 28 156 157 66 28 157 159 65 28 158 160 64 28 159 162 63 28 160 163 62 28 161 165 61 28 162 166 59 28 163 171 58 28 164 172 57 28 165 174 56 28 166 175 55 28 167 176 54 28 168 178 53 28 169 178 52 28 170 179 51 28 171 179 50 28 172 181 49 28 173 181 48 28 174 182 47 28 175 182 46 28 176 184 45 28 177 184 44 28 178 185 43 28 179 186 42 28 180 188 41 28 181 189 40 28 182 194 39 28 183 195 38 28 184 198 37 28 185 199 36 28 186 201 35 28 187 202 34 28 189 202 33 28 190 204 32 28 191 204 31 28 192 205 30 28 193 205 29 28 194 207 28 28 195 208 26 28 196 208 25 28 197 209 24 28 198 211 23 28 199 211 22 28 200 213 21 28 201 216 20 28 202 216 19 28 203 217 18 28 204 217 17 28 205 219 16 28 206 219 15 28 207 220 14 28 208 221 13 28 209 223 12 28 210 224 11 28 211 226 10 28 212 227 9 28 213 228 8 28 214 230 7 28 215 230 6 28 216 231 5 28 217 231 4 28 218 231 3 28 219 231 2 28 220 234 1 28 222 235 0 28 223 238 0 28 223 238 0 28 224 239 0 28 224 239 0 28 224 240 0 28 224 240 255 26 0 240 254 26 0 240 254 26 0 240 254 26 0 240 253 26 0 240 252 26 0 239 251 26 0 239 250 26 0 238 249 26 0 238 248 26 0 235 247 26 0 234 246 26 0 231 245 26 0 231 244 26 0 231 243 26 0 231 242 26 0 230 241 26 0 230 240 26 0 230 239 26 0 228 238 26 0 227 237 26 0 226 236 26 0 224 235 26 0 223 234 26 0 221 233 26 0 220 232 26 0 220 231 26 0 219 230 26 0 219 229 26 0 217 228 26 0 216 227 26 0 216 226 26 0 213 224 26 1 211 223 26 2 211 222 26 2 209 221 26 3 208 220 26 3 208 219 26 4 207 218 26 5 207 217 26 6 205 216 26 7 205 215 26 9 204 214 26 10 204 213 26 10 202 212 26 11 201 211 26 12 199 210 26 13 198 209 26 14 197 208 26 15 195 207 26 17 194 206 26 18 189 205 26 18 188 204 26 19 186 203 26 20 185 202 26 21 184 201 26 22 184 200 26 24 182 199 26 25 182 198 26 26 181 197 26 27 181 196 26 28 179 195 26 29 179 194 26 30 178 193 26 31 176 191 26 32 175 190 26 34 174 189 26 35 172 188 26 35 171 187 26 36 167 186 26 37 166 185 26 38 163 184 26 39 162 183 26 40 160 182 26 42 160 181 26 43 159 180 26 43 159 179 26 44 159 178 26 45 157 177 26 46 157 176 26 47 157 175 26 48 156 174 26 50 155 173 26 51 155 172 26 51 153 171 26 52 153 170 26 53 152 169 26 54 152 168 26 55 150 167 26 57 149 166 26 58 145 165 26 59 144 164 26 60 143 163 26 61 141 162 26 62 140 161 26 63 140 160 26 64 138 158 26 65 137 157 26 67 135 156 26 68 134 155 26 68 133 154 26 69 133 153 26 70 131 152 26 71 131 151 26 72 130 150 26 73 130 149 26 75 128 148 26 76 128 147 26 76 126 146 26 77 126 145 26 78 122 144 26 79 122 143 26 80 122 142 26 81 122 141 26 83 121 140 26 84 121 139 26 84 121 138 26 85 121 137 26 86 121 136 26 87 121 135 26 88 121 134 26 90 121 133 26 91 121 132 26 92 121 131 26 93 121 130 26 94 121 129 26 95 121 128 26 96 121 127 26 97 121 125 26 98 121 124 26 100 121 123 26 101 121 122 26 101 121 121 26 102 121 120 26 103 121 119 26 104 121 118 26 105 121 117 26 106 121 116 26 108 121 115 26 109 121 114 26 109 121 113 26 110 121 112 26 111 121 111 26 112 121 110 26 113 121 109 26 114 121 108 26 116 121 107 26 117 122 106 26 117 122 105 26 118 122 104 26 119 122 103 26 120 126 102 26 121 126 101 26 123 128 100 26 124 128 99 26 125 130 98 26 126 130 97 26 127 131 96 26 128 131 95 26 129 133 94 26 130 133 92 26 131 134 91 26 133 135 90 26 134 137 89 26 134 138 88 26 135 140 87 26 136 140 86 26 137 141 85 26 138 143 84 26 139 144 83 26 141 145 82 26 142 149 81 26 142 150 80 26 143 152 79 26 144 152 78 26 145 153 77 26 146 153 76 26 147 155 75 26 149 155 74 26 150 156 73 26 150 156 72 26 151 157 71 26 152 157 70 26 153 159 69 26 154 159 68 26 156 159 67 26 157 160 66 26 158 160 65 26 159 162 64 26 160 163 63 26 161 165 62 26 162 167 61 26 163 171 59 26 164 172 58 26 166 174 57 26 167 175 56 26 167 176 55 26 168 178 54 26 169 179 53 26 170 179 52 26 171 181 51 26 172 181 50 26 174 182 49 26 175 182 48 26 175 182 47 26 176 184 46 26 177 185 45 26 178 186 44 26 179 186 43 26 180 188 42 26 182 189 41 26 183 194 40 26 183 197 39 26 184 198 38 26 185 199 37 26 186 201 36 26 187 202 35 26 189 204 34 26 190 204 33 26 191 205 32 26 192 205 31 26 193 205 30 26 194 207 29 26 195 207 28 26 196 208 26 26 197 209 25 26 199 211 24 26 200 211 23 26 200 213 22 26 201 216 21 26 202 216 20 26 203 217 19 26 204 217 18 26 205 219 17 26 207 219 16 26 208 220 15 26 208 221 14 26 209 223 13 26 210 224 12 26 211 226 11 26 212 227 10 26 213 228 9 26 215 230 8 26 216 230 7 26 216 230 6 26 217 231 5 26 218 231 4 26 219 231 3 26 220 231 2 26 222 234 1 26 223 235 0 26 224 238 0 26 225 238 0 26 225 239 0 26 225 239 0 26 226 240 0 26 226 240 255 25 0 240 254 25 0 240 254 25 0 240 254 25 0 240 253 25 0 240 252 25 0 239 251 25 0 239 250 25 0 238 249 25 0 238 248 25 0 235 247 25 0 234 246 25 0 234 245 25 0 231 244 25 0 231 243 25 0 231 242 25 0 230 241 25 0 230 240 25 0 230 239 25 0 228 238 25 0 228 237 25 0 227 236 25 0 226 235 25 0 224 234 25 0 223 233 25 0 221 232 25 0 220 231 25 0 220 230 25 0 219 229 25 0 219 228 25 0 217 227 25 0 217 226 25 1 216 224 25 2 213 223 25 2 211 222 25 3 211 221 25 4 209 220 25 4 208 219 25 5 208 218 25 6 207 217 25 7 207 216 25 9 205 215 25 10 205 214 25 11 205 213 25 12 204 212 25 12 202 211 25 13 201 210 25 14 199 209 25 15 198 208 25 17 197 207 25 18 195 206 25 19 194 205 25 20 189 204 25 20 188 203 25 21 186 202 25 22 185 201 25 24 185 200 25 25 184 199 25 26 182 198 25 27 182 197 25 28 182 196 25 29 181 195 25 30 181 194 25 31 179 193 25 32 178 191 25 34 176 190 25 35 175 189 25 36 174 188 25 37 172 187 25 37 171 186 25 38 167 185 25 39 166 184 25 40 165 183 25 42 163 182 25 43 162 181 25 44 162 180 25 45 160 179 25 45 160 178 25 46 160 177 25 47 159 176 25 48 159 175 25 50 157 174 25 51 156 173 25 52 156 172 25 53 155 171 25 53 155 170 25 54 155 169 25 55 153 168 25 57 153 167 25 58 152 166 25 59 150 165 25 60 149 164 25 61 145 163 25 62 144 162 25 63 144 161 25 64 143 160 25 65 141 158 25 67 140 157 25 68 138 156 25 69 137 155 25 70 135 154 25 70 134 153 25 71 134 152 25 72 134 151 25 73 133 150 25 75 133 149 25 76 131 148 25 77 131 147 25 78 130 146 25 78 130 145 25 79 128 144 25 80 128 143 25 81 128 142 25 83 128 141 25 84 128 140 25 85 126 139 25 86 126 138 25 86 126 137 25 87 122 136 25 88 122 135 25 90 122 134 25 91 122 133 25 92 122 132 25 93 122 131 25 94 122 130 25 95 122 129 25 96 122 128 25 97 122 127 25 98 122 125 25 100 122 124 25 101 122 123 25 102 122 122 25 103 122 121 25 103 122 120 25 104 122 119 25 105 122 118 25 106 122 117 25 108 122 116 25 109 122 115 25 110 122 114 25 111 122 113 25 111 122 112 25 112 122 111 25 113 126 110 25 114 126 109 25 116 126 108 25 117 128 107 25 118 128 106 25 119 128 105 25 119 128 104 25 120 128 103 25 121 130 102 25 123 130 101 25 124 131 100 25 125 131 99 25 126 133 98 25 127 133 97 25 128 134 96 25 129 134 95 25 130 134 94 25 131 135 92 25 133 137 91 25 134 138 90 25 135 140 89 25 136 141 88 25 136 143 87 25 137 143 86 25 138 144 85 25 139 145 84 25 141 149 83 25 142 150 82 25 143 152 81 25 144 152 80 25 144 153 79 25 145 155 78 25 146 155 77 25 147 155 76 25 149 155 75 25 150 156 74 25 151 157 73 25 152 157 72 25 152 159 71 25 153 160 70 25 154 160 69 25 156 160 68 25 157 162 67 25 158 162 66 25 159 163 65 25 160 163 64 25 161 166 63 25 162 167 62 25 163 171 61 25 164 172 59 25 166 174 58 25 167 175 57 25 168 176 56 25 169 178 55 25 169 179 54 25 170 181 53 25 171 181 52 25 172 182 51 25 174 182 50 25 175 182 49 25 176 184 48 25 177 184 47 25 177 185 46 25 178 186 45 25 179 188 44 25 180 189 43 25 182 194 42 25 183 195 41 25 184 197 40 25 185 198 39 25 185 199 38 25 186 201 37 25 187 202 36 25 189 204 35 25 190 204 34 25 191 205 33 25 192 205 32 25 193 205 31 25 194 207 30 25 195 207 29 25 196 208 28 25 197 209 26 25 199 209 25 25 200 211 24 25 201 213 23 25 202 216 22 25 202 216 21 25 203 217 20 25 204 217 19 25 205 219 18 25 207 220 17 25 208 220 16 25 209 221 15 25 210 223 14 25 210 224 13 25 211 226 12 25 212 227 11 25 213 228 10 25 215 228 9 25 216 230 8 25 217 230 7 25 218 230 6 25 218 231 5 25 219 231 4 25 220 231 3 25 222 231 2 25 223 234 1 25 224 235 0 25 225 238 0 25 226 238 0 25 227 239 0 25 227 239 0 25 227 240 0 25 227 240 255 24 0 240 254 24 0 240 254 24 0 240 254 24 0 240 253 24 0 240 252 24 0 239 251 24 0 239 250 24 0 239 249 24 0 238 248 24 0 235 247 24 0 235 246 24 0 234 245 24 0 234 244 24 0 231 243 24 0 231 242 24 0 231 241 24 0 230 240 24 0 230 239 24 0 230 238 24 0 228 237 24 0 228 236 24 0 227 235 24 0 226 234 24 0 224 233 24 0 223 232 24 0 221 231 24 0 220 230 24 0 220 229 24 0 219 228 24 0 217 227 24 0 217 226 24 1 216 224 24 2 216 223 24 3 213 222 24 4 211 221 24 5 211 220 24 5 209 219 24 6 208 218 24 7 208 217 24 8 207 216 24 10 207 215 24 11 207 214 24 12 205 213 24 13 205 212 24 13 204 211 24 14 202 210 24 15 201 209 24 16 199 208 24 18 198 207 24 19 197 206 24 20 197 205 24 21 195 204 24 21 194 203 24 22 189 202 24 23 188 201 24 25 186 200 24 26 185 199 24 27 184 198 24 28 184 197 24 29 184 196 24 30 182 195 24 31 182 194 24 32 181 193 24 33 179 191 24 35 179 190 24 36 178 189 24 37 176 188 24 38 175 187 24 38 174 186 24 39 172 185 24 40 167 184 24 41 166 183 24 43 165 182 24 44 165 181 24 45 163 180 24 46 163 179 24 46 163 178 24 47 163 177 24 48 162 176 24 49 160 175 24 51 159 174 24 52 157 173 24 53 157 172 24 54 156 171 24 54 156 170 24 55 156 169 24 56 155 168 24 58 155 167 24 59 153 166 24 60 152 165 24 61 150 164 24 62 150 163 24 63 149 162 24 64 145 161 24 65 145 160 24 66 144 158 24 68 143 157 24 69 141 156 24 70 140 155 24 71 138 154 24 71 138 153 24 72 137 152 24 73 137 151 24 74 135 150 24 76 135 149 24 77 135 148 24 78 134 147 24 79 134 146 24 79 133 145 24 80 133 144 24 81 133 143 24 82 133 142 24 84 131 141 24 85 131 140 24 86 130 139 24 87 130 138 24 87 128 137 24 88 128 136 24 89 128 135 24 91 128 134 24 92 128 133 24 93 128 132 24 94 128 131 24 95 128 130 24 96 128 129 24 97 128 128 24 98 128 127 24 99 128 125 24 101 128 124 24 102 128 123 24 103 128 122 24 104 128 121 24 104 128 120 24 105 128 119 24 106 128 118 24 107 128 117 24 109 128 116 24 110 128 115 24 111 128 114 24 112 128 113 24 112 128 112 24 113 128 111 24 114 128 110 24 115 130 109 24 117 130 108 24 118 131 107 24 119 131 106 24 120 133 105 24 120 133 104 24 121 133 103 24 122 133 102 24 124 134 101 24 125 134 100 24 126 134 99 24 127 135 98 24 128 135 97 24 129 137 96 24 130 137 95 24 131 138 94 24 132 138 92 24 134 140 91 24 135 141 90 24 136 143 89 24 137 144 88 24 137 145 87 24 138 145 86 24 139 149 85 24 140 150 84 24 142 150 83 24 143 152 82 24 144 153 81 24 145 155 80 24 145 155 79 24 146 156 78 24 147 156 77 24 148 156 76 24 150 157 75 24 151 157 74 24 152 159 73 24 153 160 72 24 153 162 71 24 154 162 70 24 155 163 69 24 157 163 68 24 158 163 67 24 159 165 66 24 160 165 65 24 161 166 64 24 162 167 63 24 163 171 62 24 164 174 61 24 165 175 59 24 167 176 58 24 168 178 57 24 169 178 56 24 170 179 55 24 170 181 54 24 171 182 53 24 172 182 52 24 173 184 51 24 175 184 50 24 176 184 49 24 177 185 48 24 178 185 47 24 178 186 46 24 179 189 45 24 180 194 44 24 181 195 43 24 183 195 42 24 184 197 41 24 185 198 40 24 186 199 39 24 186 201 38 24 187 202 37 24 188 204 36 24 190 205 35 24 191 205 34 24 192 205 33 24 193 207 32 24 194 207 31 24 195 207 30 24 196 208 29 24 197 209 28 24 198 209 26 24 200 211 25 24 201 213 24 24 202 216 23 24 203 216 22 24 203 217 21 24 204 217 20 24 205 219 19 24 206 219 18 24 208 220 17 24 209 221 16 24 210 223 15 24 211 224 14 24 211 226 13 24 212 227 12 24 213 228 11 24 214 228 10 24 216 230 9 24 217 230 8 24 218 230 7 24 219 230 6 24 219 231 5 24 220 231 4 24 221 231 3 24 223 234 2 24 224 234 1 24 225 235 0 24 226 238 0 24 227 239 0 24 228 239 0 24 228 239 0 24 228 240 0 24 228 240 255 23 0 240 254 23 0 240 254 23 0 240 254 23 0 240 253 23 0 240 252 23 0 239 251 23 0 239 250 23 0 239 249 23 0 238 248 23 0 238 247 23 0 235 246 23 0 235 245 23 0 234 244 23 0 231 243 23 0 231 242 23 0 231 241 23 0 230 240 23 0 230 239 23 0 230 238 23 0 230 237 23 0 228 236 23 0 228 235 23 0 227 234 23 0 226 233 23 0 224 232 23 0 221 231 23 0 221 230 23 0 220 229 23 0 219 228 23 0 219 227 23 1 219 226 23 2 217 224 23 3 216 223 23 4 216 222 23 5 213 221 23 6 211 220 23 6 211 219 23 7 209 218 23 8 208 217 23 9 208 216 23 10 208 215 23 12 207 214 23 13 207 213 23 14 207 212 23 14 205 211 23 15 204 210 23 16 204 209 23 17 202 208 23 18 201 207 23 20 199 206 23 21 198 205 23 22 198 204 23 22 197 203 23 23 195 202 23 24 194 201 23 26 188 200 23 27 186 199 23 28 186 198 23 29 185 197 23 30 185 196 23 31 184 195 23 32 184 194 23 33 184 193 23 34 182 191 23 35 181 190 23 37 179 189 23 38 178 188 23 39 176 187 23 39 175 186 23 40 174 185 23 41 172 184 23 42 171 183 23 43 167 182 23 45 167 181 23 46 167 180 23 47 166 179 23 47 166 178 23 48 166 177 23 49 165 176 23 50 163 175 23 51 162 174 23 53 160 173 23 54 159 172 23 55 157 171 23 55 157 170 23 56 157 169 23 57 157 168 23 59 156 167 23 60 155 166 23 61 155 165 23 62 153 164 23 63 152 163 23 64 152 162 23 65 150 161 23 66 150 160 23 67 149 158 23 68 145 157 23 70 144 156 23 71 143 155 23 72 143 154 23 72 141 153 23 73 141 152 23 74 140 151 23 75 140 150 23 76 140 149 23 78 138 148 23 79 138 147 23 80 138 146 23 80 138 145 23 81 137 144 23 82 137 143 23 83 137 142 23 84 135 141 23 86 135 140 23 87 134 139 23 88 133 138 23 88 131 137 23 89 131 136 23 90 131 135 23 92 130 134 23 93 130 133 23 94 130 132 23 95 130 131 23 96 130 130 23 97 130 129 23 98 130 128 23 99 130 127 23 100 130 125 23 101 130 124 23 103 130 123 23 104 130 122 23 105 130 121 23 105 130 120 23 106 130 119 23 107 130 118 23 108 130 117 23 109 130 116 23 111 130 115 23 112 130 114 23 113 130 113 23 113 130 112 23 114 131 111 23 115 131 110 23 116 133 109 23 117 134 108 23 119 135 107 23 120 135 106 23 121 137 105 23 121 137 104 23 122 137 103 23 123 137 102 23 125 138 101 23 126 138 100 23 127 138 99 23 128 140 98 23 129 140 97 23 130 140 96 23 131 141 95 23 132 141 94 23 133 141 92 23 134 143 91 23 136 144 90 23 137 145 89 23 138 149 88 23 138 150 87 23 139 150 86 23 140 152 85 23 141 152 84 23 142 153 83 23 144 155 82 23 145 155 81 23 146 156 80 23 146 157 79 23 147 157 78 23 148 157 77 23 149 157 76 23 150 159 75 23 152 159 74 23 153 160 73 23 154 162 72 23 154 163 71 23 155 165 70 23 156 166 69 23 158 166 68 23 159 167 67 23 160 167 66 23 161 167 65 23 162 171 64 23 163 172 63 23 164 174 62 23 165 175 61 23 166 176 59 23 167 178 58 23 169 179 57 23 170 181 56 23 171 182 55 23 171 182 54 23 172 184 53 23 173 184 52 23 174 185 51 23 175 185 50 23 177 185 49 23 178 186 48 23 179 188 47 23 179 189 46 23 180 194 45 23 181 195 44 23 182 197 43 23 183 198 42 23 185 199 41 23 186 201 40 23 187 201 39 23 187 202 38 23 188 204 37 23 189 205 36 23 191 205 35 23 192 207 34 23 193 207 33 23 194 207 32 23 195 208 31 23 196 208 30 23 197 209 29 23 198 209 28 23 199 211 26 23 200 213 25 23 202 216 24 23 203 216 23 23 204 217 22 23 204 217 21 23 205 219 20 23 206 219 19 23 207 220 18 23 208 220 17 23 210 221 16 23 211 223 15 23 212 224 14 23 212 226 13 23 213 227 12 23 214 228 11 23 215 230 10 23 216 230 9 23 218 230 8 23 219 230 7 23 220 231 6 23 220 231 5 23 221 231 4 23 222 234 3 23 224 234 2 23 225 235 1 23 226 238 0 23 227 238 0 23 228 239 0 23 229 239 0 23 229 239 0 23 229 240 0 23 229 240 255 22 0 240 254 22 0 240 254 22 0 240 254 22 0 240 253 22 0 240 252 22 0 239 251 22 0 239 250 22 0 239 249 22 0 239 248 22 0 238 247 22 0 238 246 22 0 235 245 22 0 235 244 22 0 234 243 22 0 231 242 22 0 231 241 22 0 231 240 22 0 231 239 22 0 230 238 22 0 230 237 22 0 230 236 22 0 228 235 22 0 227 234 22 0 226 233 22 0 224 232 22 0 223 231 22 0 221 230 22 0 220 229 22 0 220 228 22 1 219 227 22 1 219 226 22 2 219 224 22 3 217 223 22 4 216 222 22 5 216 221 22 6 213 220 22 7 211 219 22 8 211 218 22 9 209 217 22 10 209 216 22 11 208 215 22 12 208 214 22 13 208 213 22 14 207 212 22 15 207 211 22 16 205 210 22 17 204 209 22 18 204 208 22 19 202 207 22 20 201 206 22 21 201 205 22 22 199 204 22 23 198 203 22 24 197 202 22 25 195 201 22 27 194 200 22 28 189 199 22 29 188 198 22 30 186 197 22 31 186 196 22 32 186 195 22 33 185 194 22 34 185 193 22 35 184 191 22 36 182 190 22 37 181 189 22 38 181 188 22 39 179 187 22 40 178 186 22 41 176 185 22 42 175 184 22 43 174 183 22 44 172 182 22 45 172 181 22 46 172 180 22 47 171 179 22 48 171 178 22 49 167 177 22 50 167 176 22 51 165 175 22 52 163 174 22 53 162 173 22 54 162 172 22 55 160 171 22 56 160 170 22 57 159 169 22 58 159 168 22 60 157 167 22 61 156 166 22 62 156 165 22 63 155 164 22 64 155 163 22 65 153 162 22 66 153 161 22 67 152 160 22 68 152 158 22 69 150 157 22 70 149 156 22 71 149 155 22 72 145 154 22 73 144 153 22 74 144 152 22 75 144 151 22 76 143 150 22 77 143 149 22 78 143 148 22 79 143 147 22 80 143 146 22 81 141 145 22 82 141 144 22 83 141 143 22 84 141 142 22 85 140 141 22 86 138 140 22 87 137 139 22 88 135 138 22 89 134 137 22 90 134 136 22 91 133 135 22 93 133 134 22 94 133 133 22 95 133 132 22 96 133 131 22 97 133 130 22 98 133 129 22 99 133 128 22 100 133 127 22 101 133 125 22 102 133 124 22 103 133 123 22 104 133 122 22 105 133 121 22 106 133 120 22 107 133 119 22 108 133 118 22 109 133 117 22 110 133 116 22 111 133 115 22 112 133 114 22 113 133 113 22 114 133 112 22 115 134 111 22 116 134 110 22 117 135 109 22 118 137 108 22 119 138 107 22 120 140 106 22 121 140 105 22 122 141 104 22 123 141 103 22 124 141 102 22 126 141 101 22 127 143 100 22 128 143 99 22 129 143 98 22 130 143 97 22 131 144 96 22 132 144 95 22 133 144 94 22 134 145 92 22 135 145 91 22 136 149 90 22 137 150 89 22 138 152 88 22 139 152 87 22 140 153 86 22 141 153 85 22 142 155 84 22 143 155 83 22 144 156 82 22 145 156 81 22 146 157 80 22 147 159 79 22 148 159 78 22 149 160 77 22 150 160 76 22 151 160 75 22 152 162 74 22 153 163 73 22 154 165 72 22 155 166 71 22 156 167 70 22 157 171 69 22 159 171 68 22 160 172 67 22 161 172 66 22 162 172 65 22 163 174 64 22 164 175 63 22 165 176 62 22 166 178 61 22 167 179 59 22 168 179 58 22 169 181 57 22 170 182 56 22 171 184 55 22 172 184 54 22 173 185 53 22 174 185 52 22 175 186 51 22 176 186 50 22 177 188 49 22 178 189 48 22 179 194 47 22 180 195 46 22 181 197 45 22 182 198 44 22 183 199 43 22 184 201 42 22 185 201 41 22 186 202 40 22 187 204 39 22 188 204 38 22 189 205 37 22 190 207 36 22 192 207 35 22 193 208 34 22 194 208 33 22 195 208 32 22 196 208 31 22 197 209 30 22 198 209 29 22 199 211 28 22 200 213 26 22 201 216 25 22 202 216 24 22 203 217 23 22 204 217 22 22 205 219 21 22 206 219 20 22 207 219 19 22 208 220 18 22 209 221 17 22 210 223 16 22 211 224 15 22 212 226 14 22 213 227 13 22 214 228 12 22 215 230 11 22 216 230 10 22 217 230 9 22 218 231 8 22 219 231 7 22 220 231 6 22 221 231 5 22 222 234 4 22 223 234 3 22 225 235 2 22 226 238 1 22 227 238 0 22 228 239 0 22 229 239 0 22 229 239 0 22 230 239 0 22 230 240 0 22 230 240 255 21 0 240 254 21 0 240 254 21 0 240 254 21 0 240 253 21 0 240 252 21 0 239 251 21 0 239 250 21 0 239 249 21 0 239 248 21 0 239 247 21 0 238 246 21 0 238 245 21 0 235 244 21 0 235 243 21 0 234 242 21 0 231 241 21 0 231 240 21 0 231 239 21 0 230 238 21 0 230 237 21 0 230 236 21 0 230 235 21 0 228 234 21 0 227 233 21 0 226 232 21 0 224 231 21 0 221 230 21 0 221 229 21 1 220 228 21 1 219 227 21 2 219 226 21 3 219 224 21 4 217 223 21 5 217 222 21 6 216 221 21 7 216 220 21 8 213 219 21 9 211 218 21 10 211 217 21 11 209 216 21 12 209 215 21 13 209 214 21 14 208 213 21 15 208 212 21 16 207 211 21 17 207 210 21 18 205 209 21 19 204 208 21 20 204 207 21 21 202 206 21 22 202 205 21 23 201 204 21 24 201 203 21 25 199 202 21 26 198 201 21 28 195 200 21 29 194 199 21 30 189 198 21 31 188 197 21 32 188 196 21 33 186 195 21 34 186 194 21 35 186 193 21 36 185 191 21 37 184 190 21 38 182 189 21 39 182 188 21 40 181 187 21 41 179 186 21 42 178 185 21 43 176 184 21 44 176 183 21 45 175 182 21 46 175 181 21 47 174 180 21 48 174 179 21 49 174 178 21 50 172 177 21 51 171 176 21 52 167 175 21 53 166 174 21 54 165 173 21 55 163 172 21 56 163 171 21 57 162 170 21 58 162 169 21 59 160 168 21 61 159 167 21 62 157 166 21 63 157 165 21 64 156 164 21 65 156 163 21 66 155 162 21 67 155 161 21 68 155 160 21 69 153 158 21 70 153 157 21 71 152 156 21 72 150 155 21 73 150 154 21 74 149 153 21 75 149 152 21 76 149 151 21 77 145 150 21 78 145 149 21 79 145 148 21 80 145 147 21 81 145 146 21 82 145 145 21 83 145 144 21 84 144 143 21 85 144 142 21 86 143 141 21 87 141 140 21 88 140 139 21 89 138 138 21 90 137 137 21 91 137 136 21 92 135 135 21 94 135 134 21 95 135 133 21 96 135 132 21 97 135 131 21 98 135 130 21 99 135 129 21 100 135 128 21 101 135 127 21 102 135 125 21 103 135 124 21 104 135 123 21 105 135 122 21 106 135 121 21 107 135 120 21 108 135 119 21 109 135 118 21 110 135 117 21 111 135 116 21 112 135 115 21 113 135 114 21 114 135 113 21 115 135 112 21 116 137 111 21 117 137 110 21 118 138 109 21 119 140 108 21 120 141 107 21 121 143 106 21 122 144 105 21 123 144 104 21 124 144 103 21 125 145 102 21 127 145 101 21 128 145 100 21 129 145 99 21 130 145 98 21 131 145 97 21 132 149 96 21 133 149 95 21 134 149 94 21 135 150 92 21 136 150 91 21 137 152 90 21 138 153 89 21 139 153 88 21 140 155 87 21 141 155 86 21 142 155 85 21 143 156 84 21 144 156 83 21 145 157 82 21 146 157 81 21 147 159 80 21 148 160 79 21 149 160 78 21 150 162 77 21 151 162 76 21 152 163 75 21 153 165 74 21 154 166 73 21 155 167 72 21 156 171 71 21 157 172 70 21 158 172 69 21 160 174 68 21 161 174 67 21 162 175 66 21 163 175 65 21 164 175 64 21 165 176 63 21 166 178 62 21 167 179 61 21 168 181 59 21 169 182 58 21 170 182 57 21 171 184 56 21 172 185 55 21 173 185 54 21 174 186 53 21 175 186 52 21 176 188 51 21 177 188 50 21 178 189 49 21 179 194 48 21 180 195 47 21 181 197 46 21 182 199 45 21 183 201 44 21 184 201 43 21 185 202 42 21 186 202 41 21 187 204 40 21 188 204 39 21 189 205 38 21 190 207 37 21 191 207 36 21 193 208 35 21 194 208 34 21 195 208 33 21 196 209 32 21 197 209 31 21 198 211 30 21 199 211 29 21 200 213 28 21 201 213 26 21 202 216 25 21 203 217 24 21 204 217 23 21 205 219 22 21 206 219 21 21 207 219 20 21 208 220 19 21 209 220 18 21 210 221 17 21 211 223 16 21 212 226 15 21 213 227 14 21 214 228 13 21 215 230 12 21 216 230 11 21 217 230 10 21 218 230 9 21 219 231 8 21 220 231 7 21 221 231 6 21 222 234 5 21 223 234 4 21 224 235 3 21 226 238 2 21 227 238 1 21 228 238 0 21 229 239 0 21 230 239 0 21 230 239 0 21 231 239 0 21 231 240 0 21 231 240 255 20 0 240 254 20 0 240 254 20 0 240 254 20 0 240 253 20 0 240 252 20 0 239 251 20 0 239 250 20 0 239 249 20 0 239 248 20 0 239 247 20 0 239 246 20 0 238 245 20 0 238 244 20 0 235 243 20 0 235 242 20 0 234 241 20 0 231 240 20 0 231 239 20 0 231 238 20 0 230 237 20 0 230 236 20 0 230 235 20 0 228 234 20 0 228 233 20 0 226 232 20 0 224 231 20 0 223 230 20 1 221 229 20 1 220 228 20 2 220 227 20 3 220 226 20 4 219 224 20 5 219 223 20 6 217 222 20 7 217 221 20 8 216 220 20 9 216 219 20 10 213 218 20 11 211 217 20 12 211 216 20 13 209 215 20 14 209 214 20 15 209 213 20 16 208 212 20 17 208 211 20 18 207 210 20 19 207 209 20 20 205 208 20 21 205 207 20 22 204 206 20 23 204 205 20 24 202 204 20 25 202 203 20 26 201 202 20 27 199 201 20 29 198 200 20 30 197 199 20 31 195 198 20 32 194 197 20 33 189 196 20 34 189 195 20 35 188 194 20 36 188 193 20 37 186 191 20 38 185 190 20 39 185 189 20 40 184 188 20 41 182 187 20 42 181 186 20 43 181 185 20 44 179 184 20 45 178 183 20 46 178 182 20 47 176 181 20 48 176 180 20 49 176 179 20 50 175 178 20 51 174 177 20 52 172 176 20 53 171 175 20 54 167 174 20 55 167 173 20 56 166 172 20 57 166 171 20 58 165 170 20 59 163 169 20 60 162 168 20 62 160 167 20 63 160 166 20 64 159 165 20 65 157 164 20 66 157 163 20 67 157 162 20 68 157 161 20 69 156 160 20 70 156 158 20 71 155 157 20 72 155 156 20 73 153 155 20 74 152 154 20 75 152 153 20 76 152 152 20 77 150 151 20 78 150 150 20 79 150 149 20 80 150 148 20 81 150 147 20 82 150 146 20 83 150 145 20 84 150 144 20 85 150 143 20 86 149 142 20 87 145 141 20 88 144 140 20 89 143 139 20 90 141 138 20 91 141 137 20 92 140 136 20 93 140 135 20 95 140 134 20 96 140 133 20 97 140 132 20 98 140 131 20 99 140 130 20 100 140 129 20 101 140 128 20 102 140 127 20 103 140 125 20 104 140 124 20 105 140 123 20 106 140 122 20 107 140 121 20 108 140 120 20 109 140 119 20 110 140 118 20 111 140 117 20 112 140 116 20 113 140 115 20 114 140 114 20 115 140 113 20 116 140 112 20 117 140 111 20 118 141 110 20 119 141 109 20 120 143 108 20 121 144 107 20 122 145 106 20 123 149 105 20 124 149 104 20 125 150 103 20 126 150 102 20 128 150 101 20 129 150 100 20 130 150 99 20 131 150 98 20 132 150 97 20 133 150 96 20 134 152 95 20 135 152 94 20 136 152 92 20 137 153 91 20 138 153 90 20 139 155 89 20 140 156 88 20 141 156 87 20 142 156 86 20 143 157 85 20 144 157 84 20 145 157 83 20 146 159 82 20 147 160 81 20 148 160 80 20 149 162 79 20 150 163 78 20 151 165 77 20 152 165 76 20 153 166 75 20 154 167 74 20 155 167 73 20 156 171 72 20 157 172 71 20 158 174 70 20 159 175 69 20 161 175 68 20 162 176 67 20 163 176 66 20 164 178 65 20 165 178 64 20 166 179 63 20 167 179 62 20 168 181 61 20 169 182 59 20 170 184 58 20 171 184 57 20 172 185 56 20 173 186 55 20 174 186 54 20 175 188 53 20 176 188 52 20 177 189 51 20 178 194 50 20 179 195 49 20 180 197 48 20 181 198 47 20 182 199 46 20 183 201 45 20 184 202 44 20 185 202 43 20 186 204 42 20 187 204 41 20 188 205 40 20 189 205 39 20 190 207 38 20 191 207 37 20 192 208 36 20 194 208 35 20 195 209 34 20 196 209 33 20 197 209 32 20 198 211 31 20 199 211 30 20 200 213 29 20 201 213 28 20 202 216 26 20 203 217 25 20 204 217 24 20 205 219 23 20 206 219 22 20 207 219 21 20 208 220 20 20 209 220 19 20 210 221 18 20 211 223 17 20 212 224 16 20 213 226 15 20 214 227 14 20 215 228 13 20 216 230 12 20 217 230 11 20 218 230 10 20 219 231 9 20 220 231 8 20 221 231 7 20 222 234 6 20 223 234 5 20 224 235 4 20 225 235 3 20 227 238 2 20 228 238 1 20 229 239 0 20 230 239 0 20 231 239 0 20 231 239 0 20 231 239 0 20 232 240 0 20 232 240 255 19 0 242 254 19 0 240 254 19 0 240 254 19 0 240 253 19 0 240 252 19 0 240 251 19 0 239 250 19 0 239 249 19 0 239 248 19 0 239 247 19 0 239 246 19 0 239 245 19 0 238 244 19 0 238 243 19 0 235 242 19 0 235 241 19 0 234 240 19 0 231 239 19 0 231 238 19 0 231 237 19 0 230 236 19 0 230 235 19 0 230 234 19 0 228 233 19 0 227 232 19 1 226 231 19 1 223 230 19 2 223 229 19 2 221 228 19 3 220 227 19 4 220 226 19 5 220 224 19 6 219 223 19 7 219 222 19 8 219 221 19 9 217 220 19 10 216 219 19 11 216 218 19 12 213 217 19 13 211 216 19 14 211 215 19 15 211 214 19 16 209 213 19 17 209 212 19 18 208 211 19 19 208 210 19 20 208 209 19 21 207 208 19 22 205 207 19 24 205 206 19 25 205 205 19 26 204 204 19 27 204 203 19 28 202 202 19 29 201 201 19 30 199 200 19 31 198 199 19 32 197 198 19 33 195 197 19 34 194 196 19 35 194 195 19 36 189 194 19 37 189 193 19 38 188 191 19 39 186 190 19 40 186 189 19 41 185 188 19 42 184 187 19 43 182 186 19 44 182 185 19 45 181 184 19 46 181 183 19 47 179 182 19 48 179 181 19 49 178 180 19 50 178 179 19 51 176 178 19 52 175 177 19 53 175 176 19 54 174 175 19 55 172 174 19 57 172 173 19 58 171 172 19 59 171 171 19 60 167 170 19 61 166 169 19 62 165 168 19 63 163 167 19 64 162 166 19 65 160 165 19 66 160 164 19 67 160 163 19 68 159 162 19 69 159 161 19 70 159 160 19 71 157 158 19 72 156 157 19 73 156 156 19 74 155 155 19 75 155 154 19 76 153 153 19 77 153 152 19 78 153 151 19 79 153 150 19 80 153 149 19 81 153 148 19 82 153 147 19 83 153 146 19 84 153 145 19 85 153 144 19 86 152 143 19 87 152 142 19 88 150 141 19 90 149 140 19 91 145 139 19 92 144 138 19 93 144 137 19 94 143 136 19 95 143 135 19 96 143 134 19 97 143 133 19 98 143 132 19 99 143 131 19 100 143 130 19 101 143 129 19 102 143 128 19 103 143 127 19 104 143 125 19 105 143 124 19 106 143 123 19 107 143 122 19 108 143 121 19 109 143 120 19 110 143 119 19 111 143 118 19 112 143 117 19 113 143 116 19 114 143 115 19 115 143 114 19 116 143 113 19 117 143 112 19 118 143 111 19 119 144 110 19 120 144 109 19 121 145 108 19 123 149 107 19 124 150 106 19 125 150 105 19 126 152 104 19 127 152 103 19 128 153 102 19 129 153 101 19 130 153 100 19 131 153 99 19 132 153 98 19 133 153 97 19 134 153 96 19 135 153 95 19 136 153 94 19 137 155 92 19 138 155 91 19 139 156 90 19 140 156 89 19 141 157 88 19 142 159 87 19 143 159 86 19 144 159 85 19 145 160 84 19 146 160 83 19 147 160 82 19 148 162 81 19 149 163 80 19 150 165 79 19 151 166 78 19 152 167 77 19 153 167 76 19 154 171 75 19 156 172 74 19 157 172 73 19 158 174 72 19 159 175 71 19 160 175 70 19 161 176 69 19 162 178 68 19 163 178 67 19 164 179 66 19 165 179 65 19 166 181 64 19 167 181 63 19 168 182 62 19 169 182 61 19 170 184 59 19 171 185 58 19 172 185 57 19 173 186 56 19 174 188 55 19 175 189 54 19 176 189 53 19 177 194 52 19 178 194 51 19 179 195 50 19 180 197 49 19 181 198 48 19 182 199 47 19 183 201 46 19 184 202 45 19 185 204 44 19 186 204 43 19 187 205 42 19 189 205 41 19 190 205 40 19 191 207 39 19 192 207 38 19 193 208 37 19 194 208 36 19 195 209 35 19 196 209 34 19 197 209 33 19 198 211 32 19 199 211 31 19 200 213 30 19 201 216 29 19 202 216 28 19 203 217 26 19 204 217 25 19 205 219 24 19 206 219 23 19 207 220 22 19 208 220 21 19 209 220 20 19 210 221 19 19 211 221 18 19 212 223 17 19 213 226 16 19 214 227 15 19 215 228 14 19 216 230 13 19 217 230 12 19 218 230 11 19 219 231 10 19 220 231 9 19 222 231 8 19 223 234 7 19 224 234 6 19 225 235 5 19 226 238 4 19 227 238 3 19 228 239 2 19 229 239 1 19 230 239 0 19 231 239 0 19 232 239 0 19 232 239 0 19 233 239 0 19 233 240 0 19 233 240 255 18 0 243 254 18 0 242 254 18 0 242 254 18 0 240 253 18 0 240 252 18 0 240 251 18 0 240 250 18 0 240 249 18 0 239 248 18 0 239 247 18 0 239 246 18 0 239 245 18 0 239 244 18 0 238 243 18 0 238 242 18 0 235 241 18 0 235 240 18 0 234 239 18 0 231 238 18 0 231 237 18 0 231 236 18 0 230 235 18 0 230 234 18 0 228 233 18 1 227 232 18 2 226 231 18 2 224 230 18 3 223 229 18 3 223 228 18 4 221 227 18 5 221 226 18 6 221 224 18 7 220 223 18 9 220 222 18 10 219 221 18 10 217 220 18 11 217 219 18 12 216 218 18 13 216 217 18 14 213 216 18 15 213 215 18 17 211 214 18 18 211 213 18 18 209 212 18 19 209 211 18 20 208 210 18 21 208 209 18 22 208 208 18 24 207 207 18 25 207 206 18 26 205 205 18 27 205 204 18 28 204 203 18 29 204 202 18 30 202 201 18 31 201 200 18 32 199 199 18 34 198 198 18 35 197 197 18 35 197 196 18 36 195 195 18 37 194 194 18 38 194 193 18 39 189 191 18 40 188 190 18 42 186 189 18 43 186 188 18 43 185 187 18 44 184 186 18 45 184 185 18 46 182 184 18 47 182 183 18 48 181 182 18 50 181 181 18 51 179 180 18 51 179 179 18 52 178 178 18 53 176 177 18 54 176 176 18 55 175 175 18 57 175 174 18 58 174 173 18 59 174 172 18 60 174 171 18 61 172 170 18 62 171 169 18 63 167 168 18 64 166 167 18 65 165 166 18 67 163 165 18 68 162 164 18 68 162 163 18 69 162 162 18 70 162 161 18 71 160 160 18 72 159 158 18 73 159 157 18 75 157 156 18 76 156 155 18 76 156 154 18 77 155 153 18 78 155 152 18 79 155 151 18 80 155 150 18 81 155 149 18 83 155 148 18 84 155 147 18 84 155 146 18 85 155 145 18 86 155 144 18 87 153 143 18 88 153 142 18 90 152 141 18 91 150 140 18 92 149 139 18 93 149 138 18 94 145 137 18 95 145 136 18 96 145 135 18 97 145 134 18 98 145 133 18 100 145 132 18 101 145 131 18 101 145 130 18 102 145 129 18 103 145 128 18 104 145 127 18 105 145 125 18 106 145 124 18 108 145 123 18 109 145 122 18 109 145 121 18 110 145 120 18 111 145 119 18 112 145 118 18 113 145 117 18 114 145 116 18 116 145 115 18 117 145 114 18 117 145 113 18 118 145 112 18 119 145 111 18 120 145 110 18 121 149 109 18 123 149 108 18 124 150 107 18 125 152 106 18 126 152 105 18 127 153 104 18 128 155 103 18 129 155 102 18 130 155 101 18 131 155 100 18 133 155 99 18 134 155 98 18 134 155 97 18 135 155 96 18 136 155 95 18 137 155 94 18 138 156 92 18 139 156 91 18 141 157 90 18 142 157 89 18 142 159 88 18 143 160 87 18 144 162 86 18 145 162 85 18 146 162 84 18 147 162 83 18 149 163 82 18 150 163 81 18 150 165 80 18 151 166 79 18 152 171 78 18 153 172 77 18 154 172 76 18 156 174 75 18 157 174 74 18 158 175 73 18 159 175 72 18 160 176 71 18 161 176 70 18 162 178 69 18 163 179 68 18 164 179 67 18 166 181 66 18 167 181 65 18 167 182 64 18 168 182 63 18 169 184 62 18 170 184 61 18 171 185 59 18 172 185 58 18 174 186 57 18 175 188 56 18 175 189 55 18 176 194 54 18 177 194 53 18 178 195 52 18 179 197 51 18 180 197 50 18 182 198 49 18 183 199 48 18 183 201 47 18 184 202 46 18 185 204 45 18 186 204 44 18 187 205 43 18 189 205 42 18 190 205 41 18 191 207 40 18 192 207 39 18 193 208 38 18 194 208 37 18 195 209 36 18 196 209 35 18 197 209 34 18 199 211 33 18 200 211 32 18 200 213 31 18 201 216 30 18 202 216 29 18 203 217 28 18 204 217 26 18 205 219 25 18 207 220 24 18 208 220 23 18 208 220 22 18 209 221 21 18 210 221 20 18 211 223 19 18 212 223 18 18 213 224 17 18 215 226 16 18 216 227 15 18 216 228 14 18 217 230 13 18 218 230 12 18 219 231 11 18 220 231 10 18 222 231 9 18 223 234 8 18 224 234 7 18 225 235 6 18 226 238 5 18 227 238 4 18 228 238 3 18 229 239 2 18 230 239 1 18 232 239 0 18 232 239 0 18 233 240 0 18 234 240 0 18 234 240 0 18 234 240 0 18 234 240 255 17 0 245 254 17 0 243 254 17 0 243 254 17 0 242 253 17 0 240 252 17 0 240 251 17 0 240 250 17 0 240 249 17 0 239 248 17 0 239 247 17 0 239 246 17 0 239 245 17 0 239 244 17 0 239 243 17 0 238 242 17 0 238 241 17 0 235 240 17 0 234 239 17 0 234 238 17 0 231 237 17 0 231 236 17 0 231 235 17 0 230 234 17 1 228 233 17 2 228 232 17 2 227 231 17 3 226 230 17 4 226 229 17 4 224 228 17 5 224 227 17 6 223 226 17 7 221 224 17 9 221 223 17 10 220 222 17 11 220 221 17 12 219 220 17 12 217 219 17 13 217 218 17 14 216 217 17 15 216 216 17 17 213 215 17 18 213 214 17 19 211 213 17 20 211 212 17 20 209 211 17 21 209 210 17 22 208 209 17 24 208 208 17 25 207 207 17 26 207 206 17 27 205 205 17 28 205 204 17 29 205 203 17 30 204 202 17 31 204 201 17 32 202 200 17 34 201 199 17 35 199 198 17 36 199 197 17 37 198 196 17 37 197 195 17 38 197 194 17 39 195 193 17 40 195 191 17 42 194 190 17 43 189 189 17 44 188 188 17 45 186 187 17 45 185 186 17 46 185 185 17 47 184 184 17 48 184 183 17 50 182 182 17 51 182 181 17 52 181 180 17 53 181 179 17 53 179 178 17 54 178 177 17 55 178 176 17 57 178 175 17 58 176 174 17 59 176 173 17 60 176 172 17 61 175 171 17 62 175 170 17 63 174 169 17 64 172 168 17 65 167 167 17 67 167 166 17 68 166 165 17 69 165 164 17 70 165 163 17 70 165 162 17 71 165 161 17 72 163 160 17 73 162 158 17 75 160 157 17 76 159 156 17 77 157 155 17 78 157 154 17 78 157 153 17 79 157 152 17 80 157 151 17 81 157 150 17 83 157 149 17 84 157 148 17 85 156 147 17 86 156 146 17 86 156 145 17 87 156 144 17 88 155 143 17 90 155 142 17 91 153 141 17 92 152 140 17 93 152 139 17 94 150 138 17 95 150 137 17 96 150 136 17 97 150 135 17 98 150 134 17 100 150 133 17 101 150 132 17 102 150 131 17 103 150 130 17 103 150 129 17 104 150 128 17 105 150 127 17 106 150 125 17 108 150 124 17 109 150 123 17 110 150 122 17 111 150 121 17 111 150 120 17 112 150 119 17 113 150 118 17 114 150 117 17 116 150 116 17 117 150 115 17 118 150 114 17 119 150 113 17 119 150 112 17 120 150 111 17 121 150 110 17 123 150 109 17 124 152 108 17 125 152 107 17 126 153 106 17 127 153 105 17 128 155 104 17 129 156 103 17 130 156 102 17 131 156 101 17 133 156 100 17 134 157 99 17 135 157 98 17 136 157 97 17 136 157 96 17 137 157 95 17 138 157 94 17 139 157 92 17 141 157 91 17 142 159 90 17 143 160 89 17 144 162 88 17 144 163 87 17 145 163 86 17 146 165 85 17 147 165 84 17 149 165 83 17 150 166 82 17 151 166 81 17 152 167 80 17 152 171 79 17 153 172 78 17 154 174 77 17 156 175 76 17 157 176 75 17 158 176 74 17 159 176 73 17 160 178 72 17 161 178 71 17 162 178 70 17 163 179 69 17 164 181 68 17 166 181 67 17 167 182 66 17 168 182 65 17 169 184 64 17 169 184 63 17 170 185 62 17 171 185 61 17 172 186 59 17 174 188 58 17 175 188 57 17 176 189 56 17 177 194 55 17 177 195 54 17 178 197 53 17 179 197 52 17 180 198 51 17 182 199 50 17 183 199 49 17 184 201 48 17 185 202 47 17 185 204 46 17 186 204 45 17 187 205 44 17 189 205 43 17 190 205 42 17 191 207 41 17 192 207 40 17 193 208 39 17 194 208 38 17 195 209 37 17 196 209 36 17 197 209 35 17 199 211 34 17 200 211 33 17 201 213 32 17 202 216 31 17 202 216 30 17 203 217 29 17 204 217 28 17 205 219 26 17 207 219 25 17 208 220 24 17 209 221 23 17 210 221 22 17 210 223 21 17 211 223 20 17 212 224 19 17 213 226 18 17 215 226 17 17 216 227 16 17 217 228 15 17 218 228 14 17 218 230 13 17 219 231 12 17 220 231 11 17 222 231 10 17 223 234 9 17 224 234 8 17 225 235 7 17 226 235 6 17 227 238 5 17 228 238 4 17 229 239 3 17 230 239 2 17 232 239 1 17 233 239 0 17 234 239 0 17 234 240 0 17 235 240 0 17 235 240 0 17 235 240 0 17 235 240 255 16 0 246 254 16 0 246 254 16 0 245 254 16 0 243 253 16 0 242 252 16 0 240 251 16 0 240 250 16 0 240 249 16 0 239 248 16 0 239 247 16 0 239 246 16 0 239 245 16 0 239 244 16 0 239 243 16 0 239 242 16 0 238 241 16 0 238 240 16 0 235 239 16 0 235 238 16 0 234 237 16 0 231 236 16 0 231 235 16 0 230 234 16 1 230 233 16 2 228 232 16 3 228 231 16 4 227 230 16 5 227 229 16 5 227 228 16 6 226 227 16 7 224 226 16 8 224 224 16 10 223 223 16 11 221 222 16 12 220 221 16 13 220 220 16 13 219 219 16 14 219 218 16 15 217 217 16 16 216 216 16 18 216 215 16 19 213 214 16 20 213 213 16 21 211 212 16 21 211 211 16 22 209 210 16 23 209 209 16 25 209 208 16 26 208 207 16 27 208 206 16 28 207 205 16 29 205 204 16 30 205 203 16 31 205 202 16 32 204 201 16 33 204 200 16 35 202 199 16 36 202 198 16 37 201 197 16 38 201 196 16 38 199 195 16 39 198 194 16 40 198 193 16 41 197 191 16 43 195 190 16 44 194 189 16 45 189 188 16 46 188 187 16 46 188 186 16 47 186 185 16 48 186 184 16 49 185 183 16 51 185 182 16 52 184 181 16 53 182 180 16 54 182 179 16 54 181 178 16 55 181 177 16 56 179 176 16 58 179 175 16 59 179 174 16 60 179 173 16 61 178 172 16 62 178 171 16 63 176 170 16 64 175 169 16 65 174 168 16 66 172 167 16 68 172 166 16 69 171 165 16 70 171 164 16 71 171 163 16 71 167 162 16 72 167 161 16 73 166 160 16 74 165 158 16 76 162 157 16 77 160 156 16 78 160 155 16 79 159 154 16 79 159 153 16 80 159 152 16 81 159 151 16 82 159 150 16 84 159 149 16 85 159 148 16 86 159 147 16 87 159 146 16 87 159 145 16 88 157 144 16 89 156 143 16 91 156 142 16 92 155 141 16 93 155 140 16 94 153 139 16 95 153 138 16 96 153 137 16 97 153 136 16 98 153 135 16 99 153 134 16 101 153 133 16 102 153 132 16 103 153 131 16 104 153 130 16 104 153 129 16 105 153 128 16 106 153 127 16 107 153 125 16 109 153 124 16 110 153 123 16 111 153 122 16 112 153 121 16 112 153 120 16 113 153 119 16 114 153 118 16 115 153 117 16 117 153 116 16 118 153 115 16 119 153 114 16 120 153 113 16 120 153 112 16 121 153 111 16 122 153 110 16 124 153 109 16 125 153 108 16 126 153 107 16 127 155 106 16 128 156 105 16 129 156 104 16 130 157 103 16 131 157 102 16 132 159 101 16 134 159 100 16 135 159 99 16 136 159 98 16 137 159 97 16 137 159 96 16 138 159 95 16 139 159 94 16 140 159 92 16 142 160 91 16 143 160 90 16 144 162 89 16 145 163 88 16 145 165 87 16 146 166 86 16 147 167 85 16 148 167 84 16 150 171 83 16 151 171 82 16 152 171 81 16 153 172 80 16 153 174 79 16 154 175 78 16 155 176 77 16 157 178 76 16 158 178 75 16 159 179 74 16 160 179 73 16 161 179 72 16 162 179 71 16 163 181 70 16 164 181 69 16 165 182 68 16 167 182 67 16 168 184 66 16 169 185 65 16 170 185 64 16 170 186 63 16 171 186 62 16 172 188 61 16 173 188 59 16 175 189 58 16 176 194 57 16 177 195 56 16 178 197 55 16 178 198 54 16 179 198 53 16 180 199 52 16 181 199 51 16 183 201 50 16 184 202 49 16 185 202 48 16 186 204 47 16 186 204 46 16 187 205 45 16 188 205 44 16 190 205 43 16 191 207 42 16 192 207 41 16 193 208 40 16 194 208 39 16 195 209 38 16 196 209 37 16 197 209 36 16 198 211 35 16 200 211 34 16 201 213 33 16 202 216 32 16 203 216 31 16 203 217 30 16 204 217 29 16 205 219 28 16 206 219 26 16 208 220 25 16 209 221 24 16 210 223 23 16 211 223 22 16 211 224 21 16 212 226 20 16 213 226 19 16 214 227 18 16 216 227 17 16 217 228 16 16 218 228 15 16 219 230 14 16 219 230 13 16 220 231 12 16 221 231 11 16 223 234 10 16 224 234 9 16 225 235 8 16 226 238 7 16 227 238 6 16 228 239 5 16 229 239 4 16 230 239 3 16 231 239 2 16 233 239 1 16 234 239 0 16 235 239 0 16 235 240 0 16 236 240 0 16 236 240 0 16 236 240 0 16 236 240 255 15 0 249 254 15 0 248 254 15 0 245 254 15 0 243 253 15 0 242 252 15 0 240 251 15 0 240 250 15 0 240 249 15 0 240 248 15 0 240 247 15 0 240 246 15 0 240 245 15 0 239 244 15 0 239 243 15 0 239 242 15 0 239 241 15 0 238 240 15 0 238 239 15 0 235 238 15 0 234 237 15 0 234 236 15 0 231 235 15 1 231 234 15 2 230 233 15 3 230 232 15 4 228 231 15 5 228 230 15 6 228 229 15 6 228 228 15 7 227 227 15 8 227 226 15 9 226 224 15 10 224 223 15 12 223 222 15 13 221 221 15 14 220 220 15 14 220 219 15 15 219 218 15 16 217 217 15 17 217 216 15 18 216 215 15 20 216 214 15 21 213 213 15 22 213 212 15 22 211 211 15 23 211 210 15 24 209 209 15 26 209 208 15 27 208 207 15 28 208 206 15 29 208 205 15 30 207 204 15 31 207 203 15 32 205 202 15 33 205 201 15 34 205 200 15 35 204 199 15 37 204 198 15 38 202 197 15 39 202 196 15 39 201 195 15 40 201 194 15 41 199 193 15 42 198 191 15 43 197 190 15 45 195 189 15 46 194 188 15 47 194 187 15 47 189 186 15 48 189 185 15 49 188 184 15 50 186 183 15 51 186 182 15 53 185 181 15 54 184 180 15 55 184 179 15 55 182 178 15 56 182 177 15 57 182 176 15 59 182 175 15 60 181 174 15 61 181 173 15 62 181 172 15 63 179 171 15 64 179 170 15 65 178 169 15 66 176 168 15 67 175 167 15 68 174 166 15 70 174 165 15 71 174 164 15 72 172 163 15 72 172 162 15 73 171 161 15 74 167 160 15 75 166 158 15 76 165 157 15 78 163 156 15 79 162 155 15 80 162 154 15 80 162 153 15 81 162 152 15 82 162 151 15 83 162 150 15 84 162 149 15 86 162 148 15 87 160 147 15 88 160 146 15 88 160 145 15 89 159 144 15 90 157 143 15 92 157 142 15 93 156 141 15 94 156 140 15 95 155 139 15 96 155 138 15 97 155 137 15 98 155 136 15 99 155 135 15 100 155 134 15 101 155 133 15 103 155 132 15 104 155 131 15 105 155 130 15 105 155 129 15 106 155 128 15 107 155 127 15 108 155 125 15 109 155 124 15 111 155 123 15 112 155 122 15 113 155 121 15 113 155 120 15 114 155 119 15 115 155 118 15 116 155 117 15 117 155 116 15 119 155 115 15 120 155 114 15 121 155 113 15 121 155 112 15 122 155 111 15 123 155 110 15 125 155 109 15 126 155 108 15 127 155 107 15 128 156 106 15 129 156 105 15 130 157 104 15 131 159 103 15 132 160 102 15 133 160 101 15 134 160 100 15 136 162 99 15 137 162 98 15 138 162 97 15 138 162 96 15 139 162 95 15 140 162 94 15 141 162 92 15 142 162 91 15 144 163 90 15 145 165 89 15 146 166 88 15 146 167 87 15 147 171 86 15 148 172 85 15 149 172 84 15 150 174 83 15 152 174 82 15 153 174 81 15 154 175 80 15 154 176 79 15 155 176 78 15 156 178 77 15 158 179 76 15 159 181 75 15 160 181 74 15 161 181 73 15 162 182 72 15 163 182 71 15 164 182 70 15 165 182 69 15 166 184 68 15 167 184 67 15 169 185 66 15 170 185 65 15 171 186 64 15 171 188 63 15 172 189 62 15 173 189 61 15 174 194 59 15 175 194 58 15 177 195 57 15 178 197 56 15 179 198 55 15 179 199 54 15 180 201 53 15 181 201 52 15 182 202 51 15 183 202 50 15 185 204 49 15 186 204 48 15 187 205 47 15 187 205 46 15 188 205 45 15 189 207 44 15 191 207 43 15 192 207 42 15 193 208 41 15 194 208 40 15 195 209 39 15 196 209 38 15 197 209 37 15 198 211 36 15 199 211 35 15 200 213 34 15 202 216 33 15 203 216 32 15 204 217 31 15 204 217 30 15 205 219 29 15 206 220 28 15 207 220 26 15 208 221 25 15 210 223 24 15 211 224 23 15 212 224 22 15 212 226 21 15 213 227 20 15 214 227 19 15 215 228 18 15 216 228 17 15 218 228 16 15 219 230 15 15 220 230 14 15 220 231 13 15 221 231 12 15 222 234 11 15 224 234 10 15 225 235 9 15 226 238 8 15 227 238 7 15 228 239 6 15 229 239 5 15 230 239 4 15 231 239 3 15 232 239 2 15 233 240 1 15 235 240 0 15 235 240 0 15 236 240 0 15 237 240 0 15 237 240 0 15 237 240 0 15 237 240 255 14 0 249 254 14 0 248 254 14 0 246 254 14 0 245 253 14 0 242 252 14 0 242 251 14 0 240 250 14 0 240 249 14 0 240 248 14 0 240 247 14 0 240 246 14 0 240 245 14 0 239 244 14 0 239 243 14 0 239 242 14 0 239 241 14 0 239 240 14 0 238 239 14 0 238 238 14 0 235 237 14 0 234 236 14 1 234 235 14 1 231 234 14 2 231 233 14 3 230 232 14 4 230 231 14 5 230 230 14 6 230 229 14 7 230 228 14 8 228 227 14 9 228 226 14 10 227 224 14 11 226 223 14 12 224 222 14 13 223 221 14 14 221 220 14 15 220 219 14 16 220 218 14 17 219 217 14 18 217 216 14 19 217 215 14 20 216 214 14 21 216 213 14 22 213 212 14 23 213 211 14 24 211 210 14 25 211 209 14 27 209 208 14 28 209 207 14 29 209 206 14 30 208 205 14 31 208 204 14 32 207 203 14 33 207 202 14 34 207 201 14 35 205 200 14 36 205 199 14 37 205 198 14 38 204 197 14 39 204 196 14 40 202 195 14 41 202 194 14 42 201 193 14 43 199 191 14 44 198 190 14 45 198 189 14 46 197 188 14 47 195 187 14 48 195 186 14 49 194 185 14 50 189 184 14 51 188 183 14 52 188 182 14 53 186 181 14 54 185 180 14 55 185 179 14 56 185 178 14 57 184 177 14 58 184 176 14 60 184 175 14 61 184 174 14 62 182 173 14 63 182 172 14 64 181 171 14 65 181 170 14 66 179 169 14 67 178 168 14 68 178 167 14 69 176 166 14 70 176 165 14 71 175 164 14 72 175 163 14 73 174 162 14 74 174 161 14 75 172 160 14 76 171 158 14 77 167 157 14 78 166 156 14 79 165 155 14 80 165 154 14 81 165 153 14 82 165 152 14 83 165 151 14 84 165 150 14 85 165 149 14 86 163 148 14 87 163 147 14 88 163 146 14 89 162 145 14 90 160 144 14 91 159 143 14 93 159 142 14 94 157 141 14 95 157 140 14 96 157 139 14 97 156 138 14 98 156 137 14 99 156 136 14 100 156 135 14 101 156 134 14 102 156 133 14 103 156 132 14 104 156 131 14 105 156 130 14 106 156 129 14 107 156 128 14 108 156 127 14 109 156 125 14 110 156 124 14 111 156 123 14 112 156 122 14 113 156 121 14 114 156 120 14 115 156 119 14 116 156 118 14 117 156 117 14 118 156 116 14 119 156 115 14 120 156 114 14 121 156 113 14 122 156 112 14 123 156 111 14 124 156 110 14 126 156 109 14 127 156 108 14 128 157 107 14 129 157 106 14 130 159 105 14 131 159 104 14 132 160 103 14 133 162 102 14 134 163 101 14 135 163 100 14 136 163 99 14 137 165 98 14 138 165 97 14 139 165 96 14 140 165 95 14 141 165 94 14 142 165 92 14 143 165 91 14 144 166 90 14 145 166 89 14 146 167 88 14 147 171 87 14 148 172 86 14 149 174 85 14 150 175 84 14 151 175 83 14 152 176 82 14 153 176 81 14 154 176 80 14 155 178 79 14 156 179 78 14 157 179 77 14 159 181 76 14 160 182 75 14 161 182 74 14 162 184 73 14 163 184 72 14 164 184 71 14 165 184 70 14 166 184 69 14 167 185 68 14 168 185 67 14 169 186 66 14 170 188 65 14 171 188 64 14 172 189 63 14 173 194 62 14 174 195 61 14 175 195 59 14 176 197 58 14 177 198 57 14 178 198 56 14 179 199 55 14 180 201 54 14 181 202 53 14 182 202 52 14 183 204 51 14 184 204 50 14 185 204 49 14 186 205 48 14 187 205 47 14 188 207 46 14 189 207 45 14 190 207 44 14 192 208 43 14 193 208 42 14 194 209 41 14 195 209 40 14 196 209 39 14 197 211 38 14 198 211 37 14 199 211 36 14 200 213 35 14 201 216 34 14 202 216 33 14 203 217 32 14 204 217 31 14 205 219 30 14 206 220 29 14 207 220 28 14 208 221 26 14 209 223 25 14 210 224 24 14 211 226 23 14 212 226 22 14 213 227 21 14 214 228 20 14 215 228 19 14 216 230 18 14 217 230 17 14 218 230 16 14 219 230 15 14 220 231 14 14 221 231 13 14 222 234 12 14 223 234 11 14 225 235 10 14 226 238 9 14 227 238 8 14 228 239 7 14 229 239 6 14 230 239 5 14 231 239 4 14 232 239 3 14 233 239 2 14 234 240 1 14 235 240 0 14 236 240 0 14 237 240 0 14 237 240 0 14 238 240 0 14 238 240 0 14 238 240 255 13 0 250 254 13 0 249 254 13 0 248 254 13 0 245 253 13 0 243 252 13 0 242 251 13 0 240 250 13 0 240 249 13 0 240 248 13 0 240 247 13 0 240 246 13 0 240 245 13 0 239 244 13 0 239 243 13 0 239 242 13 0 239 241 13 0 239 240 13 0 239 239 13 0 238 238 13 0 238 237 13 1 235 236 13 1 234 235 13 2 234 234 13 3 231 233 13 4 231 232 13 5 230 231 13 6 230 230 13 7 230 229 13 8 230 228 13 9 230 227 13 10 228 226 13 11 228 224 13 12 227 223 13 13 226 222 13 14 224 221 13 15 223 220 13 16 221 219 13 17 220 218 13 18 220 217 13 19 219 216 13 20 219 215 13 21 217 214 13 22 216 213 13 23 216 212 13 24 213 211 13 25 213 210 13 26 211 209 13 28 211 208 13 29 211 207 13 30 209 206 13 31 209 205 13 32 208 204 13 33 208 203 13 34 208 202 13 35 207 201 13 36 207 200 13 37 207 199 13 38 205 198 13 39 205 197 13 40 205 196 13 41 204 195 13 42 204 194 13 43 202 193 13 44 202 191 13 45 201 190 13 46 199 189 13 47 199 188 13 48 198 187 13 49 198 186 13 50 197 185 13 51 195 184 13 52 194 183 13 53 189 182 13 54 188 181 13 55 188 180 13 56 186 179 13 57 186 178 13 58 186 177 13 59 185 176 13 61 185 175 13 62 185 174 13 63 185 173 13 64 184 172 13 65 182 171 13 66 182 170 13 67 181 169 13 68 181 168 13 69 179 167 13 70 179 166 13 71 178 165 13 72 178 164 13 73 176 163 13 74 176 162 13 75 175 161 13 76 174 160 13 77 172 158 13 78 172 157 13 79 171 156 13 80 171 155 13 81 167 154 13 82 167 153 13 83 167 152 13 84 167 151 13 85 167 150 13 86 167 149 13 87 167 148 13 88 166 147 13 89 165 146 13 90 165 145 13 91 163 144 13 92 162 143 13 94 160 142 13 95 159 141 13 96 159 140 13 97 159 139 13 98 159 138 13 99 159 137 13 100 159 136 13 101 159 135 13 102 159 134 13 103 159 133 13 104 159 132 13 105 159 131 13 106 159 130 13 107 159 129 13 108 159 128 13 109 159 127 13 110 159 125 13 111 159 124 13 112 159 123 13 113 159 122 13 114 159 121 13 115 159 120 13 116 159 119 13 117 159 118 13 118 159 117 13 119 159 116 13 120 159 115 13 121 159 114 13 122 159 113 13 123 159 112 13 124 159 111 13 125 159 110 13 127 159 109 13 128 159 108 13 129 159 107 13 130 159 106 13 131 160 105 13 132 162 104 13 133 162 103 13 134 163 102 13 135 165 101 13 136 166 100 13 137 166 99 13 138 167 98 13 139 167 97 13 140 167 96 13 141 167 95 13 142 167 94 13 143 167 92 13 144 167 91 13 145 171 90 13 146 171 89 13 147 172 88 13 148 174 87 13 149 175 86 13 150 175 85 13 151 176 84 13 152 178 83 13 153 178 82 13 154 179 81 13 155 179 80 13 156 179 79 13 157 181 78 13 158 182 77 13 160 182 76 13 161 184 75 13 162 185 74 13 163 185 73 13 164 185 72 13 165 185 71 13 166 186 70 13 167 186 69 13 168 186 68 13 169 188 67 13 170 188 66 13 171 189 65 13 172 194 64 13 173 195 63 13 174 197 62 13 175 198 61 13 176 198 59 13 177 199 58 13 178 199 57 13 179 201 56 13 180 202 55 13 181 202 54 13 182 204 53 13 183 204 52 13 184 205 51 13 185 205 50 13 186 205 49 13 187 207 48 13 188 207 47 13 189 207 46 13 190 208 45 13 191 208 44 13 193 208 43 13 194 209 42 13 195 209 41 13 196 211 40 13 197 211 39 13 198 211 38 13 199 213 37 13 200 213 36 13 201 216 35 13 202 216 34 13 203 217 33 13 204 217 32 13 205 219 31 13 206 220 30 13 207 220 29 13 208 221 28 13 209 223 26 13 210 224 25 13 211 226 24 13 212 227 23 13 213 227 22 13 214 228 21 13 215 230 20 13 216 230 19 13 217 230 18 13 218 230 17 13 219 230 16 13 220 231 15 13 221 231 14 13 222 234 13 13 223 234 12 13 224 235 11 13 226 238 10 13 227 238 9 13 228 239 8 13 229 239 7 13 230 239 6 13 231 239 5 13 232 239 4 13 233 239 3 13 234 239 2 13 235 240 1 13 236 240 0 13 237 240 0 13 238 240 0 13 238 240 0 13 239 240 0 13 239 240 0 13 239 240 255 12 0 252 254 12 0 250 254 12 0 248 254 12 0 246 253 12 0 245 252 12 0 242 251 12 0 242 250 12 0 240 249 12 0 240 248 12 0 240 247 12 0 240 246 12 0 240 245 12 0 240 244 12 0 240 243 12 0 240 242 12 0 239 241 12 0 239 240 12 0 239 239 12 0 239 238 12 1 238 237 12 1 238 236 12 2 235 235 12 3 234 234 12 4 231 233 12 5 231 232 12 6 231 231 12 7 231 230 12 8 231 229 12 9 230 228 12 10 230 227 12 11 230 226 12 12 228 224 12 13 228 223 12 14 227 222 12 15 226 221 12 16 224 220 12 17 223 219 12 18 221 218 12 19 220 217 12 20 220 216 12 21 219 215 12 22 217 214 12 23 217 213 12 24 216 212 12 25 216 211 12 26 213 210 12 27 213 209 12 29 213 208 12 30 211 207 12 31 211 206 12 32 211 205 12 33 209 204 12 34 209 203 12 35 208 202 12 36 208 201 12 37 208 200 12 38 207 199 12 39 207 198 12 40 207 197 12 41 205 196 12 42 205 195 12 43 205 194 12 44 204 193 12 45 204 191 12 46 202 190 12 47 202 189 12 48 201 188 12 49 201 187 12 50 199 186 12 51 198 185 12 52 197 184 12 53 195 183 12 54 195 182 12 55 194 181 12 56 189 180 12 57 189 179 12 58 188 178 12 59 188 177 12 60 188 176 12 62 186 175 12 63 186 174 12 64 185 173 12 65 185 172 12 66 184 171 12 67 184 170 12 68 182 169 12 69 182 168 12 70 181 167 12 71 181 166 12 72 179 165 12 73 179 164 12 74 178 163 12 75 178 162 12 76 176 161 12 77 175 160 12 78 175 158 12 79 174 157 12 80 174 156 12 81 174 155 12 82 172 154 12 83 172 153 12 84 172 152 12 85 172 151 12 86 172 150 12 87 172 149 12 88 171 148 12 89 171 147 12 90 167 146 12 91 166 145 12 92 165 144 12 93 163 143 12 95 162 142 12 96 162 141 12 97 162 140 12 98 162 139 12 99 162 138 12 100 162 137 12 101 162 136 12 102 162 135 12 103 162 134 12 104 162 133 12 105 162 132 12 106 162 131 12 107 162 130 12 108 162 129 12 109 162 128 12 110 162 127 12 111 162 125 12 112 162 124 12 113 162 123 12 114 162 122 12 115 162 121 12 116 162 120 12 117 162 119 12 118 162 118 12 119 162 117 12 120 162 116 12 121 162 115 12 122 162 114 12 123 162 113 12 124 162 112 12 125 162 111 12 126 162 110 12 128 162 109 12 129 162 108 12 130 162 107 12 131 162 106 12 132 162 105 12 133 163 104 12 134 165 103 12 135 166 102 12 136 167 101 12 137 171 100 12 138 171 99 12 139 172 98 12 140 172 97 12 141 172 96 12 142 172 95 12 143 172 94 12 144 172 92 12 145 174 91 12 146 174 90 12 147 174 89 12 148 175 88 12 149 175 87 12 150 176 86 12 151 178 85 12 152 178 84 12 153 179 83 12 154 179 82 12 155 181 81 12 156 181 80 12 157 182 79 12 158 182 78 12 159 184 77 12 161 184 76 12 162 185 75 12 163 185 74 12 164 186 73 12 165 186 72 12 166 188 71 12 167 188 70 12 168 188 69 12 169 189 68 12 170 189 67 12 171 194 66 12 172 194 65 12 173 195 64 12 174 197 63 12 175 198 62 12 176 199 61 12 177 201 59 12 178 201 58 12 179 202 57 12 180 202 56 12 181 204 55 12 182 204 54 12 183 205 53 12 184 205 52 12 185 205 51 12 186 207 50 12 187 207 49 12 188 207 48 12 189 208 47 12 190 208 46 12 191 208 45 12 192 209 44 12 194 209 43 12 195 209 42 12 196 211 41 12 197 211 40 12 198 213 39 12 199 213 38 12 200 213 37 12 201 216 36 12 202 216 35 12 203 217 34 12 204 217 33 12 205 219 32 12 206 220 31 12 207 220 30 12 208 221 29 12 209 223 28 12 210 224 26 12 211 226 25 12 212 227 24 12 213 228 23 12 214 228 22 12 215 230 21 12 216 230 20 12 217 230 19 12 218 230 18 12 219 231 17 12 220 231 16 12 221 231 15 12 222 231 14 12 223 234 13 12 224 235 12 12 225 235 11 12 227 238 10 12 228 239 9 12 229 239 8 12 230 239 7 12 231 239 6 12 232 240 5 12 233 240 4 12 234 240 3 12 235 240 2 12 236 240 1 12 237 240 0 12 238 240 0 12 239 240 0 12 239 240 0 12 239 242 0 12 240 242 0 12 240 242 255 11 0 252 254 11 0 250 254 11 0 249 254 11 0 248 253 11 0 245 252 11 0 243 251 11 0 242 250 11 0 240 249 11 0 240 248 11 0 240 247 11 0 240 246 11 0 240 245 11 0 240 244 11 0 240 243 11 0 240 242 11 0 239 241 11 0 239 240 11 1 239 239 11 1 239 238 11 2 238 237 11 2 238 236 11 3 235 235 11 4 234 234 11 5 234 233 11 6 231 232 11 7 231 231 11 8 231 230 11 9 231 229 11 10 230 228 11 11 230 227 11 12 230 226 11 13 230 224 11 14 228 223 11 15 228 222 11 16 227 221 11 17 226 220 11 18 224 219 11 19 223 218 11 20 221 217 11 21 220 216 11 22 220 215 11 24 219 214 11 25 217 213 11 26 217 212 11 27 216 211 11 28 216 210 11 29 216 209 11 30 213 208 11 31 213 207 11 32 213 206 11 33 211 205 11 34 211 204 11 35 209 203 11 36 209 202 11 37 209 201 11 38 208 200 11 39 208 199 11 40 208 198 11 41 207 197 11 42 207 196 11 43 207 195 11 44 205 194 11 45 205 193 11 46 205 191 11 47 204 190 11 48 204 189 11 49 202 188 11 50 202 187 11 51 201 186 11 52 201 185 11 53 199 184 11 54 198 183 11 55 197 182 11 57 195 181 11 58 195 180 11 59 194 179 11 60 194 178 11 61 189 177 11 62 189 176 11 63 188 175 11 64 188 174 11 65 186 173 11 66 186 172 11 67 185 171 11 68 185 170 11 69 184 169 11 70 184 168 11 71 184 167 11 72 182 166 11 73 182 165 11 74 181 164 11 75 179 163 11 76 179 162 11 77 178 161 11 78 178 160 11 79 176 158 11 80 176 157 11 81 176 156 11 82 175 155 11 83 175 154 11 84 175 153 11 85 175 152 11 86 175 151 11 87 175 150 11 88 174 149 11 90 174 148 11 91 172 147 11 92 171 146 11 93 167 145 11 94 166 144 11 95 166 143 11 96 165 142 11 97 165 141 11 98 165 140 11 99 165 139 11 100 165 138 11 101 165 137 11 102 165 136 11 103 165 135 11 104 165 134 11 105 165 133 11 106 165 132 11 107 165 131 11 108 165 130 11 109 165 129 11 110 165 128 11 111 165 127 11 112 165 125 11 113 165 124 11 114 165 123 11 115 165 122 11 116 165 121 11 117 165 120 11 118 165 119 11 119 165 118 11 120 165 117 11 121 165 116 11 123 165 115 11 124 165 114 11 125 165 113 11 126 165 112 11 127 165 111 11 128 165 110 11 129 165 109 11 130 165 108 11 131 165 107 11 132 165 106 11 133 165 105 11 134 166 104 11 135 166 103 11 136 167 102 11 137 171 101 11 138 172 100 11 139 174 99 11 140 174 98 11 141 175 97 11 142 175 96 11 143 175 95 11 144 175 94 11 145 175 92 11 146 175 91 11 147 176 90 11 148 176 89 11 149 176 88 11 150 176 87 11 151 178 86 11 152 178 85 11 153 179 84 11 154 181 83 11 156 181 82 11 157 182 81 11 158 182 80 11 159 184 79 11 160 184 78 11 161 185 77 11 162 185 76 11 163 186 75 11 164 186 74 11 165 188 73 11 166 188 72 11 167 189 71 11 168 189 70 11 169 194 69 11 170 194 68 11 171 195 67 11 172 195 66 11 173 197 65 11 174 198 64 11 175 198 63 11 176 199 62 11 177 201 61 11 178 202 59 11 179 202 58 11 180 204 57 11 181 204 56 11 182 205 55 11 183 205 54 11 184 205 53 11 185 207 52 11 186 207 51 11 187 207 50 11 189 208 49 11 190 208 48 11 191 208 47 11 192 209 46 11 193 209 45 11 194 209 44 11 195 211 43 11 196 211 42 11 197 213 41 11 198 213 40 11 199 213 39 11 200 216 38 11 201 216 37 11 202 216 36 11 203 217 35 11 204 217 34 11 205 219 33 11 206 219 32 11 207 220 31 11 208 221 30 11 209 223 29 11 210 224 28 11 211 226 26 11 212 227 25 11 213 228 24 11 214 228 23 11 215 230 22 11 216 230 21 11 217 230 20 11 218 230 19 11 219 230 18 11 220 231 17 11 222 231 16 11 223 231 15 11 224 234 14 11 225 234 13 11 226 235 12 11 227 238 11 11 228 238 10 11 229 239 9 11 230 239 8 11 231 239 7 11 232 239 6 11 233 240 5 11 234 240 4 11 235 240 3 11 236 240 2 11 237 240 1 11 238 240 0 11 239 240 0 11 240 240 0 11 240 242 0 11 241 242 0 11 241 243 0 11 241 243 255 10 0 252 254 10 0 250 254 10 0 250 254 10 0 248 253 10 0 246 252 10 0 245 251 10 0 243 250 10 0 242 249 10 0 240 248 10 0 240 247 10 0 240 246 10 0 240 245 10 0 240 244 10 0 240 243 10 0 240 242 10 0 239 241 10 1 239 240 10 2 239 239 10 2 239 238 10 3 239 237 10 3 238 236 10 4 235 235 10 5 235 234 10 6 234 233 10 7 231 232 10 9 231 231 10 10 231 230 10 10 231 229 10 11 230 228 10 12 230 227 10 13 230 226 10 14 230 224 10 15 230 223 10 17 228 222 10 18 228 221 10 18 227 220 10 19 226 219 10 20 224 218 10 21 223 217 10 22 221 216 10 24 220 215 10 25 220 214 10 26 219 213 10 27 219 212 10 28 217 211 10 29 217 210 10 30 217 209 10 31 216 208 10 32 216 207 10 34 216 206 10 35 213 205 10 35 213 204 10 36 211 203 10 37 211 202 10 38 209 201 10 39 209 200 10 40 209 199 10 42 208 198 10 43 208 197 10 43 208 196 10 44 208 195 10 45 207 194 10 46 207 193 10 47 205 191 10 48 205 190 10 50 205 189 10 51 204 188 10 51 204 187 10 52 202 186 10 53 202 185 10 54 201 184 10 55 201 183 10 57 199 182 10 58 198 181 10 59 198 180 10 60 197 179 10 61 195 178 10 62 195 177 10 63 194 176 10 64 189 175 10 65 189 174 10 67 189 173 10 68 188 172 10 68 188 171 10 69 186 170 10 70 186 169 10 71 185 168 10 72 185 167 10 73 184 166 10 75 184 165 10 76 182 164 10 76 181 163 10 77 181 162 10 78 179 161 10 79 179 160 10 80 179 158 10 81 178 157 10 83 178 156 10 84 178 155 10 84 178 154 10 85 178 153 10 86 178 152 10 87 178 151 10 88 176 150 10 90 176 149 10 91 175 148 10 92 175 147 10 93 174 146 10 94 172 145 10 95 171 144 10 96 171 143 10 97 167 142 10 98 167 141 10 100 167 140 10 101 167 139 10 101 167 138 10 102 167 137 10 103 167 136 10 104 167 135 10 105 167 134 10 106 167 133 10 108 167 132 10 109 167 131 10 109 167 130 10 110 167 129 10 111 167 128 10 112 167 127 10 113 167 125 10 114 167 124 10 116 167 123 10 117 167 122 10 117 167 121 10 118 167 120 10 119 167 119 10 120 167 118 10 121 167 117 10 123 167 116 10 124 167 115 10 125 167 114 10 126 167 113 10 127 167 112 10 128 167 111 10 129 167 110 10 130 167 109 10 131 167 108 10 133 167 107 10 134 167 106 10 134 167 105 10 135 171 104 10 136 171 103 10 137 172 102 10 138 174 101 10 139 174 100 10 141 175 99 10 142 176 98 10 142 176 97 10 143 178 96 10 144 178 95 10 145 178 94 10 146 178 92 10 147 178 91 10 149 178 90 10 150 178 89 10 150 179 88 10 151 179 87 10 152 179 86 10 153 181 85 10 154 181 84 10 156 182 83 10 157 184 82 10 158 184 81 10 159 185 80 10 160 185 79 10 161 186 78 10 162 186 77 10 163 188 76 10 164 188 75 10 166 189 74 10 167 189 73 10 167 189 72 10 168 194 71 10 169 194 70 10 170 195 69 10 171 197 68 10 172 198 67 10 174 198 66 10 175 199 65 10 175 199 64 10 176 201 63 10 177 202 62 10 178 202 61 10 179 204 59 10 180 204 58 10 182 205 57 10 183 205 56 10 183 205 55 10 184 207 54 10 185 207 53 10 186 207 52 10 187 208 51 10 189 208 50 10 190 208 49 10 191 209 48 10 192 209 47 10 193 209 46 10 194 211 45 10 195 211 44 10 196 211 43 10 197 213 42 10 199 216 41 10 200 216 40 10 200 216 39 10 201 217 38 10 202 217 37 10 203 217 36 10 204 219 35 10 205 219 34 10 207 219 33 10 208 220 32 10 208 221 31 10 209 223 30 10 210 224 29 10 211 226 28 10 212 227 26 10 213 228 25 10 215 228 24 10 216 230 23 10 216 230 22 10 217 230 21 10 218 230 20 10 219 230 19 10 220 230 18 10 222 231 17 10 223 231 16 10 224 231 15 10 225 234 14 10 226 235 13 10 227 235 12 10 228 238 11 10 229 239 10 10 230 239 9 10 232 239 8 10 233 239 7 10 233 239 6 10 234 240 5 10 235 240 4 10 236 240 3 10 237 240 2 10 238 240 1 10 240 240 0 10 240 240 0 10 241 242 0 10 242 242 0 10 242 243 0 10 242 245 0 10 242 246 255 9 0 252 254 9 0 252 254 9 0 250 254 9 0 249 253 9 0 248 252 9 0 246 251 9 0 243 250 9 0 242 249 9 0 240 248 9 0 240 247 9 0 240 246 9 0 240 245 9 0 240 244 9 0 240 243 9 0 240 242 9 1 240 241 9 2 240 240 9 2 240 239 9 3 239 238 9 4 239 237 9 4 238 236 9 5 238 235 9 6 235 234 9 7 234 233 9 9 231 232 9 10 231 231 9 11 231 230 9 12 231 229 9 12 231 228 9 13 231 227 9 14 231 226 9 15 230 224 9 17 230 223 9 18 230 222 9 19 228 221 9 20 228 220 9 20 227 219 9 21 226 218 9 22 224 217 9 24 223 216 9 25 221 215 9 26 220 214 9 27 220 213 9 28 219 212 9 29 219 211 9 30 219 210 9 31 217 209 9 32 217 208 9 34 217 207 9 35 216 206 9 36 216 205 9 37 213 204 9 37 213 203 9 38 211 202 9 39 211 201 9 40 211 200 9 42 209 199 9 43 209 198 9 44 209 197 9 45 209 196 9 45 208 195 9 46 208 194 9 47 208 193 9 48 207 191 9 50 207 190 9 51 205 189 9 52 205 188 9 53 205 187 9 53 204 186 9 54 204 185 9 55 202 184 9 57 202 183 9 58 201 182 9 59 201 181 9 60 199 180 9 61 199 179 9 62 198 178 9 63 197 177 9 64 195 176 9 65 195 175 9 67 194 174 9 68 194 173 9 69 194 172 9 70 189 171 9 70 189 170 9 71 188 169 9 72 188 168 9 73 186 167 9 75 185 166 9 76 185 165 9 77 184 164 9 78 182 163 9 78 182 162 9 79 181 161 9 80 181 160 9 81 181 158 9 83 181 157 9 84 181 156 9 85 181 155 9 86 181 154 9 86 179 153 9 87 179 152 9 88 179 151 9 90 179 150 9 91 178 149 9 92 176 148 9 93 176 147 9 94 175 146 9 95 174 145 9 96 174 144 9 97 172 143 9 98 172 142 9 100 172 141 9 101 172 140 9 102 172 139 9 103 172 138 9 103 172 137 9 104 172 136 9 105 172 135 9 106 172 134 9 108 172 133 9 109 172 132 9 110 172 131 9 111 172 130 9 111 172 129 9 112 172 128 9 113 172 127 9 114 172 125 9 116 172 124 9 117 172 123 9 118 172 122 9 119 172 121 9 119 172 120 9 120 172 119 9 121 172 118 9 123 172 117 9 124 172 116 9 125 172 115 9 126 172 114 9 127 172 113 9 128 172 112 9 129 172 111 9 130 172 110 9 131 172 109 9 133 172 108 9 134 172 107 9 135 172 106 9 136 172 105 9 136 172 104 9 137 174 103 9 138 174 102 9 139 175 101 9 141 176 100 9 142 176 99 9 143 178 98 9 144 178 97 9 144 179 96 9 145 179 95 9 146 179 94 9 147 181 92 9 149 181 91 9 150 181 90 9 151 181 89 9 152 181 88 9 152 181 87 9 153 181 86 9 154 182 85 9 156 182 84 9 157 184 83 9 158 184 82 9 159 185 81 9 160 186 80 9 161 188 79 9 162 188 78 9 163 189 77 9 164 189 76 9 166 194 75 9 167 194 74 9 168 194 73 9 169 195 72 9 169 195 71 9 170 197 70 9 171 197 69 9 172 198 68 9 174 199 67 9 175 201 66 9 176 201 65 9 177 202 64 9 177 202 63 9 178 204 62 9 179 204 61 9 180 205 59 9 182 205 58 9 183 205 57 9 184 207 56 9 185 207 55 9 185 207 54 9 186 208 53 9 187 208 52 9 189 208 51 9 190 209 50 9 191 209 49 9 192 209 48 9 193 211 47 9 194 211 46 9 195 211 45 9 196 213 44 9 197 213 43 9 199 216 42 9 200 216 41 9 201 217 40 9 202 217 39 9 202 217 38 9 203 219 37 9 204 219 36 9 205 219 35 9 207 220 34 9 208 220 33 9 209 221 32 9 210 223 31 9 210 224 30 9 211 226 29 9 212 227 28 9 213 228 26 9 215 228 25 9 216 230 24 9 217 230 23 9 218 230 22 9 218 231 21 9 219 231 20 9 220 231 19 9 222 231 18 9 223 231 17 9 224 231 16 9 225 231 15 9 226 234 14 9 227 235 13 9 228 238 12 9 229 238 11 9 230 239 10 9 232 239 9 9 233 240 8 9 234 240 7 9 235 240 6 9 235 240 5 9 236 240 4 9 237 240 3 9 238 240 2 9 240 240 1 9 241 240 0 9 242 240 0 9 242 242 0 9 243 243 0 9 243 245 0 9 243 246 0 9 243 248 255 8 0 252 254 8 0 252 254 8 0 252 254 8 0 250 253 8 0 249 252 8 0 246 251 8 0 245 250 8 0 243 249 8 0 242 248 8 0 240 247 8 0 240 246 8 0 240 245 8 0 240 244 8 0 240 243 8 0 240 242 8 1 240 241 8 2 240 240 8 3 240 239 8 4 239 238 8 5 239 237 8 5 239 236 8 6 238 235 8 7 235 234 8 8 234 233 8 10 234 232 8 11 231 231 8 12 231 230 8 13 231 229 8 13 231 228 8 14 231 227 8 15 231 226 8 16 230 224 8 18 230 223 8 19 230 222 8 20 230 221 8 21 228 220 8 21 228 219 8 22 227 218 8 23 226 217 8 25 224 216 8 26 223 215 8 27 221 214 8 28 220 213 8 29 220 212 8 30 219 211 8 31 219 210 8 32 219 209 8 33 219 208 8 35 217 207 8 36 217 206 8 37 217 205 8 38 216 204 8 38 213 203 8 39 213 202 8 40 213 201 8 41 211 200 8 43 211 199 8 44 211 198 8 45 209 197 8 46 209 196 8 46 209 195 8 47 209 194 8 48 208 193 8 49 208 191 8 51 207 190 8 52 207 189 8 53 207 188 8 54 205 187 8 54 205 186 8 55 205 185 8 56 204 184 8 58 204 183 8 59 202 182 8 60 202 181 8 61 201 180 8 62 201 179 8 63 199 178 8 64 198 177 8 65 197 176 8 66 197 175 8 68 197 174 8 69 195 173 8 70 195 172 8 71 195 171 8 71 194 170 8 72 194 169 8 73 189 168 8 74 188 167 8 76 186 166 8 77 186 165 8 78 185 164 8 79 184 163 8 79 184 162 8 80 184 161 8 81 182 160 8 82 182 158 8 84 182 157 8 85 182 156 8 86 182 155 8 87 181 154 8 87 181 153 8 88 181 152 8 89 181 151 8 91 179 150 8 92 179 149 8 93 178 148 8 94 178 147 8 95 176 146 8 96 176 145 8 97 175 144 8 98 175 143 8 99 175 142 8 101 175 141 8 102 175 140 8 103 175 139 8 104 175 138 8 104 175 137 8 105 175 136 8 106 175 135 8 107 175 134 8 109 175 133 8 110 175 132 8 111 175 131 8 112 175 130 8 112 175 129 8 113 175 128 8 114 175 127 8 115 175 125 8 117 175 124 8 118 175 123 8 119 175 122 8 120 175 121 8 120 175 120 8 121 175 119 8 122 175 118 8 124 175 117 8 125 175 116 8 126 175 115 8 127 175 114 8 128 175 113 8 129 175 112 8 130 175 111 8 131 175 110 8 132 175 109 8 134 175 108 8 135 175 107 8 136 175 106 8 137 175 105 8 137 175 104 8 138 175 103 8 139 176 102 8 140 176 101 8 142 178 100 8 143 178 99 8 144 179 98 8 145 179 97 8 145 181 96 8 146 181 95 8 147 181 94 8 148 181 92 8 150 182 91 8 151 182 90 8 152 182 89 8 153 182 88 8 153 182 87 8 154 184 86 8 155 184 85 8 157 184 84 8 158 185 83 8 159 185 82 8 160 186 81 8 161 188 80 8 162 189 79 8 163 194 78 8 164 194 77 8 165 195 76 8 167 195 75 8 168 195 74 8 169 197 73 8 170 197 72 8 170 197 71 8 171 198 70 8 172 199 69 8 173 201 68 8 175 201 67 8 176 202 66 8 177 202 65 8 178 204 64 8 178 204 63 8 179 205 62 8 180 205 61 8 181 205 59 8 183 207 58 8 184 207 57 8 185 207 56 8 186 208 55 8 186 208 54 8 187 208 53 8 188 209 52 8 190 209 51 8 191 209 50 8 192 211 49 8 193 211 48 8 194 211 47 8 195 213 46 8 196 213 45 8 197 213 44 8 198 216 43 8 200 217 42 8 201 217 41 8 202 217 40 8 203 219 39 8 203 219 38 8 204 219 37 8 205 219 36 8 206 220 35 8 208 220 34 8 209 221 33 8 210 223 32 8 211 224 31 8 211 226 30 8 212 227 29 8 213 228 28 8 214 228 26 8 216 230 25 8 217 230 24 8 218 230 23 8 219 230 22 8 219 231 21 8 220 231 20 8 221 231 19 8 223 231 18 8 224 231 17 8 225 231 16 8 226 234 15 8 227 234 14 8 228 235 13 8 229 238 12 8 230 239 11 8 231 239 10 8 233 239 9 8 234 240 8 8 235 240 7 8 236 240 6 8 236 240 5 8 237 240 4 8 238 240 3 8 239 240 2 8 241 240 1 8 242 240 0 8 243 240 0 8 243 242 0 8 244 245 0 8 244 246 0 8 244 248 0 8 244 249 255 7 0 252 254 7 0 252 254 7 0 252 254 7 0 250 253 7 0 249 252 7 0 248 251 7 0 245 250 7 0 243 249 7 0 242 248 7 0 240 247 7 0 240 246 7 0 240 245 7 0 240 244 7 0 240 243 7 1 240 242 7 2 240 241 7 3 240 240 7 4 240 239 7 5 239 238 7 6 239 237 7 6 239 236 7 7 238 235 7 8 238 234 7 9 235 233 7 10 234 232 7 12 234 231 7 13 231 230 7 14 231 229 7 14 231 228 7 15 231 227 7 16 231 226 7 17 230 224 7 18 230 223 7 20 230 222 7 21 230 221 7 22 230 220 7 22 228 219 7 23 228 218 7 24 227 217 7 26 226 216 7 27 224 215 7 28 223 214 7 29 221 213 7 30 220 212 7 31 220 211 7 32 220 210 7 33 220 209 7 34 219 208 7 35 219 207 7 37 219 206 7 38 217 205 7 39 217 204 7 39 216 203 7 40 216 202 7 41 216 201 7 42 213 200 7 43 213 199 7 45 213 198 7 46 211 197 7 47 211 196 7 47 209 195 7 48 209 194 7 49 209 193 7 50 208 191 7 51 208 190 7 53 208 189 7 54 207 188 7 55 207 187 7 55 207 186 7 56 205 185 7 57 205 184 7 59 205 183 7 60 204 182 7 61 204 181 7 62 204 180 7 63 202 179 7 64 201 178 7 65 201 177 7 66 199 176 7 67 199 175 7 68 198 174 7 70 198 173 7 71 198 172 7 72 198 171 7 72 197 170 7 73 195 169 7 74 194 168 7 75 194 167 7 76 189 166 7 78 188 165 7 79 186 164 7 80 186 163 7 80 186 162 7 81 185 161 7 82 185 160 7 83 185 158 7 84 185 157 7 86 184 156 7 87 184 155 7 88 182 154 7 88 182 153 7 89 182 152 7 90 181 151 7 92 181 150 7 93 181 149 7 94 179 148 7 95 179 147 7 96 179 146 7 97 178 145 7 98 178 144 7 99 178 143 7 100 178 142 7 101 178 141 7 103 178 140 7 104 178 139 7 105 178 138 7 105 178 137 7 106 178 136 7 107 178 135 7 108 178 134 7 109 178 133 7 111 178 132 7 112 178 131 7 113 178 130 7 113 178 129 7 114 178 128 7 115 178 127 7 116 178 125 7 117 178 124 7 119 178 123 7 120 178 122 7 121 178 121 7 121 178 120 7 122 178 119 7 123 178 118 7 125 178 117 7 126 178 116 7 127 178 115 7 128 178 114 7 129 178 113 7 130 178 112 7 131 178 111 7 132 178 110 7 133 178 109 7 134 178 108 7 136 178 107 7 137 178 106 7 138 178 105 7 138 178 104 7 139 178 103 7 140 178 102 7 141 178 101 7 142 179 100 7 144 179 99 7 145 181 98 7 146 181 97 7 146 181 96 7 147 182 95 7 148 182 94 7 149 182 92 7 150 184 91 7 152 184 90 7 153 185 89 7 154 185 88 7 154 185 87 7 155 185 86 7 156 185 85 7 158 186 84 7 159 186 83 7 160 188 82 7 161 189 81 7 162 189 80 7 163 194 79 7 164 195 78 7 165 197 77 7 166 198 76 7 167 198 75 7 169 198 74 7 170 198 73 7 171 199 72 7 171 199 71 7 172 201 70 7 173 201 69 7 174 202 68 7 175 204 67 7 177 204 66 7 178 204 65 7 179 205 64 7 179 205 63 7 180 205 62 7 181 207 61 7 182 207 59 7 183 207 58 7 185 208 57 7 186 208 56 7 187 208 55 7 187 209 54 7 188 209 53 7 189 209 52 7 191 211 51 7 192 211 50 7 193 211 49 7 194 213 48 7 195 213 47 7 196 216 46 7 197 216 45 7 198 216 44 7 199 217 43 7 200 217 42 7 202 219 41 7 203 219 40 7 204 219 39 7 204 220 38 7 205 220 37 7 206 220 36 7 207 220 35 7 208 221 34 7 210 223 33 7 211 224 32 7 212 226 31 7 212 226 30 7 213 227 29 7 214 228 28 7 215 230 26 7 216 230 25 7 218 230 24 7 219 230 23 7 220 230 22 7 220 231 21 7 221 231 20 7 222 231 19 7 224 231 18 7 225 231 17 7 226 234 16 7 227 234 15 7 228 235 14 7 229 235 13 7 230 238 12 7 231 239 11 7 232 239 10 7 233 239 9 7 235 240 8 7 236 240 7 7 237 240 6 7 237 240 5 7 238 240 4 7 239 240 3 7 240 240 2 7 241 240 1 7 243 240 0 7 243 242 0 7 244 243 0 7 245 245 0 7 245 248 0 7 245 249 0 7 245 250 255 6 0 255 254 6 0 255 254 6 0 252 254 6 0 252 253 6 0 250 252 6 0 249 251 6 0 246 250 6 0 245 249 6 0 242 248 6 0 242 247 6 0 240 246 6 0 240 245 6 0 240 244 6 1 240 243 6 1 240 242 6 2 240 241 6 3 240 240 6 4 240 239 6 5 239 238 6 6 239 237 6 7 239 236 6 8 239 235 6 9 238 234 6 10 238 233 6 11 235 232 6 12 234 231 6 13 234 230 6 14 231 229 6 15 231 228 6 16 231 227 6 17 231 226 6 18 231 224 6 19 231 223 6 20 231 222 6 21 230 221 6 22 230 220 6 23 230 219 6 24 228 218 6 25 228 217 6 27 227 216 6 28 226 215 6 29 224 214 6 30 223 213 6 31 221 212 6 32 221 211 6 33 221 210 6 34 220 209 6 35 220 208 6 36 220 207 6 37 219 206 6 38 219 205 6 39 217 204 6 40 217 203 6 41 217 202 6 42 216 201 6 43 216 200 6 44 216 199 6 45 213 198 6 46 213 197 6 47 211 196 6 48 211 195 6 49 211 194 6 50 211 193 6 51 209 191 6 52 209 190 6 53 208 189 6 54 208 188 6 55 208 187 6 56 208 186 6 57 207 185 6 58 207 184 6 60 205 183 6 61 205 182 6 62 205 181 6 63 205 180 6 64 204 179 6 65 204 178 6 66 202 177 6 67 202 176 6 68 201 175 6 69 201 174 6 70 201 173 6 71 201 172 6 72 199 171 6 73 199 170 6 74 198 169 6 75 197 168 6 76 195 167 6 77 194 166 6 78 189 165 6 79 189 164 6 80 188 163 6 81 188 162 6 82 188 161 6 83 188 160 6 84 186 158 6 85 186 157 6 86 185 156 6 87 185 155 6 88 184 154 6 89 184 153 6 90 182 152 6 91 182 151 6 93 182 150 6 94 182 149 6 95 181 148 6 96 181 147 6 97 181 146 6 98 181 145 6 99 181 144 6 100 181 143 6 101 181 142 6 102 181 141 6 103 181 140 6 104 181 139 6 105 181 138 6 106 181 137 6 107 181 136 6 108 181 135 6 109 181 134 6 110 181 133 6 111 181 132 6 112 181 131 6 113 181 130 6 114 181 129 6 115 181 128 6 116 181 127 6 117 181 125 6 118 181 124 6 119 181 123 6 120 181 122 6 121 181 121 6 122 181 120 6 123 181 119 6 124 181 118 6 126 181 117 6 127 181 116 6 128 181 115 6 129 181 114 6 130 181 113 6 131 181 112 6 132 181 111 6 133 181 110 6 134 181 109 6 135 181 108 6 136 181 107 6 137 181 106 6 138 181 105 6 139 181 104 6 140 181 103 6 141 181 102 6 142 181 101 6 143 181 100 6 144 181 99 6 145 181 98 6 146 182 97 6 147 182 96 6 148 182 95 6 149 184 94 6 150 184 92 6 151 185 91 6 152 185 90 6 153 186 89 6 154 186 88 6 155 188 87 6 156 188 86 6 157 188 85 6 159 188 84 6 160 189 83 6 161 189 82 6 162 194 81 6 163 195 80 6 164 197 79 6 165 198 78 6 166 199 77 6 167 199 76 6 168 201 75 6 169 201 74 6 170 201 73 6 171 201 72 6 172 202 71 6 173 202 70 6 174 204 69 6 175 204 68 6 176 205 67 6 177 205 66 6 178 205 65 6 179 205 64 6 180 207 63 6 181 207 62 6 182 207 61 6 183 208 59 6 184 208 58 6 185 208 57 6 186 209 56 6 187 209 55 6 188 209 54 6 189 211 53 6 190 211 52 6 192 211 51 6 193 213 50 6 194 213 49 6 195 216 48 6 196 216 47 6 197 216 46 6 198 217 45 6 199 217 44 6 200 217 43 6 201 219 42 6 202 219 41 6 203 220 40 6 204 220 39 6 205 220 38 6 206 221 37 6 207 221 36 6 208 221 35 6 209 223 34 6 210 224 33 6 211 226 32 6 212 227 31 6 213 227 30 6 214 228 29 6 215 230 28 6 216 230 26 6 217 230 25 6 218 231 24 6 219 231 23 6 220 231 22 6 221 231 21 6 222 231 20 6 223 231 19 6 225 231 18 6 226 234 17 6 227 234 16 6 228 235 15 6 229 235 14 6 230 238 13 6 231 239 12 6 232 239 11 6 233 239 10 6 234 239 9 6 235 240 8 6 236 240 7 6 237 240 6 6 238 240 5 6 239 240 4 6 240 240 3 6 241 240 2 6 242 240 1 6 243 240 0 6 244 242 0 6 245 243 0 6 245 246 0 6 246 248 0 6 246 250 0 6 246 252 255 5 0 255 254 5 0 255 254 5 0 252 254 5 0 252 253 5 0 250 252 5 0 249 251 5 0 248 250 5 0 245 249 5 0 243 248 5 0 242 247 5 0 240 246 5 0 240 245 5 1 240 244 5 1 240 243 5 2 240 242 5 3 240 241 5 4 240 240 5 5 240 239 5 6 239 238 5 7 239 237 5 8 239 236 5 9 239 235 5 10 238 234 5 11 238 233 5 12 238 232 5 13 235 231 5 14 234 230 5 15 234 229 5 16 231 228 5 17 231 227 5 18 231 226 5 19 231 224 5 20 231 223 5 21 231 222 5 22 230 221 5 23 230 220 5 24 230 219 5 25 230 218 5 26 228 217 5 28 228 216 5 29 227 215 5 30 226 214 5 31 224 213 5 32 223 212 5 33 223 211 5 34 221 210 5 35 221 209 5 36 221 208 5 37 220 207 5 38 220 206 5 39 219 205 5 40 219 204 5 41 219 203 5 42 217 202 5 43 217 201 5 44 217 200 5 45 216 199 5 46 216 198 5 47 216 197 5 48 213 196 5 49 213 195 5 50 211 194 5 51 211 193 5 52 211 191 5 53 209 190 5 54 209 189 5 55 209 188 5 56 208 187 5 57 208 186 5 58 208 185 5 59 207 184 5 61 207 183 5 62 207 182 5 63 205 181 5 64 205 180 5 65 205 179 5 66 205 178 5 67 204 177 5 68 204 176 5 69 204 175 5 70 202 174 5 71 202 173 5 72 202 172 5 73 201 171 5 74 201 170 5 75 199 169 5 76 198 168 5 77 197 167 5 78 197 166 5 79 195 165 5 80 195 164 5 81 194 163 5 82 194 162 5 83 194 161 5 84 189 160 5 85 189 158 5 86 188 157 5 87 186 156 5 88 186 155 5 89 185 154 5 90 185 153 5 91 184 152 5 92 184 151 5 94 184 150 5 95 184 149 5 96 184 148 5 97 182 147 5 98 182 146 5 99 182 145 5 100 182 144 5 101 182 143 5 102 182 142 5 103 182 141 5 104 182 140 5 105 182 139 5 106 182 138 5 107 182 137 5 108 182 136 5 109 182 135 5 110 182 134 5 111 182 133 5 112 182 132 5 113 182 131 5 114 182 130 5 115 182 129 5 116 182 128 5 117 182 127 5 118 182 125 5 119 182 124 5 120 182 123 5 121 182 122 5 122 182 121 5 123 182 120 5 124 182 119 5 125 182 118 5 127 182 117 5 128 182 116 5 129 182 115 5 130 182 114 5 131 182 113 5 132 182 112 5 133 182 111 5 134 182 110 5 135 182 109 5 136 182 108 5 137 182 107 5 138 182 106 5 139 182 105 5 140 182 104 5 141 182 103 5 142 182 102 5 143 182 101 5 144 182 100 5 145 182 99 5 146 184 98 5 147 184 97 5 148 184 96 5 149 184 95 5 150 185 94 5 151 185 92 5 152 186 91 5 153 186 90 5 154 188 89 5 155 189 88 5 156 189 87 5 157 194 86 5 158 194 85 5 160 194 84 5 161 194 83 5 162 195 82 5 163 195 81 5 164 197 80 5 165 198 79 5 166 199 78 5 167 201 77 5 168 201 76 5 169 202 75 5 170 202 74 5 171 202 73 5 172 204 72 5 173 204 71 5 174 204 70 5 175 205 69 5 176 205 68 5 177 205 67 5 178 205 66 5 179 207 65 5 180 207 64 5 181 207 63 5 182 208 62 5 183 208 61 5 184 208 59 5 185 209 58 5 186 209 57 5 187 209 56 5 188 211 55 5 189 211 54 5 190 211 53 5 191 213 52 5 193 213 51 5 194 213 50 5 195 216 49 5 196 216 48 5 197 217 47 5 198 217 46 5 199 217 45 5 200 219 44 5 201 219 43 5 202 219 42 5 203 220 41 5 204 220 40 5 205 221 39 5 206 221 38 5 207 221 37 5 208 223 36 5 209 223 35 5 210 224 34 5 211 226 33 5 212 227 32 5 213 227 31 5 214 228 30 5 215 230 29 5 216 230 28 5 217 230 26 5 218 230 25 5 219 231 24 5 220 231 23 5 221 231 22 5 222 231 21 5 223 231 20 5 224 231 19 5 226 234 18 5 227 234 17 5 228 235 16 5 229 235 15 5 230 238 14 5 231 238 13 5 232 239 12 5 233 239 11 5 234 239 10 5 235 239 9 5 236 240 8 5 237 240 7 5 238 240 6 5 239 240 5 5 240 240 4 5 241 240 3 5 242 240 2 5 243 240 1 5 244 242 0 5 245 243 0 5 246 245 0 5 246 246 0 5 247 249 0 5 247 250 0 5 247 252 255 4 0 255 254 4 0 255 254 4 0 252 254 4 0 252 253 4 0 250 252 4 0 249 251 4 0 248 250 4 0 246 249 4 0 245 248 4 0 243 247 4 0 242 246 4 1 240 245 4 1 240 244 4 2 240 243 4 3 240 242 4 4 240 241 4 5 240 240 4 6 240 239 4 7 239 238 4 8 239 237 4 9 239 236 4 10 239 235 4 11 239 234 4 12 238 233 4 13 238 232 4 14 235 231 4 15 235 230 4 16 234 229 4 17 234 228 4 18 231 227 4 19 231 226 4 20 231 224 4 21 231 223 4 22 231 222 4 23 230 221 4 24 230 220 4 25 230 219 4 26 230 218 4 27 230 217 4 29 228 216 4 30 228 215 4 31 227 214 4 32 226 213 4 33 226 212 4 34 224 211 4 35 224 210 4 36 223 209 4 37 223 208 4 38 221 207 4 39 220 206 4 40 220 205 4 41 219 204 4 42 219 203 4 43 219 202 4 44 219 201 4 45 217 200 4 46 217 199 4 47 217 198 4 48 216 197 4 49 216 196 4 50 216 195 4 51 213 194 4 52 213 193 4 53 213 191 4 54 211 190 4 55 211 189 4 56 211 188 4 57 209 187 4 58 209 186 4 59 208 185 4 60 208 184 4 62 208 183 4 63 207 182 4 64 207 181 4 65 207 180 4 66 207 179 4 67 207 178 4 68 207 177 4 69 205 176 4 70 205 175 4 71 205 174 4 72 204 173 4 73 204 172 4 74 202 171 4 75 202 170 4 76 201 169 4 77 201 168 4 78 199 167 4 79 198 166 4 80 198 165 4 81 198 164 4 82 197 163 4 83 197 162 4 84 197 161 4 85 195 160 4 86 195 158 4 87 194 157 4 88 189 156 4 89 188 155 4 90 186 154 4 91 186 153 4 92 186 152 4 93 185 151 4 95 185 150 4 96 185 149 4 97 185 148 4 98 185 147 4 99 185 146 4 100 185 145 4 101 185 144 4 102 185 143 4 103 185 142 4 104 185 141 4 105 184 140 4 106 184 139 4 107 184 138 4 108 184 137 4 109 184 136 4 110 184 135 4 111 184 134 4 112 184 133 4 113 184 132 4 114 184 131 4 115 184 130 4 116 184 129 4 117 184 128 4 118 184 127 4 119 184 125 4 120 184 124 4 121 184 123 4 122 184 122 4 123 184 121 4 124 184 120 4 125 184 119 4 126 184 118 4 128 184 117 4 129 184 116 4 130 184 115 4 131 184 114 4 132 184 113 4 133 184 112 4 134 184 111 4 135 184 110 4 136 184 109 4 137 184 108 4 138 184 107 4 139 185 106 4 140 185 105 4 141 185 104 4 142 185 103 4 143 185 102 4 144 185 101 4 145 185 100 4 146 185 99 4 147 185 98 4 148 185 97 4 149 185 96 4 150 186 95 4 151 186 94 4 152 186 92 4 153 188 91 4 154 189 90 4 155 194 89 4 156 194 88 4 157 195 87 4 158 197 86 4 159 197 85 4 161 197 84 4 162 197 83 4 163 198 82 4 164 198 81 4 165 199 80 4 166 199 79 4 167 201 78 4 168 202 77 4 169 202 76 4 170 204 75 4 171 204 74 4 172 204 73 4 173 205 72 4 174 205 71 4 175 205 70 4 176 207 69 4 177 207 68 4 178 207 67 4 179 207 66 4 180 207 65 4 181 208 64 4 182 208 63 4 183 208 62 4 184 209 61 4 185 209 59 4 186 209 58 4 187 211 57 4 188 211 56 4 189 211 55 4 190 213 54 4 191 213 53 4 192 216 52 4 194 216 51 4 195 216 50 4 196 217 49 4 197 217 48 4 198 217 47 4 199 219 46 4 200 219 45 4 201 219 44 4 202 219 43 4 203 220 42 4 204 220 41 4 205 221 40 4 206 221 39 4 207 223 38 4 208 224 37 4 209 224 36 4 210 226 35 4 211 226 34 4 212 227 33 4 213 227 32 4 214 228 31 4 215 230 30 4 216 230 29 4 217 230 28 4 218 230 26 4 219 230 25 4 220 231 24 4 221 231 23 4 222 231 22 4 223 231 21 4 224 231 20 4 225 234 19 4 227 234 18 4 228 235 17 4 229 235 16 4 230 238 15 4 231 238 14 4 232 239 13 4 233 239 12 4 234 239 11 4 235 239 10 4 236 239 9 4 237 240 8 4 238 240 7 4 239 240 6 4 240 240 5 4 241 240 4 4 242 240 3 4 243 240 2 4 244 242 1 4 245 243 0 4 246 245 0 4 247 246 0 4 247 248 0 4 247 249 0 4 248 250 0 4 248 252 255 3 0 255 254 3 0 255 254 3 0 252 254 3 0 252 253 3 0 252 252 3 0 250 251 3 0 249 250 3 0 248 249 3 0 246 248 3 1 245 247 3 1 243 246 3 2 242 245 3 2 240 244 3 3 240 243 3 4 240 242 3 5 240 241 3 6 240 240 3 7 240 239 3 8 239 238 3 9 239 237 3 10 239 236 3 11 239 235 3 12 239 234 3 13 239 233 3 14 239 232 3 15 238 231 3 16 238 230 3 17 235 229 3 18 234 228 3 19 234 227 3 20 231 226 3 21 231 224 3 22 231 223 3 24 231 222 3 25 230 221 3 26 230 220 3 27 230 219 3 28 230 218 3 29 230 217 3 30 230 216 3 31 228 215 3 32 228 214 3 33 227 213 3 34 227 212 3 35 227 211 3 36 226 210 3 37 226 209 3 38 224 208 3 39 223 207 3 40 221 206 3 41 220 205 3 42 220 204 3 43 219 203 3 44 219 202 3 45 219 201 3 46 219 200 3 47 219 199 3 48 217 198 3 49 217 197 3 50 217 196 3 51 217 195 3 52 216 194 3 53 216 193 3 54 213 191 3 55 213 190 3 57 213 189 3 58 211 188 3 59 211 187 3 60 209 186 3 61 209 185 3 62 209 184 3 63 208 183 3 64 208 182 3 65 208 181 3 66 208 180 3 67 208 179 3 68 208 178 3 69 208 177 3 70 207 176 3 71 207 175 3 72 205 174 3 73 205 173 3 74 205 172 3 75 204 171 3 76 204 170 3 77 204 169 3 78 202 168 3 79 201 167 3 80 201 166 3 81 201 165 3 82 199 164 3 83 199 163 3 84 199 162 3 85 199 161 3 86 198 160 3 87 197 158 3 88 195 157 3 90 194 156 3 91 189 155 3 92 189 154 3 93 188 153 3 94 188 152 3 95 188 151 3 96 188 150 3 97 188 149 3 98 188 148 3 99 188 147 3 100 188 146 3 101 188 145 3 102 188 144 3 103 188 143 3 104 186 142 3 105 186 141 3 106 186 140 3 107 186 139 3 108 186 138 3 109 186 137 3 110 186 136 3 111 186 135 3 112 186 134 3 113 186 133 3 114 186 132 3 115 186 131 3 116 186 130 3 117 186 129 3 118 186 128 3 119 186 127 3 120 186 125 3 121 186 124 3 123 186 123 3 124 186 122 3 125 186 121 3 126 186 120 3 127 186 119 3 128 186 118 3 129 186 117 3 130 186 116 3 131 186 115 3 132 186 114 3 133 186 113 3 134 186 112 3 135 186 111 3 136 186 110 3 137 186 109 3 138 186 108 3 139 186 107 3 140 186 106 3 141 186 105 3 142 188 104 3 143 188 103 3 144 188 102 3 145 188 101 3 146 188 100 3 147 188 99 3 148 188 98 3 149 188 97 3 150 188 96 3 151 188 95 3 152 188 94 3 153 189 92 3 154 189 91 3 156 194 90 3 157 195 89 3 158 197 88 3 159 198 87 3 160 198 86 3 161 199 85 3 162 199 84 3 163 199 83 3 164 201 82 3 165 201 81 3 166 201 80 3 167 202 79 3 168 204 78 3 169 204 77 3 170 204 76 3 171 205 75 3 172 205 74 3 173 205 73 3 174 207 72 3 175 207 71 3 176 207 70 3 177 208 69 3 178 208 68 3 179 208 67 3 180 208 66 3 181 208 65 3 182 208 64 3 183 209 63 3 184 209 62 3 185 209 61 3 186 211 59 3 187 211 58 3 189 211 57 3 190 213 56 3 191 213 55 3 192 216 54 3 193 216 53 3 194 216 52 3 195 217 51 3 196 217 50 3 197 217 49 3 198 219 48 3 199 219 47 3 200 219 46 3 201 219 45 3 202 219 44 3 203 220 43 3 204 220 42 3 205 221 41 3 206 223 40 3 207 224 39 3 208 224 38 3 209 226 37 3 210 226 36 3 211 227 35 3 212 227 34 3 213 228 33 3 214 228 32 3 215 230 31 3 216 230 30 3 217 230 29 3 218 230 28 3 219 230 26 3 220 230 25 3 222 231 24 3 223 231 23 3 224 231 22 3 225 231 21 3 226 234 20 3 227 234 19 3 228 235 18 3 229 238 17 3 230 238 16 3 231 239 15 3 232 239 14 3 233 239 13 3 234 239 12 3 235 239 11 3 236 239 10 3 237 239 9 3 238 240 8 3 239 240 7 3 240 240 6 3 241 240 5 3 242 240 4 3 243 240 3 3 244 242 2 3 245 243 1 3 246 245 0 3 247 246 0 3 248 248 0 3 248 249 0 3 249 250 0 3 249 252 0 3 249 252 255 2 0 255 254 2 0 255 254 2 0 252 254 2 0 252 253 2 0 252 252 2 0 252 251 2 0 250 250 2 0 249 249 2 1 248 248 2 2 246 247 2 2 245 246 2 3 243 245 2 3 242 244 2 4 240 243 2 5 240 242 2 6 240 241 2 7 240 240 2 9 240 239 2 10 240 238 2 10 240 237 2 11 240 236 2 12 239 235 2 13 239 234 2 14 239 233 2 15 239 232 2 17 238 231 2 18 238 230 2 18 238 229 2 19 235 228 2 20 234 227 2 21 234 226 2 22 231 224 2 24 231 223 2 25 231 222 2 26 231 221 2 27 231 220 2 28 231 219 2 29 230 218 2 30 230 217 2 31 230 216 2 32 230 215 2 34 228 214 2 35 228 213 2 35 228 212 2 36 228 211 2 37 227 210 2 38 227 209 2 39 226 208 2 40 224 207 2 42 223 206 2 43 221 205 2 43 220 204 2 44 220 203 2 45 220 202 2 46 219 201 2 47 219 200 2 48 219 199 2 50 219 198 2 51 219 197 2 51 217 196 2 52 217 195 2 53 217 194 2 54 217 193 2 55 216 191 2 57 216 190 2 58 213 189 2 59 213 188 2 60 213 187 2 61 211 186 2 62 211 185 2 63 209 184 2 64 209 183 2 65 209 182 2 67 209 181 2 68 209 180 2 68 209 179 2 69 208 178 2 70 208 177 2 71 208 176 2 72 208 175 2 73 207 174 2 75 207 173 2 76 205 172 2 76 205 171 2 77 205 170 2 78 205 169 2 79 204 168 2 80 204 167 2 81 202 166 2 83 202 165 2 84 202 164 2 84 202 163 2 85 202 162 2 86 201 161 2 87 199 160 2 88 199 158 2 90 198 157 2 91 197 156 2 92 195 155 2 93 195 154 2 94 194 153 2 95 194 152 2 96 194 151 2 97 194 150 2 98 194 149 2 100 194 148 2 101 194 147 2 101 194 146 2 102 194 145 2 103 194 144 2 104 189 143 2 105 189 142 2 106 188 141 2 108 188 140 2 109 188 139 2 109 186 138 2 110 186 137 2 111 186 136 2 112 186 135 2 113 186 134 2 114 186 133 2 116 186 132 2 117 186 131 2 117 186 130 2 118 186 129 2 119 186 128 2 120 186 127 2 121 186 125 2 123 186 124 2 124 186 123 2 125 186 122 2 126 186 121 2 127 186 120 2 128 186 119 2 129 186 118 2 130 186 117 2 131 186 116 2 133 186 115 2 134 186 114 2 134 186 113 2 135 186 112 2 136 186 111 2 137 186 110 2 138 186 109 2 139 188 108 2 141 188 107 2 142 188 106 2 142 189 105 2 143 189 104 2 144 194 103 2 145 194 102 2 146 194 101 2 147 194 100 2 149 194 99 2 150 194 98 2 150 194 97 2 151 194 96 2 152 194 95 2 153 194 94 2 154 195 92 2 156 195 91 2 157 197 90 2 158 197 89 2 159 198 88 2 160 199 87 2 161 201 86 2 162 201 85 2 163 202 84 2 164 202 83 2 166 202 82 2 167 202 81 2 167 204 80 2 168 204 79 2 169 205 78 2 170 205 77 2 171 205 76 2 172 205 75 2 174 207 74 2 175 207 73 2 175 207 72 2 176 208 71 2 177 208 70 2 178 208 69 2 179 208 68 2 180 209 67 2 182 209 66 2 183 209 65 2 183 209 64 2 184 209 63 2 185 211 62 2 186 211 61 2 187 211 59 2 189 213 58 2 190 213 57 2 191 213 56 2 192 216 55 2 193 216 54 2 194 217 53 2 195 217 52 2 196 217 51 2 197 219 50 2 199 219 49 2 200 219 48 2 200 219 47 2 201 219 46 2 202 220 45 2 203 220 44 2 204 220 43 2 205 221 42 2 207 223 41 2 208 224 40 2 208 226 39 2 209 226 38 2 210 227 37 2 211 228 36 2 212 228 35 2 213 228 34 2 215 228 33 2 216 230 32 2 216 230 31 2 217 230 30 2 218 230 29 2 219 231 28 2 220 231 26 2 222 231 25 2 223 231 24 2 224 231 23 2 225 231 22 2 226 234 21 2 227 234 20 2 228 235 19 2 229 238 18 2 230 238 17 2 232 238 16 2 233 239 15 2 233 239 14 2 234 239 13 2 235 239 12 2 236 240 11 2 237 240 10 2 238 240 9 2 240 240 8 2 241 240 7 2 241 240 6 2 242 240 5 2 243 240 4 2 244 242 3 2 245 243 2 2 246 245 1 2 248 246 0 2 248 248 0 2 249 249 0 2 250 250 0 2 250 252 0 2 250 252 0 2 250 252 255 1 0 255 254 1 0 255 254 1 0 252 254 1 0 252 253 1 0 252 252 1 0 252 251 1 0 250 250 1 1 250 249 1 2 249 248 1 2 248 247 1 3 246 246 1 4 245 245 1 4 243 244 1 5 242 243 1 6 240 242 1 7 240 241 1 9 240 240 1 10 240 239 1 11 240 238 1 12 240 237 1 12 240 236 1 13 239 235 1 14 239 234 1 15 239 233 1 17 239 232 1 18 239 231 1 19 238 230 1 20 238 229 1 20 235 228 1 21 235 227 1 22 234 226 1 24 234 224 1 25 231 223 1 26 231 222 1 27 231 221 1 28 231 220 1 29 231 219 1 30 231 218 1 31 230 217 1 32 230 216 1 34 230 215 1 35 230 214 1 36 230 213 1 37 230 212 1 37 230 211 1 38 228 210 1 39 228 209 1 40 227 208 1 42 226 207 1 43 224 206 1 44 223 205 1 45 221 204 1 45 220 203 1 46 220 202 1 47 220 201 1 48 219 200 1 50 219 199 1 51 219 198 1 52 219 197 1 53 219 196 1 53 219 195 1 54 219 194 1 55 217 193 1 57 217 191 1 58 216 190 1 59 216 189 1 60 216 188 1 61 213 187 1 62 213 186 1 63 213 185 1 64 211 184 1 65 211 183 1 67 209 182 1 68 209 181 1 69 209 180 1 70 209 179 1 70 209 178 1 71 209 177 1 72 209 176 1 73 208 175 1 75 208 174 1 76 208 173 1 77 207 172 1 78 207 171 1 78 207 170 1 79 207 169 1 80 205 168 1 81 205 167 1 83 205 166 1 84 204 165 1 85 204 164 1 86 204 163 1 86 204 162 1 87 202 161 1 88 202 160 1 90 201 158 1 91 199 157 1 92 198 156 1 93 198 155 1 94 198 154 1 95 197 153 1 96 197 152 1 97 197 151 1 98 197 150 1 100 197 149 1 101 197 148 1 102 197 147 1 103 197 146 1 103 197 145 1 104 197 144 1 105 195 143 1 106 194 142 1 108 194 141 1 109 189 140 1 110 189 139 1 111 188 138 1 111 188 137 1 112 188 136 1 113 188 135 1 114 188 134 1 116 188 133 1 117 188 132 1 118 188 131 1 119 188 130 1 119 188 129 1 120 188 128 1 121 188 127 1 123 188 125 1 124 188 124 1 125 188 123 1 126 188 122 1 127 188 121 1 128 188 120 1 129 188 119 1 130 188 118 1 131 188 117 1 133 188 116 1 134 188 115 1 135 188 114 1 136 188 113 1 136 188 112 1 137 188 111 1 138 188 110 1 139 188 109 1 141 189 108 1 142 189 107 1 143 194 106 1 144 194 105 1 144 195 104 1 145 195 103 1 146 197 102 1 147 197 101 1 149 197 100 1 150 197 99 1 151 197 98 1 152 197 97 1 152 197 96 1 153 197 95 1 154 197 94 1 156 197 92 1 157 198 91 1 158 198 90 1 159 199 89 1 160 201 88 1 161 201 87 1 162 202 86 1 163 202 85 1 164 204 84 1 166 204 83 1 167 204 82 1 168 205 81 1 169 205 80 1 169 205 79 1 170 207 78 1 171 207 77 1 172 207 76 1 174 207 75 1 175 207 74 1 176 208 73 1 177 208 72 1 177 208 71 1 178 209 70 1 179 209 69 1 180 209 68 1 182 209 67 1 183 209 66 1 184 209 65 1 185 211 64 1 185 211 63 1 186 213 62 1 187 213 61 1 189 213 59 1 190 216 58 1 191 216 57 1 192 216 56 1 193 217 55 1 194 217 54 1 195 217 53 1 196 219 52 1 197 219 51 1 199 219 50 1 200 219 49 1 201 219 48 1 202 219 47 1 202 220 46 1 203 220 45 1 204 220 44 1 205 221 43 1 207 223 42 1 208 224 41 1 209 226 40 1 210 227 39 1 210 227 38 1 211 228 37 1 212 228 36 1 213 230 35 1 215 230 34 1 216 230 33 1 217 230 32 1 218 230 31 1 218 230 30 1 219 231 29 1 220 231 28 1 222 231 26 1 223 231 25 1 224 231 24 1 225 231 23 1 226 234 22 1 227 234 21 1 228 235 20 1 229 235 19 1 230 238 18 1 232 238 17 1 233 239 16 1 234 239 15 1 235 239 14 1 235 239 13 1 236 239 12 1 237 240 11 1 238 240 10 1 240 240 9 1 241 240 8 1 242 240 7 1 243 240 6 1 243 240 5 1 244 242 4 1 245 243 3 1 246 245 2 1 248 246 1 1 249 248 0 1 250 249 0 1 250 250 0 1 251 250 0 1 251 252 0 1 251 252 0 1 251 252 255 0 0 255 254 0 0 255 254 0 0 252 254 0 0 252 253 0 0 252 252 0 0 252 251 0 0 252 250 0 1 252 249 0 2 250 248 0 3 249 247 0 4 248 246 0 5 246 245 0 5 245 244 0 6 243 243 0 7 242 242 0 8 240 241 0 9 240 240 0 11 240 239 0 12 240 238 0 12 240 237 0 13 240 236 0 14 239 235 0 15 239 234 0 16 239 233 0 17 239 232 0 19 239 231 0 20 239 230 0 20 239 229 0 21 238 228 0 22 238 227 0 23 235 226 0 25 234 224 0 26 234 223 0 27 231 222 0 28 231 221 0 29 231 220 0 30 231 219 0 31 231 218 0 32 231 217 0 33 230 216 0 34 230 215 0 36 230 214 0 37 230 213 0 37 230 212 0 38 230 211 0 39 230 210 0 40 230 209 0 41 228 208 0 42 227 207 0 44 226 206 0 45 224 205 0 45 223 204 0 46 221 203 0 47 221 202 0 48 220 201 0 49 220 200 0 50 220 199 0 52 220 198 0 53 220 197 0 53 220 196 0 54 220 195 0 55 219 194 0 56 219 193 0 58 217 191 0 59 217 190 0 60 217 189 0 61 217 188 0 62 216 187 0 63 216 186 0 64 213 185 0 65 213 184 0 66 213 183 0 67 211 182 0 69 211 181 0 70 211 180 0 70 211 179 0 71 211 178 0 72 211 177 0 73 209 176 0 74 209 175 0 75 209 174 0 77 208 173 0 78 208 172 0 78 208 171 0 79 208 170 0 80 208 169 0 81 207 168 0 82 207 167 0 83 207 166 0 85 205 165 0 86 205 164 0 86 205 163 0 87 205 162 0 88 204 161 0 89 204 160 0 91 202 158 0 92 202 157 0 93 201 156 0 94 201 155 0 95 201 154 0 96 201 153 0 97 201 152 0 98 201 151 0 99 199 150 0 100 199 149 0 102 199 148 0 103 199 147 0 103 199 146 0 104 199 145 0 105 198 144 0 106 198 143 0 107 197 142 0 108 195 141 0 110 194 140 0 111 194 139 0 111 189 138 0 112 189 137 0 113 189 136 0 114 189 135 0 115 189 134 0 116 189 133 0 118 189 132 0 119 189 131 0 119 189 130 0 120 189 129 0 121 189 128 0 122 189 127 0 124 189 125 0 125 189 124 0 126 189 123 0 127 189 122 0 128 189 121 0 129 189 120 0 130 189 119 0 131 189 118 0 132 189 117 0 133 189 116 0 135 189 115 0 136 189 114 0 136 189 113 0 137 189 112 0 138 189 111 0 139 189 110 0 140 189 109 0 141 194 108 0 143 194 107 0 144 195 106 0 144 197 105 0 145 198 104 0 146 198 103 0 147 199 102 0 148 199 101 0 149 199 100 0 151 199 99 0 152 199 98 0 152 199 97 0 153 201 96 0 154 201 95 0 155 201 94 0 157 201 92 0 158 201 91 0 159 201 90 0 160 201 89 0 161 202 88 0 162 202 87 0 163 204 86 0 164 204 85 0 165 205 84 0 166 205 83 0 168 205 82 0 169 207 81 0 169 207 80 0 170 207 79 0 171 208 78 0 172 208 77 0 173 208 76 0 174 208 75 0 176 208 74 0 177 209 73 0 177 209 72 0 178 209 71 0 179 211 70 0 180 211 69 0 181 211 68 0 182 211 67 0 184 211 66 0 185 211 65 0 185 211 64 0 186 213 63 0 187 213 62 0 188 216 61 0 190 216 59 0 191 216 58 0 192 217 57 0 193 217 56 0 194 217 55 0 195 219 54 0 196 219 53 0 197 219 52 0 198 220 51 0 199 220 50 0 201 220 49 0 202 220 48 0 202 220 47 0 203 220 46 0 204 221 45 0 205 221 44 0 206 223 43 0 207 224 42 0 209 226 41 0 210 227 40 0 210 228 39 0 211 228 38 0 212 230 37 0 213 230 36 0 214 230 35 0 215 230 34 0 217 230 33 0 218 230 32 0 218 230 31 0 219 231 30 0 220 231 29 0 221 231 28 0 223 231 26 0 224 231 25 0 225 231 24 0 226 234 23 0 227 234 22 0 228 235 21 0 229 235 20 0 230 238 19 0 231 239 18 0 232 239 17 0 234 239 16 0 235 239 15 0 235 239 14 0 236 239 13 0 237 239 12 0 238 240 11 0 239 240 10 0 240 240 9 0 242 240 8 0 243 240 7 0 243 240 6 0 244 242 5 0 245 243 4 0 246 245 3 0 247 246 2 0 248 248 1 0 250 249 0 0 250 250 0 0 251 252 0 0 252 252 0 0 252 252 0 0 252 252 0 0 252 252 255 0 0 255 254 0 0 255 254 0 0 255 254 0 0 255 253 0 0 255 252 0 0 252 251 0 1 252 250 0 1 252 249 0 2 252 248 0 3 250 247 0 4 249 246 0 5 248 245 0 6 246 244 0 7 245 243 0 8 243 242 0 9 242 241 0 10 240 240 0 11 240 239 0 12 240 238 0 13 240 237 0 14 240 236 0 15 240 235 0 16 240 234 0 17 240 233 0 18 239 232 0 19 239 231 0 20 239 230 0 21 239 229 0 22 239 228 0 23 238 227 0 24 238 226 0 25 235 224 0 27 235 223 0 28 234 222 0 29 234 221 0 30 234 220 0 31 231 219 0 32 231 218 0 33 231 217 0 34 231 216 0 35 231 215 0 36 231 214 0 37 231 213 0 38 231 212 0 39 230 211 0 40 230 210 0 41 230 209 0 42 228 208 0 43 228 207 0 44 227 206 0 45 226 205 0 46 224 204 0 47 223 203 0 48 223 202 0 49 221 201 0 50 221 200 0 51 221 199 0 52 221 198 0 53 221 197 0 54 221 196 0 55 220 195 0 56 220 194 0 57 219 193 0 58 219 191 0 60 219 190 0 61 217 189 0 62 217 188 0 63 217 187 0 64 217 186 0 65 216 185 0 66 216 184 0 67 213 183 0 68 213 182 0 69 213 181 0 70 213 180 0 71 213 179 0 72 213 178 0 73 213 177 0 74 211 176 0 75 211 175 0 76 211 174 0 77 209 173 0 78 209 172 0 79 209 171 0 80 209 170 0 81 208 169 0 82 208 168 0 83 208 167 0 84 207 166 0 85 207 165 0 86 207 164 0 87 205 163 0 88 205 162 0 89 205 161 0 90 205 160 0 91 204 158 0 93 204 157 0 94 204 156 0 95 204 155 0 96 202 154 0 97 202 153 0 98 202 152 0 99 202 151 0 100 202 150 0 101 202 149 0 102 202 148 0 103 202 147 0 104 202 146 0 105 201 145 0 106 201 144 0 107 199 143 0 108 198 142 0 109 197 141 0 110 197 140 0 111 195 139 0 112 195 138 0 113 195 137 0 114 195 136 0 115 195 135 0 116 195 134 0 117 195 133 0 118 195 132 0 119 195 131 0 120 195 130 0 121 195 129 0 122 195 128 0 123 195 127 0 124 195 125 0 126 195 124 0 127 195 123 0 128 195 122 0 129 195 121 0 130 195 120 0 131 195 119 0 132 195 118 0 133 195 117 0 134 195 116 0 135 195 115 0 136 195 114 0 137 195 113 0 138 195 112 0 139 195 111 0 140 195 110 0 141 195 109 0 142 195 108 0 143 195 107 0 144 197 106 0 145 198 105 0 146 199 104 0 147 201 103 0 148 201 102 0 149 202 101 0 150 202 100 0 151 202 99 0 152 202 98 0 153 202 97 0 154 202 96 0 155 202 95 0 156 202 94 0 157 202 92 0 159 202 91 0 160 204 90 0 161 204 89 0 162 204 88 0 163 204 87 0 164 205 86 0 165 205 85 0 166 205 84 0 167 207 83 0 168 207 82 0 169 207 81 0 170 208 80 0 171 208 79 0 172 208 78 0 173 208 77 0 174 209 76 0 175 209 75 0 176 209 74 0 177 211 73 0 178 211 72 0 179 211 71 0 180 211 70 0 181 213 69 0 182 213 68 0 183 213 67 0 184 213 66 0 185 213 65 0 186 213 64 0 187 216 63 0 188 216 62 0 189 217 61 0 190 217 59 0 192 217 58 0 193 217 57 0 194 219 56 0 195 219 55 0 196 219 54 0 197 220 53 0 198 220 52 0 199 221 51 0 200 221 50 0 201 221 49 0 202 221 48 0 203 221 47 0 204 221 46 0 205 223 45 0 206 223 44 0 207 224 43 0 208 226 42 0 209 227 41 0 210 228 40 0 211 228 39 0 212 230 38 0 213 230 37 0 214 230 36 0 215 230 35 0 216 231 34 0 217 231 33 0 218 231 32 0 219 231 31 0 220 231 30 0 221 231 29 0 222 231 28 0 223 234 26 0 225 234 25 0 226 234 24 0 227 234 23 0 228 235 22 0 229 235 21 0 230 238 20 0 231 238 19 0 232 239 18 0 233 239 17 0 234 239 16 0 235 239 15 0 236 240 14 0 237 240 13 0 238 240 12 0 239 240 11 0 240 240 10 0 241 240 9 0 242 240 8 0 243 240 7 0 244 242 6 0 245 243 5 0 246 245 4 0 247 246 3 0 248 248 2 0 249 249 1 0 250 250 0 0 251 252 0 0 252 252 0 0 253 252 0 0 253 252 0 0 253 255 0 0 253 255 255 0 0 255 254 0 0 255 254 0 0 255 254 0 0 255 253 0 0 255 252 0 0 252 251 0 1 252 250 0 2 252 249 0 3 252 248 0 4 250 247 0 5 250 246 0 6 249 245 0 6 248 244 0 7 246 243 0 8 245 242 0 9 243 241 0 11 242 240 0 12 240 239 0 13 240 238 0 14 240 237 0 14 240 236 0 15 240 235 0 16 240 234 0 17 240 233 0 19 239 232 0 20 239 231 0 21 239 230 0 22 239 229 0 22 239 228 0 23 239 227 0 25 238 226 0 26 238 224 0 27 235 223 0 29 235 222 0 30 235 221 0 31 234 220 0 31 234 219 0 32 234 218 0 33 231 217 0 34 231 216 0 36 231 215 0 37 231 214 0 38 231 213 0 39 231 212 0 39 230 211 0 40 230 210 0 41 230 209 0 42 230 208 0 44 228 207 0 45 228 206 0 46 227 205 0 47 226 204 0 47 224 203 0 48 224 202 0 49 224 201 0 50 224 200 0 52 223 199 0 53 223 198 0 54 223 197 0 55 223 196 0 55 221 195 0 56 220 194 0 58 220 193 0 59 219 191 0 60 219 190 0 62 219 189 0 63 219 188 0 64 219 187 0 64 217 186 0 65 217 185 0 66 216 184 0 67 216 183 0 69 216 182 0 70 216 181 0 71 216 180 0 72 216 179 0 72 213 178 0 73 213 177 0 74 213 176 0 75 213 175 0 77 213 174 0 78 211 173 0 79 211 172 0 80 211 171 0 80 209 170 0 81 209 169 0 82 209 168 0 83 208 167 0 85 208 166 0 86 208 165 0 87 207 164 0 88 207 163 0 88 207 162 0 89 207 161 0 91 207 160 0 92 205 158 0 93 205 157 0 95 205 156 0 96 205 155 0 97 205 154 0 97 205 153 0 98 205 152 0 99 205 151 0 100 205 150 0 102 204 149 0 103 204 148 0 104 204 147 0 105 204 146 0 105 202 145 0 106 202 144 0 107 201 143 0 108 199 142 0 110 199 141 0 111 198 140 0 112 197 139 0 113 197 138 0 113 197 137 0 114 197 136 0 115 197 135 0 116 197 134 0 118 197 133 0 119 197 132 0 120 197 131 0 121 197 130 0 121 197 129 0 122 197 128 0 124 197 127 0 125 197 125 0 126 197 124 0 128 197 123 0 129 197 122 0 130 197 121 0 130 197 120 0 131 197 119 0 132 197 118 0 133 197 117 0 135 197 116 0 136 197 115 0 137 197 114 0 138 197 113 0 138 197 112 0 139 197 111 0 140 197 110 0 141 197 109 0 143 197 108 0 144 198 107 0 145 198 106 0 146 199 105 0 146 201 104 0 147 202 103 0 148 202 102 0 149 204 101 0 151 204 100 0 152 204 99 0 153 204 98 0 154 205 97 0 154 205 96 0 155 205 95 0 157 205 94 0 158 205 92 0 159 205 91 0 161 205 90 0 162 205 89 0 163 205 88 0 163 205 87 0 164 207 86 0 165 207 85 0 166 207 84 0 168 207 83 0 169 208 82 0 170 208 81 0 171 208 80 0 171 209 79 0 172 209 78 0 173 209 77 0 174 209 76 0 176 211 75 0 177 211 74 0 178 213 73 0 179 213 72 0 179 213 71 0 180 213 70 0 181 213 69 0 182 216 68 0 184 216 67 0 185 216 66 0 186 216 65 0 187 216 64 0 187 216 63 0 188 217 62 0 190 217 61 0 191 217 59 0 192 219 58 0 194 219 57 0 195 219 56 0 196 219 55 0 196 220 54 0 197 220 53 0 198 221 52 0 199 221 51 0 201 223 50 0 202 223 49 0 203 223 48 0 204 224 47 0 204 224 46 0 205 224 45 0 206 224 44 0 207 226 43 0 209 227 42 0 210 228 41 0 211 228 40 0 212 230 39 0 212 230 38 0 213 230 37 0 214 230 36 0 215 230 35 0 217 231 34 0 218 231 33 0 219 231 32 0 220 231 31 0 220 231 30 0 221 234 29 0 223 234 28 0 224 234 26 0 225 235 25 0 227 235 24 0 228 235 23 0 229 235 22 0 229 238 21 0 230 238 20 0 231 239 19 0 232 239 18 0 234 239 17 0 235 239 16 0 236 239 15 0 237 240 14 0 237 240 13 0 238 240 12 0 239 240 11 0 240 240 10 0 242 240 9 0 243 240 8 0 244 242 7 0 245 243 6 0 245 245 5 0 246 246 4 0 247 248 3 0 248 249 2 0 250 250 1 0 251 250 0 0 252 252 0 0 253 252 0 0 253 252 0 0 253 252 0 0 254 255 0 0 254 255 255 0 0 255 254 0 0 255 254 0 0 255 254 0 0 255 253 0 0 255 252 0 0 252 251 0 1 252 250 0 2 252 249 0 3 252 248 0 4 252 247 0 5 252 246 0 6 250 245 0 7 249 244 0 8 248 243 0 8 246 242 0 10 245 241 0 11 242 240 0 12 242 239 0 13 240 238 0 14 240 237 0 15 240 236 0 16 240 235 0 16 240 234 0 18 240 233 0 19 239 232 0 20 239 231 0 21 239 230 0 22 239 229 0 23 239 228 0 24 239 227 0 25 239 226 0 26 238 224 0 27 238 223 0 29 238 222 0 30 235 221 0 31 235 220 0 32 235 219 0 33 234 218 0 33 234 217 0 35 231 216 0 36 231 215 0 37 231 214 0 38 231 213 0 39 231 212 0 40 230 211 0 41 230 210 0 41 230 209 0 43 230 208 0 44 230 207 0 45 230 206 0 46 228 205 0 47 227 204 0 48 227 203 0 49 226 202 0 49 226 201 0 51 226 200 0 52 226 199 0 53 226 198 0 54 224 197 0 55 224 196 0 56 223 195 0 57 221 194 0 58 220 193 0 59 220 191 0 60 219 190 0 62 219 189 0 63 219 188 0 64 219 187 0 65 219 186 0 66 217 185 0 66 217 184 0 68 217 183 0 69 217 182 0 70 217 181 0 71 217 180 0 72 217 179 0 73 217 178 0 74 216 177 0 74 216 176 0 76 216 175 0 77 216 174 0 78 213 173 0 79 213 172 0 80 211 171 0 81 211 170 0 82 209 169 0 82 209 168 0 84 209 167 0 85 209 166 0 86 208 165 0 87 208 164 0 88 208 163 0 89 208 162 0 90 208 161 0 91 208 160 0 92 207 158 0 93 207 157 0 95 207 156 0 96 207 155 0 97 207 154 0 98 207 153 0 99 207 152 0 99 207 151 0 101 207 150 0 102 205 149 0 103 205 148 0 104 205 147 0 105 204 146 0 106 204 145 0 107 204 144 0 107 202 143 0 109 202 142 0 110 201 141 0 111 199 140 0 112 199 139 0 113 199 138 0 114 199 137 0 115 199 136 0 115 199 135 0 117 199 134 0 118 199 133 0 119 199 132 0 120 199 131 0 121 199 130 0 122 199 129 0 123 199 128 0 124 199 127 0 125 199 125 0 126 199 124 0 128 199 123 0 129 199 122 0 130 199 121 0 131 199 120 0 132 199 119 0 132 199 118 0 134 199 117 0 135 199 116 0 136 199 115 0 137 199 114 0 138 199 113 0 139 199 112 0 140 199 111 0 140 199 110 0 142 199 109 0 143 199 108 0 144 199 107 0 145 201 106 0 146 201 105 0 147 202 104 0 148 202 103 0 148 204 102 0 150 204 101 0 151 205 100 0 152 205 99 0 153 205 98 0 154 207 97 0 155 207 96 0 156 207 95 0 157 207 94 0 158 207 92 0 159 207 91 0 161 207 90 0 162 207 89 0 163 207 88 0 164 208 87 0 165 208 86 0 165 208 85 0 167 208 84 0 168 208 83 0 169 208 82 0 170 209 81 0 171 209 80 0 172 209 79 0 173 209 78 0 173 211 77 0 175 211 76 0 176 213 75 0 177 213 74 0 178 216 73 0 179 216 72 0 180 216 71 0 181 216 70 0 181 217 69 0 183 217 68 0 184 217 67 0 185 217 66 0 186 217 65 0 187 217 64 0 188 217 63 0 189 217 62 0 190 219 61 0 191 219 59 0 192 219 58 0 194 219 57 0 195 219 56 0 196 220 55 0 197 220 54 0 198 221 53 0 198 223 52 0 200 223 51 0 201 224 50 0 202 226 49 0 203 226 48 0 204 226 47 0 205 226 46 0 206 226 45 0 206 227 44 0 208 227 43 0 209 228 42 0 210 228 41 0 211 230 40 0 212 230 39 0 213 230 38 0 214 230 37 0 214 230 36 0 216 230 35 0 217 231 34 0 218 231 33 0 219 231 32 0 220 231 31 0 221 234 30 0 222 234 29 0 223 235 28 0 224 235 26 0 225 235 25 0 227 238 24 0 228 238 23 0 229 238 22 0 230 239 21 0 231 239 20 0 231 239 19 0 233 239 18 0 234 239 17 0 235 239 16 0 236 239 15 0 237 240 14 0 238 240 13 0 239 240 12 0 239 240 11 0 241 240 10 0 242 240 9 0 243 242 8 0 244 242 7 0 245 243 6 0 246 246 5 0 247 248 4 0 247 249 3 0 249 250 2 0 250 252 1 0 251 252 0 0 252 252 0 0 253 252 0 0 253 252 0 0 254 252 0 0 254 255 0 0 254 255 255 0 0 255 254 0 0 255 254 0 0 255 254 0 0 255 253 0 0 255 252 0 0 255 251 0 1 255 250 0 2 255 249 0 3 252 248 0 4 252 247 0 5 252 246 0 6 252 245 0 7 250 244 0 8 249 243 0 9 248 242 0 10 245 241 0 11 243 240 0 12 242 239 0 13 240 238 0 14 240 237 0 15 240 236 0 16 240 235 0 17 240 234 0 18 240 233 0 19 240 232 0 20 240 231 0 21 240 230 0 22 240 229 0 23 239 228 0 24 239 227 0 25 239 226 0 26 239 224 0 28 239 223 0 29 238 222 0 30 238 221 0 31 238 220 0 32 235 219 0 33 235 218 0 34 234 217 0 35 231 216 0 36 231 215 0 37 231 214 0 38 231 213 0 39 231 212 0 40 231 211 0 41 231 210 0 42 231 209 0 43 230 208 0 44 230 207 0 45 230 206 0 46 230 205 0 47 228 204 0 48 228 203 0 49 228 202 0 50 228 201 0 51 228 200 0 52 227 199 0 53 227 198 0 54 226 197 0 55 226 196 0 56 223 195 0 57 221 194 0 58 221 193 0 59 220 191 0 61 220 190 0 62 220 189 0 63 219 188 0 64 219 187 0 65 219 186 0 66 219 185 0 67 219 184 0 68 219 183 0 69 217 182 0 70 217 181 0 71 217 180 0 72 217 179 0 73 217 178 0 74 217 177 0 75 217 176 0 76 217 175 0 77 217 174 0 78 216 173 0 79 216 172 0 80 213 171 0 81 211 170 0 82 211 169 0 83 209 168 0 84 209 167 0 85 209 166 0 86 209 165 0 87 209 164 0 88 208 163 0 89 208 162 0 90 208 161 0 91 208 160 0 92 208 158 0 94 208 157 0 95 208 156 0 96 208 155 0 97 208 154 0 98 208 153 0 99 208 152 0 100 208 151 0 101 208 150 0 102 207 149 0 103 207 148 0 104 205 147 0 105 205 146 0 106 204 145 0 107 204 144 0 108 204 143 0 109 202 142 0 110 202 141 0 111 202 140 0 112 201 139 0 113 201 138 0 114 201 137 0 115 201 136 0 116 201 135 0 117 201 134 0 118 201 133 0 119 201 132 0 120 201 131 0 121 201 130 0 122 201 129 0 123 201 128 0 124 201 127 0 125 201 125 0 127 201 124 0 128 201 123 0 129 201 122 0 130 201 121 0 131 201 120 0 132 201 119 0 133 201 118 0 134 201 117 0 135 201 116 0 136 201 115 0 137 201 114 0 138 201 113 0 139 201 112 0 140 201 111 0 141 201 110 0 142 201 109 0 143 201 108 0 144 202 107 0 145 202 106 0 146 202 105 0 147 204 104 0 148 204 103 0 149 204 102 0 150 205 101 0 151 205 100 0 152 207 99 0 153 207 98 0 154 208 97 0 155 208 96 0 156 208 95 0 157 208 94 0 158 208 92 0 160 208 91 0 161 208 90 0 162 208 89 0 163 208 88 0 164 208 87 0 165 208 86 0 166 208 85 0 167 208 84 0 168 209 83 0 169 209 82 0 170 209 81 0 171 209 80 0 172 209 79 0 173 211 78 0 174 211 77 0 175 213 76 0 176 216 75 0 177 216 74 0 178 217 73 0 179 217 72 0 180 217 71 0 181 217 70 0 182 217 69 0 183 217 68 0 184 217 67 0 185 217 66 0 186 217 65 0 187 217 64 0 188 219 63 0 189 219 62 0 190 219 61 0 191 219 59 0 193 219 58 0 194 220 57 0 195 220 56 0 196 220 55 0 197 220 54 0 198 221 53 0 199 223 52 0 200 224 51 0 201 226 50 0 202 227 49 0 203 227 48 0 204 228 47 0 205 228 46 0 206 228 45 0 207 228 44 0 208 228 43 0 209 230 42 0 210 230 41 0 211 230 40 0 212 230 39 0 213 231 38 0 214 231 37 0 215 231 36 0 216 231 35 0 217 231 34 0 218 231 33 0 219 231 32 0 220 231 31 0 221 234 30 0 222 235 29 0 223 235 28 0 224 238 26 0 226 238 25 0 227 238 24 0 228 239 23 0 229 239 22 0 230 239 21 0 231 239 20 0 232 239 19 0 233 239 18 0 234 240 17 0 235 240 16 0 236 240 15 0 237 240 14 0 238 240 13 0 239 240 12 0 240 240 11 0 241 240 10 0 242 240 9 0 243 242 8 0 244 243 7 0 245 245 6 0 246 248 5 0 247 249 4 0 248 250 3 0 249 252 2 0 250 252 1 0 251 252 0 0 252 252 0 0 253 255 0 0 254 255 0 0 254 255 0 0 254 255 0 0 254 255 255 0 0 255 254 0 0 255 254 0 0 255 254 0 0 255 253 0 0 255 252 0 0 255 251 0 1 255 250 0 2 255 249 0 3 252 248 0 4 252 247 0 5 252 246 0 6 252 245 0 7 252 244 0 8 250 243 0 9 248 242 0 10 246 241 0 11 243 240 0 12 242 239 0 13 240 238 0 14 240 237 0 15 240 236 0 16 240 235 0 17 240 234 0 18 240 233 0 19 240 232 0 20 240 231 0 21 240 230 0 22 240 229 0 23 239 228 0 24 239 227 0 25 239 226 0 26 239 224 0 28 239 223 0 29 239 222 0 30 239 221 0 31 238 220 0 32 238 219 0 33 235 218 0 34 234 217 0 35 234 216 0 36 231 215 0 37 231 214 0 38 231 213 0 39 231 212 0 40 231 211 0 41 231 210 0 42 231 209 0 43 230 208 0 44 230 207 0 45 230 206 0 46 230 205 0 47 230 204 0 48 230 203 0 49 230 202 0 50 230 201 0 51 230 200 0 52 228 199 0 53 228 198 0 54 227 197 0 55 226 196 0 56 224 195 0 57 223 194 0 58 221 193 0 59 220 191 0 61 220 190 0 62 220 189 0 63 219 188 0 64 219 187 0 65 219 186 0 66 219 185 0 67 219 184 0 68 219 183 0 69 219 182 0 70 219 181 0 71 219 180 0 72 219 179 0 73 219 178 0 74 219 177 0 75 219 176 0 76 219 175 0 77 217 174 0 78 217 173 0 79 216 172 0 80 213 171 0 81 213 170 0 82 211 169 0 83 211 168 0 84 209 167 0 85 209 166 0 86 209 165 0 87 209 164 0 88 209 163 0 89 209 162 0 90 209 161 0 91 209 160 0 92 209 158 0 94 209 157 0 95 209 156 0 96 209 155 0 97 209 154 0 98 209 153 0 99 209 152 0 100 208 151 0 101 208 150 0 102 208 149 0 103 207 148 0 104 205 147 0 105 205 146 0 106 205 145 0 107 204 144 0 108 204 143 0 109 204 142 0 110 204 141 0 111 204 140 0 112 202 139 0 113 202 138 0 114 202 137 0 115 202 136 0 116 202 135 0 117 202 134 0 118 202 133 0 119 202 132 0 120 202 131 0 121 202 130 0 122 202 129 0 123 202 128 0 124 202 127 0 125 202 125 0 127 202 124 0 128 202 123 0 129 202 122 0 130 202 121 0 131 202 120 0 132 202 119 0 133 202 118 0 134 202 117 0 135 202 116 0 136 202 115 0 137 202 114 0 138 202 113 0 139 202 112 0 140 202 111 0 141 202 110 0 142 202 109 0 143 202 108 0 144 204 107 0 145 204 106 0 146 204 105 0 147 204 104 0 148 204 103 0 149 204 102 0 150 205 101 0 151 205 100 0 152 207 99 0 153 207 98 0 154 208 97 0 155 208 96 0 156 209 95 0 157 209 94 0 158 209 92 0 160 209 91 0 161 209 90 0 162 209 89 0 163 209 88 0 164 209 87 0 165 209 86 0 166 209 85 0 167 209 84 0 168 209 83 0 169 209 82 0 170 209 81 0 171 209 80 0 172 209 79 0 173 211 78 0 174 211 77 0 175 213 76 0 176 216 75 0 177 217 74 0 178 217 73 0 179 219 72 0 180 219 71 0 181 219 70 0 182 219 69 0 183 219 68 0 184 219 67 0 185 219 66 0 186 219 65 0 187 219 64 0 188 219 63 0 189 219 62 0 190 219 61 0 191 219 59 0 193 219 58 0 194 220 57 0 195 220 56 0 196 220 55 0 197 221 54 0 198 221 53 0 199 224 52 0 200 226 51 0 201 227 50 0 202 228 49 0 203 228 48 0 204 230 47 0 205 230 46 0 206 230 45 0 207 230 44 0 208 230 43 0 209 230 42 0 210 230 41 0 211 230 40 0 212 230 39 0 213 231 38 0 214 231 37 0 215 231 36 0 216 231 35 0 217 231 34 0 218 231 33 0 219 231 32 0 220 234 31 0 221 234 30 0 222 235 29 0 223 238 28 0 224 238 26 0 226 239 25 0 227 239 24 0 228 239 23 0 229 239 22 0 230 239 21 0 231 239 20 0 232 239 19 0 233 239 18 0 234 240 17 0 235 240 16 0 236 240 15 0 237 240 14 0 238 240 13 0 239 240 12 0 240 240 11 0 241 240 10 0 242 240 9 0 243 242 8 0 244 243 7 0 245 246 6 0 246 248 5 0 247 249 4 0 248 250 3 0 249 252 2 0 250 252 1 0 251 252 0 0 252 252 0 0 253 255 0 0 254 255 0 0 254 255 0 0 254 255 0 0 255 255] Stride:1024 Rect:(0,0)-(256,256)} ================================================ FILE: testdata/video-yuv420p-bytes ================================================ [File too large to display: 13.1 MB] ================================================ FILE: testdata/video-yuv420p-struct ================================================ [File too large to display: 13.1 MB] ================================================ FILE: thread_type.go ================================================ package astiav //#include import "C" // https://ffmpeg.org/doxygen/8.0/avcodec_8h.html#a116c7fb56ac57ccca3e08b80467b2a40 type ThreadType int const ( ThreadTypeFrame = ThreadType(C.FF_THREAD_FRAME) ThreadTypeSlice = ThreadType(C.FF_THREAD_SLICE) ThreadTypeUndefined = ThreadType(0) ) ================================================ FILE: time.go ================================================ package astiav //#include //#include import "C" const ( // https://ffmpeg.org/doxygen/8.0/group__lavu__time.html#ga2eaefe702f95f619ea6f2d08afa01be1 NoPtsValue = int64(C.AV_NOPTS_VALUE) // https://ffmpeg.org/doxygen/8.0/group__lavu__time.html#gaa11ed202b70e1f52bac809811a910e2a TimeBase = int(C.AV_TIME_BASE) ) var ( // https://ffmpeg.org/doxygen/8.0/group__lavu__time.html#gafd07a13a4ddaa6015275cad6022d9ee3 TimeBaseQ = newRationalFromC(C.AV_TIME_BASE_Q) ) // https://ffmpeg.org/doxygen/8.0/time_8c.html#adf0e36df54426fa167e3cc5a3406f3b7 func RelativeTime() int64 { return int64(C.av_gettime_relative()) } type CompareTimestampsResult uint8 const ( CompareTimestampsResultUndefined CompareTimestampsResult = iota CompareTimestampsResultAEqualB CompareTimestampsResultABeforeB CompareTimestampsResultAAfterB ) // https://ffmpeg.org/doxygen/8.0/group__lavu__math.html#ga151744358fff630942b926e67e67c415 func CompareTimestamps(a, b int64, timeBaseA, timeBaseB Rational) CompareTimestampsResult { switch C.av_compare_ts(C.int64_t(a), timeBaseA.c, C.int64_t(b), timeBaseB.c) { case C.int(-1): return CompareTimestampsResultABeforeB case C.int(0): return CompareTimestampsResultAEqualB case C.int(1): return CompareTimestampsResultAAfterB default: return CompareTimestampsResultUndefined } } ================================================ FILE: time_test.go ================================================ package astiav import ( "testing" "github.com/stretchr/testify/require" ) func TestTime(t *testing.T) { require.NotEqual(t, 0, RelativeTime()) } func TestCompareTimestamps(t *testing.T) { a := int64(0) timeBaseA := NewRational(1, 1) b := int64(2) timeBaseB := NewRational(1, 2) require.Equal(t, CompareTimestampsResultABeforeB, CompareTimestamps(a, b, timeBaseA, timeBaseB)) a = 1 require.Equal(t, CompareTimestampsResultAEqualB, CompareTimestamps(a, b, timeBaseA, timeBaseB)) a = 2 require.Equal(t, CompareTimestampsResultAAfterB, CompareTimestamps(a, b, timeBaseA, timeBaseB)) }