Tuesday, April 26, 2011

Source Code for SEGA Master System Audio Sample Phasing

This current post relates to this previous post. For those interested, the source code (see below) produces a ROM as seen in the following video:
video

This quick bit of source code is nothing special - simply me experimenting. A few notes:

Maxim's Hello World Example
The source code makes use of the Hello World example by Maxim, which can be found here: http://www.smspower.org/maxim/HowToProgram. He has written a fantastic guide to SEGA Master System programming (and his site is full of great information on SEGA Master System things in general). Follow the information in his guide on how to compile a SMS ROM from source code.



Sample Rate
To change the sample rate, simply add in more no operations (nop) between out ($be),a and inc hl in both places in the code.



Sample Conversion
If you want to use your own sample, you will need to convert a sound to 4-bit data. I made a sample converter for this purpose. The sample converter can be downloaded here: http://milkcrate.com.au/_other/downloads/max_patches/sample_converter.maxpat.

You will need the Max/MSP runtime, which can be downloaded from here for free: http://cycling74.com/downloads/. To convert a sample, use the read button and choose your sound file (must be a .wav or similar), then press the toggle button above the metro object. Next, double click on the text object, copy the data and use a text editor to replace all spaces with a comma followed by a space. Then, copy and paste the data in between the labels Sample and SampleEnd towards the end of the source code.


;==============================================================
; WLA-DX banking setup
;==============================================================
.memorymap
defaultslot 0
slotsize $8000
slot 0 $0000
.endme

.rombankmap
bankstotal 1
banksize $8000
banks 1
.endro

;==============================================================
; SDSC tag and SMS rom header
;==============================================================
.sdsctag 1.2,"Simple Sample Playback","Simple sample playback","little-scale"

.bank 0 slot 0
.org $0000
;==============================================================
; Boot section
;==============================================================
di ; disable interrupts
im 1 ; Interrupt mode 1
jp main ; jump to main program

.org $0066
;==============================================================
; Pause button handler
;==============================================================
; Do nothing
retn

; 1. Set VRAM write address to CRAM (palette) address 0 (for palette index 0)
; by outputting $c000 ORed with $0000
ld a,$00
out ($bf),a
ld a,$c0
out ($bf),a
; 2. Output colour data
ld hl,Sample
ld b,16
ld c,$be
otir

; 1. Set VRAM write address to tile index 0
; by outputting $4000 ORed with $0000
ld a,$00
out ($bf),a
ld a,$40
out ($bf),a
; 2. Output tile data
ld hl,Sample ; Location of tile data
ld bc,2000 ; Counter for number of bytes to write
WriteTilesLoop:
; Output data byte then three zeroes, because our tile data is 1 bit
; and must be increased to 4 bit
ld a,(hl) ; Get data byte
out ($be),a
inc hl ; Add one to hl so it points to the next data byte
dec bc
ld a,b
or c
jp nz,WriteTilesLoop

;==============================================================
; Main program
;==============================================================
main:

; Set up VDP registers

ld hl,VdpData
ld b,VdpDataEnd-VdpData
ld c,$bf
otir


; Clear VRAM

; 1. Set VRAM write address to 0 by outputting $4000 ORed with $0000
ld a,$00
out ($bf),a
ld a,$40
out ($bf),a
; 2. Output 16KB of zeroes
ld bc, $4000 ; Counter for 16KB of VRAM
ld a,$00 ; Value to write
ClearVRAMLoop:
out ($be),a ; Output to VRAM address, which is auto-incremented after each write
dec c
jp nz,ClearVRAMLoop
dec b
jp nz,ClearVRAMLoop



ld a,$00
out ($bf),a
ld a,$40
out ($bf),a
ld a,%10000000
out ($7f),a
ld a,000000
out ($7f),a
ld a,%10100000
out ($7f),a
ld a,000000
out ($7f),a
ld a,%11000000
out ($7f),a
ld a,000000
out ($7f),a

ld a,$00
out ($bf),a
ld a,$00
out ($bf),a
ld a,$c4 ; Turn on the screen
out ($bf),a
ld a,$81
out ($bf),a
ld a,$00
out ($bf),a
ld a,$c0
out ($bf),a

SampleLoop:
ld hl,Sample
ld a,h
ld ($c000),a
ld a,l
ld ($c001),a

ld hl,SampleEnd-Sample
ld a,h
ld ($c002),a
ld a,l
ld ($c003),a

ld hl,Sample
ld a,h
ld ($c004),a
ld a,l
ld ($c005),a

ld hl,SampleEnd-Sample
dec hl

ld a,h
ld ($c006),a
ld a,l
ld ($c007),a

Sample1:
ld a,($c000)
ld h,a
ld a,($c001)
ld l,a
ld a,($c002)
ld b,a
ld a,($c003)
ld c,a

ld a,(hl) ; Get data byte
or %10010000
out ($7f),a

ld a,(hl) ; Get data byte
or %10110000
out ($7f),a

ld a,(hl) ; Get data byte
or %11010000
out ($7f),a
out ($be),a
nop
nop
nop
nop

inc hl ; Add one to hl so it points to the next data byte
dec bc
ld a,b
or c
jp nz,Sample1_store

ld hl,Sample
ld a,h
ld ($c000),a
ld a,l
ld ($c001),a

ld hl,SampleEnd-Sample
ld a,h
ld ($c002),a
ld a,l
ld ($c003),a
jp Sample2

Sample1_store:
ld a,h
ld ($c000),a
ld a,l
ld ($c001),a
ld a,b
ld ($c002),a
ld a,c
ld ($c003),a

Sample2:
ld a,($c004)
ld h,a
ld a,($c005)
ld l,a
ld a,($c006)
ld b,a
ld a,($c007)
ld c,a
ld a,(hl) ; Get data byte
or %10010000
out ($7f),a

ld a,(hl) ; Get data byte
or %10110000
out ($7f),a

ld a,(hl) ; Get data byte
or %11010000
out ($7f),a

sla a
sla a

out ($be),a

nop
nop
nop
nop


inc hl ; Add one to hl so it points to the next data byte
dec bc
ld a,b
or c
jp nz,Sample2_store

ld hl,Sample
ld a,h
ld ($c004),a
ld a,l
ld ($c005),a


ld hl,SampleEnd-Sample
dec hl
ld a,h
ld ($c006),a
ld a,l
ld ($c007),a
jp Sample1

Sample2_store:
ld a,h
ld ($c004),a
ld a,l
ld ($c005),a
ld a,b
ld ($c006),a
ld a,c
ld ($c007),a
jp Sample1


; Infinite loop to stop program
Loop:
jp Loop

;==============================================================
; Data
;==============================================================


Sample:
.db 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 8, 8, 7, 7, 6, 8, 6, 6, 6, 8, 8, 7, 8, 9, 5, 7, 5, 6, 7, 7, 7, 7, 10, 7, 6, 9, 7, 5, 8, 5, 7, 8, 7, 7, 6, 11, 7, 10, 9, 6, 7, 5, 4, 6, 7, 6, 8, 7, 7, 7, 9, 6, 6, 6, 5, 10, 7, 5, 6, 8, 7, 8, 9, 8, 7, 8, 5, 4, 9, 4, 7, 8, 9, 9, 9, 10, 5, 7, 3, 5, 6, 9, 4, 8, 7, 8, 8, 7, 7, 5, 9, 5, 7, 5, 8, 5, 7, 8, 7, 10, 9, 8, 5, 9, 4, 8, 5, 7, 9, 8, 8, 7, 9, 5, 8, 4, 7, 7, 7, 5, 5, 10, 5, 9, 6, 9, 6, 9, 3, 6, 7, 6, 5, 7, 9, 5, 11, 6, 9, 8, 8, 3, 8, 9, 5, 6, 7, 9, 5, 9, 7, 8, 7, 7, 3, 7, 8, 5, 8, 7, 9, 8, 9, 5, 9, 5, 5, 3, 8, 7, 6, 8, 5, 10, 8, 9, 5, 10, 6, 8, 6, 4, 8, 5, 7, 6, 10, 7, 10, 6, 6, 6, 8, 7, 4, 10, 6, 7, 4, 11, 5, 7, 4, 8, 6, 9, 5, 5, 8, 6, 9, 5, 11, 7, 9, 4, 8, 5, 7, 5, 6, 9, 9, 7, 7, 10, 8, 6, 7, 7, 7, 7, 7, 6, 8, 7, 5, 6, 9, 7, 6, 7, 7, 6, 6, 7, 6, 8, 7, 7, 6, 9, 6, 6, 6, 8, 8, 7, 8, 8, 6, 8, 9, 7, 7, 8, 6, 6, 8, 7, 7, 6, 6, 6, 8, 8, 5, 8, 7, 6, 8, 9, 4, 7, 7, 6, 7, 8, 5, 6, 8, 6, 6, 7, 8, 6, 9, 6, 9, 9, 10, 6, 7, 7, 6, 8, 6, 5, 8, 8, 4, 9, 7, 6, 7, 7, 6, 7, 7, 6, 6, 7, 5, 5, 8, 7, 7, 7, 6, 7, 9, 7, 6, 9, 8, 7, 8, 8, 7, 8, 7, 5, 6, 8, 7, 7, 6, 6, 8, 8, 7, 6, 8, 7, 7, 6, 6, 7, 7, 6, 4, 8, 7, 7, 6, 7, 7, 8, 6, 7, 9, 7, 7, 7, 9, 7, 9, 4, 9, 7, 8, 6, 6, 8, 7, 8, 6, 10, 8, 9, 4, 7, 6, 7, 6, 4, 7, 6, 8, 7, 7, 7, 7, 6, 5, 9, 8, 8, 7, 9, 6, 9, 6, 6, 8, 6, 8, 5, 9, 6, 10, 6, 7, 7, 9, 8, 5, 9, 5, 8, 4, 8, 5, 9, 7, 5, 8, 8, 8, 4, 8, 6, 7, 8, 6, 6, 9, 5, 6, 8, 8, 7, 8, 6, 7, 10, 7, 6, 9, 7, 7, 7, 8, 6, 8, 5, 6, 5, 8, 7, 7, 7, 7, 8, 8, 6, 7, 8, 6, 5, 7, 7, 6, 7, 6, 7, 8, 9, 6, 7, 8, 8, 7, 7, 7, 8, 8, 6, 7, 9, 7, 7, 7, 6, 8, 7, 6, 6, 11, 6, 7, 7, 8, 8, 6, 6, 4, 8, 5, 7, 6, 9, 8, 7, 8, 8, 9, 6, 7, 5, 9, 7, 7, 6, 8, 7, 6, 8, 6, 9, 6, 7, 4, 9, 7, 7, 7, 7, 9, 8, 8, 5, 9, 4, 6, 4, 6, 8, 6, 7, 6, 10, 8, 7, 5, 8, 6, 8, 4, 7, 9, 8, 6, 7, 9, 7, 9, 6, 8, 7, 8, 5, 8, 7, 8, 5, 6, 9, 6, 7, 5, 7, 6, 7, 4, 7, 9, 7, 7, 8, 9, 7, 9, 4, 7, 7, 7, 5, 7, 11, 5, 11, 6, 8, 7, 10, 4, 6, 8, 6, 7, 7, 8, 4, 10, 4, 7, 8, 7, 5, 6, 8, 5, 10, 6, 7, 7, 10, 5, 8, 7, 6, 5, 4, 9, 6, 10, 6, 9, 8, 10, 6, 8, 7, 8, 5, 7, 8, 7, 8, 4, 7, 6, 8, 6, 7, 7, 7, 4, 7, 7, 6, 8, 6, 8, 7, 10, 5, 7, 9, 6, 5, 8, 10, 5, 10, 8, 8, 7, 11, 3, 8, 8, 4, 5, 6, 8, 4, 11, 5, 9, 7, 8, 2, 9, 7, 2, 8, 6, 9, 6, 10, 3, 10, 8, 6, 7, 7, 10, 5, 10, 5, 11, 6, 10, 5, 7, 8, 6, 7, 4, 8, 3, 8, 6, 8, 8, 8, 6, 6, 9, 5, 6, 4, 7, 4, 9, 5, 8, 7, 9, 5, 8, 9, 8, 7, 5, 7, 7, 9, 7, 8, 9, 8, 7, 5, 9, 5, 5, 5, 7, 8, 9, 8, 4, 10, 7, 5, 7, 7, 3, 7, 4, 6, 7, 9, 5, 9, 9, 9, 7, 9, 7, 7, 8, 5, 10, 8, 10, 5, 9, 7, 7, 5, 5, 7, 7, 7, 6, 8, 6, 8, 6, 7, 6, 6, 7, 4, 7, 5, 7, 5, 9, 7, 10, 9, 8, 8, 6, 7, 4, 10, 5, 8, 7, 8, 8, 8, 7, 4, 9, 7, 9, 5, 8, 5, 8, 6, 6, 8, 6, 7, 4, 8, 6, 6, 5, 3, 10, 8, 9, 7, 10, 7, 8, 6, 7, 8, 4, 7, 4, 11, 7, 8, 6, 8, 9, 6, 11, 4, 8, 5, 5, 6, 7, 8, 5, 8, 6, 8, 5, 9, 3, 6, 8, 4, 10, 7, 9, 5, 10, 5, 8, 9, 5, 7, 5, 8, 7, 8, 5, 10, 9, 8, 9, 7, 8, 5, 6, 4, 8, 7, 4, 7, 7, 8, 7, 7, 5, 10, 7, 6, 5, 8, 7, 7, 7, 7, 10, 9, 6, 6, 9, 7, 5, 7, 7, 8, 10, 8, 6, 9, 8, 4, 9, 5, 6, 7, 5, 6, 7, 8, 5, 7, 8, 9, 7, 8, 6, 6, 8, 4, 7, 8, 7, 7, 7, 8, 8, 9, 5, 7, 6, 9, 7, 7, 7, 8, 8, 5, 9, 6, 8, 4, 5, 5, 8, 7, 5, 9, 7, 10, 7, 8, 7, 8, 6, 4, 6, 7, 9, 4, 8, 7, 9, 9, 6, 8, 8, 8, 4, 8, 6, 8, 6, 7, 7, 8, 9, 4, 7, 5, 8, 5, 8, 5, 9, 9, 6, 9, 8, 9, 5, 9, 4, 8, 6, 6, 5, 8, 9, 5, 11, 8, 10, 5, 8, 3, 8, 7, 4, 7, 8, 9, 5, 9, 6, 8, 6, 6, 3, 10, 8, 5, 8, 8, 8, 7, 8, 5, 8, 6, 4, 5, 7, 8, 6, 9, 8, 10, 8, 9, 7, 8, 7, 3, 7, 6, 8, 5, 8, 6, 10, 7, 6, 6, 8, 6, 6, 5, 7, 9, 6, 7, 8, 8, 8, 7, 4, 6, 7, 7, 5, 9, 9, 9, 9, 8, 8, 8, 7, 3, 6, 6, 5, 5, 7, 7, 8, 9, 7, 9, 8, 6, 4, 7, 7, 5, 8, 6, 9, 9, 9, 5, 7, 8, 6, 5, 6, 8, 5, 10, 6, 9, 8, 10, 6, 8, 6, 5, 6, 6, 7, 5, 10, 7, 10, 8, 10, 5, 7, 8, 3, 8, 5, 7, 6, 8, 6, 7, 9, 5, 8, 4, 7, 5, 9, 6, 8, 9, 9, 11, 7, 9, 6, 7, 5, 6, 5, 6, 6, 7, 7, 10, 8, 8, 5, 9, 5, 6, 5, 6, 6, 7, 7, 7, 10, 8, 10, 7, 8, 7, 5, 6, 6, 6, 7, 10, 6, 9, 8, 5, 6, 7, 3, 4, 8, 5, 8, 9, 8, 7, 10, 8, 8, 7, 7, 3, 8, 6, 6, 7, 9, 8, 7, 10, 6, 7, 4, 8, 3, 7, 5, 7, 8, 7, 9, 6, 10, 6, 8, 4, 8, 6, 8, 9, 6, 10, 8, 9, 5, 9, 4, 6, 3, 6, 6, 6, 7, 7, 9, 9, 10, 4, 9, 7, 6, 4, 9, 6, 8, 7, 7, 9, 9, 8, 6, 6, 7, 6, 5, 6, 7, 7, 7, 9, 8, 8, 8, 4, 7, 6, 7, 3, 9, 5, 11, 8, 10, 7, 10, 8, 4, 8, 4, 6, 4, 9, 4, 9, 8, 9, 6, 9, 6, 5, 6, 5, 6, 6, 7, 7, 11, 8, 8, 9, 8, 7, 5, 6, 5, 9, 4, 9, 7, 10, 7, 8, 7, 7, 6, 4, 5, 4, 10, 4, 9, 7, 11, 6, 10, 6, 8, 6, 4, 6, 7, 7, 6, 9, 7, 10, 7, 8, 8, 6, 6, 4, 8, 6, 8, 6, 8, 9, 9, 7, 6, 8, 5, 5, 7, 6, 7, 8, 8, 9, 9, 8, 6, 6, 6, 6, 4, 7, 6, 7, 9, 8, 8, 9, 8, 6, 6, 9, 5, 8, 8, 7, 8, 9, 7, 7, 9, 7, 5, 6, 5, 7, 5, 6, 6, 9, 8, 8, 6, 8, 7, 4, 5, 5, 8, 6, 7, 8, 10, 9, 8, 6, 9, 6, 7, 3, 9, 6, 9, 6, 9, 8, 8, 7, 6, 7, 5, 7, 3, 8, 7, 6, 7, 9, 8, 7, 9, 5, 8, 7, 6, 5, 8, 8, 7, 9, 6, 9, 4, 10, 2, 9, 5, 9, 5, 8, 9, 7, 10, 7, 8, 6, 9, 3, 7, 5, 6, 5, 8, 7, 6, 9, 5, 10, 7, 8, 5, 7, 6, 8, 7, 6, 9, 7, 9, 6, 9, 6, 8, 6, 6, 7, 8, 8, 7, 9, 7, 7, 7, 8, 5, 6, 5, 5, 6, 7, 6, 6, 9, 7, 8, 9, 7, 5, 9, 7, 8, 7, 9, 7, 9, 8, 6, 7, 7, 5, 5, 7, 5, 8, 6, 8, 6, 9, 6, 7, 8, 7, 6, 4, 8, 5, 8, 6, 7, 9, 10, 7, 6, 8, 5, 9, 5, 5, 7, 9, 6, 8, 9, 7, 8, 8, 7, 6, 9, 5, 5, 7, 8, 5, 9, 7, 8, 7, 6, 5, 7, 8, 4, 6, 6, 9, 6, 8, 7, 8, 8, 5, 5, 8, 8, 5, 7, 6, 10, 9, 7, 8, 9, 10, 4, 8, 5, 7, 6, 6, 6, 9, 8, 5, 8, 8, 7, 5, 7, 5, 8, 6, 6, 6, 9, 8, 6, 6, 7, 8, 6, 6, 5, 9, 7, 8, 9, 8, 9, 8, 8, 5, 8, 7, 5, 8, 6, 9, 4, 8, 5, 9, 6, 6, 6, 8, 8, 4, 9, 4, 9, 6, 7, 5, 11, 7, 4, 7, 6, 8, 6, 6, 5, 10, 8, 7, 8, 9, 7, 6, 8, 6, 9, 7, 5, 7, 10, 8, 5, 9, 6, 8, 6, 7, 4, 10, 4, 5, 8, 8, 8, 5, 9, 3, 10, 6, 7, 5, 10, 5, 7, 10, 7, 9, 8, 7, 5, 10, 6, 5, 7, 6, 6, 8, 9, 6, 9, 8, 5, 5, 10, 5, 5, 8, 5, 9, 9, 7, 5, 9, 7, 6, 6, 8, 5, 8, 8, 7, 8, 9, 6, 6, 9, 6, 6, 6, 7, 6, 8, 5, 8, 9, 9, 7, 8, 8, 8, 6, 7, 6, 8, 6, 7, 6, 8, 7, 7, 7, 8, 5, 8, 4, 7, 6, 8, 6, 7, 9, 9, 6, 6, 7, 8, 7, 4, 9, 6, 8, 7, 9, 8, 9, 6, 7, 7, 7, 6, 5, 7, 5, 9, 4, 11, 6, 8, 7, 7, 8, 7, 7, 5, 8, 7, 9, 5, 9, 7, 7, 7, 8, 7, 6, 9, 4, 8, 7, 6, 6, 8, 7, 7, 7, 7, 6, 8, 7, 6, 8, 7, 8, 7, 9, 7, 8, 6, 7, 5, 7, 6, 6, 6, 8, 6, 7, 8, 7, 6, 8, 7, 7, 6, 7, 8, 6, 8, 8, 8, 7, 8, 7, 7, 8, 6, 6, 7, 8, 7, 7, 7, 9, 7, 6, 8, 7, 6, 6, 6, 5, 9, 6, 8, 7, 9, 8, 7, 7, 6, 8, 5, 7, 7, 7, 7, 7, 7, 8, 6, 7, 4, 9, 6, 7, 6, 8, 9, 8, 8, 7, 8, 9, 6, 6, 8, 7, 6, 6, 5, 8, 8, 6, 6, 6, 7, 5, 6, 4, 9, 5, 7, 8, 7, 9, 7, 6, 6, 10, 5, 8, 7, 8, 7, 8, 8, 7, 8, 7, 7, 6, 9, 5, 5, 8, 4, 8, 7, 7, 5, 9, 5, 7, 7, 7, 6, 6, 8, 6, 10, 7, 7, 7, 8, 8, 6, 7, 4, 8, 5, 7, 6, 8, 6, 6, 9, 6, 10, 5, 8, 7, 8, 6, 8, 8, 7, 8, 6, 7, 7, 9, 5, 7, 7, 6, 7, 6, 7, 6, 10, 6, 8, 7, 6, 7, 8, 6, 6, 8, 6, 8, 7, 9, 7, 8, 9, 7, 8, 6, 8, 5, 7, 5, 6, 6, 8, 5, 7, 6, 7, 8, 7, 6, 8, 7, 8, 7, 10, 6, 8, 8, 7, 7, 6, 5, 7, 7, 6, 7, 7, 9, 5, 8, 6, 7, 5, 6, 6, 7, 6, 7, 7, 9, 8, 8, 7, 8, 8, 8, 6, 7, 6, 8, 6, 7, 8, 8, 5, 7, 7, 6, 6, 6, 7, 8, 8, 6, 10, 7, 8, 5, 6, 7, 7, 5, 6, 7, 7, 9, 7, 7, 7, 9, 6, 7, 5, 8, 4, 5, 6, 8, 8, 7, 8, 7, 7, 7, 6, 9, 6, 9, 7, 11, 6, 9, 8, 7, 4, 6, 6, 4, 6, 4, 9, 6, 7, 5, 11, 7, 7, 6, 9, 7, 6, 6, 7, 8, 6, 7, 7, 8, 7, 7, 5, 8, 7, 8, 8, 6, 8, 7, 7, 5, 8, 7, 6, 6, 7, 6, 7, 6, 5, 9, 8, 9, 7, 8, 7, 7, 8, 4, 9, 4, 9, 6, 8, 6, 10, 5, 7, 9, 7, 9, 3, 9, 4, 9, 3, 10, 6, 9, 6, 6, 7, 8, 5, 6, 9, 6, 9, 7, 8, 8, 6, 6, 6, 9, 6, 6, 6, 8, 8, 8, 7, 7, 9, 7, 8, 7, 7, 5, 6, 7, 5, 8, 5, 9, 7, 8, 6, 6, 8, 5, 9, 4, 8, 5, 7, 6, 7, 6, 6, 8, 7, 9, 5, 8, 8, 9, 7, 8, 7, 9, 7, 6, 7, 6, 7, 6, 6, 6, 7, 5, 8, 6, 7, 6, 7, 9, 8, 8, 6, 6, 8, 5, 7, 7, 7, 6, 9, 7, 6, 7, 5, 7, 9, 8, 8, 8, 8, 7, 8, 8, 5, 7, 6, 7, 6, 10, 4, 8, 8, 6, 8, 5, 8, 6, 8, 6, 7, 6, 6, 6, 6, 8, 4, 8, 7, 7, 8, 8, 6, 7, 9, 7, 9, 7, 8, 6, 8, 6, 9, 7, 6, 6, 8, 8, 6, 8, 5, 7, 6, 7, 7, 5, 7, 4, 9, 5, 10, 5, 8, 6, 7, 9, 5, 9, 6, 8, 7, 9, 8, 8, 8, 5, 9, 7, 9, 6, 6, 7, 6, 9, 5, 9, 4, 9, 5, 8, 7, 6, 6, 5, 7, 7, 7, 5, 7, 8, 7, 7, 7, 9, 5, 8, 6, 11, 9, 6, 8, 6, 8, 6, 8, 6, 8, 7, 8, 7, 8, 9, 7, 4, 8, 7, 6, 4, 6, 5, 7, 6, 7, 8, 6, 7, 4, 9, 7, 8, 7, 6, 8, 7, 10, 5, 9, 7, 5, 8, 6, 11, 7, 8, 6, 10, 7, 8, 7, 6, 9, 5, 6, 4, 6, 6, 6, 5, 5, 8, 6, 7, 6, 8, 7, 7, 8, 8, 8, 7, 7, 8, 8, 6, 7, 7, 7, 7, 8, 6, 9, 7, 9, 5, 7, 8, 7, 7, 5, 7, 4, 6, 5, 8, 9, 6, 8, 7, 8, 8, 9, 5, 7, 6, 5, 5, 7, 7, 6, 7, 7, 8, 8, 8, 7, 8, 8, 7, 6, 7, 7, 9, 9, 6, 7, 8, 7, 7, 8, 7, 7, 8, 4, 7, 6, 7, 5, 7, 7, 6, 8, 6, 8, 7, 6, 7, 6, 8, 7, 8, 8, 6, 8, 6, 6, 8, 9, 7, 6, 8, 6, 6, 7, 6, 6, 7, 10, 6, 10, 7, 8, 6, 6, 7, 5, 7, 5, 7, 6, 7, 8, 7, 7, 6, 9, 6, 7, 8, 7, 8, 7, 7, 8, 8, 7, 6, 7, 7, 7, 8, 7, 8, 8, 7, 7, 8, 8, 4, 10, 5, 8, 5, 8, 5, 7, 8, 5, 9, 7, 7, 7, 7, 8, 7, 6, 7, 6, 8, 7, 9, 6, 7, 6, 8, 6, 7, 7, 7, 6, 8, 7, 7, 8, 8, 5, 6, 7, 6, 6, 7, 7, 8, 9, 8, 8, 9, 8, 7, 7, 3, 8, 3, 7, 4, 9, 6, 6, 9, 7, 8, 7, 8, 6, 6, 7, 5, 8, 7, 7, 8, 7, 8, 6, 8, 4, 8, 7, 7, 8, 7, 8, 7, 8, 6, 6, 7, 5, 6, 6, 7, 7, 5, 8, 6, 9, 8, 7, 8, 6, 7, 6, 7, 7, 8, 7, 6, 8, 8, 6, 8, 6, 8, 5, 7, 7, 7, 8, 7, 8, 8, 7, 7, 7, 8, 6, 6, 5, 7, 6, 7, 7, 6, 8, 6, 7, 6, 7, 6, 7, 5, 8, 8, 8, 6, 9, 6, 7, 8, 9, 7, 8, 7, 8, 7, 9, 7, 7, 7, 5, 7, 6, 6, 5, 6, 6, 7, 8, 8, 9, 6, 6, 8, 6, 6, 6, 7, 6, 7, 9, 8, 6, 8, 6, 8, 6, 9, 5, 8, 7, 7, 7, 7, 8, 9, 6, 6, 7, 6, 5, 5, 8, 5, 9, 8, 7, 7, 9, 8, 6, 7, 6, 5, 5, 5, 6, 8, 7, 8, 9, 9, 7, 7, 8, 6, 7, 5, 6, 7, 9, 8, 7, 8, 8, 7, 8, 5, 8, 6, 6, 7, 7, 7, 6, 7, 7, 8, 8, 6, 6, 6, 7, 6, 6, 8, 8, 9, 7, 8, 7, 7, 5, 8, 6, 6, 8, 8, 9, 8, 8, 8, 6, 9, 4, 7, 4, 6, 6, 6, 7, 8, 9, 9, 6, 9, 5, 6, 7, 5, 6, 7, 8, 8, 8, 9, 9, 6, 8, 6, 6, 4, 6, 6, 6, 8, 7, 9, 8, 9, 8, 7, 6, 7, 5, 6, 8, 5, 9, 6, 10, 7, 7, 7, 6, 8, 5, 7, 7, 6, 8, 7, 8, 8, 7, 9, 4, 7, 6, 5, 7, 6, 8, 6, 8, 9, 7, 9, 6, 7, 8, 7, 9, 6, 6, 7, 5, 7, 5, 7, 6, 8, 8, 7, 8, 7, 7, 8, 5, 8, 7, 5, 9, 5, 6, 8, 8, 8, 7, 8, 6, 8, 7, 6, 6, 6, 7, 7, 8, 7, 7, 8, 9, 7, 6, 9, 6, 8, 5, 7, 7, 6, 9, 8, 9, 7, 8, 7, 6, 5, 4, 4, 6, 7, 8, 8, 9, 9, 8, 9, 6, 7, 7, 5, 5, 6, 8, 6, 9, 9, 9, 8, 10, 7, 5, 5, 4, 4, 5, 7, 5, 8, 8, 9, 8, 9, 7, 6, 6, 7, 5, 7, 9, 7, 8, 9, 8, 8, 8, 7, 5, 4, 5, 5, 5, 6, 10, 8, 9, 9, 9, 8, 7, 5, 6, 5, 6, 6, 6, 8, 7, 8, 9, 8, 8, 7, 5, 6, 7, 5, 7, 6, 9, 7, 10, 6, 7, 8, 5, 8, 3, 7, 5, 7, 8, 7, 8, 9, 8, 7, 8, 6, 7, 5, 6, 6, 6, 7, 7, 9, 7, 9, 7, 7, 9, 6, 7, 5, 6, 8, 5, 9, 7, 7, 6, 7, 7, 8, 7, 6, 7, 5, 8, 6, 9, 7, 8, 7, 6, 8, 6, 6, 7, 6, 7, 7, 9, 8, 7, 8, 7, 7, 9, 6, 8, 6, 7, 5, 7, 8, 6, 6, 8, 8, 7, 9, 6, 7, 6, 6, 5, 5, 8, 6, 6, 8, 7, 8, 8, 8, 8, 7, 8, 6, 6, 9, 6, 9, 7, 9, 8, 6, 8, 6, 7, 7, 5, 6, 6, 7, 8, 8, 7, 9, 6, 8, 4, 9, 5, 5, 5, 6, 7, 6, 9, 8, 10, 8, 9, 7, 7, 8, 5, 7, 5, 9, 6, 7, 9, 6, 9, 7, 8, 6, 8, 5, 6, 5, 8, 5, 8, 8, 8, 8, 8, 8, 5, 6, 5, 3, 5, 7, 6, 8, 9, 9, 8, 9, 8, 6, 6, 7, 5, 6, 7, 9, 7, 8, 9, 8, 8, 8, 5, 7, 6, 5, 5, 7, 7, 6, 7, 8, 7, 9, 6, 6, 8, 6, 7, 5, 8, 7, 6, 10, 8, 8, 8, 8, 6, 8, 6, 6, 5, 7, 6, 6, 9, 9, 8, 8, 8, 7, 6, 6, 7, 5, 7, 7, 6, 8, 8, 9, 7, 8, 8, 6, 6, 7, 5, 5, 7, 5, 8, 7, 9, 7, 9, 7, 7, 6, 7, 6, 6, 7, 7, 8, 8, 9, 7, 7, 7, 7, 6, 7, 7, 7, 7, 7, 7, 7, 8, 8, 6, 9, 6, 7, 4, 8, 5, 7, 7, 6, 8, 9, 7, 6, 8, 6, 7, 4, 7, 6, 8, 8, 6, 8, 8, 7, 8, 6, 9, 6, 7, 8, 6, 7, 6, 6, 9, 8, 8, 7, 7, 8, 5, 6, 6, 4, 8, 4, 8, 7, 8, 10, 6, 9, 6, 7, 7, 5, 7, 7, 6, 8, 7, 9, 9, 6, 10, 6, 9, 6, 6, 8, 5, 7, 6, 9, 8, 9, 7, 7, 8, 6, 8, 5, 6, 4, 6, 6, 7, 9, 9, 8, 6, 8, 5, 7, 5, 7, 6, 7, 9, 6, 9, 10, 7, 7, 9, 6, 7, 5, 8, 7, 7, 8, 6, 9, 9, 5, 8, 7, 6, 7, 5, 6, 6, 6, 6, 6, 9, 7, 7, 9, 6, 5, 6, 6, 7, 8, 8, 6, 9, 9, 9, 7, 7, 8, 6, 8, 6, 5, 8, 7, 9, 8, 8, 9, 6, 9, 7, 4, 8, 5, 7, 6, 5, 7, 6, 8, 8, 6, 9, 8, 4, 9, 6, 6, 7, 6, 8, 6, 9, 8, 6, 9, 6, 7, 8, 8, 6, 8, 6, 6, 8, 9, 7, 7, 8, 6, 6, 7, 8, 5, 9, 6, 5, 7, 6, 7, 6, 8, 8, 6, 8, 8, 6, 8, 6, 6, 8, 7, 8, 6, 8, 8, 7, 8, 8, 8, 8, 7, 7, 8, 5, 8, 4, 8, 6, 6, 8, 7, 8, 6, 6, 6, 6, 7, 6, 6, 7, 7, 6, 8, 6, 8, 7, 7, 7, 7, 9, 6, 7, 8, 6, 7, 7, 8, 7, 8, 6, 8, 6, 9, 6, 4, 8, 5, 8, 7, 7, 8, 6, 8, 6, 6, 8, 6, 6, 7, 5, 7, 5, 7, 8, 7, 8, 7, 8, 8, 8, 7, 6, 6, 8, 6, 7, 9, 7, 7, 7, 8, 9, 7, 8, 5, 7, 8, 4, 7, 6, 8, 5, 8, 8, 7, 8, 6, 6, 6, 7, 7, 5, 8, 7, 6, 9, 8, 7, 10, 7, 8, 6, 8, 7, 7, 8, 7, 7, 8, 7, 8, 7, 7, 8, 4, 8, 6, 4, 8, 6, 7, 7, 7, 7, 6, 8, 7, 5, 7, 8, 6, 6, 8, 6, 8, 7, 7, 8, 8, 7, 7, 6, 8, 5, 7, 8, 7, 10, 7, 7, 8, 7, 7, 5, 5, 6, 6, 8, 6, 7, 10, 6, 7, 7, 6, 6, 7, 5, 6, 6, 9, 6, 7, 9, 7, 8, 8, 8, 7, 8, 6, 7, 7, 7, 6, 7, 10, 8, 8, 9, 8, 7, 6, 4, 6, 5, 6, 7, 6, 10, 7, 7, 8, 6, 7, 6, 6, 7, 5, 7, 7, 7, 9, 8, 8, 8, 8, 7, 7, 7, 7, 5, 6, 8, 7, 10, 8, 9, 8, 7, 7, 6, 6, 6, 5, 6, 8, 6, 8, 8, 7, 9, 5, 7, 5, 6, 5, 4, 7, 7, 7, 8, 9, 8, 7, 8, 7, 7, 6, 7, 6, 6, 8, 8, 8, 10, 8, 9, 8, 7, 7, 5, 6, 5, 6, 6, 8, 6, 9, 7, 8, 9, 7, 7, 4, 7, 5, 5, 7, 6, 8, 8, 8, 9, 9, 7, 7, 5, 8, 5, 6, 7, 6, 9, 8, 8, 9, 8, 7, 7, 5, 8, 4, 6, 5, 7, 8, 7, 8, 9, 8, 7, 6, 6, 7, 4, 6, 4, 6, 8, 6, 9, 8, 9, 8, 8, 8, 7, 6, 5, 7, 7, 9, 8, 10, 9, 10, 8, 8, 6, 6, 5, 4, 6, 4, 7, 6, 8, 8, 8, 8, 6, 6, 5, 5, 5, 5, 5, 8, 7, 8, 10, 9, 10, 8, 9, 6, 6, 7, 5, 6, 7, 8, 8, 9, 9, 8, 7, 8, 5, 6, 5, 4, 4, 5, 8, 6, 9, 9, 9, 8, 7, 7, 5, 4, 5, 5, 5, 8, 8, 10, 10, 10, 7, 9, 8, 6, 6, 7, 5, 6, 7, 8, 9, 9, 10, 6, 10, 7, 4, 6, 6, 3, 6, 5, 6, 9, 7, 10, 6, 9, 8, 4, 8, 5, 4, 7, 6, 8, 9, 9, 11, 7, 10, 8, 6, 7, 5, 5, 6, 6, 7, 9, 9, 10, 7, 8, 7, 6, 5, 4, 4, 4, 7, 5, 8, 9, 9, 7, 7, 8, 6, 7, 6, 7, 6, 7, 7, 8, 9, 9, 8, 8, 8, 7, 5, 6, 6, 6, 6, 6, 8, 8, 8, 8, 8, 6, 7, 5, 5, 5, 5, 5, 7, 7, 9, 8, 9, 9, 7, 9, 6, 5, 6, 7, 5, 7, 8, 8, 10, 9, 9, 6, 8, 6, 4, 6, 5, 5, 5, 7, 6, 8, 9, 8, 7, 9, 8, 4, 7, 6, 5, 6, 9, 7, 9, 8, 8, 7, 9, 8, 6, 6, 6, 5, 6, 8, 6, 8, 9, 9, 8, 9, 8, 6, 6, 3, 6, 4, 7, 7, 8, 9, 9, 8, 8, 7, 6, 6, 4, 7, 5, 7, 8, 9, 9, 8, 10, 8, 7, 8, 5, 5, 5, 6, 5, 7, 9, 9, 9, 9, 8, 6, 8, 5, 3, 5, 6, 4, 6, 8, 9, 9, 9, 10, 7, 9, 6, 4, 5, 5, 5, 6, 10, 9, 9, 11, 8, 8, 7, 5, 5, 5, 6, 7, 6, 9, 7, 8, 9, 7, 8, 7, 6, 4, 4, 5, 5, 7, 9, 8, 10, 10, 8, 8, 7, 6, 5, 5, 5, 5, 6, 9, 8, 9, 10, 7, 9, 6, 6, 5, 4, 6, 4, 8, 8, 9, 9, 10, 7, 9, 7, 6, 6, 5, 5, 4, 8, 6, 8, 9, 10, 6, 10, 8, 5, 6, 5, 4, 5, 8, 6, 9, 9, 10, 6, 10, 7, 6, 7, 5, 6, 4, 8, 6, 8, 10, 9, 7, 9, 7, 6, 6, 5, 5, 4, 8, 5, 8, 9, 8, 8, 8, 7, 6, 7, 5, 4, 4, 8, 6, 8, 9, 9, 8, 10, 6, 7, 8, 5, 6, 4, 9, 5, 7, 9, 8, 9, 8, 7, 7, 7, 5, 5, 5, 5, 7, 7, 10, 7, 10, 8, 7, 8, 6, 6, 4, 7, 4, 8, 5, 9, 7, 10, 9, 6, 9, 6, 7, 5, 7, 5, 5, 9, 7, 7, 9, 8, 8, 6, 9, 6, 4, 7, 3, 4, 8, 5, 10, 8, 10, 9, 6, 10, 5, 7, 6, 5, 5, 6, 9, 6, 9, 9, 8, 9, 8, 8, 7, 5, 7, 4, 6, 7, 5, 10, 8, 9, 10, 7, 9, 4, 7, 5, 3, 6, 5, 8, 8, 9, 10, 8, 8, 8, 4, 8, 4, 5, 5, 6, 8, 7, 9, 10, 8, 9, 7, 7, 7, 5, 6, 4, 6, 7, 6, 10, 9, 9, 9, 6, 7, 5, 5, 5, 3, 7, 6, 7, 10, 9, 10, 9, 6, 9, 5, 8, 4, 5, 7, 6, 10, 7, 10, 9, 9, 8, 5, 7, 5, 5, 5, 4, 5, 7, 7, 11, 9, 10, 8, 7, 8, 3, 5, 3, 6, 6, 7, 9, 10, 10, 9, 10, 5, 5, 6, 5, 5, 6, 6, 8, 9, 10, 9, 8, 10, 5, 8, 6, 6, 7, 4, 6, 6, 6, 10, 7, 9, 10, 5, 9, 5, 7, 4, 3, 8, 3, 9, 9, 8, 10, 9, 9, 7, 7, 9, 3, 7, 6, 4, 10, 6, 10, 9, 9, 9, 6, 7, 8, 3, 7, 5, 5, 8, 7, 10, 8, 9, 8, 7, 8, 6, 4, 5, 7, 4, 6, 9, 8, 9, 8, 9, 8, 7, 7, 6, 7, 6, 4, 7, 8, 7, 9, 7, 10, 9, 7, 9, 5, 8, 6, 3, 7, 5, 9, 7, 9, 10, 7, 7, 7, 4, 6, 4, 2, 7, 3, 9, 6, 10, 10, 8, 9, 8, 7, 7, 5, 4, 7, 6, 9, 7, 11, 9, 9, 9, 7, 5, 5, 6, 3, 6, 5, 8, 8, 9, 9, 8, 8, 7, 6, 6, 6, 4, 5, 4, 6, 8, 7, 10, 8, 11, 8, 8, 6, 7, 5, 4, 7, 6, 10, 8, 11, 9, 10, 9, 6, 6, 7, 4, 4, 5, 5, 8, 7, 9, 7, 8, 8, 4, 6, 6, 3, 5, 5, 6, 7, 8, 11, 8, 11, 9, 6, 8, 7, 6, 5, 6, 7, 7, 9, 9, 7, 9, 8, 8, 6, 6, 5, 4, 6, 4, 7, 8, 8, 9, 9, 8, 8, 4, 7, 5, 4, 7, 5, 8, 9, 7, 8, 9, 7, 8, 7, 7, 8, 4, 7, 5, 6, 8, 8, 9, 10, 8, 10, 7, 5, 7, 3, 6, 5, 6, 8, 7, 8, 8, 6, 8, 7, 4, 11, 4, 7, 6, 5, 8, 4, 10, 8, 8, 11, 8, 8, 10, 4, 6, 4, 7, 7, 6, 11, 6, 10, 9, 6, 7, 6, 6, 5, 4, 7, 2, 8, 7, 5, 9, 8, 9, 8, 8, 8, 3, 9, 4, 3, 9, 6, 7, 10, 9, 8, 7, 9, 7, 5, 9, 3, 6, 9, 6, 8, 8, 10, 7, 8, 9, 5, 5, 6, 4, 4, 6, 6, 7, 7, 9, 8, 7, 10, 7, 5, 8, 5, 4, 5, 5, 7, 6, 10, 9, 9, 12, 7, 7, 9, 3, 7, 4, 6, 9, 6, 10, 8, 9, 8, 4, 9, 5, 6, 6, 4, 7, 6, 6, 8, 8, 11, 5, 8, 9, 4, 8, 4, 6, 5, 10, 7, 8, 10, 10, 6, 9, 9, 5, 7, 6, 6, 4, 9, 4, 9, 11, 10, 7, 8, 8, 2, 8, 4, 5, 5, 8, 5, 8, 8, 9, 8, 8, 8, 6, 8, 5, 6, 5, 8, 5, 8, 9, 10, 9, 6, 8, 6, 6, 7, 3, 6, 6, 7, 8, 8, 11, 9, 7, 10, 6, 6, 6, 3, 4, 7, 7, 7, 8, 10, 9, 5, 9, 7, 6, 8, 3, 6, 7, 3, 8, 6, 10, 11, 6, 11, 5, 7, 7, 3, 8, 5, 6, 9, 7, 10, 9, 8, 9, 5, 8, 6, 6, 6, 5, 6, 5, 9, 7, 11, 7, 7, 8, 7, 6, 6, 3, 7, 4, 8, 8, 9, 12, 8, 9, 7, 7, 5, 5, 5, 4, 5, 6, 8, 9, 10, 10, 8, 6, 7, 5, 7, 5, 6, 6, 7, 10, 8, 10, 9, 6, 8, 6, 6, 7, 4, 8, 3, 7, 7, 5, 11, 7, 10, 7, 8, 7, 6, 5, 5, 4, 7, 7, 8, 11, 10, 10, 7, 8, 5, 6, 5, 4, 6, 6, 9, 6, 10, 8, 8, 9, 5, 7, 7, 5, 6, 5, 7, 8, 6, 10, 7, 10, 8, 5, 9, 4, 7, 4, 5, 6, 7, 7, 9, 9, 10, 9, 5, 9, 3, 9, 3, 7, 6, 6, 10, 7, 9, 9, 8, 7, 8, 5, 8, 4, 8, 5, 6, 9, 6, 9, 9, 7, 8, 7, 6, 6, 5, 6, 2, 8, 7, 6, 10, 9, 9, 9, 8, 7, 7, 5, 7, 3, 9, 6, 6, 11, 8, 9, 9, 7, 7, 5, 5, 7, 2, 7, 5, 6, 10, 8, 10, 8, 8, 8, 3, 6, 6, 4, 6, 7, 8, 10, 9, 9, 6, 8, 7, 4, 7, 6, 5, 6, 8, 6, 7, 10, 8, 7, 10, 7, 6, 7, 6, 5, 5, 7, 6, 7, 11, 9, 9, 9, 8, 6, 5, 6, 3, 5, 6, 6, 7, 11, 10, 9, 8, 8, 5, 6, 5, 4, 6, 6, 9, 7, 10, 10, 7, 8, 8, 5, 7, 4, 6, 5, 5, 7, 6, 10, 10, 8, 10, 8, 7, 6, 4, 6, 5, 6, 7, 7, 11, 9, 9, 7, 7, 6, 5, 6, 5, 6, 6, 7, 8, 9, 10, 7, 9, 8, 7, 7, 7, 6, 5, 5, 5, 8, 6, 10, 7, 9, 9, 6, 8, 6, 4, 5, 4, 5, 7, 6, 10, 9, 8, 10, 5, 9, 5, 5, 7, 6, 6, 7, 7, 11, 9, 8, 9, 6, 9, 5, 6, 5, 4, 5, 4, 7, 9, 9, 10, 10, 9, 8, 6, 4, 5, 4, 4, 5, 8, 9, 10, 10, 9, 8, 7, 7, 4, 6, 6, 5, 7, 7, 8, 8, 8, 9, 7, 8, 6, 7, 5, 5, 4, 5, 6, 8, 9, 9, 9, 9, 9, 6, 5, 5, 4, 4, 5, 5, 8, 10, 9, 8, 11, 9, 8, 7, 6, 5, 7, 5, 6, 7, 10, 8, 8, 10, 8, 7, 6, 4, 3, 5, 4, 5, 6, 11, 6, 11, 10, 8, 9, 4, 6, 3, 6, 5, 4, 10, 9, 8, 10, 9, 8, 9, 6, 6, 4, 8, 5, 5, 10, 5, 9, 8, 9, 8, 7, 7, 4, 5, 5, 1, 4, 7, 5, 9, 9, 10, 10, 8, 8, 3, 6, 6, 4, 6, 8, 9, 9, 11, 7, 9, 9, 9, 4, 8, 5, 7, 5, 8, 7, 7, 11, 6, 10, 9, 6, 5, 6, 2, 4, 3, 6, 7, 8, 11, 7, 11, 9, 6, 7, 4, 5, 4, 6, 7, 8, 9, 10, 8, 11, 9, 7, 8, 5, 6, 3, 8, 4, 8, 8, 7, 9, 8, 8, 7, 7, 6, 5, 4, 7, 2, 8, 6, 8, 10, 9, 10, 7, 9, 5, 4, 4, 6, 7, 8, 8, 11, 7, 10, 9, 6, 8, 5, 7, 4, 6, 7, 5, 8, 7, 8, 9, 8, 8, 7, 6, 6, 2, 5, 6, 6, 8, 7, 9, 8, 9, 8, 7, 7, 6, 5, 6, 7, 8, 6, 8, 8, 8, 9, 9, 6, 7, 8, 3, 7, 6, 7, 9, 7, 10, 7, 8, 9, 5, 8, 5, 5, 6, 4, 6, 7, 5, 8, 7, 9, 8, 7, 7, 4, 8, 4, 6, 7, 8, 8, 7, 9, 8, 8, 9, 5, 8, 8, 3, 8, 5, 8, 6, 9, 10, 8, 10, 8, 7, 4, 5, 2, 5, 8, 6, 8, 9, 7, 8, 8, 8, 6, 5, 8, 4, 6, 7, 5, 8, 7, 8, 9, 11, 8, 7, 6, 7, 5, 5, 8, 6, 8, 10, 7, 10, 9, 7, 9, 4, 7, 5, 4, 8, 2, 8, 7, 6, 11, 7, 9, 7, 6, 5, 5, 4, 8, 5, 9, 8, 7, 9, 9, 8, 8, 9, 6, 8, 5, 6, 6, 5, 10, 4, 11, 10, 8, 10, 6, 6, 5, 4, 6, 4, 5, 8, 4, 10, 8, 8, 9, 7, 6, 3, 6, 5, 6, 7, 8, 7, 11, 8, 10, 8, 8, 7, 5, 9, 4, 8, 5, 8, 9, 7, 11, 10, 8, 8, 5, 4, 5, 3, 5, 4, 8, 5, 8, 10, 8, 7, 8, 8, 3, 7, 6, 6, 7, 6, 6, 10, 9, 9, 7, 8, 10, 3, 9, 5, 6, 8, 6, 9, 7, 8, 10, 6, 10, 7, 4, 8, 3, 6, 4, 5, 7, 5, 9, 9, 6, 10, 7, 6, 5, 4, 7, 4, 10, 8, 8, 11, 9, 8, 8, 8, 8, 6, 8, 7, 6, 8, 5, 6, 7, 7, 7, 7, 7, 8, 4, 8, 4, 5, 7, 6, 6, 7, 8, 8, 8, 8, 8, 6, 8, 6, 6, 7, 7, 7, 7, 9, 9, 8, 9, 8, 6, 7, 5, 6, 5, 7, 6, 7, 9, 8, 7, 9, 7, 7, 7, 4, 6, 5, 6, 6, 7, 9, 9, 7, 9, 6, 7, 5, 6, 6, 5, 9, 6, 10, 7, 11, 7, 9, 8, 7, 7, 5, 6, 4, 7, 7, 8, 8, 11, 7, 8, 9, 3, 9, 3, 6, 3, 7, 7, 6, 9, 9, 8, 10, 9, 6, 9, 3, 7, 3, 8, 6, 7, 10, 8, 9, 7, 9, 4, 8, 4, 5, 5, 7, 6, 8, 7, 7, 8, 8, 9, 5, 10, 5, 5, 7, 5, 6, 7, 6, 9, 8, 9, 8, 7, 8, 6, 5, 5, 6, 7, 6, 8, 8, 8, 10, 7, 8, 6, 7, 4, 5, 7, 4, 9, 6, 7, 8, 9, 8, 8, 7, 7, 5, 6, 7, 4, 8, 8, 6, 9, 8, 10, 6, 8, 6, 5, 7, 5, 5, 8, 9, 6, 9, 8, 9, 6, 8, 5, 4, 8, 4, 8, 7, 8, 7, 9, 9, 8, 7, 8, 6, 6, 6, 4, 9, 4, 9, 6, 8, 9, 7, 8, 7, 5, 7, 7, 6, 8, 6, 7, 7, 8, 6, 7, 8, 7, 6, 8, 6, 7, 7, 6, 6, 9, 7, 8, 10, 8, 8, 6, 9, 4, 6, 6, 5, 6, 7, 8, 7, 8, 8, 5, 4, 8, 5, 5, 6, 7, 7, 7, 10, 6, 8, 9, 5, 6, 7, 6, 7, 7, 8, 7, 6, 10, 7, 9, 10, 5, 9, 7, 6, 5, 6, 6, 4, 8, 7, 8, 9, 8, 6, 6, 4, 6, 5, 7, 5, 6, 9, 7, 10, 8, 7, 9, 6, 10, 6, 8, 7, 5, 7, 7, 6, 9, 8, 10, 9, 6, 9, 3, 8, 4, 5, 7, 5, 9, 7, 8, 8, 5, 8, 4, 6, 7, 3, 9, 6, 7, 8, 7, 11, 8, 8, 9, 7, 10, 6, 6, 7, 6, 8, 7, 8, 10, 8, 8, 4, 8, 5, 4, 5, 5, 9, 5, 10, 7, 7, 8, 6, 6, 6, 6, 5, 5, 7, 7, 6, 11, 8, 9, 9, 6, 8, 4, 9, 4, 7, 9, 6, 10, 9, 8, 7, 7, 7, 5, 6, 8, 3, 8, 3, 7, 5, 9, 9, 6, 10, 6, 6, 6, 5, 7, 6, 6, 8, 6, 9, 8, 7, 10, 6, 10, 5, 7, 7, 6, 6, 6, 9, 8, 11, 6, 9, 6, 6, 6, 6, 8, 5, 6, 7, 5, 8, 7, 7, 10, 7, 9, 5, 5, 6, 4, 8, 6, 7, 9, 7, 10, 5, 10, 6, 7, 10, 5, 8, 6, 5, 6, 6, 10, 7, 8, 9, 4, 9, 7, 5, 9, 5, 8, 4, 8, 7, 5, 9, 8, 7, 8, 9, 5, 6, 4, 6, 4, 8, 9, 7, 9, 8, 6, 8, 7, 5, 10, 6, 8, 5, 6, 8, 4, 10, 7, 9, 9, 6, 8, 6, 6, 5, 5, 7, 7, 8, 9, 7, 9, 6, 7, 8, 7, 8, 4, 7, 6, 6, 7, 6, 9, 7, 7, 8, 6, 7, 6, 4, 6, 5, 8, 7, 7, 10, 6, 10, 7, 8, 7, 9, 5, 6, 5, 7, 8, 7, 9, 8, 8, 8, 5, 8, 4, 6, 4, 6, 7, 8, 7, 8, 7, 8, 6, 6, 9, 7, 8, 5, 7, 6, 8, 8, 8, 9, 9, 8, 8, 7, 7, 4, 4, 5, 5, 8, 8, 8, 8, 8, 7, 5, 7, 6, 6, 7, 6, 8, 7, 8, 7, 5, 8, 7, 7, 9, 5, 10, 4, 6, 6, 6, 10, 7, 8, 9, 7, 9, 7, 6, 9, 3, 8, 5, 8, 8, 8, 9, 7, 8, 7, 7, 6, 6, 5, 6, 4, 8, 7, 9, 9, 4, 9, 5, 9, 5, 7, 6, 8, 6, 9, 7, 10, 7, 5, 10, 5, 9, 6, 8, 7, 7, 4, 7, 5, 9, 7, 6, 10, 6, 9, 7, 6, 7, 5, 6, 7, 6, 8, 7, 7, 8, 6, 8, 7, 6, 7, 7, 7, 6, 7, 9, 7, 9, 6, 8, 8, 6, 7, 6, 6, 8, 6, 7, 10, 8, 9, 7, 7, 7, 7, 7, 5, 5, 9, 3, 8, 9, 5, 9, 6, 7, 7, 7, 6, 7, 5, 11, 3, 10, 9, 7, 10, 5, 7, 7, 7, 6, 7, 5, 10, 3, 8, 8, 6, 10, 6, 7, 8, 7, 8, 6, 5, 8, 4, 9, 7, 7, 10, 6, 7, 7, 7, 7, 8, 6, 8, 4, 9, 5, 8, 7, 7, 8, 7, 9, 5, 8, 6, 7, 6, 7, 6, 8, 9, 8, 7, 7, 8, 6, 8, 6, 6, 7, 6, 7, 6, 8, 8, 7, 8, 7, 5, 8, 7, 5, 6, 7, 7, 8, 8, 7, 9, 7, 8, 6, 8, 7, 4, 8, 6, 6, 8, 8, 9, 10, 6, 9, 5, 8, 6, 2, 8, 4, 7, 8, 7, 9, 8, 7, 7, 4, 9, 6, 6, 10, 4, 9, 7, 8, 8, 6, 7, 6, 5, 10, 5, 7, 7, 5, 10, 5, 9, 7, 8, 9, 5, 7, 7, 6, 8, 7, 5, 8, 7, 8, 5, 9, 7, 5, 8, 6, 7, 9, 7, 7, 8, 8, 6, 5, 10, 4, 7, 7, 7, 9, 7, 7, 5, 7, 6, 4, 7, 9, 6, 9, 8, 6, 8, 7, 5, 7, 9, 7, 7, 9, 9, 7, 7, 7, 4, 9, 9, 4, 10, 7, 5, 8, 5, 9, 5, 8, 6, 5, 9, 7, 6, 9, 6, 7, 6, 7, 8, 5, 9, 5, 8, 8, 8, 7, 8, 7, 5, 7, 6, 7, 8, 9, 6, 8, 5, 7, 7, 6, 9, 6, 12, 5, 9, 5, 6, 4, 5, 8, 7, 8, 6, 9, 6, 6, 4, 7, 7, 10, 6, 8, 10, 4, 8, 4, 9, 8, 7, 9, 5, 9, 7, 5, 6, 7, 7, 8, 7, 9, 8, 6, 8, 3, 8, 6, 7, 6, 7, 6, 6, 7, 7, 7, 6, 8, 4, 8, 6, 8, 8, 8, 9, 6, 8, 6, 9, 8, 6, 7, 6, 8, 8, 6, 6, 6, 7, 7, 7, 9, 7, 8, 5, 4, 7, 5, 8, 7, 7, 10, 6, 9, 5, 8, 6, 5, 8, 5, 8, 8, 6, 9, 6, 6, 8, 6, 11, 7, 6, 6, 6, 6, 6, 8, 8, 7, 9, 8, 7, 7, 9, 4, 6, 7, 5, 9, 5, 9, 5, 7, 9, 6, 8, 9, 5, 7, 6, 6, 6, 6, 10, 6, 10, 7, 7, 8, 9, 7, 4, 9, 5, 8, 7, 6, 8, 6, 7, 8, 5, 10, 7, 5, 8, 3, 8, 4, 8, 9, 5, 10, 6, 9, 8, 5, 8, 5, 7, 9, 5, 9, 5, 6, 7, 6, 10, 6, 9, 8, 5, 8, 5, 7, 6, 6, 8, 6, 10, 8, 6, 8, 5, 7, 6, 6, 8, 5, 9, 5, 8, 7, 9, 8, 8, 7, 7, 6, 6, 6, 5, 6, 7, 9, 7, 10, 5, 9, 7, 5, 8, 5, 9, 6, 6, 7, 5, 7, 7, 8, 9, 8, 7, 7, 5, 7, 5, 7, 6, 8, 9, 7, 9, 7, 6, 5, 7, 7, 6, 8, 7, 5, 9, 5, 6, 9, 8, 9, 8, 9, 7, 7, 6, 5, 6, 6, 8, 6, 8, 7, 7, 8, 6, 5, 8, 5, 7, 6, 6, 9, 5, 9, 7, 7, 10, 6, 7, 9, 6, 7, 6, 7, 7, 6, 9, 6, 9, 8, 7, 8, 6, 7, 3, 5, 6, 6, 7, 6, 9, 8, 8, 8, 6, 6, 9, 4, 6, 7, 6, 9, 5, 10, 5, 10, 7, 8, 7, 7, 9, 4, 7, 6, 5, 8, 8, 6, 10, 7, 10, 7, 7, 8, 1, 8, 3, 6, 7, 5, 9, 8, 9, 9, 5, 7, 8, 4, 7, 4, 8, 7, 6, 10, 5, 10, 7, 8, 8, 9, 6, 6, 7, 6, 6, 5, 8, 6, 10, 8, 8, 9, 5, 6, 3, 6, 4, 5, 7, 7, 8, 9, 8, 8, 9, 6, 9, 4, 8, 5, 6, 9, 6, 8, 10, 8, 9, 8, 5, 8, 4, 7, 5, 4, 8, 6, 5, 8, 8, 7, 9, 6, 9, 5, 6, 7, 4, 9, 6, 7, 9, 8, 8, 7, 7, 8, 5, 7, 7, 5, 9, 5, 8, 5, 9, 8, 6, 10, 9, 6, 8, 7, 4, 6, 6, 7, 5, 9, 7, 7, 10, 6, 7, 5, 7, 4, 5, 8, 6, 6, 8, 8, 7, 10, 6, 7, 8, 8, 5, 7, 5, 9, 5, 8, 8, 7, 11, 6, 7, 8, 7, 6, 5, 5, 8, 4, 6, 7, 7, 11, 6, 10, 7, 8, 6, 5, 7, 6, 5, 7, 7, 7, 10, 4, 9, 6, 7, 8, 5, 8, 4, 7, 6, 7, 9, 9, 8, 11, 7, 9, 8, 5, 8, 3, 8, 4, 7, 9, 7, 9, 9, 6, 8, 7, 7, 5, 4, 9, 3, 7, 8, 5, 10, 8, 7, 9, 7, 8, 5, 6, 7, 3, 8, 7, 7, 10, 9, 9, 9, 8, 7, 4, 6, 5, 4, 6, 8, 7, 10, 10, 7, 7, 9, 6, 5, 4, 6, 5, 5, 8, 6, 8, 10, 5, 8, 8, 6, 6, 6, 6, 5, 5, 9, 7, 11, 10, 9, 8, 9, 8, 6, 6, 4, 6, 5, 7, 6, 10, 8, 9, 6, 8, 6, 6, 7, 1, 7, 5, 5, 8, 7, 10, 8, 9, 9, 7, 9, 7, 3, 7, 5, 5, 9, 7, 12, 8, 11, 8, 7, 9, 5, 5, 4, 7, 5, 6, 8, 8, 7, 11, 5, 9, 8, 6, 5, 3, 6, 4, 5, 7, 7, 9, 9, 8, 10, 9, 8, 6, 4, 7, 5, 7, 7, 10, 11, 9, 10, 7, 8, 7, 5, 5, 4, 4, 5, 6, 8, 7, 9, 9, 8, 7, 8, 6, 4, 3, 4, 6, 7, 9, 8, 12, 8, 10, 7, 9, 7, 5, 6, 5, 6, 7, 8, 10, 8, 10, 8, 9, 9, 6, 6, 3, 5, 6, 5, 8, 7, 8, 11, 5, 9, 6, 8, 5, 2, 7, 3, 7, 7, 6, 10, 8, 10, 8, 9, 9, 5, 6, 5, 5, 7, 5, 11, 8, 9, 11, 7, 11, 7, 8, 3, 5, 5, 3, 6, 6, 8, 9, 10, 8, 9, 7, 8, 3, 4, 4, 5, 8, 6, 10, 7, 11, 7, 8, 10, 7, 8, 3, 7, 4, 6, 8, 6, 10, 9, 9, 8, 8, 8, 4, 5, 6, 3, 7, 5, 8, 9, 7, 12, 4, 10, 8, 4, 7, 2, 7, 4, 7, 9, 7, 10, 9, 8, 9, 7, 9, 3, 7, 6, 4, 9, 5, 11, 6, 10, 10, 7, 9, 7, 4, 7, 2, 8, 4, 8, 9, 6, 11, 6, 10, 7, 7, 8, 2, 6, 6, 4, 7, 6, 10, 9, 9, 9, 7, 8, 6, 5, 4, 5, 8, 4, 8, 8, 8, 10, 10, 9, 8, 7, 4, 4, 4, 6, 4, 8, 9, 9, 9, 9, 7, 9, 6, 5, 7, 3, 8, 4, 7, 7, 7, 11, 8, 10, 7, 7, 6, 3, 5, 4, 6, 7, 7, 11, 8, 11, 9, 7, 10, 4, 7, 5, 4, 7, 5, 8, 8, 8, 11, 9, 8, 8, 5, 5, 2, 6, 5, 5, 9, 7, 10, 9, 9, 8, 6, 7, 4, 4, 7, 6, 6, 6, 9, 10, 9, 11, 9, 8, 7, 5, 3, 5, 6, 5, 8, 8, 9, 9, 10, 9, 7, 7, 6, 4, 6, 5, 6, 6, 7, 7, 8, 9, 10, 7, 8, 5, 6, 4, 4, 8, 4, 9, 8, 9, 10, 9, 8, 7, 7, 6, 2, 6, 5, 5, 8, 7, 9, 10, 10, 9, 6, 8, 6, 4, 5, 5, 5, 6, 7, 9, 9, 9, 9, 8, 7, 7, 3, 4, 6, 5, 8, 7, 9, 10, 9, 9, 8, 8, 7, 5, 5, 5, 5, 8, 4, 9, 8, 10, 10, 9, 7, 8, 6, 6, 3, 5, 5, 5, 8, 7, 11, 8, 10, 9, 7, 6, 4, 4, 5, 6, 6, 7, 7, 12, 8, 9, 8, 7, 8, 5, 5, 3, 5, 7, 7, 7, 11, 10, 10, 9, 7, 7, 2, 4, 3, 5, 5, 8, 8, 9, 10, 9, 9, 7, 8, 5, 6, 5, 6, 5, 9, 7, 10, 10, 9, 9, 7, 8, 5, 5, 4, 2, 5, 5, 5, 8, 10, 11, 10, 9, 9, 6, 7, 3, 4, 5, 5, 8, 7, 10, 10, 9, 9, 7, 7, 7, 3, 6, 3, 8, 6, 7, 10, 8, 11, 9, 9, 7, 7, 4, 4, 3, 6, 4, 8, 9, 8, 11, 8, 10, 6, 6, 6, 2, 7, 4, 6, 6, 8, 10, 10, 10, 10, 7, 9, 7, 4, 7, 4, 6, 7, 8, 9, 9, 11, 8, 7, 7, 4, 5, 3, 4, 4, 6, 9, 8, 9, 9, 9, 9, 7, 5, 7, 3, 6, 4, 7, 9, 9, 10, 9, 10, 8, 8, 7, 7, 4, 6, 4, 6, 7, 8, 8, 9, 10, 8, 8, 7, 6, 5, 4, 5, 3, 5, 8, 7, 10, 10, 9, 9, 6, 7, 4, 4, 7, 4, 7, 10, 7, 10, 9, 10, 9, 7, 10, 5, 7, 6, 4, 6, 7, 7, 8, 7, 9, 8, 8, 7, 5, 6, 4, 3, 4, 5, 8, 6, 9, 9, 8, 9, 7, 7, 5, 6, 6, 5, 8, 10, 8, 10, 9, 9, 9, 6, 7, 5, 5, 6, 5, 6, 7, 7, 8, 8, 8, 8, 9, 5, 5, 4, 6, 4, 5, 7, 9, 8, 9, 10, 9, 10, 5, 8, 5, 5, 5, 6, 9, 7, 10, 10, 9, 8, 9, 6, 7, 4, 6, 4, 5, 8, 6, 9, 8, 9, 8, 7, 7, 6, 4, 6, 3, 6, 5, 7, 10, 9, 10, 9, 9, 9, 4, 6, 5, 4, 6, 6, 9, 9, 9, 10, 8, 8, 7, 6, 6, 4, 6, 6, 4, 8, 6, 9, 7, 7, 8, 6, 6, 5, 4, 6, 4, 5, 6, 10, 8, 10, 10, 9, 7, 8, 5, 5, 5, 7, 6, 6, 11, 8, 10, 6, 8, 8, 4, 7, 4, 6, 5, 6, 7, 8, 8, 9, 8, 8, 6, 7, 6, 5, 5, 6, 6, 5, 8, 10, 8, 11, 7, 10, 6, 6, 5, 4, 7, 4, 8, 8, 9, 11, 9, 9, 7, 6, 7, 4, 6, 6, 6, 5, 6, 10, 8, 9, 8, 8, 7, 4, 5, 5, 4, 8, 5, 7, 7, 10, 11, 9, 9, 8, 7, 7, 5, 4, 7, 7, 5, 9, 9, 9, 10, 8, 8, 5, 6, 8, 3, 7, 5, 7, 6, 8, 10, 7, 10, 6, 7, 6, 4, 6, 5, 8, 6, 6, 11, 8, 9, 9, 8, 9, 3, 8, 4, 5, 8, 6, 8, 7, 11, 10, 7, 9, 6, 5, 6, 4, 8, 4, 8, 6, 7, 9, 5, 10, 7, 7, 7, 5, 6, 5, 5, 8, 5, 9, 7, 11, 8, 7, 9, 6, 7, 4, 7, 7, 6, 8, 7, 9, 8, 9, 11, 5, 8, 7, 6, 5, 5, 7, 5, 6, 9, 6, 8, 7, 7, 7, 5, 7, 4, 7, 5, 7, 7, 7, 8, 9, 9, 8, 7, 10, 6, 6, 6, 5, 7, 6, 8, 8, 8, 9, 7, 9, 5, 7, 8, 5, 6, 6, 7, 5, 5, 8, 6, 8, 10, 7, 9, 4, 8, 5, 6, 6, 4, 8, 8, 7, 9, 7, 7, 7, 7, 6, 5, 9, 8, 6, 9, 7, 9, 7, 8, 7, 6, 7, 5, 8, 5, 4, 8, 6, 6, 10, 5, 10, 6, 8, 7, 4, 8, 6, 7, 8, 6, 8, 9, 7, 10, 6, 8, 5, 6, 7, 4, 8, 7, 8, 9, 9, 9, 7, 7, 9, 3, 8, 4, 6, 6, 6, 8, 4, 8, 8, 8, 7, 7, 8, 8, 5, 8, 4, 7, 8, 7, 10, 6, 8, 8, 7, 6, 5, 7, 6, 7, 8, 7, 6, 9, 8, 8, 6, 7, 9, 7, 7, 6, 7, 5, 7, 8, 5, 7, 6, 9, 8, 6, 5, 7, 5, 6, 8, 5, 8, 7, 9, 6, 6, 8, 5, 9, 6, 8, 8, 8, 7, 9, 8, 7, 7, 8, 7, 7, 8, 5, 7, 4, 8, 5, 7, 8, 5, 8, 6, 8, 6, 7, 6, 7, 7, 8, 6, 7, 7, 7, 9, 6, 7, 8, 9, 7, 5, 7, 5, 8, 6, 7, 8, 6, 8, 8, 7, 8, 7, 6, 7, 7, 8, 6, 6, 8, 6, 8, 6, 8, 8, 6, 7, 7, 5, 6, 6, 7, 7, 6, 10, 6, 7, 9, 7, 8, 5, 8, 7, 6, 8, 7, 8, 7, 6, 7, 6, 7, 7, 5, 6, 7, 8, 6, 6, 6, 7, 7, 6, 6, 9, 7, 7, 9, 7, 8, 6, 8, 6, 8, 10, 6, 7, 7, 8, 5, 5, 6, 7, 7, 9, 7, 9, 6, 7, 7, 7, 7, 5, 9, 6, 8, 7, 7, 6, 9, 8, 7, 7, 8, 9, 5, 7, 3, 8, 5, 7, 7, 7, 8, 8, 8, 6, 6, 8, 7, 4, 7, 7, 8, 6, 8, 8, 6, 10, 7, 7, 7, 6, 6, 6, 6, 7, 5, 7, 7, 8, 8, 5, 9, 8, 7, 7, 7, 7, 8, 6, 6, 8, 7, 10, 7, 8, 6, 7, 6, 6, 6, 7, 8, 5, 8, 6, 6, 4, 7, 7, 6, 7, 8, 8, 8, 10, 7, 7, 8, 9, 8, 7, 6, 9, 7, 6, 6, 7, 7, 7, 7, 8, 4, 7, 6, 4, 6, 5, 8, 6, 7, 9, 9, 7, 8, 8, 9, 7, 6, 8, 7, 6, 6, 8, 8, 7, 8, 7, 6, 6, 7, 7, 6, 6, 8, 6, 7, 7, 8, 7, 6, 9, 8, 7, 7, 7, 7, 4, 6, 6, 6, 6, 8, 8, 8, 7, 5, 8, 5, 6, 8, 9, 8, 8, 9, 9, 7, 8, 8, 8, 9, 6, 9, 6, 6, 8, 4, 6, 5, 7, 6, 5, 6, 7, 8, 4, 6, 7, 7, 6, 10, 7, 8, 7, 9, 10, 6, 9, 6, 9, 6, 7, 9, 7, 6, 9, 7, 7, 5, 7, 7, 5, 7, 7, 8, 7, 7, 6, 6, 6, 8, 7, 7, 5, 8, 8, 5, 6, 7, 7, 7, 7, 10, 6, 8, 8, 7, 6, 4, 7, 6, 8, 7, 10, 8, 9, 7, 9, 5, 7, 8, 6, 8, 5, 8, 5, 6, 6, 6, 7, 6, 6, 7, 5, 6, 6, 6, 7, 6, 9, 8, 9, 9, 8, 9, 8, 7, 8, 5, 7, 7, 7, 7, 6, 9, 7, 7, 7, 7, 7, 7, 6, 6, 6, 7, 6, 7, 7, 6, 8, 7, 6, 7, 8, 7, 6, 7, 6, 6, 6, 7, 8, 7, 9, 8, 8, 8, 6, 7, 7, 7, 8, 8, 6, 8, 7, 8, 5, 6, 7, 7, 9, 5, 8, 6, 6, 6, 6, 6, 7, 8, 8, 6, 6, 7, 6, 7, 5, 9, 7, 8, 9, 8, 8, 5, 8, 7, 6, 5, 7, 8, 9, 7, 9, 7, 8, 9, 6, 6, 5, 8, 7, 5, 5, 7, 8, 7, 6, 8, 5, 7, 8, 6, 7, 6, 8, 6, 7, 6, 9, 8, 8, 8, 10, 6, 7, 8, 6, 7, 5, 8, 7, 7, 7, 7, 7, 7, 7, 7, 5, 7, 6, 7, 7, 5, 9, 7, 6, 6, 9, 8, 7, 8, 7, 5, 7, 5, 8, 7, 6, 8, 6, 8, 5, 8, 6, 7, 10, 8, 6, 9, 7, 9, 7, 5, 8, 7, 7, 4, 8, 7, 7, 7, 6, 6, 7, 6, 8, 6, 7, 6, 7, 6, 6, 8, 8, 7, 8, 8, 8, 8, 6, 9, 7, 6, 6, 7, 5, 6, 7, 9, 7, 8, 8, 7, 7, 4, 8, 6, 5, 7, 7, 6, 6, 7, 9, 8, 7, 8, 8, 7, 6, 7, 6, 5, 7, 7, 7, 7, 9, 8, 9, 7, 7, 6, 6, 7, 7, 9, 5, 8, 9, 7, 7, 7, 8, 6, 7, 7, 6, 5, 7, 7, 8, 5, 7, 7, 6, 8, 6, 8, 5, 7, 8, 6, 6, 6, 9, 7, 8, 6, 10, 6, 8, 7, 7, 5, 7, 8, 6, 7, 8, 8, 6, 7, 6, 7, 5, 7, 7, 8, 7, 7, 8, 7, 6, 8, 7, 5, 7, 6, 8, 5, 9, 7, 6, 8, 7, 9, 6, 7, 8, 7, 6, 6, 6, 7, 7, 8, 9, 7, 9, 6, 9, 5, 7, 8, 5, 6, 6, 8, 6, 8, 7, 8, 6, 8, 7, 5, 6, 6, 8, 5, 8, 5, 7, 8, 8, 9, 8, 8, 7, 8, 7, 6, 6, 7, 5, 8, 7, 6, 7, 7, 8, 8, 7, 7, 5, 7, 6, 7, 7, 5, 8, 6, 8, 7, 8, 7, 8, 7, 7, 6, 7, 7, 6, 8, 6, 7, 6, 10, 7, 6, 9, 7, 7, 6, 7, 7, 8, 8, 7, 8, 6, 7, 7, 6, 4, 9, 8, 7, 5, 9, 7, 6, 8, 5, 8, 5, 7, 7, 7, 6, 9, 8, 8, 6, 10, 9, 6, 9, 7, 8, 4, 7, 5, 5, 8, 8, 8, 7, 6, 8, 8, 6, 6, 6, 5, 6, 7, 8, 5, 9, 9, 9, 8, 6, 8, 7, 8, 6, 7, 4, 6, 6, 9, 6, 9, 9, 6, 10, 5, 8, 4, 7, 6, 6, 7, 7, 7, 8, 9, 7, 9, 6, 8, 4, 7, 6, 6, 9, 6, 7, 6, 6, 8, 7, 7, 7, 7, 8, 6, 6, 7, 5, 8, 7, 8, 7, 8, 9, 7, 9, 7, 7, 6, 6, 7, 8, 7, 7, 7, 5, 6, 7, 8, 5, 6, 8, 8, 9, 6, 7, 7, 6, 7, 6, 6, 6, 8, 9, 6, 8, 9, 7, 7, 8, 7, 8, 5, 9, 5, 7, 6, 6, 8, 5, 7, 9, 8, 5, 7, 7, 7, 5, 8, 6, 6, 7, 8, 9, 5, 9, 8, 8, 6, 8, 7, 5, 7, 7, 7, 5, 7, 7, 8, 7, 8, 10, 7, 8, 7, 9, 4, 7, 6, 7, 6, 7, 8, 7, 6, 7, 9, 6, 7, 6, 7, 5, 7, 7, 5, 7, 7, 8, 7, 8, 8, 10, 7, 8, 7, 7, 6, 6, 9, 5, 9, 7, 8, 7, 7, 7, 8, 6, 8, 6, 8, 6, 7, 7, 6, 8, 6, 7, 5, 7, 7, 8, 6, 9, 6, 8, 5, 9, 5, 7, 7, 7, 9, 6, 7, 6, 8, 7, 9, 7, 8, 6, 9, 5, 6, 6, 7, 7, 5, 8, 7, 10, 7, 8, 7, 7, 5, 7, 5, 6, 7, 8, 6, 5, 8, 7, 9, 7, 9, 8, 7, 5, 8, 6, 6, 7, 8, 7, 7, 9, 8, 8, 7, 8, 7, 7, 6, 7, 6, 6, 8, 8, 6, 6, 7, 8, 5, 7, 7, 6, 5, 7, 6, 6, 6, 8, 7, 7, 7, 8, 9, 6, 10, 7, 9, 5, 8, 7, 7, 8, 8, 7, 6, 6, 7, 7, 6, 9, 7, 8, 6, 7, 6, 5, 7, 6, 5, 6, 8, 7, 8, 7, 7, 8, 8, 8, 6, 7, 7, 7, 8, 6, 6, 8, 7, 9, 6, 8, 9, 6, 8, 5, 6, 6, 7, 7, 5, 7, 8, 7, 9, 8, 8, 9, 6, 7, 6, 6, 5, 8, 7, 7, 6, 7, 7, 7, 8, 7, 7, 5, 8, 7, 8, 5, 9, 6, 8, 7, 7, 10, 6, 9, 8, 8, 5, 9, 6, 6, 6, 7, 6, 6, 7, 6, 8, 5, 10, 7, 8, 5, 8, 8, 5, 7, 8, 8, 6, 8, 7, 8, 7, 9, 8, 7, 7, 6, 7, 6, 7, 7, 6, 5, 8, 8, 5, 7, 7, 9, 6, 6, 7, 6, 9, 6, 8, 6, 6, 8, 9, 8, 7, 8, 8, 6, 7, 7, 6, 6, 6, 7, 6, 6, 6, 10, 7, 9, 9, 9, 6, 7, 8, 7, 6, 8, 6, 6, 9, 6, 8, 5, 9, 8, 7, 6, 6, 7, 6, 5, 7, 7, 6, 8, 7, 9, 6, 9, 7, 6, 8, 6, 8, 7, 7, 7, 8, 7, 8, 9, 7, 7, 8, 8, 4, 6, 6, 7, 7, 5, 6, 6, 8, 7, 8, 7, 8, 8, 8, 6, 7, 8, 7, 7, 6, 8, 7, 8, 8, 7, 6, 7, 9, 6, 9, 5, 6, 8, 7, 7, 6, 8, 7, 10, 8, 7, 6, 8, 6, 6, 5, 6, 7, 6, 7, 5, 9, 5, 7, 7, 8, 7, 7, 8, 7, 8, 8, 8, 6, 8, 5, 9, 8, 8, 8, 7, 8, 6, 8, 6, 6, 6, 9, 5, 8, 4, 9, 7, 7, 8, 6, 9, 6, 7, 6, 7, 5, 8, 4, 8, 6, 9, 7, 8, 10, 6, 10, 4, 7, 8, 7, 6, 7, 7, 7, 7, 8, 7, 7, 9, 6, 8, 5, 6, 6, 6, 8, 5, 6, 7, 7, 10, 8, 7, 7, 10, 7, 5, 5, 7, 6, 8, 6, 7, 7, 7, 10, 9, 8, 6, 8, 5, 6, 6, 7, 4, 6, 6, 6, 7, 7, 9, 9, 7, 7, 8, 7, 4, 5, 7, 6, 8, 6, 7, 7, 10, 9, 8, 6, 8, 8, 5, 6, 7, 9, 5, 8, 6, 8, 6, 8, 8, 8, 7, 5, 8, 4, 7, 4, 6, 6, 7, 7, 6, 8, 9, 10, 8, 7, 7, 6, 6, 7, 6, 7, 7, 6, 7, 7, 8, 7, 7, 8, 7, 8, 6, 6, 6, 8, 8, 6, 6, 6, 8, 8, 7, 5, 9, 5, 7, 5, 8, 4, 6, 8, 7, 6, 6, 8, 7, 10, 6, 9, 6, 11, 6, 6, 4, 8, 9, 8, 5, 7, 9, 6, 10, 6, 9, 5, 9, 6, 6, 5, 5, 7, 6, 7, 7, 9, 5, 10, 7, 9, 6, 8, 7, 3, 6, 4, 8, 6, 8, 6, 9, 9, 8, 8, 6, 8, 7, 8, 4, 8, 8, 8, 8, 8, 8, 7, 9, 6, 7, 7, 7, 5, 5, 6, 5, 7, 7, 8, 6, 6, 6, 9, 8, 7, 5, 8, 7, 8, 6, 7, 6, 9, 9, 7, 7, 7, 8, 8, 8, 7, 8, 5, 8, 6, 6, 6, 8, 6, 6, 7, 6, 8, 7, 8, 5, 8, 6, 8, 6, 6, 6, 6, 8, 5, 7, 6, 8, 7, 9, 7, 6, 9, 6, 6, 7, 9, 8, 8, 8, 8, 7, 9, 7, 7, 6, 8, 7, 7, 4, 6, 5, 7, 7, 7, 6, 5, 9, 8, 8, 5, 7, 6, 6, 7, 6, 7, 7, 8, 9, 8, 8, 8, 8, 6, 8, 8, 7, 6, 8, 7, 6, 8, 6, 7, 5, 8, 6, 8, 6, 8, 5, 7, 6, 7, 6, 5, 10, 6, 9, 5, 10, 6, 6, 6, 8, 7, 7, 8, 7, 7, 7, 9, 6, 8, 6, 10, 7, 5, 7, 8, 7, 6, 9, 6, 5, 6, 8, 6, 7, 5, 8, 6, 7, 8, 8, 7, 6, 9, 6, 6, 7, 7, 6, 7, 7, 9, 6, 6, 8, 9, 9, 6, 6, 8, 6, 9, 6, 8, 6, 8, 7, 5, 6, 7, 7, 7, 6, 8, 7, 3, 8, 5, 9, 5, 7, 8, 8, 9, 5, 8, 7, 7, 5, 8, 5, 10, 6, 9, 8, 8, 8, 6, 9, 6, 9, 6, 7, 7, 8, 6, 7, 5, 7, 7, 5, 8, 5, 9, 5, 8, 7, 7, 8, 5, 8, 6, 7, 7, 6, 6, 9, 6, 7, 7, 9, 8, 6, 8, 5, 10, 5, 6, 6, 9, 8, 7, 7, 8, 9, 7, 8, 5, 7, 6, 7, 5, 7, 7, 7, 7, 7, 8, 8, 5, 7, 8, 6, 4, 8, 6, 6, 6, 8, 9, 8, 8, 7, 9, 8, 9, 6, 7, 5, 9, 7, 6, 6, 8, 8, 6, 8, 6, 8, 5, 8, 7, 5, 6, 6, 7, 6, 5, 7, 7, 8, 9, 7, 7, 7, 9, 7, 4, 8, 6, 9, 7, 6, 8, 7, 9, 7, 7, 8, 7, 7, 8, 7, 7, 6, 5, 7, 7, 8, 6, 9, 8, 8, 6, 6, 6, 4, 8, 5, 6, 4, 7, 7, 8, 8, 9, 5, 9, 7, 9, 7, 5, 9, 7, 7, 6, 8, 7, 8, 8, 10, 7, 9, 7, 8, 6, 6, 7, 5, 4, 6, 7, 7, 7, 7, 8, 6, 5, 8, 8, 6, 6, 7, 6, 5, 7, 6, 9, 8, 9, 9, 6, 7, 8, 7, 5, 9, 6, 6, 6, 10, 7, 8, 8, 9, 9, 6, 7, 7, 6, 5, 7, 6, 5, 5, 8, 8, 7, 7, 8, 7, 6, 8, 7, 4, 7, 7, 6, 6, 8, 9, 10, 7, 9, 8, 7, 6, 7, 8, 6, 8, 7, 7, 4, 7, 9, 7, 7, 8, 7, 5, 6, 8, 7, 5, 7, 5, 6, 5, 7, 9, 8, 8, 8, 9, 6, 7, 7, 7, 5, 8, 5, 7, 5, 10, 8, 8, 9, 7, 9, 5, 7, 7, 8, 5, 7, 7, 7, 4, 9, 8, 7, 9, 5, 8, 4, 6, 6, 6, 5, 7, 6, 7, 6, 8, 8, 7, 9, 7, 9, 5, 7, 8, 8, 7, 8, 7, 7, 8, 9, 8, 8, 8, 7, 8, 5, 6, 7, 6, 7, 6, 6, 4, 6, 8, 7, 7, 7, 7, 6, 6, 6, 7, 6, 9, 6, 8, 6, 8, 9, 7, 9, 7, 9, 6, 5, 7, 7, 7, 7, 6, 7, 7, 9, 8, 7, 9, 7, 7, 7, 4, 8, 5, 8, 5, 6, 6, 6, 7, 8, 7, 7, 8, 5, 8, 5, 7, 5, 9, 7, 8, 8, 7, 8, 8, 8, 7, 9, 7, 7, 8, 7, 7, 6, 7, 4, 8, 6, 6, 6, 7, 8, 6, 6, 5, 7, 5, 6, 7, 8, 6, 7, 8, 8, 8, 7, 8, 7, 8, 7, 7, 7, 8, 8, 8, 5, 8, 7, 8, 7, 7, 9, 6, 6, 7, 6, 6, 6, 6, 7, 5, 7, 8, 7, 6, 7, 8, 6, 6, 8, 6, 8, 7, 8, 7, 6, 7, 8, 7, 7, 7, 9, 6, 8, 7, 7, 7, 7, 9, 7, 7, 7, 9, 5, 6, 6, 8, 4, 7, 8, 6, 6, 5, 8, 5, 7, 7, 8, 5, 8, 7, 8, 6, 7, 8, 7, 7, 7, 9, 5, 7, 9, 7, 5, 7, 8, 8, 8, 7, 7, 7, 8, 8, 9, 4, 7, 8, 5, 5, 6, 8, 6, 7, 8, 6, 6, 6, 7, 7, 5, 8, 8, 7, 7, 8, 8, 6, 7, 9, 6, 7, 8, 7, 7, 5, 10, 7, 6, 7, 8, 8, 5, 8, 7, 7, 5, 8, 6, 7, 7, 8, 7, 4, 8, 6, 8, 5, 9, 8, 7, 6, 7, 7, 5, 8, 7, 7, 5, 9, 7, 7, 6, 8, 9, 6, 7, 8, 8, 7, 9, 7, 8, 7, 9, 8, 6, 5, 8, 7, 5, 6, 6, 6, 7, 8, 6, 5, 5, 8, 8, 7, 6, 9, 7, 8, 7, 7, 6, 8, 8, 7, 6, 6, 9, 6, 8, 7, 10, 6, 8, 8, 8, 7, 6, 7, 6, 7, 5, 7, 6, 8, 7, 7, 6, 6, 8, 5, 7, 6, 8, 6, 6, 7, 8, 7, 8, 7, 8, 7, 7, 8, 6, 9, 7, 8, 8, 7, 9, 7, 6, 9, 7, 8, 5, 8, 6, 5, 7, 6, 6, 6, 5, 7, 6, 7, 7, 6, 8, 7, 8, 7, 6, 9, 8, 8, 6, 8, 8, 7, 8, 8, 6, 9, 7, 6, 7, 7, 9, 6, 7, 6, 8, 6, 4, 7, 7, 7, 7, 8, 7, 6, 7, 8, 6, 7, 6, 7, 7, 7, 8, 6, 8, 7, 8, 6, 5, 8, 8, 7, 6, 8, 8, 7, 8, 7, 8, 8, 6, 7, 7, 7, 8, 6, 6, 6, 6, 7, 5, 7, 6, 8, 7, 7, 7, 6, 7, 8, 7, 8, 7, 6, 8, 7, 8, 7, 8, 8, 7, 8, 6, 6, 7, 6, 7, 7, 8, 6, 7, 7, 7, 7, 8, 6, 7, 7, 7, 7, 7, 8, 7, 6, 7, 8, 7, 6, 6, 8, 9, 6, 8, 5, 8, 6, 8, 8, 6, 9, 7, 8, 7, 7, 6, 7, 6, 8, 5, 6, 5, 8, 9, 5, 6, 7, 8, 7, 8, 7, 7, 7, 8, 6, 6, 6, 8, 8, 5, 8, 7, 8, 6, 7, 8, 7, 7, 8, 7, 7, 6, 8, 8, 7, 8, 6, 8, 6, 7, 7, 6, 7, 8, 6, 6, 5, 9, 7, 6, 8, 7, 8, 6, 8, 8, 6, 6, 6, 7, 7, 7, 8, 8, 7, 7, 7, 6, 6, 6, 8, 6, 8, 6, 8, 4, 6, 9, 8, 8, 4, 9, 5, 8, 6, 8, 6, 7, 9, 7, 8, 6, 11, 6, 9, 5, 10, 4, 5, 8, 7, 7, 5, 10, 5, 7, 6, 9, 7, 5, 7, 7, 7, 5, 9, 8, 7, 7, 8, 6, 6, 9, 9, 8, 4, 9, 6, 5, 5, 7, 8, 6, 7, 8, 5, 6, 9, 9, 8, 5, 10, 7, 6, 8, 5, 9, 5, 8, 8, 4, 6, 9, 9, 6, 5, 7, 6, 5, 9, 6, 8, 5, 9, 7, 7, 7, 8, 8, 7, 8, 9, 5, 5, 9, 8, 7, 5, 9, 5, 7, 6, 8, 8, 5, 7, 7, 6, 4, 7, 7, 7, 7, 10, 4, 8, 8, 9, 7, 6, 9, 6, 7, 6, 7, 7, 6, 7, 8, 6, 7, 8, 7, 7, 6, 8, 6, 5, 8, 7, 8, 7, 10, 7, 6, 8, 8, 7, 6, 6, 6, 6, 5, 7, 6, 7, 7, 8, 6, 7, 9, 7, 7, 7, 8, 7, 6, 7, 9, 7, 8, 8, 9, 6, 7, 8, 5, 7, 7, 6, 5, 6, 6, 7, 5, 7, 9, 7, 6, 8, 9, 6, 7, 9, 7, 8, 7, 7, 7, 7, 8, 7, 7, 6, 9, 8, 5, 6, 9, 6, 5, 7, 7, 8, 6, 9, 7, 8, 6, 9, 8, 6, 8, 7, 7, 5, 7, 6, 6, 5, 10, 7, 5, 6, 9, 7, 4, 8, 7, 7, 6, 8, 8, 7, 7, 10, 8, 6, 10, 8, 8, 5, 9, 6, 4, 5, 6, 8, 4, 6, 9, 7, 6, 8, 7, 7, 6, 8, 7, 5, 7, 8, 8, 8, 8, 10, 6, 7, 9, 9, 5, 4, 9, 8, 6, 6, 7, 5, 6, 7, 7, 6, 7, 8, 8, 7, 6, 7, 7, 5, 7, 9, 7, 6, 10, 7, 6, 7, 7, 8, 6, 7, 5, 9, 5, 7, 6, 8, 6, 9, 8, 7, 8, 7, 10, 5, 8, 5, 9, 6, 7, 7, 8, 7, 7, 9, 5, 8, 4, 8, 4, 7, 6, 7, 6, 6, 8, 8, 7, 7, 9, 7, 8, 7, 9, 7, 6, 6, 8, 7, 5, 7, 8, 8, 8, 7, 7, 7, 6, 7, 7, 5, 8, 8, 6, 6, 7, 9, 6, 9, 7, 9, 7, 7, 7, 7, 6, 7, 8, 5, 7, 6, 9, 6, 6, 7, 7, 7, 6, 7, 6, 7, 7, 9, 5, 7, 7, 10, 9, 8, 7, 7, 9, 6, 7, 6, 6, 7, 7, 6, 6, 7, 8, 9, 6, 7, 7, 7, 6, 7, 6, 6, 7, 6, 7, 7, 6, 8, 7, 8, 7, 9, 8, 6, 7, 8, 6, 6, 5, 7, 6, 7, 9, 8, 7, 5, 8, 7, 6, 6, 8, 7, 7, 7, 7, 6, 7, 9, 8, 6, 7, 6, 7, 5, 7, 6, 7, 6, 7, 8, 6, 6, 8, 9, 7, 8, 7, 8, 7, 9, 8, 6, 6, 7, 8, 7, 8, 7, 8, 6, 7, 7, 7, 6, 6, 8, 6, 6, 6, 6, 6, 8, 8, 7, 7, 8, 7, 7, 8, 8, 8, 7, 6, 8, 6, 7, 6, 8, 7, 8, 8, 6, 5, 7, 8, 5, 6, 5, 9, 5, 10, 6, 9, 6, 8, 8, 8, 6, 6, 8, 6, 7, 6, 8, 4, 9, 7, 9, 5, 10, 7, 7, 5, 8, 8, 7, 6, 7, 8, 5, 8, 6, 9, 5, 10, 5, 8, 4, 9, 7, 6, 7, 8, 8, 4, 9, 6, 8, 5, 9, 7, 9, 6, 7, 8, 6, 6, 6, 9, 5, 9, 8, 8, 7, 8, 7, 5, 6, 7, 8, 5, 7, 7, 7, 5, 6, 9, 7, 8, 6, 9, 6, 6, 7, 7, 6, 7, 9, 6, 6, 6, 9, 7, 9, 7, 8, 6, 7, 8, 8, 5, 6, 8, 8, 8, 5, 8, 6, 8, 7, 7, 6, 7, 8, 8, 5, 6, 7, 6, 6, 6, 10, 7, 8, 7, 8, 6, 7, 7, 7, 6, 7, 8, 7, 7, 6, 9, 7, 8, 7, 7, 6, 6, 8, 7, 5, 6, 8, 7, 6, 6, 9, 7, 8, 8, 7, 8, 6, 8, 6, 7, 7, 7, 7, 5, 8, 8, 6, 6, 7, 8, 7, 7, 7, 8, 7, 7, 8, 6, 6, 8, 8, 8, 7, 8, 6, 8, 7, 6, 5, 6, 7, 9, 6, 5, 7, 8, 7, 5, 8, 7, 7, 9, 7, 7, 6, 7, 8, 6, 8, 8, 7, 9, 6, 9, 7, 6, 8, 7, 8, 4, 8, 7, 5, 7, 7, 7, 7, 7, 7, 7, 7, 7, 6, 8, 5, 8, 8, 6, 7, 8, 6, 5, 7, 9, 7, 6, 7, 8, 9, 6, 7, 7, 8, 8, 7, 8, 5, 8, 8, 8, 6, 7, 7, 5, 8, 7, 7, 6, 6, 8, 7, 7, 5, 8, 7, 8, 6, 7, 5, 8, 7, 7, 7, 6, 7, 7, 10, 6, 9, 7, 8, 9, 7, 6, 6, 8, 7, 9, 5, 8, 6, 10, 5, 8, 6, 6, 8, 5, 9, 4, 8, 4, 8, 7, 7, 6, 7, 7, 8, 8, 7, 6, 7, 9, 5, 9, 7, 8, 6, 9, 7, 7, 8, 6, 8, 7, 7, 5, 8, 6, 8, 7, 7, 6, 7, 7, 6, 7, 7, 8, 5, 8, 6, 7, 7, 5, 7, 6, 7, 7, 8, 8, 8, 8, 8, 5, 9, 6, 7, 7, 8, 8, 6, 8, 7, 9, 6, 8, 8, 7, 5, 6, 6, 6, 8, 6, 8, 5, 8, 6, 8, 6, 7, 8, 5, 8, 7, 8, 6, 8, 7, 8, 7, 8, 7, 8, 8, 9, 8, 5, 8, 5, 8, 6, 8, 6, 5, 7, 8, 8, 5, 8, 8, 8, 5, 8, 5, 7, 8, 8, 6, 4, 9, 6, 8, 5, 8, 8, 6, 8, 9, 6, 5, 8, 8, 8, 6, 9, 7, 8, 8, 10, 8, 5, 8, 7, 6, 8, 7, 5, 5, 6, 9, 6, 6, 7, 8, 7, 5, 7, 4, 7, 7, 8, 7, 6, 8, 8, 8, 6, 9, 8, 7, 6, 9, 5, 7, 8, 6, 7, 5, 9, 7, 8, 6, 8, 8, 7, 6, 7, 6, 8, 8, 5, 8, 5, 10, 5, 8, 5, 8, 7, 6, 6, 5, 8, 6, 8, 5, 9, 6, 9, 7, 9, 8, 8, 9, 7, 8, 6, 9, 6, 7, 7, 7, 8, 6, 7, 6, 5, 7, 7, 5, 5, 6, 9, 7, 6, 6, 7, 8, 8, 9, 8, 7, 8, 8, 8, 6, 5, 7, 6, 7, 8, 8, 6, 7, 8, 8, 7, 7, 7, 5, 8, 6, 8, 6, 7, 7, 7, 9, 5, 10, 4, 9, 6, 9, 6, 6, 7, 4, 9, 5, 8, 4, 7, 6, 9, 8, 7, 8, 6, 11, 6, 10, 6, 9, 6, 8, 8, 5, 9, 5, 8, 6, 7, 6, 6, 5, 4, 7, 5, 8, 7, 8, 6, 7, 8, 7, 9, 6, 8, 8, 6, 9, 8, 7, 5, 8, 7, 8, 10, 6, 7, 4, 9, 6, 9, 5, 6, 8, 5, 9, 5, 7, 5, 8, 7, 9, 5, 8, 7, 6, 8, 6, 7, 6, 9, 6, 6, 8, 7, 9, 7, 7, 8, 5, 7, 6, 8, 6, 7, 8, 8, 10, 8, 8, 7, 6, 7, 8, 7, 6, 6, 5, 7, 6, 8, 4, 6, 9, 5, 10, 5, 9, 4, 8, 6, 7, 9, 6, 9, 6, 9, 7, 10, 6, 9, 7, 7, 9, 5, 9, 5, 8, 6, 10, 7, 6, 8, 4, 8, 8, 8, 4, 6, 6, 7, 6, 6, 6, 5, 8, 7, 9, 7, 8, 8, 7, 9, 5, 9, 6, 7, 7, 8, 7, 7, 10, 6, 8, 7, 10, 7, 6, 5, 7, 7, 6, 8, 4, 9, 6, 9, 6, 6, 7, 7, 8, 6, 7, 7, 6, 5, 7, 6, 8, 7, 9, 8, 7, 8, 7, 8, 7, 6, 8, 6, 8, 5, 7, 7, 8, 7, 7, 7, 8, 8, 6, 5, 5, 8, 6, 6, 3, 9, 6, 8, 6, 8, 7, 6, 10, 7, 9, 6, 8, 6, 7, 7, 7, 6, 9, 9, 8, 8, 6, 10, 5, 7, 5, 5, 6, 4, 7, 6, 8, 6, 9, 7, 9, 8, 7, 5, 6, 9, 5, 9, 4, 9, 6, 9, 7, 7, 8, 7, 10, 7, 9, 5, 8, 5, 8, 7, 6, 6, 7, 10, 7, 8, 6, 9, 5, 7, 7, 6, 6, 6, 6, 5, 9, 5, 7, 7, 8, 8, 7, 6, 7, 8, 5, 6, 7, 9, 6, 8, 8, 9, 7, 8, 10, 6, 9, 6, 7, 5, 8, 7, 5, 7, 7, 7, 6, 6, 8, 9, 4, 8, 7, 7, 5, 7, 7, 5, 8, 8, 9, 7, 9, 8, 8, 5, 9, 6, 6, 5, 9, 8, 5, 7, 6, 9, 7, 7, 7, 8, 6, 9, 5, 6, 6, 8, 8, 5, 10, 5, 9, 5, 10, 7, 6, 6, 7, 8, 6, 6, 5, 8, 5, 10, 5, 9, 6, 11, 8, 7, 9, 6, 8, 5, 9, 6, 7, 5, 9, 7, 8, 6, 8, 8, 6, 9, 3, 7, 4, 9, 7, 5, 9, 6, 9, 5, 10, 7, 7, 7, 10, 8, 7, 6, 6, 8, 5, 10, 5, 7, 8, 8, 8, 5, 8, 5, 7, 5, 8, 7, 7, 4, 8, 8, 5, 9, 6, 10, 7, 8, 8, 6, 6, 6, 7, 6, 8, 6, 9, 4, 10, 8, 8, 6, 5, 10, 5, 7, 6, 8, 5, 7, 8, 7, 7, 6, 8, 6, 10, 5, 9, 4, 6, 9, 7, 5, 4, 9, 6, 7, 7, 8, 8, 6, 8, 7, 8, 5, 7, 8, 9, 8, 7, 8, 5, 9, 8, 7, 6, 8, 8, 5, 5, 7, 6, 4, 5, 6, 10, 7, 7, 8, 6, 7, 8, 10, 6, 6, 7, 7, 7, 6, 7, 6, 7, 8, 10, 8, 5, 8, 7, 8, 4, 8, 8, 6, 6, 7, 10, 5, 10, 4, 9, 4, 10, 7, 5, 6, 5, 10, 3, 11, 5, 9, 5, 8, 8, 7, 7, 7, 9, 4, 8, 6, 8, 6, 9, 7, 6, 10, 10, 7, 8, 6, 7, 8, 6, 9, 6, 7, 4, 7, 7, 7, 7, 6, 6, 6, 10, 5, 9, 6, 7, 5, 5, 10, 7, 10, 6, 9, 7, 7, 8, 6, 8, 4, 9, 5, 8, 7, 7, 7, 3, 11, 5, 10, 5, 9, 6, 6, 7, 6, 9, 4, 8, 4, 8, 5, 10, 10, 6, 7, 6, 7, 6, 7, 7, 5, 5, 8, 7, 10, 6, 11, 7, 6, 6, 8, 9, 6, 9, 4, 7, 5, 10, 7, 6, 8, 6, 8, 5, 9, 6, 5, 6, 5, 9, 4, 8, 8, 6, 7, 6, 9, 6, 10, 7, 8, 5, 8, 8, 6, 10, 6, 10, 4, 9, 9, 7, 8, 5, 6, 7, 6, 8, 6, 6, 6, 6, 7, 5, 10, 6, 7, 6, 9, 7, 9, 6, 6, 7, 5, 10, 5, 11, 4, 9, 6, 7, 11, 5, 9, 3, 8, 5, 6, 9, 9, 8, 5, 7, 6, 8, 8, 7, 7, 5, 7, 6, 7, 7, 8, 5, 5, 7, 8, 9, 6, 6, 6, 6, 7, 6, 9, 7, 7, 8, 7, 7, 6, 10, 6, 9, 7, 9, 8, 7, 10, 5, 7, 5, 8, 7, 6, 7, 5, 6, 7, 7, 7, 7, 5, 7, 6, 5, 10, 7, 7, 6, 9, 8, 6, 8, 7, 9, 6, 7, 9, 5, 10, 7, 6, 6, 6, 9, 6, 10, 9, 7, 6, 6, 6, 8, 6, 7, 6, 4, 9, 7, 8, 7, 7, 4, 6, 8, 7, 7, 8, 5, 8, 7, 5, 8, 6, 10, 7, 8, 6, 7, 11, 7, 9, 7, 6, 8, 5, 10, 6, 6, 9, 5, 9, 6, 7, 4, 6, 6, 5, 6, 6, 8, 6, 7, 6, 7, 8, 8, 8, 7, 8, 8, 5, 9, 6, 8, 7, 6, 10, 8, 9, 7, 5, 7, 7, 8, 5, 8, 7, 6, 6, 7, 8, 5, 8, 7, 6, 6, 6, 7, 4, 9, 6, 6, 8, 6, 9, 4, 8, 8, 7, 8, 6, 8, 7, 6, 9, 6, 8, 9, 8, 8, 6, 9, 8, 6, 8, 6, 7, 5, 4, 8, 6, 9, 4, 9, 5, 7, 7, 6, 9, 4, 10, 3, 8, 6, 9, 8, 6, 10, 6, 9, 5, 10, 8, 6, 8, 9, 7, 5, 6, 5, 9, 8, 9, 6, 5, 7, 8, 6, 3, 9, 4, 9, 5, 8, 8, 5, 10, 5, 10, 3, 9, 7, 6, 9, 5, 8, 5, 10, 5, 10, 4, 9, 6, 8, 6, 6, 10, 4, 9, 6, 9, 6, 8, 8, 7, 8, 6, 8, 5, 8, 6, 6, 4, 8, 7, 6, 6, 8, 8, 7, 6, 6, 7, 9, 7, 7, 7, 7, 8, 9, 8, 8, 8, 6, 10, 5, 9, 4, 5, 6, 6, 8, 4, 9, 7, 8, 5, 6, 7, 7, 6, 7, 6, 6, 9, 5, 8, 6, 10, 7, 7, 7, 5, 9, 5, 8, 6, 8, 6, 8, 8, 9, 7, 8, 8, 8, 8, 5, 6, 4, 7, 5, 7, 6, 9, 9, 7, 8, 7, 6, 4, 3, 6, 6, 5, 8, 8, 8, 8, 9, 8, 7, 9, 7, 6, 6, 7, 8, 7, 7, 8, 8, 9, 7, 10, 8, 7, 5, 7, 3, 5, 6, 6, 8, 6, 10, 6, 7, 7, 8, 7, 5, 7, 8, 5, 5, 9, 6, 10, 6, 9, 8, 7, 9, 5, 7, 5, 7, 6, 7, 6, 10, 7, 9, 8, 8, 7, 3, 10, 5, 8, 2, 8, 7, 5, 8, 7, 8, 6, 7, 7, 5, 7, 8, 9, 7, 9, 9, 6, 8, 7, 8, 6, 5, 9, 7, 7, 6, 7, 8, 8, 8, 10, 5, 8, 7, 5, 6, 3, 8, 6, 6, 7, 9, 8, 7, 9, 7, 5, 6, 7, 7, 5, 7, 7, 8, 8, 7, 8, 7, 9, 8, 6, 4, 8, 5, 7, 5, 7, 10, 7, 9, 7, 9, 8, 7, 7, 5, 5, 4, 5, 6, 5, 8, 8, 8, 7, 8, 8, 6, 8, 7, 5, 5, 8, 6, 10, 6, 11, 8, 9, 7, 4, 8, 6, 7, 5, 6, 6, 7, 7, 7, 7, 10, 10, 7, 4, 6, 6, 4, 9, 5, 7, 7, 8, 8, 7, 8, 7, 8, 7, 7, 6, 6, 8, 8, 6, 7, 9, 9, 7, 7, 6, 5, 8, 7, 5, 8, 7, 9, 6, 9, 8, 6, 9, 5, 6, 7, 6, 8, 5, 6, 6, 5, 9, 7, 9, 6, 5, 8, 6, 6, 7, 7, 9, 8, 7, 9, 6, 10, 6, 8, 7, 4, 7, 4, 9, 5, 8, 7, 7, 8, 9, 8, 7, 6, 6, 7, 3, 7, 5, 8, 8, 9, 7, 9, 7, 7, 6, 7, 7, 5, 7, 5, 8, 7, 8, 7, 9, 8, 8, 7, 5, 9, 5, 8, 6, 6, 6, 5, 9, 8, 9, 8, 8, 5, 8, 4, 6, 4, 7, 8, 5, 9, 5, 9, 7, 6, 8, 6, 7, 6, 6, 8, 5, 9, 7, 5, 9, 8, 7, 7, 8, 8, 5, 7, 6, 6, 7, 7, 8, 10, 6, 8, 6, 7, 8, 4, 6, 5, 6, 9, 6, 9, 8, 7, 7, 3, 7, 7, 6, 6, 8, 9, 7, 7, 10, 7, 7, 10, 6, 6, 7, 7, 5, 5, 11, 4, 8, 7, 9, 8, 6, 9, 5, 8, 3, 5, 4, 8, 7, 8, 7, 8, 9, 6, 10, 4, 9, 5, 7, 5, 6, 10, 4, 10, 7, 11, 5, 9, 8, 6, 8, 6, 6, 4, 9, 6, 8, 7, 9, 9, 6, 9, 6, 7, 4, 7, 7, 6, 6, 6, 6, 8, 10, 7, 9, 6, 8, 6, 5, 7, 6, 8, 6, 7, 9, 7, 9, 8, 8, 11, 6, 8, 6, 5, 7, 6, 9, 4, 8, 8, 6, 7, 6, 7, 6, 6, 7, 6, 6, 7, 7, 9, 7, 7, 7, 7, 10, 8, 5, 6, 8, 6, 8, 7, 9, 7, 8, 8, 4, 9, 5, 7, 6, 9, 8, 7, 6, 6, 8, 8, 8, 7, 7, 6, 7, 3, 10, 6, 8, 8, 7, 7, 6, 9, 6, 8, 6, 6, 4, 6, 8, 8, 8, 7, 10, 5, 8, 8, 7, 7, 8, 5, 5, 7, 6, 8, 7, 9, 8, 9, 5, 7, 5, 8, 6, 5, 9, 4, 8, 5, 9, 7, 7, 10, 8, 6, 7, 8, 3, 9, 5, 8, 5, 8, 10, 7, 10, 6, 9, 5, 7, 5, 6, 8, 7, 7, 8, 7, 6, 8, 5, 8, 5, 10, 6, 4, 9, 7, 8, 7, 7, 8, 6, 8, 10, 4, 8, 7, 7, 7, 5, 8, 4, 10, 7, 7, 7, 7, 7, 8, 9, 4, 9, 6, 8, 6, 11, 6, 7, 9, 7, 6, 4, 9, 3, 7, 6, 9, 7, 7, 7, 7, 7, 7, 8, 5, 7, 6, 8, 5, 8, 7, 10, 7, 8, 9, 5, 8, 5, 8, 7, 5, 7, 9, 6, 9, 7, 8, 6, 5, 9, 3, 7, 7, 4, 6, 7, 8, 8, 7, 10, 9, 7, 8, 5, 7, 7, 7, 8, 7, 4, 7, 7, 8, 8, 7, 9, 5, 8, 5, 7, 4, 6, 7, 8, 5, 9, 8, 6, 9, 6, 8, 4, 8, 5, 8, 8, 9, 7, 8, 5, 8, 8, 4, 11, 4, 9, 5, 6, 9, 5, 10, 7, 8, 8, 7, 7, 9, 4, 9, 5, 6, 9, 5, 10, 4, 8, 7, 5, 7, 6, 6, 6, 6, 6, 8, 7, 11, 6, 10, 9, 7, 9, 5, 8, 5, 6, 7, 7, 8, 9, 7, 7, 7, 7, 6, 4, 8, 4, 5, 7, 4, 7, 8, 6, 9, 9, 8, 7, 6, 9, 5, 6, 8, 5, 10, 9, 9, 8, 9, 10, 8, 6, 8, 4, 5, 4, 4, 8, 5, 7, 6, 7, 9, 8, 9, 7, 7, 6, 5, 6, 6, 7, 9, 7, 7, 10, 7, 9, 7, 9, 5, 4, 7, 5, 7, 7, 6, 7, 9, 7, 8, 7, 8, 7, 6, 6, 6, 8, 9, 8, 5, 10, 8, 9, 4, 8, 5, 6, 8, 3, 7, 5, 8, 5, 8, 7, 7, 7, 8, 8, 6, 8, 7, 9, 8, 10, 6, 9, 8, 7, 6, 7, 7, 5, 5, 5, 6, 8, 7, 6, 7, 7, 9, 5, 7, 8, 4, 8, 6, 7, 8, 10, 9, 8, 9, 10, 6, 9, 7, 5, 7, 5, 7, 5, 9, 7, 6, 9, 7, 6, 7, 7, 5, 7, 3, 7, 6, 10, 8, 7, 11, 8, 9, 6, 10, 4, 7, 6, 6, 6, 8, 7, 4, 8, 5, 8, 6, 9, 7, 6, 6, 7, 4, 10, 8, 6, 11, 7, 9, 5, 9, 8, 4, 8, 5, 5, 8, 6, 6, 8, 7, 8, 5, 8, 8, 5, 8, 5, 6, 9, 6, 9, 6, 10, 8, 7, 8, 7, 7, 6, 8, 4, 7, 7, 6, 7, 7, 8, 6, 7, 8, 7, 6, 5, 5, 6, 8, 9, 9, 9, 11, 6, 9, 8, 9, 5, 7, 6, 5, 8, 5, 7, 7, 8, 8, 6, 6, 9, 4, 7, 3, 7, 7, 6, 10, 6, 13, 8, 8, 9, 7, 8, 5, 6, 7, 5, 8, 8, 7, 10, 6, 9, 7, 8, 7, 2, 6, 3, 6, 7, 5, 10, 8, 9, 10, 5, 10, 7, 6, 6, 3, 9, 4, 6, 10, 6, 10, 9, 6, 8, 8, 6, 4, 5, 8, 3, 8, 10, 6, 10, 9, 8, 6, 7, 5, 4, 7, 7, 7, 5, 8, 6, 7, 9, 6, 6, 9, 7, 4, 5, 8, 7, 5, 9, 7, 8, 10, 8, 8, 7, 9, 6, 4, 7, 7, 5, 8, 8, 7, 8, 8, 7, 5, 10, 3, 5, 6, 6, 6, 7, 10, 6, 9, 8, 7, 5, 10, 5, 5, 7, 7, 7, 5, 10, 6, 10, 9, 8, 7, 9, 8, 4, 6, 5, 8, 4, 10, 7, 8, 11, 6, 8, 7, 7, 5, 3, 7, 6, 5, 8, 4, 9, 8, 7, 9, 5, 9, 5, 5, 8, 6, 6, 8, 7, 11, 8, 9, 8, 7, 10, 5, 8, 6, 7, 6, 5, 6, 8, 8, 10, 7, 7, 8, 6, 7, 3, 6, 5, 6, 8, 7, 10, 9, 8, 7, 7, 6, 7, 5, 7, 8, 6, 7, 8, 9, 8, 8, 8, 8, 8, 8, 4, 6, 7, 5, 8, 6, 10, 8, 8, 7, 6, 8, 6, 5, 5, 7, 7, 7, 5, 8, 7, 7, 8, 5, 8, 6, 8, 4, 7, 8, 6, 8, 10, 9, 8, 9, 7, 8, 6, 7, 4, 9, 8, 6, 6, 7, 8, 9, 8, 6, 6, 8, 7, 2, 7, 5, 7, 6, 7, 10, 6, 10, 6, 7, 7, 7, 7, 7, 7, 10, 5, 8, 8, 5, 9, 6, 9, 7, 8, 7, 5, 7, 7, 4, 8, 8, 7, 9, 5, 9, 5, 9, 5, 5, 8, 7, 8, 5, 7, 7, 6, 8, 7, 5, 10, 6, 9, 6, 7, 9, 5, 10, 6, 6, 9, 7, 8, 9, 6, 8, 6, 8, 7, 5, 9, 6, 6, 7, 5, 7, 7, 6, 7, 6, 7, 7, 7, 7, 5, 9, 5, 10, 6, 6, 10, 7, 8, 6, 8, 6, 7, 7, 7, 4, 10, 5, 8, 7, 6, 8, 5, 7, 4, 9, 6, 8, 8, 7, 9, 5, 8, 7, 6, 8, 6, 9, 8, 5, 9, 4, 6, 8, 5, 8, 7, 7, 6, 5, 8, 4, 6, 8, 6, 9, 7, 8, 6, 8, 9, 6, 9, 7, 8, 9, 6, 7, 8, 5, 10, 5, 8, 7, 6, 7, 4, 8, 5, 7, 7, 7, 5, 9, 6, 6, 8, 7, 9, 5, 9, 5, 7, 6, 6, 6, 9, 5, 7, 10, 6, 8, 4, 10, 6, 8, 9, 6, 8, 8, 8, 9, 6, 8, 9, 4, 8, 3, 9, 5, 6, 9, 4, 9, 6, 6, 7, 7, 7, 8, 4, 9, 6, 8, 6, 6, 10, 6, 8, 9, 8, 5, 8, 6, 9, 7, 7, 7, 7, 8, 6, 5, 7, 8, 7, 8, 5, 8, 6, 8, 5, 4, 9, 5, 8, 6, 8, 5, 6, 8, 6, 8, 9, 7, 7, 7, 7, 8, 5, 11, 6, 9, 8, 7, 8, 6, 9, 4, 9, 6, 6, 6, 7, 7, 5, 7, 6, 6, 8, 6, 4, 7, 4, 10, 4, 8, 9, 6, 11, 5, 9, 8, 8, 7, 5, 8, 7, 7, 9, 9, 6, 9, 7, 6, 8, 8, 6, 7, 8, 5, 7, 5, 7, 7, 7, 8, 5, 8, 8, 5, 6, 7, 6, 8, 6, 8, 6, 5, 10, 4, 8, 9, 8, 7, 6, 9, 5, 8, 7, 8, 7, 8, 8, 6, 8, 8, 7, 7, 8, 5, 6, 4, 9, 4, 7, 9, 5, 9, 7, 6, 3, 7, 6, 5, 8, 8, 6, 9, 9, 6, 6, 9, 8, 5, 8, 8, 7, 8, 6, 9, 6, 8, 8, 5, 9, 7, 5, 6, 5, 7, 6, 6, 8, 7, 6, 8, 5, 8, 6, 7, 8, 6, 9, 8, 6, 8, 8, 4, 7, 6, 7, 7, 6, 9, 5, 9, 9, 4, 8, 8, 7, 6, 7, 9, 7, 7, 10, 4, 8, 9, 5, 6, 6, 9, 4, 8, 8, 6, 6, 9, 5, 7, 5, 6, 5, 6, 10, 4, 8, 10, 7, 7, 8, 6, 8, 7, 9, 7, 5, 11, 6, 6, 9, 6, 9, 5, 8, 8, 4, 9, 4, 4, 9, 5, 7, 6, 8, 8, 4, 11, 6, 6, 9, 5, 8, 7, 7, 7, 5, 10, 6, 7, 8, 4, 9, 5, 6, 6, 7, 9, 6, 7, 8, 8, 9, 7, 9, 8, 7, 8, 5, 7, 6, 7, 6, 6, 9, 6, 7, 7, 6, 8, 4, 5, 8, 5, 8, 6, 8, 10, 5, 10, 5, 7, 10, 4, 8, 7, 8, 9, 5, 9, 8, 7, 10, 4, 8, 9, 5, 6, 4, 7, 6, 5, 10, 5, 7, 10, 5, 8, 7, 6, 5, 7, 8, 6, 6, 8, 7, 7, 7, 9, 4, 10, 8, 4, 7, 5, 9, 6, 7, 11, 4, 12, 7, 5, 10, 5, 8, 5, 5, 10, 4, 8, 8, 6, 10, 5, 8, 6, 8, 8, 3, 8, 4, 7, 7, 6, 12, 5, 9, 8, 4, 10, 6, 5, 8, 5, 11, 5, 6, 12, 6, 10, 6, 9, 6, 8, 6, 6, 5, 8, 7, 5, 9, 9, 6, 8, 7, 6, 7, 5, 7, 3, 7, 9, 4, 9, 10, 7, 8, 7, 8, 5, 9, 6, 5, 7, 8, 6, 7, 10, 9, 6, 10, 6, 8, 8, 5, 7, 4, 7, 7, 4, 10, 8, 8, 8, 6, 7, 4, 6, 5, 3, 8, 8, 5, 9, 10, 10, 6, 8, 8, 5, 10, 5, 6, 7, 7, 6, 6, 10, 9, 6, 9, 7, 7, 7, 5, 5, 5, 7, 6, 5, 11, 9, 7, 7, 8, 7, 5, 6, 4, 5, 6, 6, 6, 8, 11, 9, 7, 8, 7, 6, 7, 5, 6, 6, 7, 8, 7, 10, 8, 8, 8, 7, 7, 6, 5, 6, 5, 6, 8, 6, 9, 9, 8, 6, 6, 7, 4, 6, 5, 6, 7, 6, 9, 8, 10, 10, 6, 7, 8, 6, 7, 5, 6, 6, 6, 7, 7, 11, 10, 7, 8, 7, 6, 6, 5, 6, 4, 7, 5, 10, 9, 8, 9, 6, 8, 4, 6, 4, 6, 7, 6, 6, 8, 10, 9, 9, 7, 9, 5, 9, 4, 5, 8, 4, 8, 7, 10, 9, 9, 8, 8, 4, 8, 4, 5, 9, 3, 9, 5, 9, 9, 6, 9, 6, 6, 9, 4, 7, 5, 4, 8, 3, 12, 8, 8, 12, 5, 10, 6, 6, 7, 4, 9, 5, 6, 11, 6, 10, 9, 5, 8, 5, 8, 5, 6, 8, 4, 4, 8, 6, 8, 10, 6, 9, 7, 8, 3, 5, 5, 5, 5, 9, 8, 11, 10, 8, 9, 6, 8, 3, 7, 6, 5, 7, 5, 9, 8, 9, 10, 5, 10, 7, 5, 6, 5, 6, 4, 5, 9, 6, 11, 8, 7, 9, 7, 7, 4, 7, 4, 4, 6, 5, 8, 10, 8, 11, 8, 9, 7, 5, 7, 3, 6, 6, 6, 9, 9, 9, 10, 8, 9, 7, 6, 5, 4, 4, 5, 4, 5, 11, 7, 10, 9, 7, 8, 6, 6, 4, 3, 8, 4, 7, 12, 7, 11, 10, 9, 7, 7, 7, 4, 5, 6, 5, 5, 9, 9, 9, 10, 9, 6, 8, 5, 4, 3, 4, 8, 2, 10, 9, 8, 11, 8, 7, 6, 7, 5, 3, 5, 8, 2, 9, 8, 8, 9, 8, 10, 5, 9, 6, 4, 7, 7, 5, 9, 9, 9, 10, 9, 10, 4, 9, 4, 3, 6, 4, 4, 5, 7, 9, 8, 7, 10, 5, 9, 5, 5, 6, 4, 8, 5, 9, 10, 9, 11, 10, 8, 8, 7, 6, 5, 5, 6, 4, 8, 8, 10, 10, 8, 9, 7, 7, 5, 4, 5, 5, 4, 7, 7, 9, 10, 8, 10, 7, 7, 5, 5, 5, 4, 5, 7, 7, 10, 12, 7, 11, 9, 8, 6, 5, 7, 4, 7, 6, 7, 9, 10, 8, 8, 10, 6, 6, 6, 5, 3, 4, 6, 5, 7, 11, 8, 7, 11, 6, 6, 6, 5, 5, 5, 6, 7, 8, 11, 12, 8, 12, 9, 7, 5, 5, 5, 5, 4, 7, 7, 8, 11, 6, 9, 8, 6, 5, 5, 7, 4, 5, 7, 6, 7, 12, 8, 10, 9, 8, 5, 5, 5, 4, 5, 5, 8, 7, 10, 9, 9, 10, 8, 5, 7, 4, 7, 6, 4, 7, 7, 9, 10, 9, 10, 6, 8, 4, 4, 5, 4, 6, 5, 9, 7, 10, 9, 8, 8, 6, 5, 7, 3, 7, 6, 6, 10, 7, 10, 8, 10, 9, 6, 8, 5, 4, 7, 4, 5, 5, 9, 9, 7, 11, 8, 7, 8, 5, 5, 3, 7, 5, 6, 10, 8, 8, 10, 8, 9, 6, 7, 5, 4, 6, 4, 6, 7, 9, 8, 10, 10, 8, 7, 7, 3, 5, 4, 6, 6, 5, 12, 7, 9, 10, 7, 8, 6, 6, 5, 5, 6, 6, 6, 10, 8, 9, 9, 8, 10, 5, 8, 5, 5, 4, 5, 6, 6, 10, 9, 9, 9, 10, 6, 6, 5, 4, 4, 6, 7, 6, 12, 9, 8, 8, 9, 7, 5, 6, 8, 4, 6, 7, 5, 9, 8, 10, 7, 11, 8, 6, 7, 7, 3, 3, 8, 4, 8, 9, 9, 7, 9, 9, 7, 4, 8, 4, 3, 7, 3, 7, 9, 10, 9, 8, 11, 7, 6, 7, 4, 4, 6, 7, 7, 9, 10, 8, 7, 10, 5, 7, 5, 7, 3, 5, 8, 4, 9, 9, 8, 9, 9, 8, 7, 5, 7, 2, 4, 7, 5, 10, 10, 9, 11, 8, 8, 7, 5, 7, 4, 3, 7, 5, 9, 9, 7, 11, 7, 8, 7, 5, 8, 3, 4, 5, 5, 8, 7, 11, 9, 9, 9, 6, 7, 6, 5, 4, 5, 7, 6, 9, 10, 7, 12, 6, 8, 6, 6, 7, 2, 7, 4, 7, 10, 7, 10, 9, 7, 9, 4, 9, 5, 3, 8, 2, 8, 6, 7, 11, 9, 10, 7, 7, 8, 5, 5, 5, 5, 8, 5, 11, 8, 9, 10, 5, 9, 6, 7, 5, 5, 5, 5, 7, 9, 8, 11, 9, 9, 7, 6, 8, 3, 6, 5, 4, 8, 7, 7, 9, 9, 8, 5, 9, 6, 5, 6, 4, 4, 7, 8, 8, 10, 11, 8, 9, 7, 7, 6, 5, 6, 4, 6, 9, 6, 9, 10, 9, 7, 6, 8, 6, 5, 6, 4, 6, 7, 8, 8, 8, 10, 6, 7, 7, 7, 5, 6, 6, 6, 6, 9, 7, 9, 10, 7, 8, 5, 9, 5, 5, 7, 5, 7, 8, 7, 8, 10, 8, 7, 5, 9, 5, 6, 5, 5, 4, 7, 8, 8, 11, 7, 9, 7, 6, 7, 4, 5, 5, 6, 8, 9, 7, 11, 7, 10, 7, 5, 9, 5, 5, 6, 6, 7, 9, 8, 10, 9, 11, 7, 6, 9, 4, 6, 3, 5, 4, 8, 8, 8, 9, 9, 7, 6, 6, 4, 6, 2, 6, 6, 7, 11, 8, 12, 10, 10, 7, 6, 6, 6, 3, 6, 6, 6, 10, 7, 11, 8, 10, 8, 5, 6, 4, 3, 3, 7, 4, 8, 9, 10, 9, 10, 8, 6, 7, 3, 7, 1, 7, 5, 5, 12, 7, 12, 10, 9, 8, 6, 6, 6, 3, 6, 6, 5, 11, 8, 11, 8, 10, 7, 5, 6, 3, 6, 3, 6, 5, 7, 9, 7, 9, 8, 9, 7, 5, 5, 4, 4, 5, 6, 7, 9, 11, 11, 10, 11, 8, 8, 5, 5, 6, 3, 7, 6, 8, 12, 8, 12, 7, 8, 7, 1, 6, 3, 3, 7, 5, 9, 8, 9, 11, 5, 11, 7, 3, 7, 4, 6, 5, 6, 8, 7, 13, 10, 8, 12, 9, 6, 5, 4, 6, 2, 7, 6, 6, 12, 9, 10, 9, 8, 8, 1, 6, 5, 2, 9, 3, 9, 7, 8, 10, 7, 10, 9, 2, 7, 4, 3, 5, 5, 10, 6, 13, 11, 10, 11, 9, 7, 2, 6, 5, 4, 8, 7, 8, 9, 10, 10, 7, 8, 7, 1, 6, 3, 3, 5, 6, 8, 7, 11, 9, 8, 8, 8, 4, 5, 5, 6, 6, 7, 10, 6, 12, 10, 11, 9, 9, 7, 3, 6, 4, 5, 5, 8, 6, 11, 8, 11, 8, 7, 6, 2, 4, 5, 5, 5, 7, 5, 12, 7, 11, 9, 6, 9, 2, 6, 7, 4, 7, 7, 7, 13, 6, 13, 9, 6, 10, 1, 8, 5, 5, 8, 4, 9, 9, 7, 11, 8, 7, 8, 1, 8, 0, 7, 5, 4, 9, 8, 11, 9, 9, 9, 7, 5, 7, 1, 9, 3, 9, 8, 10, 12, 7, 11, 8, 6, 6, 3, 3, 6, 4, 9, 5, 9, 10, 7, 10, 6, 8, 4, 6, 6, 4, 5, 7, 6, 9, 9, 10, 9, 10, 10, 4, 7, 4, 5, 6, 6, 10, 7, 11, 10, 7, 9, 9, 5, 5, 5, 4, 5, 5, 8, 7, 10, 10, 10, 8, 10, 6, 3, 7, 1, 8, 3, 9, 9, 6, 11, 8, 5, 11, 5, 6, 7, 3, 8, 1, 10, 6, 8, 11, 9, 9, 9, 9, 4, 3, 6, 4, 5, 8, 6, 10, 7, 9, 10, 5, 11, 4, 6, 6, 3, 7, 4, 8, 9, 7, 10, 11, 5, 11, 6, 4, 8, 3, 6, 4, 7, 9, 8, 11, 10, 7, 10, 5, 5, 5, 4, 5, 4, 8, 8, 9, 9, 7, 12, 8, 9, 6, 5, 7, 1, 7, 4, 5, 11, 7, 12, 8, 9, 9, 4, 8, 3, 5, 5, 5, 6, 7, 9, 9, 10, 11, 8, 8, 6, 5, 4, 2, 8, 3, 8, 12, 8, 11, 8, 8, 7, 5, 7, 2, 3, 8, 3, 7, 9, 8, 9, 10, 10, 7, 9, 6, 4, 4, 5, 5, 6, 10, 10, 10, 10, 8, 8, 8, 4, 5, 3, 5, 4, 5, 8, 9, 10, 9, 9, 9, 8, 6, 5, 2, 6, 5, 5, 9, 9, 9, 11, 8, 9, 8, 5, 5, 3, 5, 4, 5, 9, 6, 11, 12, 9, 11, 8, 7, 5, 4, 4, 2, 6, 8, 6, 12, 9, 10, 10, 8, 7, 3, 5, 3, 2, 6, 6, 8, 12, 9, 12, 8, 8, 8, 2, 9, 3, 5, 7, 5, 9, 9, 9, 10, 8, 7, 9, 1, 9, 2, 5, 5, 5, 7, 7, 11, 8, 10, 8, 10, 3, 9, 3, 4, 4, 5, 6, 8, 11, 8, 13, 7, 10, 5, 7, 4, 3, 4, 4, 9, 7, 12, 9, 13, 8, 9, 7, 4, 4, 5, 3, 5, 9, 6, 11, 8, 11, 8, 7, 8, 2, 5, 5, 3, 5, 8, 7, 10, 9, 12, 9, 9, 8, 5, 5, 6, 5, 2, 9, 7, 7, 10, 10, 9, 8, 7, 6, 3, 6, 4, 1, 9, 6, 6, 12, 9, 11, 9, 9, 7, 4, 8, 3, 3, 7, 5, 6, 11, 9, 10, 9, 9, 6, 5, 6, 3, 4, 5, 7, 6, 11, 9, 10, 10, 9, 7, 6, 5, 3, 4, 4, 6, 6, 10, 9, 9, 10, 8, 6, 7, 3, 3, 4, 4, 7, 6, 10, 10, 10, 12, 10, 7, 9, 4, 4, 4, 5, 6, 5, 11, 9, 8, 11, 9, 7, 8, 3, 3, 4, 5, 5, 6, 11, 9, 11, 10, 10, 9, 6, 6, 2, 5, 5, 4, 6, 7, 8, 10, 9, 12, 9, 7, 8, 3, 5, 4, 4, 5, 7, 10, 9, 11, 12, 9, 7, 7, 3, 3, 4, 3, 4, 6, 10, 7, 11, 9, 10, 8, 7, 5, 3, 6, 2, 7, 6, 9, 9, 13, 10, 12, 10, 7, 7, 2, 4, 2, 5, 5, 8, 8, 11, 9, 10, 9, 6, 5, 3, 4, 4, 4, 6, 8, 8, 11, 10, 9, 11, 7, 7, 4, 4, 4, 3, 6, 6, 8, 11, 10, 11, 11, 9, 8, 3, 5, 4, 3, 6, 5, 9, 8, 9, 10, 9, 10, 5, 5, 5, 2, 6, 3, 7, 8, 8, 11, 10, 10, 11, 5, 8, 3, 4, 6, 3, 7, 6, 8, 8, 10, 11, 10, 9, 7, 6, 4, 4, 5, 3, 8, 7, 8, 11, 10, 10, 8, 5, 8, 2, 6, 6, 3, 8, 5, 9, 8, 10, 10, 8, 9, 7, 4, 6, 6, 4, 5, 8, 8, 8, 10, 11, 8, 9, 7, 4, 5, 3, 4, 4, 7, 8, 8, 10, 12, 9, 10, 6, 6, 5, 2, 7, 3, 7, 9, 7, 11, 9, 9, 9, 5, 9, 3, 5, 7, 2, 9, 6, 8, 10, 8, 12, 7, 8, 9, 2, 8, 3, 4, 8, 5, 12, 7, 10, 12, 6, 10, 5, 4, 6, 2, 7, 5, 7, 10, 6, 11, 9, 9, 8, 5, 7, 4, 5, 6, 6, 8, 9, 7, 9, 11, 8, 7, 7, 6, 2, 6, 4, 5, 8, 8, 9, 9, 11, 9, 7, 9, 5, 3, 7, 4, 5, 7, 8, 8, 8, 11, 9, 6, 9, 6, 4, 7, 2, 5, 7, 8, 9, 7, 12, 9, 7, 9, 6, 5, 5, 4, 6, 4, 8, 10, 7, 12, 9, 8, 7, 5, 5, 2, 6, 5, 5, 10, 10, 9, 10, 8, 9, 5, 7, 6, 4, 9, 3, 8, 6, 8, 10, 8, 11, 8, 5, 8, 5, 4, 6, 1, 10, 3, 9, 11, 6, 11, 8, 7, 9, 6, 6, 5, 2, 10, 3, 8, 10, 6, 11, 8, 7, 8, 6, 5, 5, 3, 9, 5, 8, 11, 8, 11, 8, 8, 6, 6, 5, 6, 3, 7, 5, 7, 10, 7, 10, 9, 8, 5, 7, 5, 5, 2, 7, 5, 7, 11, 7, 11, 8, 9, 5, 8, 8, 4, 6, 6, 5, 8, 9, 7, 11, 7, 8, 6, 7, 6, 3, 6, 3, 7, 7, 10, 8, 11, 8, 8, 8, 4, 8, 3, 7, 5, 7, 8, 9, 7, 11, 5, 8, 9, 3, 11, 3, 8, 5, 5, 7, 7, 6, 12, 5, 10, 10, 5, 11, 2, 9, 3, 4, 8, 5, 9, 11, 8, 10, 8, 7, 7, 3, 9, 1, 7, 7, 5, 10, 9, 9, 10, 8, 9, 6, 6, 9, 1, 8, 5, 4, 9, 7, 9, 9, 7, 9, 5, 5, 8, 3, 6, 5, 6, 10, 9, 9, 11, 7, 10, 7, 4, 8, 5, 4, 7, 5, 9, 9, 7, 11, 5, 9, 7, 4, 7, 5, 3, 6, 3, 10, 7, 8, 13, 6, 10, 9, 5, 6, 7, 5, 5, 5, 9, 7, 8, 12, 6, 7, 11, 4, 5, 6, 5, 4, 7, 9, 6, 9, 13, 5, 8, 11, 4, 7, 6, 6, 3, 7, 8, 5, 9, 11, 4, 9, 9, 4, 6, 5, 8, 3, 8, 9, 6, 10, 11, 5, 9, 8, 5, 6, 5, 8, 4, 7, 9, 5, 10, 11, 4, 8, 8, 4, 7, 5, 7, 5, 5, 10, 5, 9, 11, 4, 10, 10, 6, 9, 6, 7, 6, 4, 9, 4, 8, 10, 3, 10, 8, 4, 7, 7, 3, 8, 4, 7, 7, 10, 9, 5, 10, 9, 4, 7, 7, 3, 9, 5, 6, 9, 9, 10, 5, 10, 9, 3, 8, 6, 4, 8, 5, 5, 9, 7, 10, 5, 10, 9, 5, 8, 7, 4, 9, 5, 6, 9, 7, 9, 6, 10, 9, 5, 6, 8, 5, 8, 5, 4, 9, 6, 9, 7, 8, 9, 7, 7, 8, 5, 8, 4, 6, 7, 7, 8, 6, 8, 9, 8, 4, 8, 6, 5, 7, 6, 5, 10, 7, 7, 9, 8, 10, 2, 10, 6, 4, 9, 4, 4, 10, 6, 7, 8, 10, 10, 3, 9, 5, 4, 9, 4, 5, 9, 7, 7, 8, 9, 10, 5, 8, 7, 5, 9, 6, 6, 7, 9, 7, 6, 8, 10, 4, 8, 6, 6, 8, 6, 6, 5, 9, 7, 4, 10, 10, 5, 9, 6, 5, 6, 7, 5, 4, 11, 6, 6, 10, 10, 6, 8, 6, 6, 7, 8, 6, 5, 11, 6, 8, 8, 9, 6, 6, 6, 6, 5, 8, 6, 5, 9, 6, 8, 6, 9, 6, 6, 7, 5, 7, 9, 7, 5, 10, 8, 8, 6, 9, 7, 6, 9, 5, 6, 8, 7, 4, 9, 7, 6, 9, 7, 8, 7, 6, 7, 5, 10, 7, 4, 10, 4, 7, 7, 6, 11, 4, 8, 7, 4, 11, 5, 6, 8, 6, 9, 5, 9, 8, 4, 10, 5, 6, 10, 6, 8, 7, 6, 7, 5, 9, 5, 6, 8, 5, 8, 8, 7, 5, 8, 7, 7, 7, 8, 7, 6, 10, 4, 7, 9, 7, 6, 9, 6, 8, 7, 7, 8, 5, 10, 4, 8, 8, 7, 6, 9, 7, 8, 6, 9, 6, 5, 10, 4, 9, 7, 7, 7, 7, 8, 5, 5, 9, 5, 6, 9, 4, 8, 7, 8, 7, 7, 10, 4, 8, 10, 4, 8, 8, 5, 7, 6, 8, 5, 8, 10, 4, 9, 8, 6, 8, 7, 6, 4, 8, 7, 7, 7, 8, 5, 9, 8, 8, 7, 7, 6, 5, 9, 6, 8, 6, 9, 8, 8, 7, 8, 7, 7, 7, 5, 7, 7, 7, 6, 8, 6, 7, 7, 9, 7, 8, 6, 5, 7, 7, 6, 7, 7, 7, 9, 8, 7, 9, 7, 6, 6, 6, 7, 6, 7, 6, 7, 9, 7, 7, 9, 9, 6, 6, 7, 7, 6, 8, 5, 8, 9, 7, 8, 6, 8, 5, 5, 7, 6, 7, 8, 6, 7, 7, 6, 7, 5, 9, 5, 7, 8, 7, 9, 6, 8, 7, 9, 6, 6, 8, 8, 7, 8, 5, 6, 8, 6, 6, 7, 9, 6, 7, 9, 4, 8, 6, 6, 5, 7, 8, 4, 7, 9, 7, 7, 9, 6, 8, 7, 7, 5, 7, 9, 4, 8, 10, 7, 7, 8, 8, 5, 7, 7, 4, 7, 10, 4, 8, 9, 7, 7, 8, 8, 5, 8, 6, 5, 6, 9, 4, 6, 8, 7, 8, 7, 8, 6, 9, 5, 6, 6, 8, 7, 6, 9, 8, 9, 7, 6, 9, 5, 6, 9, 4, 9, 8, 5, 9, 8, 9, 7, 5, 9, 5, 7, 6, 4, 8, 7, 6, 9, 7, 10, 8, 7, 8, 6, 7, 6, 5, 6, 7, 6, 8, 6, 10, 7, 9, 5, 9, 5, 5, 7, 5, 8, 6, 7, 7, 9, 9, 8, 7, 8, 6, 5, 6, 6, 6, 6, 8, 6, 8, 10, 8, 8, 9, 8, 4, 8, 6, 3, 8, 7, 5, 8, 11, 6, 10, 7, 8, 4, 7, 6, 2, 8, 6, 4, 8, 10, 7, 11, 7, 10, 6, 6, 7, 2, 7, 8, 4, 8, 10, 8, 10, 7, 9, 6, 4, 10, 1, 5, 10, 2, 7, 9, 8, 9, 10, 9, 5, 6, 9, 1, 6, 8, 2, 6, 8, 8, 9, 10, 8, 7, 9, 6, 4, 5, 7, 5, 7, 7, 9, 10, 9, 9, 6, 8, 6, 8, 2, 7, 5, 4, 6, 8, 8, 9, 10, 8, 7, 8, 5, 3, 5, 4, 6, 5, 10, 9, 11, 12, 8, 9, 9, 5, 5, 4, 5, 6, 5, 7, 9, 10, 11, 7, 9, 8, 5, 6, 2, 6, 6, 4, 8, 9, 9, 11, 8, 10, 7, 7, 5, 3, 7, 4, 6, 7, 8, 9, 10, 8, 10, 7, 6, 6, 2, 6, 5, 6, 6, 9, 11, 10, 9, 10, 7, 8, 6, 3, 6, 5, 6, 4, 8, 9, 8, 10, 10, 7, 9, 4, 2, 6, 4, 4, 4, 9, 10, 8, 12, 9, 7, 11, 4, 5, 6, 4, 7, 5, 8, 7, 8, 12, 8, 10, 10, 4, 7, 4, 2, 7, 3, 6, 7, 9, 11, 10, 9, 9, 5, 6, 5, 4, 6, 4, 7, 7, 8, 10, 8, 8, 11, 7, 4, 8, 4, 6, 7, 4, 7, 7, 11, 8, 8, 12, 8, 4, 10, 3, 4, 6, 3, 6, 6, 11, 8, 10, 11, 9, 5, 8, 3, 3, 7, 4, 7, 6, 11, 7, 9, 10, 10, 6, 6, 8, 2, 7, 6, 4, 6, 9, 8, 9, 11, 10, 8, 5, 7, 1, 7, 3, 4, 7, 8, 11, 8, 11, 10, 8, 5, 6, 4, 5, 5, 4, 7, 9, 8, 8, 10, 9, 11, 5, 6, 8, 3, 7, 3, 7, 6, 7, 9, 8, 10, 11, 6, 8, 7, 2, 7, 1, 5, 5, 7, 10, 9, 10, 11, 9, 7, 4, 4, 5, 3, 6, 8, 8, 10, 10, 8, 11, 9, 7, 5, 6, 5, 4, 4, 6, 7, 8, 9, 8, 11, 10, 8, 3, 7, 3, 4, 4, 4, 8, 9, 9, 10, 12, 8, 9, 5, 6, 3, 6, 3, 5, 8, 8, 10, 10, 11, 10, 9, 7, 5, 5, 4, 4, 5, 5, 9, 9, 7, 10, 9, 8, 9, 3, 6, 4, 5, 3, 5, 9, 8, 8, 13, 9, 10, 10, 4, 7, 5, 4, 4, 6, 7, 8, 7, 11, 9, 7, 10, 7, 5, 6, 6, 2, 4, 6, 7, 7, 10, 10, 9, 9, 8, 5, 6, 5, 4, 4, 6, 10, 7, 10, 10, 8, 11, 7, 6, 6, 7, 3, 5, 5, 6, 7, 10, 9, 9, 10, 9, 7, 4, 8, 3, 4, 6, 4, 9, 8, 8, 11, 6, 10, 9, 4, 8, 4, 4, 5, 5, 8, 7, 11, 10, 10, 9, 7, 6, 5, 6, 5, 5, 5, 7, 10, 9, 7, 9, 9, 8, 7, 6, 7, 2, 8, 1, 4, 8, 6, 9, 10, 10, 10, 7, 9, 7, 3, 7, 3, 6, 6, 10, 9, 10, 11, 7, 9, 8, 2, 7, 4, 3, 5, 4, 10, 8, 8, 12, 8, 10, 9, 4, 6, 5, 5, 2, 6, 8, 8, 8, 12, 9, 9, 9, 7, 5, 4, 6, 2, 5, 7, 7, 8, 11, 10, 9, 9, 6, 7, 4, 7, 4, 4, 7, 8, 8, 10, 9, 9, 11, 6, 8, 5, 6, 3, 2, 5, 6, 5, 10, 10, 9, 10, 9, 7, 5, 8, 4, 3, 6, 6, 7, 10, 9, 10, 10, 9, 9, 6, 5, 5, 2, 5, 5, 6, 9, 9, 10, 10, 9, 7, 6, 7, 4, 3, 6, 5, 6, 10, 8, 7, 11, 10, 8, 6, 8, 1, 6, 5, 3, 7, 6, 8, 10, 10, 10, 9, 8, 8, 4, 7, 4, 5, 7, 7, 11, 8, 10, 10, 7, 8, 6, 4, 5, 3, 4, 3, 7, 10, 5, 10, 11, 6, 9, 7, 7, 5, 6, 6, 3, 9, 7, 8, 10, 10, 9, 9, 7, 8, 3, 6, 5, 3, 7, 6, 8, 10, 10, 9, 9, 8, 7, 6, 4, 5, 4, 4, 8, 7, 7, 9, 9, 8, 9, 6, 8, 3, 7, 4, 2, 8, 7, 8, 10, 10, 9, 11, 8, 9, 5, 7, 3, 4, 7, 4, 10, 7, 10, 10, 10, 8, 8, 4, 7, 2, 3, 5, 5, 8, 9, 8, 10, 10, 9, 7, 7, 4, 5, 5, 3, 8, 8, 9, 10, 10, 10, 9, 8, 9, 4, 6, 5, 4, 6, 7, 8, 8, 9, 8, 8, 8, 6, 5, 7, 4, 5, 7, 5, 10, 8, 9, 9, 8, 9, 7, 7, 7, 3, 5, 3, 6, 7, 6, 9, 8, 9, 10, 9, 10, 5, 6, 6, 2, 9, 5, 8, 8, 8, 11, 8, 7, 11, 3, 5, 6, 1, 8, 3, 8, 9, 7, 9, 9, 8, 9, 5, 6, 5, 3, 7, 6, 7, 7, 12, 7, 9, 10, 9, 6, 8, 4, 6, 3, 5, 7, 7, 8, 9, 10, 8, 9, 8, 8, 4, 4, 6, 5, 6, 9, 7, 9, 10, 7, 9, 7, 4, 6, 2, 3, 7, 5, 8, 10, 8, 11, 8, 10, 8, 6, 6, 6, 4, 6, 8, 6, 10, 10, 9, 8, 9, 8, 7, 5, 4, 4, 2, 7, 7, 6, 9, 10, 8, 10, 7, 6, 7, 3, 4, 4, 6, 5, 10, 8, 12, 10, 9, 9, 7, 6, 6, 3, 3, 8, 4, 8, 10, 11, 11, 7, 8, 7, 3, 6, 5, 3, 6, 8, 7, 9, 9, 9, 8, 9, 5, 6, 5, 5, 7, 4, 6, 8, 6, 10, 11, 8, 10, 6, 7, 8, 3, 5, 6, 7, 6, 10, 8, 8, 10, 7, 8, 6, 6, 8, 3, 5, 8, 3, 7, 9, 7, 9, 8, 9, 8, 5, 5, 5, 5, 4, 10, 7, 6, 11, 7, 9, 8, 7, 9, 4, 5, 8, 3, 7, 7, 5, 10, 7, 8, 9, 7, 5, 8, 6, 5, 8, 5, 9, 9, 5, 10, 7, 7, 8, 6, 6, 8, 3, 8, 4, 5, 8, 7, 6, 9, 10, 5, 10, 7, 5, 7, 7, 6, 9, 5, 9, 7, 7, 10, 5, 8, 9, 4, 7, 8, 4, 6, 8, 6, 10, 7, 7, 10, 6, 6, 7, 5, 5, 8, 4, 9, 6, 7, 11, 5, 8, 7, 6, 5, 6, 6, 7, 5, 6, 10, 7, 8, 10, 9, 6, 9, 7, 4, 6, 7, 6, 6, 7, 9, 9, 6, 8, 7, 6, 7, 3, 6, 5, 5, 7, 7, 7, 8, 8, 10, 6, 9, 8, 4, 7, 7, 7, 7, 7, 11, 7, 9, 10, 8, 6, 6, 5, 6, 5, 8, 7, 5, 9, 7, 9, 5, 8, 6, 5, 5, 7, 6, 6, 8, 7, 9, 6, 10, 5, 8, 8, 6, 6, 7, 7, 7, 10, 7, 8, 6, 9, 8, 5, 8, 8, 3, 9, 8, 7, 6, 7, 5, 6, 8, 8, 6, 6, 8, 6, 6, 5, 7, 3, 8, 7, 6, 10, 8, 8, 9, 7, 7, 6, 5, 8, 7, 8, 9, 8, 8, 10, 8, 6, 8, 4, 5, 6, 4, 7, 6, 7, 10, 8, 7, 9, 5, 5, 7, 2, 7, 5, 6, 10, 9, 8, 9, 8, 6, 9, 3, 6, 5, 8, 9, 8, 9, 9, 9, 5, 9, 6, 5, 8, 8, 5, 8, 6, 7, 7, 4, 7, 6, 6, 7, 9, 7, 8, 6, 6, 6, 5, 8, 6, 7, 8, 10, 9, 10, 8, 8, 6, 5, 5, 4, 7, 6, 9, 8, 7, 9, 9, 7, 5, 6, 5, 4, 5, 7, 7, 9, 9, 9, 8, 8, 8, 4, 5, 6, 4, 6, 8, 8, 9, 8, 9, 6, 6, 6, 8, 4, 9, 8, 7, 8, 10, 8, 7, 7, 6, 8, 7, 8, 7, 6, 6, 7, 6, 5, 6, 6, 8, 6, 7, 10, 6, 9, 7, 5, 5, 7, 5, 8, 7, 8, 9, 8, 9, 8, 6, 7, 6, 5, 5, 7, 6, 9, 7, 8, 13, 6, 8, 9, 4, 6, 7, 4, 6, 8, 9, 10, 6, 9, 8, 4, 6, 6, 5, 6, 8, 6, 10, 5, 7, 7, 6, 7, 8, 6, 7, 9, 7, 8, 4, 7, 6, 7, 7, 9, 9, 7, 11, 9, 7, 6, 7, 4, 4, 6, 7, 5, 8, 9, 8, 8, 9, 7, 3, 7, 4, 4, 5, 9, 7, 10, 11, 8, 9, 6, 7, 6, 5, 5, 6, 8, 7, 10, 7, 8, 9, 7, 7, 5, 9, 5, 7, 6, 8, 7, 6, 7, 7, 7, 7, 9, 5, 8, 6, 7, 7, 4, 6, 7, 5, 8, 10, 7, 9, 8, 8, 7, 4, 5, 7, 3, 5, 11, 5, 11, 11, 9, 10, 6, 7, 6, 4, 5, 7, 4, 8, 10, 8, 10, 8, 7, 6, 3, 4, 4, 4, 7, 8, 8, 8, 9, 9, 8, 6, 5, 8, 4, 6, 8, 8, 9, 8, 10, 6, 8, 8, 7, 7, 7, 9, 5, 7, 7, 5, 7, 5, 7, 6, 9, 8, 9, 7, 9, 5, 5, 6, 4, 6, 6, 7, 8, 8, 9, 10, 6, 7, 6, 6, 4, 8, 6, 7, 11, 8, 12, 9, 8, 9, 5, 4, 6, 3, 6, 7, 9, 9, 8, 8, 8, 6, 4, 7, 4, 5, 8, 8, 6, 8, 7, 7, 7, 4, 7, 6, 6, 8, 9, 7, 7, 9, 6, 6, 7, 9, 7, 8, 9, 9, 8, 8, 10, 5, 5, 5, 5, 5, 8, 6, 9, 9, 6, 9, 5, 5, 5, 4, 3, 7, 6, 9, 10, 7, 11, 8, 6, 6, 8, 4, 7, 7, 8, 8, 9, 10, 9, 9, 5, 9, 2, 8, 6, 6, 9, 6, 8, 8, 4, 7, 6, 4, 9, 5, 7, 9, 5, 8, 6, 5, 6, 5, 8, 6, 7, 8, 10, 8, 8, 7, 5, 7, 5, 5, 8, 8, 8, 11, 8, 9, 7, 7, 6, 5, 4, 5, 5, 7, 10, 8, 9, 9, 7, 4, 6, 2, 5, 5, 7, 7, 8, 9, 11, 6, 7, 8, 3, 9, 5, 8, 7, 10, 8, 10, 7, 7, 8, 6, 7, 8, 5, 8, 7, 6, 8, 6, 4, 6, 6, 4, 8, 5, 9, 8, 7, 8, 6, 5, 6, 7, 4, 10, 7, 8, 11, 8, 9, 9, 5, 6, 7, 3, 8, 7, 7, 11, 8, 9, 11, 5, 7, 6, 3, 7, 5, 6, 10, 7, 8, 9, 6, 5, 7, 3, 8, 5, 6, 10, 5, 9, 10, 5, 6, 8, 4, 9, 7, 7, 9, 8, 9, 9, 6, 7, 7, 5, 8, 5, 8, 10, 8, 6, 10, 6, 7, 6, 2, 8, 4, 6, 9, 7, 9, 9, 7, 5, 6, 3, 7, 5, 7, 9, 7, 10, 9, 7, 8, 7, 6, 5, 8, 7, 8, 7, 10, 8, 5, 9, 4, 6, 7, 7, 6, 8, 7, 9, 7, 6, 8, 4, 7, 7, 6, 7, 8, 7, 9, 8, 6, 6, 6, 5, 8, 5, 7, 10, 6, 11, 9, 7, 6, 4, 7, 5, 6, 7, 9, 7, 12, 9, 6, 8, 4, 6, 4, 5, 7, 8, 6, 10, 11, 5, 8, 6, 4, 4, 6, 10, 6, 7, 9, 9, 4, 8, 7, 6, 8, 5, 9, 9, 8, 10, 7, 6, 6, 6, 5, 7, 6, 8, 9, 6, 10, 6, 8, 5, 6, 7, 6, 6, 5, 9, 8, 9, 9, 7, 8, 4, 6, 6, 5, 7, 8, 9, 7, 9, 9, 8, 5, 7, 6, 3, 7, 7, 7, 8, 8, 7, 6, 5, 8, 7, 4, 9, 9, 7, 8, 8, 7, 6, 6, 7, 6, 5, 7, 8, 8, 8, 7, 6, 6, 4, 7, 7, 6, 9, 9, 7, 9, 8, 8, 6, 5, 4, 5, 5, 7, 9, 9, 10, 6, 11, 6, 5, 7, 5, 5, 6, 7, 9, 10, 6, 10, 8, 6, 6, 5, 4, 7, 7, 9, 10, 6, 7, 9, 5, 7, 8, 5, 8, 5, 8, 11, 5, 7, 7, 4, 5, 8, 5, 7, 8, 7, 11, 7, 8, 10, 4, 6, 7, 5, 7, 8, 7, 11, 8, 6, 11, 4, 4, 6, 4, 7, 5, 8, 10, 8, 7, 11, 7, 2, 8, 4, 5, 7, 5, 11, 6, 9, 10, 8, 4, 9, 6, 5, 9, 5, 11, 5, 8, 8, 8, 5, 9, 7, 5, 8, 7, 8, 6, 8, 7, 8, 4, 8, 6, 5, 8, 6, 9, 5, 9, 7, 6, 6, 6, 8, 3, 7, 6, 11, 7, 11, 9, 7, 8, 4, 9, 3, 6, 7, 11, 7, 9, 10, 7, 7, 4, 6, 4, 2, 5, 8, 8, 8, 9, 8, 8, 6, 6, 8, 5, 6, 8, 6, 9, 7, 8, 11, 6, 6, 7, 7, 4, 6, 9, 7, 6, 6, 10, 5, 6, 7, 7, 7, 7, 9, 8, 9, 8, 9, 6, 6, 3, 6, 8, 7, 9, 7, 8, 9, 5, 7, 6, 1, 8, 5, 8, 6, 9, 10, 11, 6, 7, 8, 3, 9, 3, 10, 7, 7, 9, 11, 7, 6, 7, 3, 9, 1, 7, 7, 5, 7, 10, 9, 7, 7, 5, 10, 4, 5, 10, 8, 7, 9, 7, 10, 5, 6, 8, 5, 4, 8, 7, 8, 9, 6, 10, 3, 4, 8, 7, 5, 7, 10, 8, 10, 6, 8, 8, 4, 6, 6, 5, 6, 8, 7, 11, 7, 6, 9, 3, 7, 6, 4, 7, 6, 8, 10, 9, 6, 9, 6, 8, 7, 4, 6, 8, 7, 8, 12, 5, 9, 5, 7, 4, 5, 6, 8, 7, 7, 10, 5, 10, 3, 10, 6, 5, 6, 10, 8, 7, 13, 5, 8, 3, 10, 3, 5, 7, 10, 7, 4, 12, 5, 8, 4, 10, 3, 5, 6, 10, 7, 7, 13, 8, 8, 5, 10, 3, 7, 5, 8, 6, 7, 10, 7, 9, 5, 9, 2, 6, 4, 6, 8, 7, 9, 10, 6, 7, 8, 5, 8, 6, 8, 7, 8, 8, 9, 8, 6, 8, 5, 6, 5, 6, 10, 5, 7, 9, 7, 8, 5, 5, 8, 4, 6, 11, 4, 7, 10, 9, 8, 5, 6, 8, 5, 5, 10, 6, 7, 11, 6, 10, 5, 4, 10, 2, 4, 10, 5, 8, 10, 9, 8, 8, 5, 9, 3, 5, 10, 5, 8, 9, 7, 8, 6, 4, 9, 3, 4, 11, 5, 9, 7, 5, 7, 6, 7, 7, 5, 8, 9, 7, 8, 9, 8, 7, 5, 7, 7, 4, 8, 10, 7, 7, 8, 7, 5, 4, 9, 5, 3, 7, 8, 8, 6, 9, 9, 8, 6, 8, 5, 4, 10, 8, 9, 6, 8, 10, 6, 5, 8, 5, 4, 7, 6, 10, 4, 7, 8, 5, 9, 5, 6, 6, 8, 10, 10, 8, 7, 9, 5, 10, 5, 6, 7, 5, 7, 8, 9, 7, 7, 4, 10, 3, 4, 7, 6, 7, 7, 10, 8, 6, 7, 11, 4, 5, 10, 7, 6, 6, 10, 7, 8, 6, 10, 4, 5, 8, 5, 10, 4, 10, 7, 5, 7, 9, 4, 7, 9, 8, 11, 7, 8, 7, 6, 6, 6, 5, 7, 6, 8, 10, 5, 8, 8, 4, 5, 7, 5, 6, 7, 9, 9, 7, 8, 10, 6, 7, 6, 6, 4, 8, 8, 8, 8, 7, 12, 4, 7, 5, 6, 5, 6, 8, 4, 9, 6, 11, 6, 6, 7, 6, 5, 7, 9, 5, 11, 7, 10, 7, 5, 8, 6, 4, 9, 8, 5, 11, 7, 9, 5, 5, 8, 5, 4, 8, 9, 5, 10, 8, 10, 6, 6, 8, 6, 3, 7, 9, 6, 7, 9, 11, 4, 7, 7, 8, 3, 6, 9, 5, 6, 8, 12, 5, 8, 8, 8, 4, 6, 8, 9, 7, 10, 11, 4, 7, 6, 8, 5, 5, 7, 8, 5, 7, 9, 4, 6, 7, 7, 5, 6, 7, 11, 6, 10, 9, 6, 8, 8, 9, 5, 6, 6, 7, 7, 9, 7, 7, 8, 7, 6, 4, 6, 5, 6, 6, 10, 4, 10, 11, 6, 8, 3, 7, 3, 7, 7, 9, 5, 10, 11, 3, 10, 6, 4, 7, 7, 6, 7, 5, 8, 11, 5, 9, 7, 3, 10, 7, 5, 7, 6, 9, 7, 6, 9, 9, 2, 8, 8, 3, 8, 6, 9, 9, 6, 10, 8, 2, 7, 8, 5, 7, 6, 8, 9, 6, 8, 9, 3, 6, 6, 5, 6, 8, 10, 8, 8, 8, 10, 3, 6, 8, 5, 6, 6, 9, 7, 9, 7, 10, 6, 5, 8, 5, 6, 7, 7, 9, 6, 7, 10, 7, 4, 7, 8, 4, 9, 6, 8, 8, 9, 9, 6, 5, 6, 7, 4, 8, 5, 9, 7, 9, 8, 7, 6, 6, 7, 3, 10, 6, 10, 10, 10, 7, 7, 5, 4, 8, 4, 8, 5, 10, 6, 10, 7, 7, 6, 5, 7, 2, 8, 5, 9, 9, 7, 8, 7, 9, 4, 8, 7, 4, 9, 7, 9, 9, 10, 9, 8, 7, 3, 7, 4, 6, 7, 8, 9, 8, 7, 9, 6, 5, 6, 3, 7, 7, 7, 10, 9, 5, 8, 6, 5, 4, 5, 8, 7, 8, 8, 10, 6, 8, 9, 7, 5, 5, 10, 7, 7, 11, 8, 10, 5, 9, 7, 2, 6, 6, 7, 4, 9, 8, 10, 6, 7, 10, 1, 5, 6, 6, 7, 9, 8, 9, 7, 6, 11, 3, 5, 9, 4, 10, 8, 7, 11, 6, 6, 9, 5, 4, 9, 4, 10, 9, 5, 12, 6, 5, 10, 4, 5, 7, 4, 10, 8, 3, 12, 7, 3, 11, 4, 5, 8, 4, 9, 7, 5, 11, 10, 6, 11, 4, 5, 8, 4, 9, 9, 4, 12, 9, 5, 9, 4, 5, 7, 3, 7, 10, 4, 11, 10, 5, 8, 3, 6, 7, 4, 9, 9, 6, 9, 9, 4, 9, 3, 7, 9, 2, 9, 8, 9, 8, 9, 7, 7, 3, 7, 8, 4, 8, 9, 8, 9, 9, 8, 8, 3, 7, 7, 2, 7, 9, 8, 7, 8, 8, 6, 4, 6, 9, 3, 7, 8, 10, 7, 9, 11, 6, 5, 4, 9, 3, 9, 6, 11, 8, 6, 10, 5, 5, 3, 9, 4, 7, 7, 11, 9, 8, 8, 6, 3, 6, 8, 7, 8, 7, 11, 7, 8, 6, 10, 1, 8, 6, 4, 7, 5, 11, 6, 8, 7, 10, 3, 9, 6, 4, 8, 7, 11, 9, 8, 11, 9, 4, 5, 6, 3, 7, 7, 9, 8, 4, 10, 7, 4, 4, 5, 5, 8, 7, 11, 7, 7, 10, 9, 2, 6, 8, 5, 10, 5, 11, 6, 9, 10, 5, 4, 6, 6, 4, 9, 7, 10, 9, 6, 11, 5, 5, 8, 5, 6, 8, 7, 10, 6, 8, 10, 5, 5, 7, 4, 5, 8, 5, 10, 5, 8, 10, 5, 7, 8, 7, 4, 10, 4, 13, 7, 8, 11, 5, 8, 5, 8, 5, 9, 4, 13, 4, 6, 10, 4, 5, 5, 5, 6, 9, 5, 13, 6, 7, 9, 5, 8, 6, 5, 9, 7, 5, 12, 5, 7, 10, 4, 10, 5, 3, 10, 7, 5, 10, 7, 8, 9, 4, 11, 4, 5, 10, 5, 7, 7, 8, 8, 9, 4, 10, 5, 5, 8, 6, 7, 7, 8, 8, 8, 4, 8, 3, 8, 9, 6, 8, 7, 9, 10, 9, 5, 9, 4, 9, 8, 5, 10, 5, 7, 8, 6, 4, 7, 5, 7, 6, 5, 9, 3, 7, 9, 7, 7, 8, 5, 8, 7, 8, 7, 5, 9, 9, 8, 8, 10, 6, 7, 5, 7, 5, 5, 8, 8, 8, 7, 7, 5, 9, 4, 9, 6, 7, 7, 8, 9, 6, 6, 8, 9, 4, 8, 5, 7, 8, 7, 5, 7, 4, 9, 9, 4, 9, 6, 9, 8, 6, 7, 10, 6, 8, 10, 7, 6, 7, 7, 7, 7, 7, 8, 7, 7, 9, 6, 3, 5, 5, 7, 6, 7, 6, 10, 6, 7, 8, 4, 8, 6, 7, 8, 8, 6, 11, 5, 10, 9, 6, 6, 9, 5, 6, 9, 4, 10, 5, 11, 7, 5, 8, 9, 2, 6, 9, 3, 9, 5, 10, 9, 6, 6, 7, 2, 7, 10, 4, 7, 9, 9, 10, 7, 5, 8, 4, 8, 6, 8, 9, 8, 9, 8, 8, 2, 10, 5, 5, 8, 7, 7, 7, 9, 8, 8, 2, 8, 5, 6, 6, 8, 7, 7, 8, 6, 10, 3, 10, 7, 5, 5, 8, 8, 9, 10, 8, 11, 5, 9, 6, 5, 5, 9, 6, 5, 9, 7, 9, 6, 6, 6, 2, 7, 9, 6, 8, 10, 9, 5, 9, 5, 6, 5, 6, 10, 7, 8, 9, 9, 5, 9, 5, 6, 5, 6, 11, 6, 10, 7, 9, 5, 8, 5, 6, 7, 3, 9, 6, 11, 6, 9, 7, 8, 3, 8, 8, 3, 8, 6, 9, 5, 10, 7, 7, 4, 7, 8, 3, 9, 8, 11, 7, 9, 7, 6, 4, 7, 8, 4, 9, 7, 9, 7, 9, 7, 7, 4, 5, 6, 5, 8, 10, 9, 9, 9, 4, 8, 3, 8, 5, 8, 8, 8, 9, 8, 10, 5, 8, 2, 6, 6, 5, 7, 8, 9, 8, 8, 6, 8, 4, 7, 6, 6, 7, 7, 10, 9, 8, 9, 8, 3, 5, 7, 7, 6, 10, 8, 10, 8, 6, 8, 2, 5, 4, 8, 5, 8, 11, 10, 9, 6, 8, 3, 5, 6, 7, 6, 8, 10, 8, 8, 5, 8, 3, 6, 6, 7, 7, 7, 11, 9, 9, 6, 7, 3, 7, 6, 6, 9, 7, 8, 10, 8, 5, 9, 3, 7, 5, 5, 8, 6, 10, 9, 9, 6, 9, 2, 7, 7, 4, 10, 6, 11, 11, 8, 6, 9, 3, 6, 7, 4, 7, 8, 10, 10, 7, 6, 9, 2, 6, 6, 6, 7, 9, 9, 10, 7, 5, 10, 3, 5, 7, 5, 6, 9, 10, 9, 7, 5, 10, 5, 3, 9, 4, 7, 7, 9, 8, 7, 7, 10, 6, 2, 9, 3, 6, 8, 10, 8, 9, 6, 10, 5, 4, 9, 4, 5, 8, 10, 8, 11, 5, 9, 5, 4, 8, 4, 6, 8, 10, 8, 9, 6, 9, 5, 3, 9, 5, 5, 9, 7, 9, 8, 5, 8, 6, 4, 8, 6, 5, 9, 8, 9, 8, 5, 11, 7, 4, 7, 5, 7, 9, 8, 8, 8, 5, 10, 5, 4, 6, 6, 6, 7, 9, 8, 10, 5, 10, 4, 4, 6, 7, 6, 7, 9, 8, 8, 7, 11, 6, 6, 5, 9, 7, 7, 7, 9, 8, 7, 7, 4, 5, 6, 10, 6, 5, 8, 9, 6, 6, 7, 6, 6, 7, 8, 7, 4, 9, 11, 5, 7, 7, 9, 6, 7, 9, 7, 4, 9, 10, 6, 7, 7, 8, 7, 6, 7, 6, 4, 9, 9, 6, 6, 8, 6, 8, 5, 6, 7, 4, 10, 8, 7, 8, 8, 6, 7, 6, 7, 8, 5, 9, 9, 7, 8, 6, 6, 8, 7, 7, 5, 4, 10, 8, 6, 8, 6, 5, 9, 6, 8, 6, 4, 10, 3, 7, 8, 6, 6, 9, 8, 6, 8, 4, 12, 4, 9, 10, 6, 9, 7, 7, 6, 6, 5, 11, 4, 6, 11, 5, 8, 6, 4, 8, 3, 5, 10, 5, 9, 11, 6, 7, 7, 5, 9, 2, 7, 10, 4, 9, 9, 7, 9, 8, 6, 10, 4, 5, 11, 2, 9, 9, 6, 7, 8, 8, 8, 6, 4, 10, 3, 7, 9, 7, 8, 9, 7, 6, 5, 3, 10, 4, 8, 9, 9, 8, 9, 5, 5, 8, 3, 8, 5, 10, 9, 10, 8, 10, 5, 4, 8, 4, 8, 5, 9, 9, 7, 7, 10, 3, 5, 9, 3, 6, 5, 7, 8, 9, 7, 10, 6, 7, 8, 5, 6, 5, 7, 8, 9, 8, 10, 8, 7, 6, 4, 6, 5, 6, 8, 10, 10, 7, 9, 5, 4, 5, 6, 7, 5, 8, 12, 9, 6, 9, 6, 3, 5, 5, 7, 7, 8, 10, 10, 6, 7, 5, 5, 8, 5, 7, 7, 6, 10, 10, 8, 8, 7, 6, 7, 4, 5, 8, 6, 8, 11, 7, 9, 8, 6, 5, 3, 5, 4, 5, 9, 9, 9, 9, 7, 5, 7, 4, 7, 5, 9, 9, 9, 10, 8, 6, 4, 8, 3, 8, 4, 8, 8, 8, 9, 8, 4, 6, 9, 4, 10, 5, 7, 7, 11, 6, 9, 4, 8, 8, 4, 8, 3, 7, 6, 11, 5, 12, 5, 8, 9, 4, 6, 4, 7, 6, 10, 8, 11, 7, 5, 10, 6, 3, 8, 5, 7, 9, 9, 10, 5, 7, 7, 6, 1, 9, 6, 6, 9, 7, 9, 5, 6, 9, 7, 3, 10, 7, 8, 10, 9, 9, 7, 6, 7, 8, 3, 7, 7, 9, 7, 6, 9, 7, 6, 8, 8, 3, 6, 6, 9, 6, 6, 12, 7, 8, 6, 8, 5, 4, 7, 8, 6, 6, 13, 7, 8, 8, 5, 6, 4, 5, 9, 7, 9, 11, 6, 7, 5, 5, 10, 4, 5, 10, 7, 6, 11, 5, 7, 5, 5, 10, 3, 5, 11, 8, 5, 12, 5, 8, 4, 7, 11, 2, 5, 12, 6, 6, 12, 4, 9, 5, 8, 9, 4, 3, 11, 7, 5, 10, 5, 10, 6, 6, 8, 5, 4, 10, 8, 6, 10, 7, 10, 5, 5, 10, 4, 4, 9, 9, 7, 9, 8, 8, 5, 4, 8, 5, 4, 9, 10, 7, 10, 6, 8, 5, 5, 8, 6, 5, 9, 8, 8, 9, 5, 8, 7, 6, 7, 7, 4, 9, 9, 7, 8, 5, 8, 8, 6, 7, 6, 4, 9, 7, 6, 7, 7, 9, 8, 6, 6, 5, 5, 9, 8, 7, 9, 7, 8, 8, 5, 7, 5, 6, 8, 9, 9, 7, 8, 8, 8, 4, 7, 5, 7, 9, 8, 7, 7, 7, 7, 5, 4, 8, 6, 5, 10, 8, 6, 8, 6, 8, 5, 8, 10, 4, 6, 10, 9, 5, 9, 6, 9, 7, 7, 10, 3, 6, 9, 7, 5, 8, 9, 6, 6, 7, 9, 3, 5, 9, 6, 8, 7, 7, 7, 6, 9, 8, 4, 6, 10, 8, 8, 6, 8, 8, 6, 7, 8, 4, 8, 10, 8, 9, 5, 7, 7, 5, 6, 9, 4, 8, 9, 6, 9, 4, 5, 7, 7, 6, 9, 4, 8, 8, 6, 9, 4, 7, 9, 6, 6, 11, 7, 9, 8, 5, 9, 6, 7, 8, 6, 7, 9, 6, 4, 8, 5, 9, 6, 5, 8, 3, 9, 8, 7, 5, 10, 6, 8, 8, 6, 8, 4, 8, 8, 8, 7, 9, 7, 9, 7, 7, 5, 6, 6, 8, 7, 7, 9, 6, 10, 5, 7, 6, 7, 6, 8, 8, 7, 10, 4, 9, 4, 7, 7, 6, 6, 9, 9, 8, 7, 4, 8, 3, 9, 8, 6, 7, 11, 8, 7, 9, 5, 11, 4, 10, 7, 5, 6, 9, 6, 6, 8, 4, 10, 3, 10, 7, 3, 6, 9, 5, 6, 10, 4, 11, 5, 8, 8, 4, 8, 11, 5, 8, 11, 5, 10, 4, 7, 9, 4, 6, 11, 4, 8, 10, 3, 6, 4, 5, 11, 5, 6, 11, 6, 8, 8, 4, 7, 5, 5, 12, 6, 6, 11, 6, 7, 7, 5, 7, 5, 6, 12, 6, 4, 10, 7, 6, 8, 5, 7, 5, 7, 11, 6, 5, 9, 8, 5, 7, 6, 9, 5, 6, 11, 6, 5, 9, 8, 6, 9, 6, 5, 4, 5, 10, 6, 8, 9, 9, 8, 8, 6, 7, 4, 7, 9, 6, 10, 9, 9, 7, 6, 5, 5, 3, 5, 10, 7, 11, 5, 8, 8, 6, 5, 7, 5, 6, 11, 7, 11, 5, 9, 9, 6, 5, 6, 7, 4, 10, 5, 11, 7, 7, 10, 7, 6, 5, 4, 5, 7, 6, 10, 7, 9, 9, 8, 4, 5, 5, 4, 10, 6, 10, 10, 10, 9, 7, 6, 3, 3, 4, 10, 7, 9, 9, 8, 8, 6, 6, 4, 4, 6, 12, 9, 6, 10, 8, 7, 7, 6, 5, 6, 4, 11, 7, 5, 9, 9, 6, 7, 7, 4, 6, 3, 11, 7, 6, 10, 8, 8, 8, 6, 3, 7, 3, 8, 8, 7, 12, 10, 8, 8, 4, 3, 6, 5, 5, 9, 8, 12, 8, 7, 8, 4, 3, 5, 5, 6, 9, 9, 12, 9, 7, 7, 5, 2, 9, 5, 6, 7, 8, 10, 6, 7, 5, 7, 3, 10, 5, 7, 7, 8, 11, 7, 9, 8, 9, 5, 6, 5, 6, 5, 9, 9, 9, 7, 8, 5, 5, 4, 6, 6, 4, 10, 9, 10, 8, 7, 5, 4, 4, 6, 8, 6, 11, 10, 9, 9, 6, 7, 4, 6, 6, 8, 7, 9, 11, 6, 9, 5, 5, 4, 6, 7, 8, 6, 7, 9, 6, 8, 7, 7, 5, 8, 6, 8, 5, 8, 8, 8, 8, 7, 8, 5, 7, 5, 9, 5, 8, 7, 9, 9, 9, 7, 4, 6, 5, 9, 6, 9, 6, 11, 9, 8, 6, 4, 5, 5, 9, 4, 9, 7, 8, 8, 7, 4, 5, 5, 6, 8, 6, 8, 6, 8, 8, 8, 5, 6, 7, 9, 11, 6, 8, 7, 6, 8, 7, 6, 9, 7, 4, 10, 4, 7, 6, 6, 8, 6, 8, 6, 7, 3, 11, 6, 5, 8, 5, 10, 8, 6, 9, 5, 4, 10, 5, 7, 7, 8, 7, 8, 6, 8, 7, 4, 12, 5, 9, 7, 6, 8, 8, 7, 8, 6, 6, 12, 5, 8, 7, 5, 5, 6, 6, 7, 8, 7, 10, 4, 7, 7, 5, 4, 8, 6, 11, 5, 8, 11, 5, 11, 5, 6, 5, 10, 8, 9, 7, 6, 10, 5, 7, 7, 5, 6, 8, 5, 9, 4, 7, 7, 5, 7, 8, 5, 6, 9, 7, 12, 4, 6, 9, 9, 6, 7, 7, 4, 9, 6, 10, 5, 7, 12, 6, 6, 8, 7, 7, 4, 8, 8, 7, 7, 11, 7, 4, 9, 4, 4, 6, 8, 9, 6, 6, 11, 6, 6, 7, 4, 6, 7, 6, 9, 8, 7, 11, 4, 6, 8, 6, 6, 8, 8, 10, 10, 4, 11, 4, 9, 8, 3, 6, 6, 9, 8, 7, 5, 10, 4, 7, 7, 3, 7, 8, 5, 8, 8, 6, 12, 5, 8, 7, 4, 6, 7, 6, 10, 7, 5, 11, 8, 8, 7, 5, 5, 7, 6, 10, 6, 6, 10, 8, 4, 7, 5, 6, 8, 5, 10, 6, 7, 10, 7, 4, 8, 6, 5, 8, 8, 9, 7, 5, 9, 8, 5, 8, 6, 5, 9, 7, 10, 5, 6, 9, 7, 6, 5, 9, 6, 9, 5, 8, 6, 7, 9, 8, 7, 5, 8, 5, 7, 5, 9, 6, 6, 9, 7, 8, 6, 6, 7, 6, 5, 9, 7, 9, 9, 8, 7, 6, 8, 7, 6, 4, 10, 8, 7, 10, 5, 7, 6, 7, 7, 6, 8, 11, 7, 5, 7, 6, 6, 7, 6, 7, 6, 7, 10, 6, 7, 7, 7, 5, 8, 7, 8, 7, 6, 10, 6, 7, 5, 7, 7, 7, 6, 7, 6, 7, 9, 8, 7, 6, 9, 7, 9, 4, 9, 5, 6, 7, 7, 8, 6, 8, 6, 5, 5, 8, 3, 8, 8, 9, 7, 7, 6, 7, 7, 6, 8, 4, 11, 9, 9, 7, 7, 6, 7, 6, 6, 7, 5, 11, 8, 7, 7, 7, 5, 7, 4, 7, 6, 6, 10, 8, 7, 6, 7, 4, 9, 4, 8, 6, 6, 9, 9, 6, 9, 7, 7, 9, 4, 8, 5, 8, 6, 10, 5, 10, 7, 7, 7, 3, 8, 4, 5, 5, 12, 5, 11, 7, 6, 6, 5, 6, 4, 5, 8, 12, 6, 12, 7, 6, 6, 7, 6, 5, 7, 8, 12, 5, 12, 8, 5, 8, 5, 5, 5, 7, 8, 9, 7, 9, 6, 5, 8, 6, 3, 8, 6, 5, 10, 8, 9, 5, 8, 7, 6, 5, 9, 5, 5, 9, 8, 9, 7, 10, 6, 5, 5, 8, 3, 7, 9, 9, 10, 8, 7, 6, 5, 5, 6, 3, 8, 8, 9, 10, 7, 6, 8, 3, 5, 6, 4, 8, 8, 9, 11, 9, 6, 8, 4, 6, 8, 7, 8, 7, 8, 11, 7, 5, 9, 4, 8, 6, 5, 4, 7, 7, 9, 8, 4, 9, 3, 8, 5, 6, 5, 8, 6, 10, 10, 7, 9, 5, 7, 7, 7, 5, 10, 6, 12, 10, 8, 6, 7, 3, 5, 5, 5, 8, 6, 11, 8, 7, 6, 7, 3, 6, 6, 7, 8, 7, 11, 9, 7, 6, 7, 3, 8, 6, 7, 7, 7, 10, 9, 6, 6, 9, 4, 8, 5, 7, 8, 6, 10, 9, 7, 6, 9, 5, 8, 6, 7, 8, 4, 8, 10, 7, 5, 8, 4, 7, 3, 7, 8, 5, 10, 9, 8, 5, 8, 5, 8, 4, 8, 9, 4, 10, 9, 8, 7, 7, 5, 7, 4, 8, 8, 3, 10, 8, 4, 7, 5, 7, 7, 5, 8, 8, 4, 10, 8, 3, 10, 7, 7, 9, 6, 9, 8, 4, 9, 5, 5, 10, 6, 7, 8, 7, 5, 6, 4, 10, 8, 5, 12, 6, 8, 9, 5, 8, 6, 6, 9, 8, 4, 11, 6, 7, 5, 4, 7, 6, 5, 7, 9, 4, 9, 5, 8, 6, 7, 8, 8, 5, 9, 9, 3, 9, 5, 10, 5, 10, 7, 8, 7, 7, 7, 4, 8, 5, 8, 7, 7, 8, 8, 5, 8, 5, 6, 5, 6, 8, 8, 10, 7, 8, 7, 5, 7, 6, 7, 8, 9, 6, 7, 8, 7, 8, 4, 7, 6, 6, 7, 8, 7, 10, 9, 5, 10, 3, 8, 8, 5, 7, 7, 7, 9, 7, 5, 10, 5, 6, 6, 6, 5, 8, 8, 9, 8, 6, 12, 3, 6, 7, 5, 6, 7, 10, 10, 8, 6, 10, 4, 6, 6, 6, 5, 10, 8, 9, 7, 5, 11, 4, 7, 4, 7, 6, 10, 6, 9, 7, 6, 10, 5, 7, 6, 8, 5, 9, 5, 9, 7, 7, 9, 7, 5, 6, 8, 6, 9, 5, 10, 6, 9, 9, 8, 5, 5, 8, 3, 9, 6, 10, 8, 7, 9, 7, 5, 6, 8, 3, 9, 7, 10, 7, 8, 8, 7, 5, 4, 7, 4, 10, 7, 9, 6, 8, 7, 8, 5, 6, 9, 5, 10, 7, 9, 5, 9, 7, 7, 7, 6, 9, 5, 8, 6, 7, 5, 7, 7, 8, 6, 6, 8, 7, 6, 7, 8, 5, 9, 7, 9, 6, 6, 8, 6, 5, 7, 9, 7, 9, 7, 8, 7, 6, 7, 7, 5, 9, 9, 7, 8, 7, 7, 7, 6, 5, 7, 4, 9, 8, 6, 8, 7, 6, 6, 8, 6, 8, 6, 8, 9, 5, 6, 7, 5, 8, 8, 7, 8, 7, 10, 10, 6, 6, 8, 5, 8, 9, 6, 8, 6, 7, 8, 3, 6, 8, 4, 7, 7, 8, 6, 7, 7, 10, 4, 6, 10, 4, 9, 9, 7, 5, 7, 8, 9, 7, 6, 9, 5, 6, 9, 7, 6, 10, 6, 9, 5, 7, 6, 5, 6, 5, 9, 4, 9, 6, 9, 8, 5, 7, 4, 8, 5, 11, 7, 8, 9, 7, 7, 4, 6, 6, 5, 7, 9, 8, 6, 9, 7, 5, 9, 6, 7, 8, 8, 10, 7, 6, 7, 7, 6, 7, 5, 6, 8, 5, 9, 6, 5, 8, 6, 8, 6, 9, 6, 6, 5, 7, 9, 5, 8, 8, 8, 7, 8, 4, 7, 8, 8, 9, 7, 7, 8, 7, 4, 9, 2, 7, 7, 6, 8, 8, 8, 5, 8, 3, 9, 4, 7, 8, 9, 11, 7, 7, 7, 7, 5, 8, 5, 7, 8, 7, 7, 7, 7, 7, 5, 6, 7, 5, 9, 6, 7, 9, 8, 6, 6, 9, 7, 9, 7, 6, 7, 6, 9, 5, 9, 8, 8, 8, 6, 5, 6, 7, 5, 8, 8, 8, 8, 7, 6, 7, 5, 6, 7, 8, 8, 9, 7, 8, 7, 7, 7, 4, 8, 7, 10, 7, 6, 8, 7, 5, 8, 6, 5, 9, 8, 8, 7, 8, 5, 7, 5, 9, 7, 5, 9, 6, 9, 5, 7, 6, 7, 8, 8, 8, 4, 9, 6, 9, 6, 7, 8, 7, 9, 7, 7, 4, 8, 4, 7, 8, 7, 7, 8, 8, 6, 7, 4, 7, 5, 10, 8, 8, 6, 6, 8, 5, 6, 5, 10, 7, 10, 7, 7, 6, 7, 8, 5, 9, 6, 8, 6, 9, 6, 8, 4, 6, 8, 7, 7, 7, 7, 7, 8, 5, 8, 5, 8, 9, 6, 8, 7, 6, 8, 6, 5, 8, 8, 6, 9, 6, 8, 6, 6, 8, 6, 6, 9, 8, 6, 9, 6, 9, 4, 7, 7, 6, 6, 9, 8, 6, 10, 4, 7, 6, 7, 7, 7, 7, 8, 5, 6, 7, 5, 8, 9, 6, 7, 8, 7, 8, 7, 6, 8, 6, 8, 9, 7, 8, 8, 5, 5, 6, 6, 8, 6, 8, 9, 6, 7, 5, 8, 6, 8, 7, 8, 7, 8, 8, 4, 8, 6, 6, 7, 7, 7, 9, 7, 7, 8, 6, 7, 6, 7, 6, 8, 8, 8, 5, 6, 8, 5, 9, 6, 7, 6, 7, 7, 8, 8, 7, 9, 7, 9, 6, 6, 6, 7, 6, 8, 8, 7, 8, 6, 10, 4, 5, 6, 8, 7, 10, 7, 7, 10, 5, 9, 5, 5, 7, 7, 6, 9, 8, 8, 9, 4, 8, 6, 3, 7, 7, 8, 8, 7, 7, 7, 6, 8, 7, 5, 8, 8, 7, 7, 7, 7, 9, 6, 8, 6, 6, 6, 6, 7, 6, 8, 6, 9, 6, 9, 7, 5, 8, 5, 7, 6, 8, 6, 9, 8, 8, 6, 5, 7, 6, 7, 7, 8, 8, 9, 7, 9, 6, 6, 8, 5, 8, 7, 8, 6, 7, 7, 7, 8, 6, 7, 7, 8, 6, 6, 8, 6, 7, 6, 6, 7, 7, 7, 7, 7, 7, 8, 8, 7, 8, 8, 8, 8, 7, 6, 7, 6, 9, 7, 7, 8, 6, 6, 7, 6, 6, 7, 5, 10, 8, 6, 9, 6, 6, 8, 6, 5, 7, 7, 9, 8, 6, 9, 5, 7, 8, 6, 6, 9, 7, 9, 9, 6, 8, 5, 6, 7, 7, 4, 8, 6, 7, 10, 6, 8, 6, 8, 7, 6, 5, 8, 7, 7, 9, 5, 7, 9, 6, 7, 6, 4, 8, 5, 8, 8, 8, 8, 8, 8, 6, 8, 5, 9, 7, 8, 9, 6, 8, 7, 8, 7, 7, 5, 7, 8, 7, 7, 6, 8, 5, 6, 6, 7, 5, 7, 8, 8, 6, 6, 8, 5, 8, 8, 8, 6, 8, 8, 9, 7, 9, 9, 5, 9, 7, 5, 5, 7, 6, 7, 6, 8, 9, 5, 8, 5, 5, 8, 6, 6, 8, 8, 9, 9, 6, 7, 8, 5, 7, 7, 5, 9, 6, 9, 8, 5, 8, 6, 5, 7, 9, 5, 8, 7, 7, 11, 5, 8, 9, 5, 9, 8, 4, 7, 8, 8, 8, 6, 5, 9, 6, 5, 9, 3, 7, 6, 5, 9, 5, 6, 10, 7, 7, 9, 8, 8, 8, 8, 8, 7, 5, 10, 6, 7, 8, 5, 7, 6, 8, 6, 6, 5, 9, 6, 6, 7, 7, 8, 7, 9, 8, 6, 7, 8, 6, 8, 7, 9, 6, 7, 8, 6, 7, 7, 8, 5, 9, 4, 7, 7, 6, 7, 7, 7, 8, 7, 5, 9, 5, 9, 8, 8, 7, 6, 8, 8, 8, 4, 8, 5, 7, 7, 7, 7, 5, 7, 5, 8, 6, 7, 8, 8, 8, 6, 8, 6, 7, 8, 7, 7, 9, 6, 9, 6, 8, 7, 6, 7, 5, 8, 4, 9, 5, 9, 5, 8, 9, 4, 7, 5, 7, 7, 7, 6, 9, 6, 9, 9, 8, 6, 7, 7, 6, 9, 7, 8, 5, 9, 8, 7, 6, 6, 7, 6, 7, 6, 9, 6, 7, 9, 7, 6, 7, 7, 6, 6, 8, 6, 7, 7, 8, 7, 6, 7, 5, 5, 8, 6, 8, 6, 7, 10, 7, 8, 8, 7, 7, 8, 5, 8, 6, 7, 9, 7, 8, 7, 5, 5, 6, 5, 8, 6, 7, 7, 8, 8, 6, 6, 6, 7, 7, 8, 7, 7, 9, 8, 5, 9, 7, 8, 6, 7, 7, 6, 7, 7, 8, 6, 10, 6, 7, 7, 6, 8, 5, 5, 8, 8, 7, 10, 7, 6, 7, 7, 6, 7, 5, 9, 7, 8, 8, 6, 7, 5, 6, 7, 7, 7, 7, 9, 7, 9, 8, 7, 7, 8, 9, 6, 8, 6, 7, 9, 5, 7, 6, 7, 6, 6, 5, 6, 4, 10, 5, 6, 6, 8, 6, 7, 10, 8, 8, 6, 7, 7, 9, 7, 7, 8, 6, 9, 6, 8, 7, 6, 9, 7, 5, 8, 6, 5, 7, 6, 7, 7, 7, 7, 6, 7, 7, 7, 7, 7, 7, 6, 8, 6, 9, 8, 8, 6, 7, 8, 5, 8, 5, 7, 6, 9, 6, 8, 9, 8, 7, 6, 8, 6, 8, 7, 8, 8, 6, 5, 8, 5, 7, 7, 5, 7, 5, 9, 7, 7, 5, 8, 6, 6, 6, 6, 9, 7, 9, 7, 8, 7, 6, 7, 6, 7, 9, 6, 7, 8, 7, 9, 8, 7, 7, 7, 5, 8, 6, 6, 8, 5, 6, 6, 7, 7, 8, 5, 6, 6, 7, 6, 8, 8, 10, 7, 8, 7, 5, 7, 6, 8, 8, 9, 6, 10, 6, 7, 9, 5, 7, 6, 7, 7, 7, 6, 8, 6, 7, 8, 5, 6, 7, 6, 6, 8, 6, 7, 5, 7, 6, 7, 8, 6, 10, 5, 9, 7, 7, 7, 6, 7, 6, 7, 7, 10, 6, 10, 8, 8, 8, 8, 6, 7, 7, 5, 9, 6, 6, 8, 8, 5, 8, 5, 7, 5, 3, 8, 6, 6, 9, 7, 6, 9, 8, 6, 8, 6, 9, 8, 6, 9, 7, 7, 8, 8, 7, 7, 5, 7, 8, 8, 9, 7, 6, 8, 7, 7, 7, 5, 7, 6, 6, 8, 8, 5, 8, 7, 4, 7, 6, 7, 8, 7, 7, 9, 6, 7, 7, 8, 8, 7, 7, 8, 6, 9, 8, 7, 8, 7, 7, 7, 5, 8, 7, 7, 7, 6, 7, 6, 7, 7, 8, 7, 6, 7, 4, 7, 7, 6, 9, 8, 7, 9, 6, 8, 7, 8, 8, 7, 6, 6, 8, 6, 10, 6, 10, 7, 6, 8, 6, 6, 6, 6, 6, 7, 5, 8, 7, 9, 9, 7, 6, 8, 5, 6, 7, 5, 7, 6, 8, 8, 6, 9, 7, 6, 8, 7, 6, 8, 4, 7, 9, 7, 8, 7, 7, 9, 9, 8, 8, 7, 8, 6, 5, 7, 6, 7, 6, 7, 7, 7, 7, 6, 6, 7, 7, 5, 7, 7, 8, 9, 8, 7, 6, 8, 6, 7, 6, 8, 7, 7, 8, 7, 9, 9, 8, 6, 6, 6, 5, 8, 6, 7, 8, 6, 7, 6, 7, 7, 6, 7, 7, 7, 6, 7, 5, 9, 9, 6, 9, 6, 8, 7, 6, 7, 6, 6, 6, 5, 6, 9, 7, 9, 7, 8, 8, 7, 6, 7, 6, 6, 7, 5, 7, 6, 9, 9, 9, 6, 7, 7, 5, 6, 4, 7, 6, 7, 8, 10, 8, 7, 8, 5, 8, 6, 6, 7, 7, 8, 9, 7, 6, 10, 7, 6, 7
SampleEnd:

VdpData:
.db $04,$80,$84,$81,$ff,$82,$ff,$85,$ff,$86,$ff,$87,$00,$88,$00,$89,$ff,$8a
VdpDataEnd:

0 comments: