From 8793f7a02c1bfa1d6fb2a7a40d1e3b5eedb4ca0e Mon Sep 17 00:00:00 2001 From: Carlos Paniagua Date: Wed, 6 Nov 2024 19:28:51 -0500 Subject: [PATCH 1/6] feat: add impose_minima test for image processing --- test/test-img-processing.jl | 17 ++++++++++++++--- 1 file changed, 14 insertions(+), 3 deletions(-) diff --git a/test/test-img-processing.jl b/test/test-img-processing.jl index b95156c4..82308a55 100644 --- a/test/test-img-processing.jl +++ b/test/test-img-processing.jl @@ -1,6 +1,10 @@ -using ZipFile -using DelimitedFiles: readdlm -using IceFloeTracker: imgradientmag, to_uint8, imbinarize, adjustgamma, get_holes, se_disk4 +using IceFloeTracker: + imgradientmag, + to_uint8, + imbinarize, + adjustgamma, + get_holes, + impose_minima @testset "misc. image processing" begin r = ZipFile.Reader("test_inputs/coins.zip") @@ -24,4 +28,11 @@ using IceFloeTracker: imgradientmag, to_uint8, imbinarize, adjustgamma, get_hole bw = coins .> 100 @test sum(get_holes(bw)) == 2536 end + + @testset "impose_minima" begin + img = readdlm("test_inputs/imposemin.csv", ',', Int) + marker = falses(size(img)) + marker[65:70, 65:70] .= true + @test sum(impose_minima(img, marker)) == 7675653 + end end From 9be17962b35fd32d168ee4e87bd60b66a494478a Mon Sep 17 00:00:00 2001 From: Carlos Paniagua Date: Wed, 6 Nov 2024 19:31:29 -0500 Subject: [PATCH 2/6] feat: impose_minima --- src/utils.jl | 35 ++++++++++++++++++++++++++++++----- 1 file changed, 30 insertions(+), 5 deletions(-) diff --git a/src/utils.jl b/src/utils.jl index f72b1152..40584dc1 100644 --- a/src/utils.jl +++ b/src/utils.jl @@ -120,6 +120,31 @@ function imextendedmin(img::AbstractArray; h::Int=2, conn::Int=2)::BitMatrix return Bool.(mask_minima) end +function impose_minima(I::AbstractArray{T}, BW::AbstractArray{Bool}) where {T<:Integer} + marker = 255 .* BW + mask = imcomplement(min.(I .+ 1, 255 .- marker)) + reconstructed = sk_morphology.reconstruction(marker, mask) + return IceFloeTracker.imcomplement(Int.(reconstructed)) +end + +function impose_minima( + I::AbstractArray{T}, BW::AbstractMatrix{Bool} +) where {T<:AbstractFloat} + # compute shift + a, b = extrema(I) + rng = b - a + h = rng == 0 ? 0.1 : rng / 1000 + + marker = -Inf * BW .+ (Inf * .!BW) + mask = min.(I .+ h, marker) + + return 1 .- sk_morphology.reconstruction(1 .- marker, 1 .- mask) +end + +function imregionalmin(A, conn=2) + return ImageMorphology.local_minima(A; connectivity=conn) .> 0 +end + """ bwdist(bwimg) @@ -142,11 +167,11 @@ function padnhood(img, I, nhood) tofill = SizedMatrix{3,3}(zeros(Int, 3, 3)) @views if I == CartesianIndex(1, 1) # top left corner` tofill[2:3, 2:3] = img[nhood] - elseif I == CartesianIndex(maxr, 1) # bottom left corner + elseif I == CartesianIndex(maxr, 1) # bottom left corner tofill[1:2, 2:3] = img[nhood] - elseif I == CartesianIndex(1, maxc) # top right corner + elseif I == CartesianIndex(1, maxc) # top right corner tofill[2:3, 1:2] = img[nhood] - elseif I == CartesianIndex(maxr, maxc) # bottom right corner + elseif I == CartesianIndex(maxr, maxc) # bottom right corner tofill[1:2, 1:2] = img[nhood] elseif I[1] == 1 # top edge (first row) tofill[2:3, 1:3] = img[nhood] @@ -169,10 +194,10 @@ Get decimal representation of a bit vector `v` with the leading bit at its leftm Example ``` -julia> _bin9todec([0 0 0 0 0 0 0 0 0]) +julia> _bin9todec([0 0 0 0 0 0 0 0 0]) 0 -julia> _bin9todec([1 1 1 1 1 1 1 1 1]) +julia> _bin9todec([1 1 1 1 1 1 1 1 1]) 511 ``` """ From c50679bfb121b50c37b4772098801480e58f432c Mon Sep 17 00:00:00 2001 From: Carlos Paniagua Date: Wed, 6 Nov 2024 20:14:05 -0500 Subject: [PATCH 3/6] fix: add ZipFile --- test/runtests.jl | 1 + 1 file changed, 1 insertion(+) diff --git a/test/runtests.jl b/test/runtests.jl index f6018fc8..b883ae1d 100644 --- a/test/runtests.jl +++ b/test/runtests.jl @@ -9,6 +9,7 @@ using Random using Test using TestImages using TiledIteration +using ZipFile include("test_error_rate.jl") include("config.jl") From 2849e8da621b0577119718dc304102cacb2ba6be Mon Sep 17 00:00:00 2001 From: Carlos Paniagua Date: Wed, 6 Nov 2024 20:54:13 -0500 Subject: [PATCH 4/6] fix: add test file --- test/test_inputs/imposemin.csv | 181 +++++++++++++++++++++++++++++++++ 1 file changed, 181 insertions(+) create mode 100644 test/test_inputs/imposemin.csv diff --git a/test/test_inputs/imposemin.csv b/test/test_inputs/imposemin.csv new file mode 100644 index 00000000..c7ba630c --- /dev/null +++ b/test/test_inputs/imposemin.csv @@ -0,0 +1,181 @@ +118,122,125,126,128,129,130,133,137,139,139,137,135,134,134,133,137,135,134,134,135,135,133,130,131,125,121,120,116,113,107,100,90,74,60,46,38,34,23,21,14,9,1,0,0,0,0,0,0,1,4,4,3,1,3,1,3,3,3,3,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,0,7,18,33,40,51,60,62,55,47,39,39,39,42,55,68,78,87,91,101,111,113,116,121,126,133,138,142,142,141,141,142,141,142,144,146,147,150,154,157,161,164,167,167,169,173,177,176,177,178,178,182,183,185,183,186,187,187,186,185,185,185,183,185,186,185,183,183,183,181,181,176,174,174,172,168,165,161,160,155,148,138,130,120,105,100,107,111,113,112,109,109,103,98,99,108,113,118,125,130,135,143,147,148,151,154,156,156,156,152,148,150,144,144,147,146,146,146,142,139,135,133,128,113,99,82,72,62,59,47,31,18,12,10,9,7,4,0,0,0,0,0,0,0,0,1,1,1,3,3,4,1,3,3,4,3,4,5,8,9,16,23,44,66,87,103,118,133,152,163,172,178,190,190,198,203,204,207,207,208,209,212,215,213,216,217,215,216,220,224,224,222,221,220,222,224,225,225,225,226,226 +118,121,125,126,129,130,131,133,135,137,138,137,137,137,135,135,137,135,133,133,134,134,131,130,129,124,121,121,117,113,107,95,88,70,57,46,38,33,22,18,9,5,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,3,3,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,10,25,38,44,53,62,62,53,44,36,36,39,43,59,70,79,86,91,101,111,116,121,122,129,135,141,142,143,143,144,146,144,146,147,148,150,152,156,159,163,168,169,170,172,173,176,180,181,182,182,183,185,185,183,185,187,189,187,186,186,186,186,187,189,187,186,185,185,182,180,178,178,177,174,169,165,163,160,155,147,138,130,120,105,99,105,108,112,112,111,111,105,100,100,108,112,120,125,130,135,141,146,146,148,152,155,156,156,154,150,150,144,146,147,146,147,147,143,138,135,133,125,111,95,81,68,61,56,44,30,17,12,9,9,5,3,0,0,0,0,0,0,0,0,1,1,3,3,3,4,1,3,4,4,4,4,5,7,12,16,23,44,68,87,103,120,137,155,163,170,177,186,191,200,203,204,207,209,208,208,212,219,209,213,215,216,217,220,220,219,220,220,220,221,222,224,225,228,224,224 +120,122,125,126,129,129,130,131,134,137,138,138,137,137,138,138,141,139,137,134,133,133,134,135,126,124,121,121,117,116,111,100,88,68,55,44,35,31,21,16,7,3,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,5,17,31,44,49,59,65,61,52,44,36,36,39,44,61,72,82,88,94,101,108,117,124,128,133,139,143,144,144,146,147,147,147,150,150,150,151,156,159,163,165,169,173,176,177,177,177,178,182,185,185,183,185,185,185,186,189,190,190,189,189,189,189,187,187,187,185,183,183,182,180,178,178,177,173,169,167,163,159,155,148,139,131,120,105,100,104,107,112,112,111,111,107,101,101,99,105,118,128,133,137,139,141,146,148,152,154,155,155,152,151,150,146,146,147,147,148,148,143,137,134,133,125,108,94,79,68,61,56,43,29,16,12,8,8,3,1,0,1,0,0,0,0,0,0,1,3,1,1,3,3,3,4,5,5,5,5,8,9,13,16,23,46,68,87,103,120,138,156,165,173,177,186,191,202,203,203,207,211,209,209,215,221,213,215,219,220,221,221,220,219,216,219,220,220,220,221,224,225,222,224 +125,126,129,129,128,128,128,129,134,137,138,138,137,138,139,139,142,141,138,135,131,131,133,134,129,124,121,118,114,113,107,98,83,60,48,42,33,29,20,12,5,1,0,0,0,0,0,0,0,0,1,0,0,0,1,4,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,8,21,34,47,53,60,61,59,52,46,38,38,40,46,62,72,83,91,98,105,112,117,124,133,137,143,143,144,143,144,146,147,147,150,150,152,155,159,161,164,167,170,174,178,180,181,181,180,182,185,185,185,186,189,189,189,191,190,189,187,187,187,187,189,189,187,185,185,183,182,180,178,178,177,173,170,169,164,160,155,148,139,131,120,105,98,103,108,112,112,109,111,107,103,103,100,108,118,125,133,134,138,141,147,150,152,154,154,154,152,151,150,146,147,147,147,148,148,143,138,133,130,124,108,91,79,69,62,55,42,26,16,10,8,7,1,0,0,0,0,0,0,0,0,0,0,0,0,1,1,3,3,4,5,7,8,8,10,12,14,17,25,48,72,91,105,124,137,157,167,176,180,186,190,200,203,203,207,211,211,211,213,219,216,216,219,219,217,219,219,219,219,221,222,221,220,221,222,222,221,222 +128,129,129,128,128,128,129,129,134,137,137,137,135,137,139,141,141,139,137,135,133,133,131,131,131,126,122,118,113,111,101,91,74,53,46,40,29,25,16,9,4,1,0,0,1,1,0,1,1,1,3,1,1,1,3,3,1,1,1,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,10,23,35,46,55,59,57,53,47,44,40,40,44,52,68,75,85,92,99,109,113,120,126,131,137,142,143,141,141,143,146,144,146,148,148,151,156,160,164,165,168,169,172,174,177,181,183,180,181,182,183,185,189,190,189,189,189,189,187,189,190,189,187,189,189,190,187,186,186,185,183,178,178,176,172,169,169,167,160,154,147,138,130,118,104,98,103,108,113,112,108,109,107,104,104,107,111,117,122,126,131,138,143,146,148,152,154,152,154,154,152,148,147,147,147,146,148,146,141,137,130,128,121,104,87,74,66,60,53,42,27,14,10,8,5,4,0,0,0,0,0,0,0,0,0,0,0,0,0,1,3,1,4,5,7,8,8,12,13,16,18,29,55,79,99,113,130,141,159,168,177,182,187,191,200,200,202,204,208,211,211,211,212,217,216,217,217,216,216,217,220,221,222,222,221,222,224,225,224,221,221 +129,129,129,129,129,129,131,131,131,134,134,134,134,137,139,141,139,138,137,137,137,137,133,130,129,126,124,121,117,113,100,86,70,51,46,40,26,21,13,8,3,0,1,1,3,1,0,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,14,27,36,47,56,59,56,49,44,43,40,46,49,57,73,81,87,92,99,109,114,121,126,130,135,139,142,139,139,142,146,143,144,144,146,151,156,163,165,169,170,170,172,172,174,181,183,180,181,180,182,186,190,189,186,186,187,189,187,189,191,190,189,187,187,187,186,185,186,185,183,180,181,176,172,170,170,167,160,154,148,138,130,118,105,99,105,108,113,112,108,109,108,107,107,101,108,116,121,128,133,139,143,146,148,151,152,152,155,155,155,148,147,148,147,144,146,146,138,137,129,124,117,101,82,69,64,56,52,42,29,16,10,8,8,4,1,0,0,0,0,0,0,0,0,0,0,0,0,1,3,3,4,4,5,8,8,12,14,13,17,30,57,83,103,116,134,148,163,168,177,181,190,195,206,203,204,207,209,212,213,212,209,216,216,216,217,217,216,217,220,217,219,219,219,222,226,224,221,222,221 +129,130,133,133,131,129,129,130,130,133,134,134,135,138,138,137,137,137,135,135,134,135,134,135,131,126,122,121,120,114,99,81,66,52,40,38,27,21,13,7,0,0,1,1,1,1,1,1,1,1,1,0,0,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,3,3,13,29,43,53,57,57,53,44,47,46,44,51,56,66,78,85,90,98,99,105,116,125,129,135,137,139,143,144,143,142,141,141,138,142,151,154,154,159,165,167,168,170,173,176,177,180,181,183,185,186,186,187,189,190,190,193,190,187,186,187,189,189,189,191,190,187,186,185,183,182,181,183,180,178,177,176,170,165,161,157,150,138,131,122,108,100,104,107,109,109,108,108,105,101,98,103,104,112,121,128,133,138,144,143,147,150,152,156,159,157,151,148,148,147,147,148,148,142,137,134,133,131,112,98,78,69,62,59,53,43,27,13,7,5,7,5,4,1,0,0,0,0,0,0,0,0,0,1,3,3,4,0,3,5,8,9,9,9,9,17,21,33,60,82,107,122,137,150,159,164,174,182,191,191,198,200,204,207,207,209,213,217,216,213,216,215,215,216,216,217,221,221,220,220,221,221,220,220,220,224,228 +129,130,131,131,131,130,130,131,130,133,134,134,135,137,137,137,135,135,135,135,134,134,133,133,129,125,120,118,114,109,94,74,60,48,39,34,23,16,8,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,3,3,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,4,4,14,29,42,52,59,57,52,48,49,47,44,51,62,73,83,90,94,101,105,112,118,125,129,135,137,138,142,143,143,144,146,144,141,138,143,154,161,164,165,168,169,170,173,176,178,180,181,182,183,185,186,187,189,189,190,190,190,189,189,189,190,191,191,191,191,189,187,187,186,185,183,182,183,181,176,172,170,167,163,156,150,139,133,121,107,100,107,108,109,111,109,108,107,104,100,100,103,112,121,128,131,137,143,143,146,148,151,156,159,155,150,147,148,148,148,147,146,141,138,135,133,130,111,94,73,65,60,56,52,43,29,14,9,7,7,5,4,0,0,0,0,0,0,0,0,0,0,0,1,3,3,3,4,5,7,8,8,8,9,17,20,34,62,85,107,122,138,147,159,165,176,181,191,194,199,202,204,207,207,211,215,217,215,217,219,216,213,215,212,212,216,219,219,220,221,221,221,221,221,222,226 +124,125,128,129,130,130,130,130,129,131,134,135,135,137,137,135,134,134,134,135,134,134,133,133,130,126,121,117,111,103,88,70,56,46,36,31,22,13,8,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,3,3,3,1,1,1,0,1,0,1,3,3,0,0,0,0,0,0,0,0,0,0,3,5,13,23,34,42,49,56,53,46,47,51,47,46,55,69,79,86,95,99,105,112,118,122,126,130,133,135,138,141,142,144,147,150,147,144,139,142,154,164,168,164,168,169,172,176,178,180,181,182,182,183,186,187,187,189,189,189,191,191,191,193,194,194,194,194,189,189,189,187,187,186,185,183,182,185,182,174,169,170,169,164,155,150,141,131,120,105,100,109,107,108,108,108,107,105,103,101,95,98,108,120,126,128,133,139,144,148,148,151,155,157,155,151,150,152,152,151,148,146,142,141,134,130,126,108,91,68,61,59,53,49,39,29,17,12,8,8,7,4,0,0,0,0,0,0,0,0,0,0,0,0,3,3,5,5,5,5,7,8,9,9,18,21,35,66,90,112,125,141,147,163,170,177,182,194,195,202,200,204,206,207,212,215,217,216,216,219,216,215,213,211,211,215,215,217,220,221,221,220,221,222,221,225 +117,120,122,125,128,130,130,129,130,131,133,133,134,135,135,135,133,133,134,135,137,137,137,137,134,129,125,118,109,100,85,66,52,44,35,30,21,14,8,4,0,0,0,0,0,0,0,1,1,1,1,1,3,3,3,4,4,4,1,0,1,1,3,4,4,4,4,3,1,0,0,0,0,0,0,0,0,0,4,7,20,30,40,44,48,49,47,39,44,49,48,48,62,75,83,86,96,99,107,117,124,125,129,133,133,137,139,141,142,144,150,152,147,147,147,148,155,163,167,167,168,170,173,177,178,181,182,182,183,185,187,189,189,190,190,190,193,193,194,194,194,194,193,193,189,189,189,189,187,186,183,182,185,183,181,174,170,170,167,163,156,150,139,130,117,104,99,108,107,108,108,108,107,105,103,100,95,95,103,116,126,129,133,138,146,148,151,154,156,157,156,152,152,154,155,154,150,147,144,142,134,126,124,107,91,68,61,60,51,47,36,25,16,12,9,8,7,5,1,0,0,0,0,0,0,0,0,0,0,0,4,4,5,5,5,5,8,8,9,9,17,21,39,72,95,114,129,143,148,164,172,181,185,196,198,202,203,206,208,209,212,215,216,215,215,216,215,213,212,209,208,212,211,215,219,219,219,219,220,221,221,224 +112,117,122,125,128,130,130,130,130,130,130,131,133,134,135,137,135,135,137,138,141,141,139,138,135,131,126,117,105,95,79,62,49,40,31,26,17,13,8,0,0,0,0,0,0,0,0,0,1,1,3,3,4,5,5,5,4,4,3,3,0,0,1,3,5,5,5,5,4,3,0,0,0,0,0,1,0,1,7,9,17,30,43,46,47,47,46,42,46,53,55,56,69,82,90,90,98,100,108,118,125,126,129,133,134,138,141,142,142,144,148,150,151,150,152,155,160,161,165,169,168,169,173,177,178,180,181,182,185,186,189,190,191,191,191,191,191,191,191,193,193,191,190,189,190,190,190,190,189,187,185,183,186,181,177,177,176,170,164,161,157,150,138,128,116,103,99,105,107,109,111,111,109,108,104,100,99,95,99,113,128,133,135,139,144,146,150,152,156,157,157,155,152,152,151,151,150,147,143,138,134,126,120,105,91,69,60,59,49,44,33,21,12,9,8,8,7,5,3,1,0,0,0,0,0,0,0,0,0,1,3,3,3,3,4,5,8,8,8,7,13,22,40,73,96,117,130,146,151,164,173,181,186,195,195,199,207,211,212,212,211,211,212,213,216,216,215,212,209,202,198,203,209,215,219,217,216,217,220,221,221,222 +111,117,124,125,126,129,130,129,129,128,128,130,134,135,135,138,135,135,135,137,139,139,138,137,134,131,126,117,104,92,78,61,48,38,30,23,14,10,5,0,1,0,0,0,0,0,0,0,1,1,3,3,4,4,4,4,4,4,4,3,3,3,3,4,7,7,7,5,5,4,1,1,1,0,0,1,0,1,7,10,18,31,44,47,44,42,42,42,49,56,59,62,73,85,92,96,100,104,112,120,125,128,130,133,135,139,143,143,143,147,151,151,156,151,151,156,161,164,168,169,169,170,173,177,177,180,180,181,186,187,189,190,191,191,193,193,190,190,190,191,193,193,193,191,193,191,190,190,189,187,186,183,187,180,176,178,178,172,163,161,157,150,137,128,117,104,99,105,107,109,112,112,109,108,104,100,99,92,95,111,125,131,135,139,142,144,147,152,155,155,154,152,152,151,148,148,148,147,142,135,135,126,118,101,87,68,57,53,47,40,27,16,7,5,7,7,5,4,1,0,0,0,0,0,0,0,0,0,0,1,1,1,3,1,3,4,8,8,8,7,12,23,44,74,98,120,133,146,155,167,173,183,189,195,195,202,204,207,211,211,211,209,212,215,216,216,216,213,208,199,196,202,208,213,217,216,216,217,220,221,221,222 +109,117,124,125,125,128,129,129,129,129,130,133,134,133,134,135,134,134,134,135,137,138,137,134,133,131,126,117,103,91,77,61,48,39,29,21,10,8,5,0,0,0,0,0,0,0,0,1,1,3,4,4,4,4,4,4,4,5,5,5,4,5,4,5,5,5,7,7,5,4,3,1,1,0,0,0,0,1,9,14,23,34,44,47,43,38,39,42,49,57,64,69,79,87,94,100,104,111,117,122,125,129,134,135,138,143,143,144,147,152,156,155,154,152,155,157,165,170,172,170,172,174,176,178,181,181,181,181,185,186,187,189,190,191,190,191,191,191,191,193,194,195,195,195,193,191,191,190,189,187,186,186,186,181,177,178,178,173,168,165,160,151,138,129,120,105,100,105,107,109,111,111,109,107,104,101,96,90,95,108,121,126,130,137,141,143,146,151,155,154,152,152,152,151,148,147,148,148,142,138,133,128,117,95,79,62,56,51,44,36,22,12,4,4,5,5,4,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,1,1,3,7,8,7,7,10,29,52,78,99,122,137,147,159,169,177,187,191,195,196,206,204,204,207,209,212,213,215,216,215,215,213,212,208,202,200,208,208,212,215,213,213,217,220,220,220,221 +112,121,129,129,128,129,130,130,130,130,131,135,135,133,131,133,131,131,131,133,135,137,135,134,131,129,125,116,101,90,75,61,46,39,29,20,8,4,1,0,0,0,0,0,0,0,1,1,5,5,5,5,5,5,5,4,5,5,5,7,5,5,5,5,4,4,5,5,5,4,4,1,0,0,1,1,1,4,10,16,27,34,43,47,42,36,38,43,49,59,69,77,87,91,95,103,107,114,121,124,126,131,137,137,139,142,144,144,148,156,160,160,148,157,164,165,170,177,178,174,177,178,181,182,183,183,182,182,185,186,187,187,189,190,191,191,193,193,191,193,194,195,195,196,194,193,193,193,193,191,191,190,186,185,182,180,177,176,172,168,159,151,141,130,118,105,101,108,109,112,112,112,111,109,105,104,95,90,94,108,120,124,128,134,141,142,147,152,154,152,152,152,151,151,148,147,148,147,143,138,131,125,113,90,74,57,53,49,42,35,22,10,4,4,4,4,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,1,0,1,5,7,7,7,14,34,57,82,100,125,139,148,159,169,177,189,191,194,195,208,212,209,209,212,215,216,215,215,213,212,211,209,207,200,202,211,206,211,212,211,212,215,219,219,220,220 +114,121,128,129,126,125,125,125,128,128,130,134,135,133,130,129,131,133,133,131,133,133,134,131,130,122,118,116,105,86,68,59,46,38,27,20,10,7,0,0,0,0,0,0,0,0,0,3,1,4,5,7,7,7,5,5,5,5,4,4,5,7,7,7,7,7,8,7,4,4,4,4,3,1,0,0,1,0,8,21,25,36,40,40,39,31,33,46,55,65,73,79,88,94,99,103,113,118,124,128,131,135,138,139,142,143,144,144,147,154,160,163,164,165,167,169,176,180,182,181,181,181,181,181,182,183,185,186,185,186,189,190,190,189,189,190,191,193,195,196,195,195,193,193,194,193,191,191,190,190,189,187,181,182,183,180,172,174,174,169,160,152,141,133,122,104,98,104,108,111,112,112,111,111,107,101,96,87,91,108,118,125,130,133,138,143,148,151,152,152,150,150,148,147,146,146,146,143,138,135,126,122,112,88,73,60,53,44,35,27,17,10,4,1,3,4,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,1,0,4,4,3,4,7,8,8,16,35,57,87,111,129,138,155,159,173,181,189,194,195,200,204,207,209,211,209,213,219,216,212,215,216,212,207,203,196,194,200,202,206,208,208,211,216,217,217,220,222 +114,120,125,126,126,126,128,128,129,128,129,133,134,134,131,130,131,131,131,130,133,134,133,130,126,120,116,112,100,81,62,52,44,36,26,18,9,5,0,0,0,0,0,0,0,0,1,3,3,4,5,5,7,7,7,5,7,7,5,5,5,7,7,8,7,8,7,7,5,4,4,4,1,1,0,1,4,4,10,22,29,39,43,39,35,26,31,47,61,72,79,82,88,95,101,108,114,120,125,129,134,138,141,141,141,143,146,147,151,156,163,165,168,169,170,172,177,180,183,183,183,183,183,183,183,185,187,189,186,186,187,189,189,190,190,190,194,195,196,196,196,195,195,195,193,193,191,191,190,190,189,187,189,183,180,176,172,176,174,167,160,151,139,131,122,108,100,103,111,112,112,109,108,108,105,103,100,87,91,109,121,124,129,134,139,143,150,152,151,151,151,150,150,150,150,150,150,146,142,138,128,120,108,85,70,55,49,43,35,27,17,10,4,1,1,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,3,4,3,5,7,8,7,21,40,61,87,109,128,139,159,163,174,181,189,195,195,200,203,203,209,215,213,212,213,216,217,215,215,213,209,207,200,200,206,212,209,206,203,206,213,217,220,217,219 +114,118,124,125,125,126,129,128,129,129,129,130,133,133,133,131,131,131,130,130,133,133,131,128,122,120,114,105,94,75,59,47,42,35,25,17,10,5,0,0,3,1,0,0,0,0,1,1,3,3,4,5,5,7,7,7,8,7,7,5,7,7,8,8,9,9,8,7,7,5,5,4,1,3,3,3,7,7,13,25,33,43,43,35,30,23,33,52,68,77,82,85,90,98,105,112,117,121,126,131,137,141,143,142,142,146,150,152,156,161,165,167,170,173,176,177,178,181,183,186,183,183,185,185,185,186,189,190,190,189,187,189,191,193,193,193,194,194,195,196,198,196,195,195,194,194,194,193,193,191,190,189,191,185,181,177,174,176,173,165,159,152,142,133,122,109,100,101,109,112,112,109,109,109,108,105,100,87,91,109,120,121,128,135,138,143,148,150,152,152,151,148,150,151,150,151,148,144,139,137,129,117,104,81,68,51,46,40,34,26,16,9,5,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,4,4,5,7,9,8,21,44,68,95,114,130,139,157,167,177,181,189,196,198,203,206,207,208,211,213,216,216,216,216,215,216,215,213,212,209,209,213,216,215,213,212,215,219,220,219,220,221 +111,116,122,125,125,125,128,128,129,129,130,130,131,133,133,131,131,130,129,129,131,131,129,125,118,118,113,101,85,70,55,43,39,34,25,17,10,5,1,0,3,3,1,1,0,0,1,1,3,3,4,4,5,7,7,8,8,8,7,7,7,8,9,10,10,9,9,9,7,7,5,4,1,4,3,4,7,8,16,27,35,42,39,31,25,25,38,60,69,77,82,85,92,100,107,113,120,124,129,133,138,142,143,142,143,147,152,156,160,164,167,167,172,176,178,180,181,183,185,186,185,185,185,183,186,186,189,190,189,189,189,190,191,193,193,191,193,194,194,194,194,194,195,195,195,194,194,193,193,191,190,189,186,185,185,183,177,176,173,168,159,157,150,135,121,107,100,104,108,111,112,111,111,112,112,111,98,87,90,108,120,125,130,134,137,141,147,151,151,151,150,147,147,148,148,150,147,142,137,133,130,116,101,81,68,51,43,40,31,23,14,9,5,4,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,4,4,7,8,10,10,21,47,70,99,120,135,143,157,169,178,182,189,196,198,206,208,213,211,211,213,216,216,215,213,216,217,216,215,217,216,215,217,219,220,220,222,224,224,222,220,224,224 +109,116,124,126,125,125,126,128,129,130,131,131,130,133,133,131,131,130,129,128,130,130,126,122,116,116,109,94,79,64,49,40,39,34,23,18,12,7,4,1,3,3,3,3,1,3,1,1,4,4,4,4,5,7,7,8,8,8,7,7,7,8,10,10,9,8,9,9,8,7,5,4,1,4,4,4,7,10,18,30,39,40,35,26,23,27,43,61,72,77,79,83,94,104,112,116,122,126,130,135,139,142,142,141,143,148,155,160,164,167,169,169,173,177,180,181,183,185,186,186,187,187,187,187,187,189,190,190,186,187,189,190,190,190,190,191,193,194,194,193,193,194,195,195,196,195,193,191,191,189,187,186,186,183,185,183,178,177,173,168,160,159,150,135,121,108,101,105,105,108,111,111,111,112,112,111,100,92,95,108,122,130,133,130,135,139,144,148,151,151,148,146,144,147,148,150,146,141,134,130,128,113,98,78,65,49,42,36,29,21,13,8,7,4,3,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,3,4,7,8,12,14,27,49,72,99,120,138,146,161,168,180,182,189,195,198,204,208,208,211,215,215,213,211,213,219,217,220,217,216,220,219,216,219,221,221,220,220,221,221,224,225,222,222 +111,118,126,128,126,125,126,128,126,129,131,131,131,133,133,130,130,129,128,128,128,126,124,118,113,112,104,90,74,60,48,40,36,30,21,17,12,8,5,4,3,3,1,1,3,3,1,1,4,4,4,4,5,7,8,8,8,8,8,8,8,8,8,9,9,8,8,8,8,8,5,4,3,4,4,5,10,14,22,31,40,39,33,25,22,30,46,60,77,79,79,81,94,107,114,120,124,129,134,138,142,143,141,138,144,148,157,160,167,170,173,173,172,177,181,183,185,186,187,187,189,190,191,191,191,191,191,191,189,190,191,191,191,191,190,191,193,194,194,191,193,196,198,196,196,195,194,191,190,189,187,186,191,183,180,180,178,178,173,167,163,156,144,134,124,111,101,103,105,109,111,109,111,111,111,108,104,98,98,108,120,130,135,130,134,139,144,147,151,151,148,144,144,146,147,147,143,139,133,129,124,111,94,74,62,49,40,34,26,18,10,7,4,3,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,1,1,3,1,1,5,7,8,13,16,30,55,77,104,125,142,148,160,168,180,182,189,194,196,204,208,207,209,213,213,213,213,216,219,217,221,219,217,219,220,217,219,220,219,219,220,220,220,222,225,224,224 +114,120,125,125,125,125,126,126,128,131,131,130,129,130,130,129,129,129,128,126,125,124,120,116,114,111,100,86,70,56,47,42,33,27,20,14,10,8,5,5,4,4,4,4,4,4,3,3,1,3,4,4,5,7,8,8,7,8,8,8,8,8,8,8,9,8,8,8,8,8,4,3,3,5,7,8,13,18,25,33,35,33,30,23,23,33,52,61,77,81,82,85,98,108,117,121,124,129,135,139,142,142,141,139,146,151,157,161,167,169,174,174,174,178,183,183,183,185,187,190,191,191,193,193,193,193,193,193,193,193,193,193,193,194,194,195,193,195,194,191,193,196,198,196,196,194,193,193,191,191,190,189,193,185,181,181,177,176,173,168,165,156,144,137,128,111,99,100,107,111,113,111,109,109,109,108,107,100,101,108,118,128,133,131,135,139,144,147,151,151,147,143,144,144,146,146,143,138,131,126,121,107,91,69,60,47,40,30,23,17,8,4,3,1,0,0,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,5,8,8,12,14,31,60,85,111,129,144,147,159,170,181,185,191,198,199,206,208,207,209,212,213,216,220,220,217,217,221,220,216,219,219,219,220,219,217,221,224,225,222,221,221,225,225 +116,118,122,122,124,125,126,126,128,131,131,128,128,130,131,129,128,128,128,125,122,121,117,113,113,107,96,82,66,53,44,40,31,25,16,12,9,7,5,5,5,5,5,5,5,5,4,4,1,1,3,4,5,7,8,8,5,5,7,7,8,8,8,8,8,8,7,8,8,8,5,3,3,7,8,9,17,22,27,34,29,26,25,22,23,35,55,66,72,78,85,88,101,111,116,121,122,129,137,139,142,142,139,137,148,152,157,160,165,169,172,173,176,181,185,185,182,183,189,193,191,193,194,194,194,193,193,193,195,194,191,191,193,194,195,195,191,195,194,190,191,195,198,195,196,194,193,191,190,190,190,190,187,186,186,185,178,174,174,173,165,159,151,143,129,107,96,101,109,113,114,112,109,111,112,111,112,103,103,112,118,125,131,137,138,141,146,148,151,151,147,143,144,144,146,146,143,139,131,125,117,105,88,66,57,49,40,30,22,16,7,3,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,5,7,7,10,13,38,65,88,111,126,142,148,163,177,186,186,193,202,203,207,208,202,209,217,216,215,219,220,220,217,221,220,216,217,219,219,221,222,220,220,222,224,222,222,222,224,224 +113,117,121,122,124,126,128,125,129,133,134,131,128,128,129,129,129,128,126,125,122,120,117,117,114,103,94,82,64,48,40,35,27,22,14,10,9,8,5,4,3,4,5,5,5,5,4,5,1,3,5,5,7,5,7,7,4,4,7,7,7,7,7,7,8,9,9,10,8,8,8,5,4,8,10,14,20,26,30,31,27,26,21,17,25,39,57,68,77,79,81,88,103,112,117,121,126,131,135,138,143,142,141,142,154,159,160,161,168,170,173,176,178,178,181,185,187,189,191,193,191,191,193,194,195,195,193,189,191,194,193,190,190,193,193,191,194,191,193,198,198,194,194,198,194,194,193,193,191,191,193,193,191,190,186,182,180,178,173,167,163,160,157,144,130,109,104,105,111,114,114,111,109,113,116,116,113,107,104,113,124,128,131,134,134,139,146,152,155,152,144,138,144,143,143,144,144,138,130,125,117,105,85,64,48,42,35,27,22,17,10,7,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,3,8,8,9,18,39,69,88,112,128,146,156,165,172,181,190,196,203,204,204,209,208,212,216,217,213,212,219,226,221,220,219,219,220,224,224,222,221,221,221,221,221,221,221,221,219,219 +117,120,122,122,124,126,126,125,128,130,131,129,128,128,126,126,129,128,125,124,122,118,117,116,107,99,88,77,59,46,40,36,27,21,13,9,8,8,5,4,4,4,4,5,4,4,4,1,1,3,5,7,7,7,7,7,5,5,7,7,8,8,8,8,9,9,9,9,9,8,7,7,5,7,9,13,21,27,30,27,23,22,20,18,27,42,59,68,74,78,82,88,101,111,117,124,128,134,138,141,144,143,142,144,154,160,164,164,169,170,174,178,180,180,183,187,190,189,190,191,193,191,194,194,195,194,191,189,191,193,193,190,193,195,194,190,191,195,196,195,195,196,194,190,191,190,190,191,191,191,190,187,186,186,183,181,178,177,174,169,170,161,155,141,131,114,112,111,116,117,116,111,109,113,118,118,124,113,109,117,126,134,135,134,138,141,143,146,147,147,147,146,146,144,146,147,144,138,130,124,117,103,82,62,48,42,35,25,18,13,8,5,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,3,8,8,9,18,42,70,90,112,129,144,154,164,172,182,191,196,200,202,204,211,213,213,213,212,213,217,217,216,219,220,220,220,220,220,220,219,220,221,222,222,222,222,224,222,221,224 +120,121,122,122,124,126,126,125,128,128,128,126,126,128,128,126,125,125,126,125,121,118,116,113,103,98,86,72,53,44,40,36,27,21,14,12,9,8,7,7,4,4,4,4,7,5,1,0,4,5,7,8,8,8,8,8,5,5,7,7,8,8,9,9,9,9,8,8,7,5,5,5,7,7,8,14,23,30,29,23,20,17,17,18,29,43,59,65,69,77,86,94,104,112,118,126,126,135,141,143,143,142,143,148,155,164,169,169,170,172,174,181,182,182,185,189,190,189,191,193,193,193,195,196,196,196,195,194,194,194,193,193,194,198,195,190,196,196,195,191,191,195,195,193,195,194,194,195,196,195,191,189,186,185,182,181,180,178,174,170,172,163,156,142,131,118,117,118,121,121,116,109,109,114,121,124,129,124,120,122,129,135,138,137,138,142,146,148,148,147,147,147,146,147,148,148,144,137,129,122,117,99,77,61,47,42,34,22,16,10,4,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,1,4,5,10,21,44,73,92,117,131,143,154,165,173,183,191,196,200,202,206,212,213,215,213,212,216,222,221,215,213,219,221,221,220,219,217,217,224,224,225,225,225,225,222,221,220,225 +117,118,120,121,122,125,126,126,126,126,126,126,126,126,126,126,124,124,124,122,120,118,113,109,101,95,83,68,48,42,38,31,25,20,14,12,10,9,8,8,7,7,5,5,7,5,4,1,4,5,8,8,9,9,8,8,7,5,5,5,7,8,9,9,8,8,7,5,5,4,4,4,5,5,8,17,27,31,27,21,18,16,16,18,31,44,57,64,65,75,88,98,109,114,118,125,128,135,141,142,146,144,146,151,157,165,169,169,173,174,177,183,182,183,186,189,190,191,193,194,194,193,194,195,198,198,196,195,193,193,191,191,194,196,194,190,195,193,191,195,195,191,193,195,195,195,194,195,195,193,187,186,190,189,185,182,181,178,176,172,167,163,160,144,131,116,118,124,122,120,116,111,111,114,124,126,129,129,129,126,128,134,138,141,141,143,147,150,150,147,144,144,144,146,147,146,143,135,126,120,116,98,74,60,48,40,31,21,13,9,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,4,5,5,10,23,49,75,95,120,134,144,155,169,174,183,190,196,202,203,206,209,209,213,216,215,216,220,220,219,213,219,222,221,220,219,219,219,221,222,225,226,226,226,224,222,221,224 +117,117,118,120,122,125,125,126,125,126,126,126,126,125,126,128,124,124,124,121,118,114,111,104,100,91,78,61,47,40,33,25,22,18,12,12,9,7,5,5,5,8,9,9,7,5,5,7,5,5,7,8,8,7,5,5,7,5,5,5,5,5,7,7,7,5,5,4,4,4,4,4,3,4,10,21,30,31,26,20,16,13,14,20,34,47,59,64,69,78,88,99,111,116,120,126,130,138,142,144,148,148,150,155,163,168,170,170,174,177,181,185,183,186,186,186,187,190,193,194,196,195,194,194,194,193,193,191,191,191,191,191,193,193,193,191,189,189,191,198,199,194,191,193,195,196,196,196,193,190,189,189,191,189,187,185,182,180,176,174,168,164,161,147,134,116,117,122,121,120,116,112,114,118,125,130,130,131,133,130,130,135,141,144,148,146,146,148,150,148,148,148,144,147,146,146,141,134,125,120,113,95,74,60,46,38,29,21,13,8,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,4,5,5,12,25,49,75,95,120,134,144,156,170,177,183,190,195,202,204,203,206,209,212,215,216,213,212,213,217,219,221,222,222,222,222,222,221,220,221,222,225,228,229,228,228,226,224 +118,118,118,121,124,124,124,125,125,125,126,128,126,125,125,128,122,124,122,118,116,112,105,98,96,86,70,59,46,39,33,23,20,17,12,12,9,7,5,5,7,9,10,9,5,4,7,8,7,7,7,7,7,7,5,4,7,5,5,4,4,4,4,5,4,4,4,4,1,4,4,4,1,5,14,26,33,30,23,17,12,9,13,22,38,51,61,66,74,82,91,99,109,117,122,129,131,137,141,144,151,154,157,161,167,170,172,172,177,180,182,185,183,186,189,187,187,190,193,195,194,194,195,195,195,195,195,195,191,193,194,193,190,190,191,193,191,195,195,193,193,196,196,194,195,196,198,196,193,191,193,194,190,187,185,183,181,180,177,177,174,165,159,146,134,120,118,121,122,122,121,118,118,121,128,133,135,134,130,134,139,144,146,146,146,144,146,151,154,151,147,147,144,146,144,143,139,134,126,118,108,91,72,60,44,34,26,21,10,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,4,7,8,13,26,48,75,95,118,133,144,155,169,178,185,189,194,202,202,202,203,212,212,212,216,217,215,216,219,220,221,221,221,222,225,225,224,222,222,224,225,226,226,226,225,228,224 +118,117,118,121,121,121,121,122,124,122,124,126,126,124,124,125,122,124,121,117,112,111,101,94,91,79,66,55,43,36,31,26,20,16,12,10,8,7,7,7,8,8,8,8,4,4,4,7,9,8,7,7,8,8,7,7,5,5,5,5,3,3,3,3,3,3,3,1,1,4,4,4,3,8,18,30,35,29,20,13,10,10,17,29,44,55,64,68,78,87,95,103,111,117,122,130,134,141,143,146,152,156,160,167,170,174,174,176,180,182,182,185,185,189,191,190,189,190,193,194,193,193,195,196,196,198,200,200,195,195,193,193,191,190,191,194,196,198,194,189,190,195,199,198,193,193,193,193,189,189,189,190,189,186,185,183,182,178,177,177,173,165,159,146,135,120,120,122,126,125,124,122,124,124,129,133,138,134,131,137,142,144,143,144,143,144,148,155,156,151,146,144,146,146,143,141,137,133,125,117,103,86,69,59,44,34,25,21,9,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,4,7,8,13,25,48,78,98,120,133,144,155,167,177,183,189,194,199,200,203,207,208,211,215,216,217,219,220,221,219,220,220,220,222,225,225,224,226,225,225,224,224,224,224,224,226,225 +117,116,117,118,120,118,120,122,124,121,121,125,128,125,122,121,122,122,118,114,111,108,100,92,87,74,62,51,39,31,27,26,18,14,10,8,4,4,5,8,9,8,8,4,3,1,3,4,8,7,5,5,7,7,7,7,5,5,5,5,4,3,3,3,3,3,3,3,1,1,3,3,5,9,21,33,36,29,18,10,12,12,20,33,48,57,64,66,77,88,99,107,114,120,125,131,141,146,148,150,155,156,163,169,169,174,177,177,181,182,182,185,186,191,194,193,191,193,193,193,193,194,196,196,198,198,199,199,198,196,194,193,191,191,193,194,193,190,190,194,195,193,193,196,194,194,194,193,191,190,189,189,190,187,185,183,181,177,176,177,168,164,163,148,134,117,120,126,128,126,126,124,124,124,128,131,135,133,133,139,141,139,141,146,147,147,150,152,151,148,146,148,146,146,143,138,135,133,124,117,103,82,66,57,44,34,23,20,9,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,1,7,8,12,25,48,81,101,122,134,146,155,164,174,182,189,193,198,200,207,215,206,215,220,216,212,215,219,221,217,220,221,221,222,224,224,224,224,222,222,222,224,225,226,226,224,225 +121,121,120,120,121,121,122,124,121,125,126,125,121,121,121,122,124,122,116,111,108,107,99,91,82,68,55,48,38,30,23,20,12,9,8,7,5,5,5,5,7,9,8,4,0,4,5,5,8,9,9,8,7,8,7,4,5,4,4,4,4,4,3,3,1,1,0,1,1,0,1,4,7,16,25,31,31,23,13,12,13,16,22,36,52,57,62,69,75,90,101,109,114,117,122,130,138,143,147,151,157,161,164,169,173,176,177,178,180,181,185,186,187,189,190,191,190,191,194,195,198,196,196,196,196,198,199,199,196,194,193,191,191,193,193,193,191,191,194,195,195,194,193,194,198,198,195,194,191,190,190,189,187,189,187,186,182,180,177,174,169,164,159,144,135,116,116,124,124,124,125,124,125,126,128,128,131,133,137,139,142,144,147,150,148,147,148,151,154,152,148,146,147,147,144,142,135,130,126,113,101,83,64,52,40,34,21,10,10,7,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,4,5,5,10,18,25,51,82,99,120,135,146,152,169,177,180,186,193,199,204,208,209,212,212,211,213,216,219,220,220,220,220,220,221,222,222,225,228,221,222,222,224,225,226,226,226,221,224 +120,120,122,122,122,122,121,121,121,124,125,124,122,122,122,121,121,121,116,108,104,103,98,91,81,65,52,44,34,26,21,17,10,9,8,7,5,4,5,8,8,9,8,5,1,4,7,7,7,8,8,7,7,8,7,4,5,5,4,4,3,1,1,0,0,0,0,0,1,1,1,4,9,20,30,34,31,22,13,12,16,17,25,38,53,57,62,72,83,94,104,112,117,121,126,135,139,146,151,154,159,161,165,170,173,174,177,180,182,183,186,187,189,190,190,191,191,191,194,195,196,195,195,195,198,199,198,198,194,193,194,194,194,194,193,193,191,191,194,195,196,194,194,195,196,196,194,193,191,190,190,189,190,189,189,186,182,181,177,174,170,164,159,144,134,114,113,121,121,121,122,122,122,125,129,131,129,131,134,137,139,142,144,146,148,150,151,152,152,151,150,148,144,146,143,143,137,131,129,114,96,81,62,49,39,33,22,13,8,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,4,8,18,27,53,85,100,122,137,147,156,174,177,181,189,195,199,203,207,208,209,211,213,216,217,217,219,219,221,221,221,222,222,222,224,225,225,225,226,226,228,228,228,228,225,226 +121,121,121,120,121,121,121,120,121,122,121,121,122,122,121,120,118,117,112,104,100,99,95,88,78,62,47,39,31,25,20,14,9,9,9,8,5,4,5,8,8,9,8,4,4,4,7,7,7,7,7,5,5,7,7,5,5,5,3,3,0,0,0,0,0,0,0,0,1,1,4,7,14,26,35,36,30,21,13,13,17,20,29,42,55,56,62,73,85,95,104,111,117,122,129,137,143,150,155,157,160,161,167,174,174,177,180,182,185,186,187,187,189,190,191,193,193,194,195,195,196,196,195,196,200,200,200,198,195,195,195,196,195,194,191,191,193,191,193,195,196,195,195,196,194,194,193,193,193,191,190,190,190,189,187,185,182,181,176,172,169,164,159,143,131,111,111,118,122,122,121,120,121,122,126,129,130,131,133,134,137,139,142,143,150,151,154,154,152,150,150,151,148,150,146,143,135,129,125,111,92,77,60,49,38,31,23,14,8,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,5,8,17,29,56,87,104,124,138,147,157,176,174,182,191,198,199,199,203,206,208,212,216,217,217,216,217,217,221,221,222,224,225,224,224,224,225,225,225,225,224,224,224,225,224,225 +121,120,118,117,118,118,120,121,122,122,122,120,120,120,118,117,116,114,109,101,98,95,90,83,75,59,43,36,29,23,17,14,9,9,9,9,7,5,5,8,7,7,7,5,4,4,5,7,7,5,5,4,4,5,4,4,4,3,0,0,1,0,0,0,0,0,0,1,1,1,5,9,20,31,39,36,29,17,12,14,20,22,33,46,56,55,60,74,88,96,104,109,117,124,131,139,146,151,155,157,163,167,169,176,178,178,180,182,186,187,189,189,190,191,191,194,194,195,196,196,198,196,198,199,202,202,202,200,198,196,195,194,193,193,191,191,193,191,191,194,194,195,195,195,194,194,194,195,194,194,191,190,190,189,186,183,183,182,177,172,168,163,159,143,130,111,112,121,125,125,125,122,120,121,125,129,134,135,134,137,141,143,144,146,150,152,154,154,151,150,152,152,152,151,144,141,134,128,122,108,90,74,59,49,39,31,22,14,5,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,4,7,8,18,31,60,88,107,128,139,148,159,173,174,182,193,198,199,199,203,206,208,211,215,216,217,217,217,219,219,221,222,222,224,225,225,225,225,225,224,224,222,222,224,224,226,225 +120,118,118,117,118,120,118,118,124,125,124,121,118,117,117,117,116,113,107,101,99,94,86,77,70,53,40,34,27,23,17,13,10,10,9,9,8,7,5,5,5,5,4,4,4,4,3,4,7,4,1,1,1,3,3,3,3,3,1,0,0,0,0,0,0,0,0,1,1,1,7,12,22,35,40,34,26,17,13,17,18,23,36,48,56,53,60,75,94,100,107,112,120,126,137,146,148,154,155,159,167,170,173,178,181,181,181,183,186,189,189,189,191,191,191,194,196,198,198,196,196,196,198,199,200,200,200,199,196,196,195,194,194,194,193,191,193,193,193,193,195,196,196,195,194,195,195,196,195,194,191,190,193,191,187,185,185,185,180,174,169,165,159,143,131,111,112,121,124,125,124,122,121,124,131,135,138,138,139,142,146,148,148,148,150,151,152,152,152,151,151,150,150,150,143,142,137,130,125,112,92,74,56,48,39,31,20,12,4,3,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,4,4,8,10,18,35,65,91,109,131,143,151,160,170,177,183,191,196,199,202,206,208,209,209,211,211,213,216,220,221,219,221,222,221,222,225,226,225,226,226,226,226,225,225,225,226,228,228 +118,118,120,121,122,121,120,118,124,125,122,120,116,116,116,117,116,112,107,103,100,94,83,74,62,48,36,33,26,21,17,13,12,9,8,8,8,5,4,4,3,1,1,1,1,1,3,4,4,1,1,1,1,1,1,3,3,1,0,0,0,0,0,0,0,0,0,1,3,5,10,16,27,38,42,33,23,16,14,18,20,27,42,49,55,55,64,81,94,101,108,113,121,129,138,147,150,154,156,160,168,172,174,177,180,181,183,185,186,187,189,190,191,193,194,195,196,196,196,196,196,196,199,200,200,200,200,199,193,193,195,195,195,195,193,191,194,194,194,194,195,196,196,195,195,195,196,196,195,194,191,190,191,190,189,186,185,183,178,174,170,167,160,144,130,111,112,124,125,125,125,124,125,129,134,138,137,139,142,144,147,150,151,151,152,151,151,152,152,152,151,148,147,148,144,144,139,133,125,109,91,72,55,47,36,30,18,9,3,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,3,3,4,3,9,12,20,42,69,92,112,134,144,152,161,169,180,185,190,195,199,200,204,208,211,209,211,211,211,215,220,224,221,224,224,222,222,225,225,224,224,224,225,225,226,226,225,224,222,224 +120,120,121,121,121,121,121,121,122,122,121,118,117,117,116,114,112,109,105,101,98,90,79,72,59,46,34,33,25,21,16,12,10,9,8,7,4,1,1,1,3,0,0,1,3,1,1,3,3,0,0,1,3,3,3,4,3,1,0,0,1,1,3,1,0,0,0,1,4,8,14,22,33,40,40,30,22,17,16,20,22,34,47,49,53,56,72,87,95,103,108,113,122,129,138,147,152,156,159,164,170,173,173,177,181,182,186,187,189,189,190,190,193,193,195,195,195,195,195,196,198,198,200,200,200,199,200,200,194,194,193,194,195,195,193,191,191,194,195,194,194,195,196,195,195,195,195,195,194,193,190,189,187,189,187,185,182,181,176,173,170,167,161,144,130,111,112,125,130,129,126,125,126,130,134,137,138,141,144,147,148,150,150,151,152,152,154,154,152,152,150,148,150,150,146,144,138,130,122,104,87,66,51,46,36,27,17,10,3,3,3,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,4,1,9,10,22,47,70,94,113,135,142,152,163,169,177,182,190,194,196,198,203,207,209,211,211,211,211,213,219,222,222,225,225,222,222,225,225,222,221,222,224,224,225,224,222,222,220,221 +122,120,118,117,117,118,122,124,121,120,118,117,118,118,116,112,108,107,103,99,94,86,77,70,56,44,34,31,26,22,16,12,8,8,8,7,1,0,0,3,3,0,0,1,4,3,3,4,1,0,0,3,4,4,4,5,4,3,0,0,0,0,3,1,0,0,0,1,3,8,18,25,35,43,40,30,22,18,16,18,25,39,48,49,53,59,74,92,98,105,112,117,125,131,142,152,154,159,163,167,170,172,173,177,180,183,186,189,189,189,189,190,190,193,195,195,194,194,194,195,196,198,200,200,198,196,198,198,198,196,194,193,191,193,194,194,190,193,194,193,193,194,194,194,194,194,194,193,193,191,189,187,187,189,187,186,181,178,174,172,169,167,161,143,130,111,114,128,130,129,126,126,129,130,135,138,138,142,146,150,150,151,150,151,154,155,155,155,154,152,150,148,150,148,142,138,133,128,121,105,82,65,51,44,34,26,17,10,3,3,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,1,3,0,7,9,22,49,72,95,116,138,143,154,165,173,180,185,193,194,195,196,202,206,208,211,213,213,212,213,219,222,221,224,226,224,224,226,225,221,222,224,225,226,226,226,225,224,221,224 +122,118,117,120,122,122,121,121,122,122,121,118,114,113,112,109,111,105,101,96,91,88,82,70,53,40,31,29,23,17,12,9,7,7,5,5,4,4,1,1,0,0,0,0,1,3,4,4,0,0,3,4,5,4,4,3,4,1,0,0,0,0,0,0,0,0,0,0,4,12,22,30,38,43,39,29,22,20,20,22,27,42,49,49,55,64,79,94,103,109,114,120,129,138,147,155,155,157,164,169,176,174,174,178,183,181,182,185,187,189,189,189,190,195,198,194,194,199,198,193,199,196,195,198,202,200,198,195,196,195,191,189,189,193,193,190,193,194,193,191,194,198,198,195,195,194,193,191,191,191,191,190,191,190,189,186,182,180,176,176,168,163,159,142,129,111,116,125,129,129,129,129,130,131,137,141,143,139,139,143,148,150,148,148,154,155,156,155,152,150,150,151,154,144,144,142,131,124,124,104,83,66,55,42,27,25,14,7,3,3,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,4,3,8,13,30,56,75,98,114,138,148,154,160,174,181,186,190,195,200,202,203,207,208,211,212,209,209,213,219,222,221,222,224,225,225,226,225,226,226,226,226,226,226,228,230,232,233,224 +121,120,120,122,122,121,121,122,121,120,118,116,114,113,112,108,107,103,98,94,87,83,75,64,49,39,30,27,20,16,12,8,5,5,4,1,1,0,0,0,0,0,0,0,1,1,1,3,0,0,3,3,5,5,4,4,4,1,0,0,0,0,1,1,1,1,3,3,9,17,29,35,39,43,38,25,20,20,22,25,33,44,51,51,57,68,82,95,104,113,118,122,131,141,148,156,156,161,165,170,176,174,176,181,183,183,185,186,189,190,193,196,194,196,196,194,193,195,198,196,199,198,196,199,200,198,198,196,196,196,193,190,190,191,191,189,191,191,190,189,191,194,195,195,196,196,196,196,195,195,194,193,191,190,189,187,183,181,178,177,174,167,161,146,133,114,120,126,129,129,129,129,131,134,139,143,146,143,143,147,151,151,151,151,152,154,155,155,152,150,148,148,150,144,146,142,134,126,125,107,85,64,51,42,27,22,14,8,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,5,4,10,17,33,60,82,104,120,139,148,155,161,173,181,187,190,194,199,200,202,206,208,211,212,211,211,213,217,220,222,222,222,224,224,225,226,226,228,228,226,225,226,226,228,229,229,224 +120,120,121,122,120,118,118,120,120,118,116,116,114,114,112,107,105,101,99,92,83,79,70,60,46,35,26,25,18,13,9,5,4,4,1,0,0,0,0,0,0,0,0,0,1,0,0,0,0,1,1,1,3,3,4,4,4,1,0,0,0,1,1,1,1,1,4,7,13,23,35,42,46,46,35,23,17,18,23,30,38,49,53,52,61,74,88,99,105,114,121,126,135,141,148,156,159,165,169,172,176,174,177,183,187,187,189,189,189,189,191,194,196,195,195,195,194,195,196,198,199,199,200,200,199,195,196,198,196,196,195,194,191,191,190,189,191,190,190,191,193,193,194,195,195,195,196,198,199,196,193,191,189,189,189,187,185,182,180,180,174,168,163,148,135,118,121,129,130,130,130,130,133,137,142,146,147,146,146,148,151,152,154,154,154,155,156,156,154,151,148,146,146,146,146,141,137,126,121,104,86,61,47,40,29,22,13,8,3,3,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,4,8,5,12,18,35,62,88,112,124,139,148,157,163,172,181,189,193,195,199,200,203,208,206,209,211,211,211,213,216,219,222,221,221,222,225,226,226,226,226,226,226,226,225,225,225,226,222,222 +121,121,120,120,117,116,117,118,120,120,118,117,114,113,111,107,105,101,96,91,83,77,66,53,43,34,26,23,16,10,8,4,4,4,1,0,0,0,0,0,0,0,1,1,1,0,0,0,1,1,1,1,1,1,4,4,5,4,0,0,0,1,1,3,3,3,4,9,18,30,40,47,51,47,34,22,20,22,27,35,44,53,59,57,65,79,94,103,107,117,124,129,138,143,150,155,163,168,170,173,178,178,180,185,186,187,190,193,191,189,189,189,194,194,196,199,200,196,196,198,199,200,200,200,199,196,195,196,195,195,195,194,193,193,191,191,190,189,191,196,196,194,193,195,194,194,195,195,195,194,191,190,187,187,189,187,185,181,180,178,172,167,164,148,135,120,124,131,133,133,131,131,133,138,142,146,146,147,148,150,151,152,155,156,157,157,157,156,155,152,148,146,144,146,144,139,139,126,117,99,85,62,49,42,29,23,13,7,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,3,7,5,13,18,36,65,90,116,126,139,147,159,165,173,181,187,193,194,199,202,204,208,204,208,212,212,212,215,216,217,219,220,221,222,225,226,226,226,225,226,226,226,226,225,225,225,222,225 +124,124,121,120,116,114,117,118,117,118,118,114,112,111,107,105,104,98,92,88,81,75,62,48,39,31,23,21,13,9,8,5,1,1,0,0,0,0,0,0,0,0,0,1,1,1,0,0,1,1,1,1,1,4,4,5,5,4,1,1,1,1,1,1,4,4,7,13,23,35,44,51,52,46,33,22,22,23,30,39,48,56,59,59,68,82,95,104,111,120,126,133,143,148,152,156,167,172,173,174,181,183,183,186,182,183,186,190,194,193,193,193,194,193,196,200,200,196,196,198,200,199,199,200,200,196,195,194,194,194,193,193,191,191,190,191,190,189,191,195,195,193,191,194,195,195,194,194,194,194,193,191,187,189,189,187,185,182,178,177,172,170,168,152,137,122,128,137,134,134,133,131,134,139,144,146,144,147,150,151,152,152,157,159,160,160,159,157,154,152,150,148,146,147,143,138,138,126,114,94,81,64,55,43,29,23,13,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,1,5,4,12,20,39,68,90,117,129,142,148,160,169,178,181,187,190,191,198,202,204,207,206,208,212,212,212,213,216,216,215,217,224,226,225,226,226,228,226,228,229,229,228,228,226,226,226,229 +124,125,124,120,116,116,118,118,117,118,118,114,111,107,107,105,103,95,90,86,79,73,61,46,36,29,21,17,10,8,7,4,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,4,4,5,5,5,4,4,1,4,4,4,1,5,7,12,20,30,39,49,53,51,43,30,23,23,27,34,43,49,53,56,61,74,85,96,105,113,122,131,137,144,150,155,160,167,170,172,173,181,183,182,183,182,182,183,187,191,194,194,194,194,194,195,198,199,196,198,200,202,199,199,200,202,199,195,193,194,193,194,194,191,190,190,191,193,191,189,190,191,191,193,194,194,194,194,194,195,195,194,194,190,190,189,189,186,183,180,178,174,173,169,154,138,122,129,137,135,135,135,133,135,141,144,144,142,146,150,151,152,154,157,159,159,157,157,155,154,152,151,150,148,146,143,138,137,126,118,94,78,65,56,43,25,22,12,3,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,4,3,13,22,43,72,92,120,131,146,154,163,173,181,183,190,190,191,198,203,206,207,208,211,211,211,212,212,215,213,213,216,221,225,225,225,226,228,228,229,229,229,228,226,225,225,228,228 +122,124,122,120,117,117,118,117,116,117,116,113,109,108,105,104,101,95,88,83,77,70,59,43,34,26,20,17,9,8,7,4,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,3,4,5,5,7,4,4,4,4,4,4,4,4,4,7,16,23,35,43,52,56,48,39,27,23,27,31,40,51,53,51,53,65,83,91,99,109,113,125,134,139,146,151,156,164,165,170,172,173,178,181,180,181,183,183,185,189,190,191,194,194,195,195,196,196,198,198,199,200,202,200,200,202,202,198,195,194,194,191,191,191,191,190,190,191,190,190,190,190,191,194,193,191,195,194,195,194,195,195,195,194,193,191,189,189,187,186,182,178,177,173,169,152,138,124,130,137,134,137,137,134,138,143,146,146,142,146,150,151,152,155,156,157,157,157,157,155,154,151,151,151,148,144,144,138,133,125,120,95,79,61,52,42,26,22,12,4,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,1,4,4,13,22,44,74,98,121,131,146,156,165,172,180,186,194,195,195,199,203,204,207,209,212,211,211,211,212,213,213,212,216,220,221,222,224,225,226,228,228,228,226,225,224,225,224,225,226 +120,121,121,118,117,117,117,116,114,114,112,109,108,108,105,103,100,94,87,81,70,65,52,40,36,27,22,16,10,9,8,5,3,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,3,3,4,5,7,4,4,4,4,5,5,5,4,5,10,18,29,39,48,56,59,48,38,26,25,30,36,46,57,57,53,53,69,88,99,104,112,116,129,139,144,148,154,160,169,167,173,176,176,180,181,180,181,182,183,189,193,195,194,193,195,194,196,198,198,199,199,199,199,199,199,200,202,202,198,196,195,189,187,186,189,189,187,186,187,186,187,190,191,193,196,193,189,194,194,193,193,193,193,191,190,193,190,187,187,189,186,182,178,178,173,167,151,139,128,133,137,134,137,138,137,139,144,146,144,143,148,151,152,154,156,157,157,159,159,159,156,154,151,150,150,148,143,146,138,128,122,121,96,79,59,47,40,29,21,12,8,3,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,1,0,0,0,0,0,0,1,3,5,3,13,21,42,73,101,121,130,147,157,165,169,176,186,195,198,196,199,202,204,207,209,211,211,211,211,213,215,215,215,215,217,219,221,222,224,225,225,226,228,228,226,226,226,226,224,226 +121,121,121,120,116,114,114,114,116,112,111,108,105,105,104,99,98,91,83,75,66,62,51,35,30,26,20,14,9,7,4,4,3,3,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,3,4,4,5,7,7,4,3,5,7,4,4,13,23,31,43,51,52,48,43,34,29,30,34,42,55,61,57,51,60,78,90,99,108,112,118,131,143,146,150,156,160,160,165,169,174,178,180,181,186,189,189,187,186,187,190,193,194,194,195,195,195,196,198,199,200,200,199,200,202,202,200,200,196,191,190,190,190,189,186,186,187,187,189,189,187,189,191,194,194,194,193,193,194,195,196,196,195,194,194,191,190,187,185,182,180,177,178,172,163,152,141,134,137,142,142,141,138,139,142,144,147,148,146,147,152,156,157,157,157,157,160,160,160,159,156,155,152,148,147,144,141,138,128,121,113,94,79,64,49,42,31,23,14,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,4,0,4,8,17,23,44,74,107,125,133,144,154,163,172,183,187,193,198,196,198,200,207,212,211,209,209,213,215,212,209,209,209,216,219,219,219,221,224,224,226,225,225,229,229,228,229,230,226,225 +125,122,118,116,116,116,116,114,113,111,109,107,103,103,103,98,94,88,83,74,65,59,46,31,25,21,17,12,8,5,3,1,3,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,4,4,5,8,5,7,8,7,5,5,16,27,36,46,53,55,52,43,33,29,33,39,51,60,61,57,52,64,83,95,103,112,114,122,130,141,148,154,157,161,165,169,170,174,177,181,183,185,186,190,189,187,189,191,193,194,194,195,195,195,196,198,199,200,202,199,199,199,199,199,196,194,191,191,190,187,187,186,186,187,187,187,189,191,191,191,193,191,191,193,193,194,195,195,194,193,191,191,190,189,187,185,182,180,177,172,169,160,150,141,137,139,143,141,139,139,141,143,146,147,147,146,148,152,155,157,157,157,159,160,161,160,157,155,154,152,151,148,147,143,139,129,122,113,91,78,62,48,42,30,22,13,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,3,0,5,8,17,25,46,74,100,124,131,147,156,163,172,182,183,189,195,198,199,202,204,206,209,208,208,212,213,212,211,211,215,216,216,217,221,225,224,219,221,225,225,224,224,225,226,225,226,226 +129,124,118,116,116,116,116,116,114,112,111,108,103,103,103,98,94,88,82,72,62,53,42,29,20,17,14,10,7,4,0,0,3,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,5,5,5,4,5,5,5,10,21,33,42,49,55,57,55,40,31,29,35,46,59,64,61,56,57,70,88,100,105,114,117,128,131,139,150,155,157,163,168,173,174,174,178,182,185,185,186,187,187,189,190,193,194,195,195,195,196,195,196,198,199,199,200,200,198,199,200,199,195,193,194,191,189,186,185,185,186,187,189,185,189,191,193,191,190,191,193,194,194,194,195,194,193,191,190,189,189,187,186,183,181,180,178,173,170,163,151,142,139,141,142,142,141,139,141,143,147,148,148,150,152,155,156,156,156,156,157,159,160,159,154,150,150,150,150,147,147,143,139,129,124,113,88,79,64,47,39,29,23,14,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,1,1,1,0,7,5,13,26,48,74,98,121,131,146,155,164,172,182,182,187,193,196,200,203,204,203,208,208,209,212,213,213,213,213,209,213,217,217,219,222,224,224,224,229,232,226,225,228,230,228,226,226 +130,126,121,117,116,116,117,116,116,113,111,108,103,103,101,96,92,87,79,70,59,49,38,26,20,18,13,9,7,4,3,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,3,3,3,4,5,5,14,26,38,47,53,57,55,49,35,30,31,39,52,64,66,60,52,61,78,96,103,108,116,122,131,137,144,151,156,160,165,170,174,176,178,181,182,183,185,186,187,187,190,191,194,195,195,195,194,195,196,196,198,199,198,196,202,199,199,202,199,193,191,194,193,190,187,185,185,186,186,187,183,186,190,191,191,191,193,194,195,195,195,195,194,194,193,191,191,190,187,186,185,182,180,177,174,176,168,152,143,143,144,143,143,141,139,139,142,144,148,148,148,152,155,155,155,155,156,157,159,159,157,154,150,150,150,150,146,146,142,138,130,125,113,87,78,64,48,39,26,21,12,4,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,3,5,3,12,27,49,75,98,121,131,144,152,163,172,183,186,190,194,196,200,203,207,207,208,208,211,212,213,213,215,215,207,212,216,216,216,219,222,225,222,226,228,225,224,226,228,226,226,226 +124,122,120,117,114,113,114,114,114,111,108,105,100,100,99,95,90,82,74,65,55,48,35,22,20,16,10,7,4,3,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,1,3,4,4,5,8,18,29,40,48,55,56,51,43,34,33,38,46,56,65,68,59,53,68,87,100,105,108,116,125,133,141,151,154,156,163,170,173,174,177,182,183,183,183,186,187,190,191,193,194,194,194,194,194,194,195,196,195,195,196,196,195,199,198,199,202,199,193,189,190,194,191,189,186,185,186,186,186,185,185,187,189,190,191,193,194,195,194,193,193,194,194,194,194,195,193,189,187,189,187,182,178,170,172,165,152,144,146,147,144,142,141,139,141,143,144,147,147,144,150,154,154,154,156,159,160,161,160,159,156,154,154,152,150,147,146,142,139,131,126,114,88,75,64,49,38,25,18,12,3,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,3,4,8,3,13,29,52,77,98,122,133,144,152,164,173,183,187,191,195,198,200,203,207,209,208,208,211,211,212,212,213,213,216,215,213,213,217,220,220,219,222,222,222,224,224,222,224,225,225,225 +114,116,116,116,113,112,112,112,111,107,104,103,98,98,96,91,85,77,69,60,52,44,33,21,17,13,8,1,0,0,0,1,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,1,1,5,9,21,30,43,49,55,55,48,39,33,36,44,51,60,69,68,56,56,75,95,104,108,108,114,126,133,143,152,154,156,164,172,173,177,180,183,185,185,185,186,189,186,187,190,193,194,194,194,195,194,196,196,194,194,195,196,194,198,196,199,202,199,193,189,187,194,193,190,187,186,186,186,187,186,186,187,187,189,190,191,193,194,194,193,193,194,195,195,195,195,193,189,187,187,186,181,177,173,172,164,152,146,147,147,144,142,142,143,146,147,147,147,146,147,151,154,154,154,156,157,157,161,160,159,157,156,155,152,150,148,146,142,141,133,126,113,90,72,62,51,38,23,16,9,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,3,3,7,4,16,30,52,77,99,125,134,148,155,164,173,181,185,191,198,199,200,203,206,208,208,211,213,212,212,213,215,215,217,216,216,216,217,219,220,220,224,222,221,224,224,221,221,222,224,224 +112,113,113,114,114,113,111,109,107,104,103,101,98,96,92,88,83,74,68,60,47,40,30,20,14,10,5,1,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,4,9,21,33,46,51,52,51,44,39,34,39,49,56,62,70,66,55,61,81,99,107,112,114,121,130,138,146,154,157,160,164,169,172,176,178,182,185,186,187,187,189,185,187,190,193,193,194,195,196,194,196,196,194,194,196,196,194,196,196,199,200,200,196,193,189,190,191,191,190,185,185,185,186,186,187,189,189,189,190,190,193,194,194,194,194,194,194,194,193,193,191,189,187,185,182,180,177,176,172,163,152,147,147,147,144,143,143,144,147,150,150,148,147,151,155,156,155,156,159,157,156,159,160,157,156,154,152,151,150,150,146,141,142,133,121,109,88,70,64,55,42,23,16,9,3,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,0,1,1,8,8,18,31,55,81,101,126,137,150,157,167,174,182,185,191,198,200,202,203,207,208,209,212,215,215,215,216,217,216,212,216,219,220,217,217,220,224,216,219,220,220,220,219,219,219,222,224 +116,114,113,114,116,114,111,108,108,105,104,101,98,95,91,86,79,72,66,57,43,35,26,17,13,9,4,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,5,10,23,35,48,51,49,47,42,38,38,44,55,61,68,74,69,56,62,83,99,107,116,120,125,133,147,150,157,163,167,168,169,173,177,178,183,186,189,189,189,187,191,193,195,195,194,193,194,195,193,195,196,194,194,196,198,195,194,195,198,198,198,196,193,187,187,190,190,190,185,185,185,186,185,189,190,191,189,190,193,195,193,193,194,194,195,194,193,191,193,193,191,189,185,182,180,180,174,170,160,152,150,150,150,148,146,144,144,144,146,148,151,151,148,152,155,155,159,163,164,161,159,161,161,157,155,152,152,151,150,143,139,141,130,117,105,86,70,66,59,44,26,17,12,5,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,3,1,1,1,0,1,0,7,9,22,33,56,83,105,129,137,148,156,168,178,185,187,191,198,199,202,206,208,211,208,212,216,215,215,216,217,216,217,216,216,219,220,220,219,217,213,220,225,222,221,224,225,222,221,224 +114,114,116,116,116,116,114,113,109,107,104,103,98,94,90,83,78,70,64,55,42,30,20,17,12,8,3,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,7,21,26,36,43,44,48,46,39,35,38,51,60,64,69,70,68,65,74,88,103,112,120,121,126,134,144,151,157,161,164,168,172,174,181,180,178,178,181,186,191,191,195,194,193,190,190,193,195,195,196,196,198,198,198,196,196,198,196,198,196,195,196,194,191,193,193,191,189,187,186,185,186,189,190,189,187,190,190,191,191,189,196,196,196,196,195,193,190,187,191,191,191,191,191,190,185,177,176,169,163,161,156,151,147,147,142,143,147,150,151,150,150,151,154,154,156,156,157,159,160,161,156,156,157,157,156,155,154,152,150,147,144,139,137,122,107,81,72,62,51,39,26,18,12,3,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,1,1,1,1,1,1,1,4,3,8,10,22,30,52,85,109,128,139,151,156,168,172,181,186,190,196,198,199,203,211,212,209,211,213,215,215,213,216,217,220,220,219,221,221,221,221,224,221,222,222,222,221,222,225,229,224,221 +108,111,113,113,111,112,112,111,107,104,103,100,94,91,88,82,75,68,59,51,40,31,21,17,12,8,3,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,1,0,7,21,33,42,47,47,47,42,36,34,42,56,65,70,72,69,68,69,82,95,105,112,118,122,129,138,148,154,159,163,165,169,173,176,178,180,183,183,185,187,190,190,193,193,193,194,194,194,194,195,195,195,196,196,196,195,195,195,198,198,195,193,194,191,190,193,193,191,190,189,186,185,183,187,189,187,186,189,190,193,193,191,194,194,195,198,196,195,193,191,190,190,189,187,187,187,181,177,177,169,161,157,154,150,146,143,143,142,143,147,150,148,148,148,150,152,154,155,155,156,157,160,160,160,159,157,154,151,151,150,147,144,143,138,135,122,107,81,70,62,51,39,25,17,9,1,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,4,4,9,9,21,30,55,88,112,126,138,148,155,168,173,183,189,194,198,199,199,203,207,209,211,211,213,216,215,213,215,216,220,220,220,221,221,221,221,222,224,224,222,222,222,222,224,225,224,224 +107,109,112,111,109,109,109,109,107,101,99,98,91,88,85,79,72,62,55,47,38,30,21,17,12,8,3,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,3,3,10,22,36,46,49,47,44,36,33,33,46,57,69,74,72,66,68,74,88,100,108,114,122,128,137,147,151,156,161,164,167,170,174,177,180,183,186,186,186,187,190,191,193,191,193,195,196,195,195,198,195,194,194,195,196,195,194,193,195,196,195,194,195,191,189,190,193,191,190,189,186,183,183,186,186,185,185,187,190,193,193,193,191,193,194,195,196,196,195,194,193,193,191,187,185,183,182,180,176,169,159,152,150,148,146,141,144,143,143,146,148,148,147,146,148,151,154,154,152,154,157,161,163,163,160,157,155,154,152,152,147,143,141,134,133,120,107,85,72,62,51,39,23,16,9,4,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,0,0,0,1,1,3,5,5,9,8,18,29,57,94,113,128,137,150,157,170,177,185,190,195,199,200,202,203,206,207,212,212,212,215,216,216,216,217,219,219,220,221,221,219,219,220,224,222,221,220,221,221,220,220,221,225 +107,111,112,109,105,104,104,105,103,98,96,94,88,85,81,74,69,61,51,43,34,26,20,16,10,8,1,0,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,0,0,1,3,3,4,5,13,25,38,47,51,47,42,34,31,36,49,60,73,75,72,65,72,85,98,105,114,120,126,133,142,152,154,157,163,165,168,172,176,178,182,185,187,187,187,190,191,193,193,190,190,194,196,195,196,200,196,195,194,195,195,194,193,193,193,195,195,196,198,191,187,189,190,190,190,189,185,185,183,185,185,185,183,186,189,191,193,193,193,193,194,194,194,193,191,190,193,193,190,189,186,185,182,180,176,170,161,151,148,148,147,143,147,144,144,147,148,148,148,148,151,152,155,155,156,157,160,161,160,159,159,156,154,152,152,152,152,147,141,133,130,116,107,86,74,64,52,39,23,14,9,7,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,3,4,5,8,5,14,29,59,98,113,129,139,154,161,174,177,183,189,194,200,203,204,207,207,207,211,211,212,215,216,217,217,219,219,219,220,220,221,219,219,219,221,221,220,220,220,220,220,220,221,222 +107,109,109,105,103,101,101,101,99,95,92,91,85,81,77,69,68,62,52,42,30,22,16,13,8,7,1,0,0,0,0,0,0,1,3,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,4,3,1,3,7,16,27,38,46,48,44,36,29,33,42,55,64,74,77,73,69,77,92,104,112,118,124,130,135,142,150,155,159,163,167,169,173,177,180,182,185,187,187,189,190,191,191,194,191,191,194,195,194,195,198,196,195,196,196,195,194,193,194,193,195,195,198,199,193,187,187,190,190,190,189,185,185,186,186,186,185,185,186,190,191,191,193,194,194,194,194,195,194,193,191,193,191,189,189,187,185,182,180,174,172,163,152,147,147,148,146,147,146,147,148,148,148,148,150,152,152,154,156,157,159,159,159,156,156,156,155,154,152,151,152,152,147,142,135,131,114,105,85,74,62,51,39,22,13,9,7,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,4,5,7,8,3,13,29,60,99,116,130,139,154,161,174,178,185,187,193,199,202,204,207,208,209,211,209,211,215,216,216,219,220,220,220,221,224,222,221,221,221,221,222,222,222,221,220,221,222,221,220 +105,107,109,107,104,104,103,101,98,94,92,90,83,79,75,68,64,61,51,39,26,18,14,12,7,4,0,0,0,0,0,0,0,1,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,3,4,3,0,3,8,18,31,40,44,44,39,34,27,34,47,60,68,77,78,74,70,81,96,104,113,120,126,133,138,143,151,156,160,164,168,173,177,178,180,181,185,187,189,190,191,191,190,193,194,194,195,195,194,193,191,195,195,195,196,195,193,193,195,196,195,194,196,198,191,187,190,187,190,190,189,186,186,187,189,186,186,186,187,190,191,193,193,195,195,195,195,195,195,194,194,194,191,190,190,190,186,182,180,174,170,163,154,146,144,146,146,146,146,147,148,148,147,148,151,152,152,154,156,157,159,159,157,159,159,159,157,155,154,154,154,148,146,142,138,134,117,103,81,72,60,48,38,22,13,8,5,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,0,0,1,3,4,5,5,7,9,3,16,33,64,100,118,131,139,151,160,173,178,187,189,193,199,202,204,207,208,208,212,211,212,215,216,216,217,219,220,220,221,222,222,222,222,222,221,224,224,224,221,220,220,221,222,219 +104,105,108,108,108,108,103,98,98,92,88,86,81,77,73,68,59,56,47,36,25,21,14,10,5,3,0,0,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,3,4,1,4,4,0,5,12,23,35,44,43,39,34,30,26,36,53,66,73,77,75,74,75,86,103,107,114,121,128,137,143,150,157,159,163,167,170,174,178,180,180,182,186,189,189,189,190,191,193,191,195,195,194,194,195,194,191,195,195,195,196,196,195,195,195,198,196,195,196,196,190,187,191,189,190,190,187,186,186,187,189,185,186,186,189,190,191,193,193,194,194,194,195,195,195,195,194,194,193,191,191,189,185,181,180,176,169,161,155,148,144,144,146,144,144,146,148,150,150,150,151,151,151,154,156,156,157,159,157,160,160,159,157,156,156,155,155,150,144,142,139,138,120,104,81,69,57,46,36,23,13,8,4,4,1,0,0,0,0,0,0,0,0,0,0,1,1,3,3,1,1,3,3,4,5,7,7,7,8,9,7,18,38,68,103,120,133,141,151,159,173,180,189,190,194,198,199,203,207,208,208,212,212,213,215,215,215,216,219,220,220,221,222,221,220,220,221,221,221,222,221,220,220,220,220,221,220 +104,105,107,108,108,107,100,94,94,88,85,82,74,72,70,65,56,53,44,34,25,22,14,9,4,1,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,1,5,7,4,8,7,5,10,16,27,40,47,43,35,29,27,27,40,59,74,78,77,72,73,79,95,111,113,120,124,129,138,144,152,160,160,164,169,173,176,180,182,181,183,186,189,186,185,187,193,196,191,195,195,190,193,196,198,194,196,194,195,198,199,199,198,198,198,196,196,199,198,189,185,189,189,191,190,187,185,186,187,187,183,185,186,189,191,193,194,194,195,194,193,193,194,194,194,193,193,191,190,190,186,181,180,181,180,170,161,156,152,146,143,144,146,144,144,148,151,152,152,151,151,152,154,155,156,157,160,161,160,160,156,155,154,154,155,156,156,148,142,139,137,121,105,83,70,57,44,38,25,14,8,4,4,1,0,0,0,0,0,0,1,1,1,1,1,1,3,3,3,3,4,4,5,5,7,8,7,7,10,9,22,42,70,105,120,134,142,154,161,174,181,189,191,194,196,199,202,206,208,208,211,211,213,215,215,215,217,220,221,221,221,222,221,220,221,222,222,221,221,220,221,221,221,221,220,220 +107,107,108,109,108,104,98,92,92,87,79,74,73,72,68,61,59,48,42,36,27,21,14,8,7,4,1,1,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,1,4,8,9,8,7,10,20,30,35,44,44,36,26,25,29,46,66,77,75,82,72,70,85,98,109,116,121,129,134,141,150,157,160,160,167,169,170,177,180,180,180,183,186,189,190,191,191,191,191,193,194,194,193,193,193,193,194,196,195,195,196,198,198,198,199,191,195,198,194,190,187,189,190,191,191,190,189,186,186,185,185,186,187,189,190,191,191,193,193,193,195,195,193,194,196,196,194,191,189,186,186,185,182,182,182,172,168,163,157,150,143,143,147,144,144,144,148,152,152,154,154,152,154,154,154,156,159,163,163,161,160,156,155,154,152,151,151,143,142,139,142,135,122,105,86,73,57,47,38,23,16,7,8,1,0,0,0,0,0,0,0,0,0,0,0,0,1,4,4,1,1,1,4,4,5,7,7,8,7,7,10,20,43,72,105,122,133,143,156,161,173,178,186,189,195,199,200,204,207,208,213,209,212,215,215,215,215,216,217,220,221,224,224,221,219,220,222,221,221,222,224,222,222,224,225,220,222 +108,107,105,104,103,99,95,92,90,83,74,66,64,65,64,61,56,47,38,33,25,18,13,8,7,4,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,1,3,7,8,9,9,13,23,35,42,46,43,34,23,26,33,49,72,79,78,79,70,73,88,99,109,120,124,130,135,142,150,155,157,164,169,170,170,174,178,180,183,186,187,187,187,187,189,191,193,194,193,193,193,193,194,194,193,195,193,193,195,196,196,196,196,194,195,196,193,190,189,190,190,190,191,190,189,187,187,186,185,183,186,187,189,190,191,194,195,193,195,196,194,194,196,196,194,191,190,189,189,185,182,181,181,173,168,160,156,151,146,144,146,146,144,146,150,152,152,151,151,155,154,154,154,155,157,159,159,161,160,157,156,156,155,152,152,148,144,139,141,135,122,108,90,74,59,48,39,25,16,7,7,4,1,0,0,0,0,0,0,0,0,0,0,0,1,1,1,0,1,1,4,4,5,7,7,8,5,5,9,18,43,72,107,124,137,147,160,163,176,182,190,191,196,200,202,206,207,207,211,209,212,215,216,213,213,216,219,221,222,224,225,222,220,220,222,222,221,220,221,221,220,220,221,222,224 +105,104,103,101,100,98,92,91,82,78,70,65,61,60,57,56,52,43,35,30,22,16,12,8,4,1,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,1,3,7,8,8,9,17,29,43,49,48,43,34,26,29,40,57,75,78,78,75,68,79,98,108,120,122,126,131,138,144,152,156,156,167,172,174,173,176,178,181,185,187,187,187,187,187,189,193,194,195,194,193,194,195,196,195,194,198,194,193,195,198,198,195,194,196,195,193,190,190,189,189,189,189,190,190,190,189,189,189,187,183,186,186,186,186,187,191,195,195,196,196,194,194,195,195,193,194,191,190,189,186,183,180,180,176,168,159,154,150,148,146,146,148,147,148,151,154,154,152,152,156,152,152,156,157,157,160,160,161,160,156,154,154,154,155,155,154,150,142,141,134,122,109,91,75,60,49,40,26,16,5,5,4,1,0,0,0,0,0,0,1,0,0,0,0,0,1,1,0,0,1,4,5,7,7,7,8,7,8,10,21,44,74,109,122,138,148,160,161,174,183,190,190,195,199,199,204,206,206,208,211,213,215,215,213,213,219,221,220,220,222,225,224,222,220,221,222,222,221,222,221,221,221,222,225,225 +101,101,101,101,99,96,91,87,79,74,68,62,59,57,55,52,48,40,33,26,18,14,10,7,4,1,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,1,4,5,7,9,10,20,33,47,55,51,44,35,30,35,47,61,74,78,78,69,66,86,105,114,125,124,128,134,142,148,154,157,160,167,173,177,177,180,180,181,183,185,186,190,191,190,191,193,193,195,194,194,195,196,198,196,195,198,195,194,196,196,195,194,194,194,193,193,193,193,189,187,186,187,190,189,189,190,190,189,187,186,186,185,185,185,186,189,191,195,196,195,194,193,194,194,193,194,191,189,189,186,182,181,180,176,169,159,152,150,148,147,146,147,146,146,148,152,152,154,155,154,150,151,157,161,161,161,163,161,159,154,150,150,152,155,156,154,150,143,142,135,124,111,90,78,61,51,42,26,17,7,5,4,1,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,3,4,7,7,8,8,8,9,10,14,26,49,78,109,121,138,147,159,163,176,182,186,189,195,198,199,204,206,207,209,211,212,213,213,216,217,219,220,220,220,220,220,222,221,221,221,224,222,224,225,224,222,222,224,224,222 +98,99,100,101,99,95,90,86,83,72,59,51,51,52,52,51,46,38,31,23,14,13,10,5,4,1,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,1,3,4,5,8,10,21,35,48,55,51,42,36,33,38,52,68,74,79,78,68,69,90,105,113,120,124,130,138,146,150,155,160,164,168,172,176,177,183,183,182,185,186,187,190,193,193,193,194,195,193,193,194,194,194,194,195,195,196,195,196,196,195,194,194,195,193,193,195,195,193,186,185,185,187,189,189,189,189,190,189,186,189,187,187,187,189,190,191,191,194,194,194,194,193,194,193,193,193,190,190,189,187,183,180,178,176,170,161,154,148,147,147,147,144,143,143,146,148,150,151,152,155,151,152,157,161,159,156,157,164,161,156,154,152,154,156,157,150,148,141,141,135,126,116,98,78,61,52,43,27,18,8,5,4,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,4,5,7,5,8,8,8,9,12,14,20,31,53,78,107,121,135,147,160,165,180,182,185,193,198,200,202,206,209,209,213,212,211,209,212,216,220,221,220,220,219,217,220,221,221,221,222,221,221,222,224,224,222,220,220,221,220 +100,100,99,98,96,94,90,87,81,70,56,49,51,49,48,46,42,36,29,21,13,12,10,5,4,1,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,3,3,4,9,22,36,47,49,46,36,33,31,38,55,72,77,81,74,65,74,96,108,114,118,126,133,142,150,152,155,161,167,173,174,173,176,182,183,183,189,189,189,190,191,191,194,196,198,191,193,194,194,194,194,194,194,194,194,195,195,194,191,191,194,193,194,198,198,193,185,183,183,187,189,190,190,190,191,189,187,191,189,186,187,190,193,193,191,193,193,194,194,194,193,193,193,193,190,190,189,186,182,180,178,174,170,163,154,148,147,147,147,146,144,143,144,147,147,148,150,156,154,154,159,160,159,157,157,161,160,159,159,156,156,155,155,152,150,142,139,133,126,118,100,81,64,53,44,30,21,9,7,4,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,3,5,7,8,8,9,9,8,12,18,23,35,57,77,101,117,129,142,159,169,181,183,187,194,199,200,202,207,209,209,212,213,209,207,211,217,220,221,220,220,219,219,220,220,221,222,224,221,221,221,224,224,221,221,221,220,219 +100,99,98,96,95,92,90,87,75,68,57,55,53,49,44,40,39,34,26,21,12,12,12,8,5,3,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,3,9,22,36,44,44,42,34,30,33,40,60,75,79,77,68,62,81,103,111,121,124,130,134,143,151,155,157,161,168,172,174,176,178,183,183,185,190,189,190,190,190,191,193,194,196,194,194,194,195,195,195,194,194,193,193,194,195,195,193,194,195,194,194,195,195,191,185,183,186,189,191,191,191,191,193,193,190,190,189,186,187,189,191,193,193,194,194,195,196,194,193,191,191,194,191,189,189,186,183,181,180,173,170,163,155,148,147,148,147,147,144,143,144,148,148,148,150,154,154,155,156,159,161,161,161,160,159,156,156,156,155,155,154,154,152,146,142,134,128,120,103,86,69,56,47,31,21,9,7,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,4,5,7,8,10,12,12,16,21,27,38,60,77,99,113,125,139,160,169,178,181,187,191,196,199,202,207,209,209,211,212,209,207,209,215,220,220,219,220,220,221,222,221,221,222,222,222,222,222,224,224,222,221,221,221,220 +98,96,96,96,95,94,90,86,77,69,57,52,49,46,44,43,36,33,26,20,12,12,10,8,5,3,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,1,9,23,36,43,42,36,30,31,36,46,64,78,78,75,64,62,86,105,112,121,122,131,134,142,151,156,159,165,169,170,174,177,181,183,183,183,190,186,189,190,191,193,191,191,191,194,193,191,193,195,195,193,191,194,193,193,195,196,196,196,196,196,194,194,194,190,186,189,191,191,193,193,193,194,194,194,193,193,193,190,189,189,191,191,194,194,194,195,196,196,194,191,191,195,193,190,189,187,183,181,180,173,169,161,155,148,148,148,147,146,143,143,146,147,148,150,151,154,155,155,155,156,159,161,161,159,156,155,154,154,155,156,156,147,148,147,144,138,133,124,107,90,72,59,47,33,21,8,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,7,9,10,12,14,18,23,30,42,61,78,98,112,124,139,163,169,176,180,187,190,196,200,204,209,212,212,212,213,211,209,209,213,216,217,216,217,219,221,222,222,221,220,221,224,222,222,222,221,220,220,221,222,221 +96,92,94,95,92,88,87,85,81,70,57,51,51,52,46,40,38,31,23,20,14,12,9,8,7,4,3,1,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,3,12,23,35,46,39,34,23,23,35,51,66,75,78,75,61,69,94,109,116,122,128,131,137,146,154,159,164,167,169,174,176,177,178,181,183,186,187,191,189,189,191,193,193,193,194,196,195,193,193,194,195,198,198,196,193,190,193,195,195,195,195,195,196,195,193,190,189,187,185,187,190,191,190,193,195,195,191,190,194,194,193,191,193,193,191,193,194,193,194,194,194,194,193,194,193,189,186,185,182,180,178,176,168,160,157,154,150,148,150,150,141,139,146,150,147,147,151,148,151,152,154,156,159,160,160,163,159,157,157,159,157,154,154,152,147,143,143,142,134,121,112,96,74,55,48,36,23,12,5,3,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,3,7,9,12,13,18,20,27,35,51,64,81,101,117,129,139,157,168,177,178,189,198,199,202,202,206,208,212,213,209,211,211,208,211,216,220,219,215,216,217,220,221,221,222,221,222,224,224,222,221,220,222,225,221,220 +99,95,94,94,91,88,86,81,79,72,60,53,55,55,48,42,36,30,22,18,13,10,8,7,5,3,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,4,16,26,39,47,40,33,22,22,35,55,68,75,75,75,68,78,100,113,117,124,125,135,142,150,155,157,161,167,172,173,176,178,180,182,183,187,187,190,189,189,191,193,193,194,195,196,195,195,194,194,196,198,198,195,194,194,194,194,191,193,194,194,194,194,193,189,187,189,189,189,191,193,193,193,194,193,193,190,193,193,193,191,193,193,193,195,195,195,195,195,194,193,191,193,191,187,186,185,182,180,177,176,168,161,159,155,151,150,151,148,143,142,146,148,147,147,150,150,150,151,152,155,159,160,160,160,157,156,157,157,157,156,156,154,150,146,144,141,131,121,113,98,75,59,51,39,26,16,8,4,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,3,5,7,8,9,17,18,30,36,53,69,86,104,118,130,141,156,164,174,180,190,193,198,202,204,206,208,209,211,209,209,209,211,215,219,219,217,212,215,217,219,220,220,221,222,224,224,224,222,222,224,224,224,225,222 +100,98,95,92,88,88,87,79,78,72,62,57,57,56,49,43,33,27,21,16,12,10,7,7,3,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,3,1,3,5,18,30,40,48,39,29,20,22,35,53,68,74,72,66,69,86,105,117,122,125,128,137,146,154,159,160,163,168,174,173,176,180,181,182,186,187,187,189,189,190,191,194,194,195,196,195,194,193,193,195,196,196,196,196,195,195,195,194,191,193,194,193,193,195,194,189,185,186,190,187,190,193,194,194,190,190,191,191,193,193,193,191,193,194,193,193,194,195,196,196,195,195,194,193,191,187,187,186,185,181,178,176,168,161,159,156,152,150,150,147,146,144,146,147,147,148,148,151,150,150,151,154,156,159,159,159,157,156,156,156,156,157,159,154,152,150,144,137,128,121,114,101,81,62,53,42,30,20,13,5,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,4,5,8,8,16,20,30,34,53,72,90,105,116,131,144,160,168,176,177,185,191,196,202,204,207,208,208,209,211,209,209,213,216,215,212,211,212,215,219,220,220,221,225,226,222,221,221,222,224,224,224,224,221,222 +100,99,96,91,88,91,86,75,75,70,62,59,57,55,47,40,31,26,20,14,10,8,5,4,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,5,4,5,20,34,42,44,34,25,18,23,38,55,66,70,66,60,72,91,108,118,124,129,131,135,146,156,163,167,168,172,176,176,178,182,183,185,186,187,187,187,189,190,193,193,193,194,194,194,194,195,196,196,196,196,195,195,195,195,194,194,193,194,195,195,194,195,195,187,181,183,189,189,189,191,194,194,190,190,194,193,194,194,194,193,194,193,193,193,193,194,195,198,196,196,195,191,191,189,187,186,183,180,177,172,167,161,159,156,152,151,150,147,148,146,146,146,148,148,148,150,150,150,152,154,156,157,159,160,159,157,157,156,155,156,159,155,154,150,143,137,129,122,117,105,86,66,55,43,35,25,17,9,5,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,4,5,7,8,10,17,27,29,48,72,91,107,116,133,147,163,169,176,177,182,193,198,200,203,206,209,211,211,213,211,211,215,216,213,211,211,215,217,220,221,222,222,225,226,221,221,221,222,224,224,224,222,221,222 +100,98,94,90,88,91,86,77,74,69,62,60,59,55,47,39,31,26,17,14,9,7,3,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,4,7,4,5,22,39,46,44,30,22,21,27,44,59,68,70,66,64,81,100,113,118,124,129,133,138,146,156,164,168,170,173,174,177,180,182,182,185,186,187,186,187,190,191,193,193,193,193,193,194,195,196,198,198,196,195,194,195,194,193,191,193,194,194,193,195,194,194,194,187,181,183,189,190,189,189,193,194,193,193,195,195,195,193,194,194,194,193,194,194,194,196,196,195,194,193,191,189,189,187,187,183,181,180,177,169,165,160,157,156,152,150,147,147,147,146,144,144,148,150,148,148,148,151,155,157,157,159,161,161,160,157,156,156,156,156,159,156,154,150,144,139,134,125,121,107,87,68,55,46,38,29,20,10,7,1,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,4,5,7,7,8,16,25,25,43,70,91,108,122,139,150,159,164,177,181,189,194,196,200,204,207,211,212,212,212,212,213,217,219,216,217,220,217,217,219,220,221,222,222,222,221,222,224,224,225,225,225,225,226,226 +98,94,92,90,87,88,85,78,74,69,62,60,59,55,46,36,30,23,17,13,9,5,1,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,4,7,8,7,12,29,44,49,47,34,22,22,31,47,62,70,72,64,66,86,105,114,120,122,130,137,144,148,155,160,165,169,172,174,177,180,182,182,183,185,185,185,187,191,194,193,193,193,191,191,194,194,196,196,198,196,194,193,196,194,194,193,193,194,194,191,193,193,194,193,189,185,186,189,190,189,187,191,194,195,195,196,196,195,194,195,195,194,194,194,194,194,194,194,194,194,191,191,190,190,189,187,185,182,178,177,169,167,161,159,155,155,151,148,146,144,144,143,144,148,150,150,150,150,152,157,159,159,160,161,159,157,156,156,156,156,156,159,156,155,150,144,141,138,129,122,105,88,68,55,44,39,33,22,12,7,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,4,4,5,7,13,21,23,44,74,96,113,126,143,152,163,168,181,183,190,194,198,203,206,209,211,212,211,213,215,215,216,216,216,220,222,221,220,220,220,221,222,221,221,221,222,224,224,225,225,225,224,224,225 +96,91,92,92,87,86,83,78,74,68,61,59,57,53,44,34,27,22,16,13,8,4,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,1,7,9,12,13,22,39,49,51,49,36,23,23,33,49,65,74,72,61,68,88,107,116,122,128,133,143,151,154,159,163,165,169,172,174,178,181,182,183,186,187,189,189,189,193,195,194,193,193,193,191,193,193,194,194,195,194,193,191,195,196,195,195,195,195,194,191,190,191,191,191,190,189,187,187,186,189,190,193,193,195,195,195,195,193,193,194,195,195,194,195,194,194,194,194,194,194,193,193,195,193,189,187,189,186,181,177,173,169,161,156,154,152,150,147,147,143,141,141,143,147,148,150,150,147,148,155,160,161,160,161,160,157,155,156,159,159,157,157,157,156,152,146,142,138,130,122,108,92,73,60,48,43,33,22,14,9,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,3,4,7,9,18,23,49,81,103,117,126,146,156,168,174,187,187,189,194,199,204,207,207,208,211,212,216,216,216,213,213,216,219,220,222,222,222,222,221,222,225,225,222,221,221,222,224,224,222,221,219,220 +96,91,90,91,88,85,82,78,73,66,60,56,56,52,42,31,26,21,16,12,8,5,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,4,7,8,14,18,29,44,52,51,47,36,27,26,34,51,68,77,73,59,73,94,111,120,126,130,137,147,152,156,161,165,169,172,174,177,180,182,185,186,187,190,191,191,189,193,196,195,194,194,194,191,194,193,193,194,195,195,195,194,191,195,198,196,195,194,193,190,189,191,193,191,190,190,189,186,183,189,193,193,193,195,195,195,195,193,191,193,195,195,195,196,199,198,196,195,194,193,191,191,195,191,186,185,189,186,180,173,176,169,160,154,151,151,148,147,148,143,141,142,143,146,148,150,152,146,146,152,160,163,161,161,160,157,156,157,159,159,157,157,157,159,155,147,142,138,130,124,112,96,78,64,52,46,34,21,16,10,7,4,3,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,4,4,4,13,22,55,87,108,121,133,150,159,167,173,189,191,194,195,202,206,204,202,204,211,215,215,216,215,213,215,220,221,220,220,220,222,222,221,222,224,226,225,222,221,222,225,225,222,221,221,221 +95,92,90,88,86,82,78,77,72,62,56,57,55,47,39,35,27,22,16,10,5,3,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,3,5,5,5,14,26,38,48,49,42,31,20,23,36,57,69,73,70,65,77,95,111,118,126,130,135,143,146,152,161,165,168,172,176,176,180,182,183,183,183,185,187,191,187,190,191,193,193,194,196,198,198,195,194,194,194,195,194,194,196,196,198,196,196,194,193,191,191,191,193,193,185,177,181,187,189,190,190,190,190,193,191,189,191,195,196,195,194,196,196,195,195,195,195,195,195,198,195,191,191,191,190,187,185,183,178,174,177,169,163,159,157,154,152,151,148,141,137,142,146,144,143,146,151,151,150,152,157,161,161,160,157,157,157,157,157,157,156,156,156,155,154,146,139,139,133,124,117,101,82,65,51,46,38,27,18,9,5,7,7,5,3,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,1,1,8,8,10,23,53,94,111,122,141,150,155,170,180,190,189,193,195,200,204,206,208,211,211,207,215,215,216,217,217,219,219,219,220,221,221,221,220,220,222,222,225,221,221,225,225,222,221,224,225,222 +96,94,91,88,86,81,77,74,69,64,57,56,53,47,38,33,26,21,14,10,5,3,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,1,4,4,7,17,30,36,47,51,40,27,18,23,40,60,72,72,69,66,85,100,111,117,126,133,139,147,151,155,160,164,170,176,177,177,180,181,182,182,183,186,191,195,195,194,193,191,191,193,195,196,195,194,194,193,194,194,195,195,198,196,196,195,195,195,194,194,194,193,193,191,187,180,182,187,189,191,193,193,191,194,194,191,195,198,198,196,194,195,196,196,196,196,196,195,196,196,194,191,191,191,189,186,186,185,180,174,173,168,163,159,155,154,150,147,147,141,134,135,139,141,144,151,152,152,152,155,157,160,160,159,157,156,156,156,156,157,159,159,152,152,152,147,141,139,135,129,117,100,81,66,53,47,36,26,14,8,4,5,3,3,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,4,8,16,29,55,92,114,133,141,154,161,173,177,187,190,199,199,200,203,207,209,212,215,216,212,215,217,219,219,219,220,220,221,222,224,224,222,222,222,222,221,220,222,225,226,222,222,225,226,224 +95,92,88,86,85,79,73,68,65,62,59,56,53,47,38,30,25,21,13,9,5,3,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,7,20,33,38,47,52,43,25,17,26,44,64,72,70,68,68,90,105,113,118,128,135,142,152,156,159,163,167,170,176,180,180,180,181,183,185,185,186,191,195,191,190,190,189,191,194,195,195,193,194,194,194,194,194,196,196,198,195,193,191,194,195,195,195,195,194,194,193,187,182,183,187,189,191,193,193,193,194,193,191,196,195,195,195,193,193,194,196,194,194,194,194,194,195,191,190,191,191,191,189,186,183,180,176,169,167,160,154,152,152,150,144,139,137,137,139,142,143,146,150,150,151,154,155,157,159,159,159,160,159,156,155,155,155,156,156,155,156,156,150,142,139,137,130,118,101,82,68,55,49,36,25,12,5,3,4,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,8,16,30,59,96,118,137,142,159,167,174,177,189,193,202,204,203,204,208,212,211,212,216,212,216,221,222,221,220,221,222,221,222,224,225,225,224,224,222,220,220,222,225,225,222,224,226,222,221 +95,92,88,86,82,78,73,66,61,61,60,56,52,47,39,31,23,20,12,9,7,4,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,8,22,35,42,49,52,42,25,21,33,49,66,73,68,66,70,90,105,117,122,130,137,142,152,159,161,165,168,170,174,178,180,178,181,186,189,189,189,189,190,186,186,190,193,194,194,194,193,191,194,196,198,196,196,198,199,196,194,191,191,193,195,195,195,195,193,194,193,189,183,183,186,187,189,191,191,190,191,191,191,194,191,193,194,193,191,193,198,194,194,193,193,193,194,194,194,194,194,191,189,186,182,178,176,170,167,159,150,148,151,150,144,138,137,139,142,144,144,144,144,147,148,151,155,159,159,159,160,160,159,156,155,155,155,156,156,156,156,157,152,144,142,138,131,121,104,86,72,56,48,35,25,13,5,4,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,4,5,5,12,31,65,104,121,137,147,161,165,173,181,195,195,198,204,204,207,211,212,209,209,212,215,219,222,224,222,221,221,221,220,221,224,224,225,224,222,221,220,220,222,224,224,222,224,226,221,221 +94,92,88,85,81,78,74,68,62,62,60,56,52,47,39,31,23,20,12,8,7,3,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,4,13,22,36,46,52,51,39,26,26,36,52,68,74,69,69,77,91,108,120,124,131,135,142,152,157,161,167,170,170,172,176,180,181,183,187,189,189,187,187,187,187,190,194,195,194,193,190,190,191,193,195,196,195,195,195,195,198,195,193,193,195,196,196,195,194,193,191,191,187,183,183,186,185,186,189,190,189,190,191,193,193,191,193,195,194,193,195,196,199,196,196,195,196,198,198,198,194,193,190,189,186,182,178,177,173,170,160,151,148,151,151,147,143,138,134,135,138,142,144,146,147,146,148,155,159,160,160,160,157,157,157,157,159,160,161,161,156,155,155,152,147,146,143,135,124,109,91,75,57,47,36,27,14,8,4,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,4,8,5,12,36,74,111,124,135,148,161,167,176,182,196,195,195,200,204,208,208,211,213,216,215,216,217,220,222,224,222,221,221,222,222,224,222,222,221,222,222,222,222,224,224,222,222,224,226,225,225 +96,94,87,81,77,77,74,69,64,62,60,56,52,46,38,33,25,18,12,8,7,4,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,3,8,20,29,40,49,55,49,38,26,27,39,53,68,74,69,69,82,92,111,120,124,131,137,143,154,159,161,167,170,172,173,174,178,182,183,185,186,186,187,189,190,191,193,195,194,191,190,190,191,191,193,194,194,193,191,190,190,196,195,193,193,194,194,194,193,193,191,190,189,186,183,185,186,187,187,187,190,191,191,190,193,190,191,193,195,194,193,194,195,198,196,195,195,194,194,194,195,193,190,189,189,186,182,180,178,173,170,163,155,152,152,151,146,146,135,129,134,141,143,144,150,148,146,147,155,161,161,160,159,159,159,157,157,159,159,160,159,156,154,152,151,147,144,139,131,128,112,95,78,59,47,38,31,18,9,4,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,3,4,4,7,5,16,42,77,111,124,138,147,163,169,178,183,194,194,198,200,206,207,206,208,213,217,217,219,219,220,222,224,225,225,225,224,224,224,222,222,222,224,225,224,224,224,224,222,222,224,225,225,225 +95,92,85,75,72,73,70,68,62,59,57,57,53,46,36,34,25,20,12,9,7,4,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,4,9,26,35,47,52,56,55,43,30,30,47,60,70,75,66,68,85,98,112,120,125,134,141,146,154,160,161,165,170,173,173,176,180,183,183,183,183,185,187,190,191,190,190,191,191,191,191,193,194,194,193,193,193,194,194,193,191,194,193,193,191,191,191,191,193,193,193,191,189,183,182,185,187,190,189,187,189,191,190,191,194,190,191,194,194,193,194,194,194,195,193,193,193,191,189,190,191,194,189,186,187,187,185,181,178,172,167,160,156,154,151,148,147,141,130,128,137,144,143,143,150,148,146,148,156,161,161,159,160,160,159,157,156,156,155,155,154,157,155,154,152,147,143,138,131,128,112,96,81,64,51,40,34,21,10,4,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,4,5,5,17,44,79,113,125,139,148,161,170,181,185,193,194,202,203,206,208,208,209,211,215,216,219,220,221,221,222,224,225,226,224,224,225,225,224,224,225,225,222,224,224,224,225,225,225,224,222,224 +92,90,82,72,66,66,66,64,60,55,53,57,55,46,38,34,26,20,13,10,8,5,1,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,5,12,27,40,51,55,59,61,49,34,36,53,68,75,77,65,68,87,99,112,121,128,139,144,147,152,161,160,163,169,174,176,178,180,181,182,183,185,186,187,190,190,191,191,191,193,194,194,194,193,195,195,195,195,198,199,198,198,194,193,191,190,189,189,191,193,193,193,191,187,183,183,185,189,191,189,186,189,190,190,190,193,193,196,196,194,193,195,195,193,195,194,196,198,196,193,193,193,195,189,186,187,189,185,180,177,172,164,155,151,150,148,147,148,138,128,124,134,141,138,142,150,144,144,148,155,159,159,157,160,161,159,156,156,155,156,156,156,155,154,156,155,146,142,141,135,126,111,95,82,66,53,40,34,22,12,5,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,4,9,5,16,46,85,118,129,142,152,161,169,181,187,195,195,202,203,204,208,213,213,212,215,219,219,219,221,219,217,217,221,225,222,222,224,224,224,224,225,225,221,224,225,225,226,226,225,222,224,225 +90,86,82,74,65,65,65,57,53,56,55,55,51,48,40,33,22,21,16,12,8,5,3,1,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,1,0,8,18,30,46,56,59,61,60,49,40,38,52,70,79,75,65,72,91,101,112,122,126,135,141,148,156,159,163,164,168,174,177,180,185,180,182,187,190,193,191,189,187,187,189,191,191,193,194,194,193,194,194,194,195,195,195,194,193,193,193,194,194,194,193,191,190,193,191,191,190,186,183,183,187,183,186,190,193,193,193,191,191,189,193,194,194,193,193,193,190,194,196,199,198,195,194,194,194,194,191,189,186,185,182,181,180,174,167,155,150,147,146,144,142,139,126,130,137,138,141,139,142,143,147,151,156,160,161,159,156,161,160,156,154,152,155,157,160,152,152,152,152,147,139,133,129,125,116,101,86,72,59,46,39,23,16,5,3,3,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,4,5,8,5,18,53,88,117,131,142,151,164,174,178,189,196,199,200,206,209,208,208,213,216,215,216,213,219,222,222,220,220,221,222,220,222,225,225,224,225,225,225,226,226,226,225,224,224,224,224,225,221 +88,85,78,69,62,64,64,59,57,56,55,53,55,51,40,30,22,20,16,12,8,5,1,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,1,1,10,22,34,47,56,60,61,55,47,43,40,57,73,81,78,72,79,95,104,114,124,129,135,142,148,155,160,164,167,169,176,177,178,183,185,185,187,187,189,190,193,193,190,191,193,193,193,194,194,194,193,193,194,194,194,194,193,193,194,193,191,191,190,190,191,193,193,191,191,190,187,185,186,189,187,187,187,190,191,191,191,190,190,194,196,195,194,195,195,195,195,196,196,196,195,195,194,193,191,190,187,186,183,181,180,178,173,167,156,151,147,147,146,146,139,124,128,135,135,138,141,142,146,147,151,155,157,159,159,159,160,160,157,156,155,155,156,157,156,155,154,152,148,142,135,131,129,121,108,91,74,61,46,36,23,16,7,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,4,5,10,9,23,57,91,120,134,146,152,165,176,182,191,196,199,200,203,207,208,208,213,216,216,217,216,219,222,222,221,222,225,225,222,224,224,224,226,228,226,226,224,225,226,228,226,226,225,224,222,222 +87,86,75,65,64,65,64,61,61,59,53,53,55,52,40,29,22,20,16,12,8,5,1,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,3,4,13,26,42,49,57,64,65,56,48,48,47,64,78,81,78,77,86,99,109,118,126,133,141,146,151,157,163,167,168,170,176,177,178,182,185,186,189,190,190,190,189,189,191,193,194,193,191,193,194,194,193,194,194,194,194,193,194,194,191,191,190,189,189,189,190,190,191,190,189,187,185,182,185,187,190,187,186,186,189,191,191,190,191,195,196,195,194,195,196,196,196,196,195,194,195,196,194,193,190,189,187,185,183,181,180,178,170,165,156,148,146,146,146,147,139,124,126,133,133,139,142,144,146,146,150,156,159,157,159,161,159,159,157,156,156,155,155,156,159,159,156,152,148,146,141,134,126,122,108,92,78,65,49,38,25,18,9,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,4,4,10,12,27,61,92,121,134,146,154,165,176,182,190,194,196,200,203,208,208,209,213,216,216,219,219,220,220,220,222,225,225,225,222,225,225,225,225,226,226,226,222,224,225,225,225,224,225,225,224,225 +88,87,74,62,65,65,61,60,60,59,53,52,53,51,39,29,21,20,14,10,7,4,1,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,0,0,1,4,17,30,44,51,59,65,66,59,51,49,53,69,81,81,78,75,86,100,111,120,126,133,144,150,155,160,164,169,170,172,177,178,180,182,183,186,189,190,190,189,187,186,191,193,193,193,191,193,191,190,194,195,195,194,193,191,193,194,190,190,191,191,191,191,190,189,190,189,187,186,183,182,182,185,187,186,185,185,189,191,191,191,193,194,193,193,193,194,194,195,195,195,194,193,194,195,195,193,190,187,186,185,183,181,178,177,168,163,154,146,144,144,144,144,138,122,124,129,130,138,143,146,146,146,150,157,161,160,157,159,157,157,157,156,154,152,155,156,157,157,155,150,148,148,143,137,125,121,108,92,79,68,53,40,29,21,12,7,1,0,0,0,0,0,0,0,0,0,0,0,3,3,1,1,1,1,3,4,8,13,30,64,95,122,134,144,155,167,177,186,193,194,198,203,203,209,212,212,215,215,213,216,219,220,222,222,222,224,224,224,224,225,225,225,225,228,226,225,224,224,222,221,221,221,224,225,228,226 +88,87,73,62,65,65,60,59,57,56,55,53,51,49,38,29,18,17,13,9,7,4,1,0,0,0,0,0,1,3,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,7,20,34,43,51,57,61,62,56,47,43,53,68,81,82,77,70,82,100,109,118,124,130,141,150,154,159,164,169,172,172,176,178,181,183,182,183,185,185,186,189,193,194,193,193,191,193,194,194,190,186,193,194,195,194,191,190,191,191,193,193,193,193,194,193,191,190,190,189,187,185,183,181,182,185,183,183,185,185,186,187,189,190,193,191,189,190,193,195,194,194,195,195,194,193,193,194,194,193,193,189,186,185,185,183,178,174,168,161,151,146,143,143,141,139,134,118,121,125,126,134,139,143,147,146,148,156,163,163,160,159,156,156,156,154,152,152,155,157,156,156,155,150,148,150,144,137,131,126,112,98,83,70,55,42,33,25,13,7,5,4,1,1,1,1,0,0,0,0,0,0,1,1,3,3,3,3,5,5,9,13,33,72,103,128,138,144,159,170,180,189,194,195,200,207,204,209,212,212,212,213,213,216,219,221,225,224,224,224,224,222,225,225,225,224,225,226,226,225,225,225,225,224,222,222,224,225,225,225 +86,85,74,66,66,68,62,59,55,56,56,55,52,47,36,27,17,16,13,9,8,5,1,0,0,0,0,0,3,4,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,9,22,36,44,52,60,61,60,48,39,35,49,64,78,81,73,66,79,101,111,120,125,131,142,150,155,160,163,169,172,172,178,181,182,183,182,183,183,185,186,189,190,191,191,191,191,191,193,194,190,187,193,193,194,193,193,191,191,193,194,193,191,190,190,189,190,190,190,187,183,182,181,181,182,185,185,186,189,189,187,187,187,190,190,187,187,191,195,196,195,196,196,198,195,193,193,193,193,191,193,190,186,186,186,183,178,173,169,161,151,144,144,143,139,137,131,120,121,124,125,131,138,143,148,148,150,154,159,163,163,163,157,157,156,152,150,151,155,159,157,157,155,152,150,148,143,138,137,129,114,101,87,74,57,47,36,27,17,10,7,4,1,1,3,1,1,1,1,1,1,0,0,0,1,3,3,4,7,8,10,13,35,77,109,130,137,147,159,169,180,186,193,196,199,204,203,209,212,212,213,213,215,217,220,222,226,225,224,224,224,224,225,225,224,224,225,226,226,224,224,225,226,228,228,226,226,226,220,225 +87,82,77,69,65,66,64,56,55,56,56,55,52,47,35,26,18,17,14,10,8,5,1,0,0,0,0,0,1,4,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,13,29,40,48,56,62,65,57,42,33,34,48,64,77,75,70,68,83,101,112,120,129,135,144,151,156,160,163,169,172,172,177,181,181,182,182,183,186,187,189,187,186,185,191,193,193,191,191,191,191,190,194,194,194,194,195,194,194,194,193,193,190,189,187,186,187,187,187,183,182,180,180,180,181,185,186,189,190,190,189,189,189,190,190,189,190,194,195,195,196,198,198,196,195,193,193,194,193,190,190,189,187,186,183,180,176,173,168,161,154,147,142,141,138,135,131,121,125,126,126,133,138,143,147,150,152,154,156,161,164,161,159,159,157,154,150,151,155,159,159,157,155,154,151,147,143,141,135,126,113,104,94,78,61,51,39,31,22,16,8,4,1,3,1,0,0,0,1,1,1,0,0,1,3,4,3,4,7,8,10,12,35,81,112,129,137,150,159,170,178,182,190,195,198,200,204,209,212,212,215,216,215,219,221,222,222,222,221,222,224,222,224,224,222,222,225,228,228,225,224,225,228,229,229,228,228,226,221,225 +86,79,75,69,62,64,64,53,56,57,56,55,55,49,35,25,20,17,14,10,8,4,1,0,0,0,0,0,0,4,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,17,31,44,49,55,64,68,57,36,29,36,49,66,77,73,68,70,83,99,108,120,129,137,144,151,156,160,163,170,173,172,177,181,182,182,185,185,185,186,186,187,190,191,189,191,191,190,189,190,190,193,193,193,193,194,195,195,194,193,193,193,193,191,191,189,186,185,189,185,181,180,180,181,182,186,186,187,189,189,187,187,189,190,189,190,193,195,194,191,193,195,196,195,193,193,194,195,194,190,186,187,187,186,182,177,174,173,167,161,152,146,142,139,137,135,129,121,125,128,125,131,138,143,143,151,155,155,157,163,164,161,163,163,159,155,151,151,155,159,159,156,155,154,151,146,143,143,137,126,116,109,99,79,61,52,42,35,26,17,9,4,3,4,0,0,0,0,1,3,1,0,1,1,3,3,3,3,4,5,10,12,36,83,113,126,137,154,161,176,182,185,190,198,200,200,206,211,211,211,215,216,215,219,220,220,219,217,219,222,224,222,224,224,222,222,226,229,229,226,226,226,228,226,226,226,226,228,228,228 +83,81,73,66,66,66,61,55,51,56,57,56,49,43,36,29,20,17,12,9,7,4,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,9,21,34,42,49,59,66,64,51,36,34,40,52,70,74,72,62,69,83,101,111,120,129,135,143,147,155,161,165,169,173,174,174,176,178,181,181,185,187,186,186,190,191,190,193,193,191,191,191,193,194,194,190,191,194,195,196,195,194,194,194,191,191,191,190,191,191,189,186,185,185,185,182,180,180,183,189,187,186,187,189,190,189,187,189,191,195,195,194,194,194,194,194,195,195,195,193,191,191,190,190,190,189,187,185,183,178,173,167,159,155,151,143,141,141,139,129,116,120,125,126,134,139,141,146,150,154,156,156,159,161,163,160,164,163,156,150,150,155,159,160,157,156,156,155,151,146,143,137,126,118,114,101,86,66,51,42,34,27,23,13,10,8,5,4,0,0,1,0,0,0,1,0,0,1,1,1,1,4,4,7,18,46,86,111,128,139,154,159,172,181,186,194,198,199,203,207,212,213,212,213,219,221,220,219,220,222,222,221,221,224,226,222,224,226,228,228,225,225,226,225,226,226,222,222,224,225,224,224,226 +83,81,74,68,68,68,62,56,52,56,57,56,49,43,34,27,21,17,12,8,4,1,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,13,25,36,44,51,59,64,60,49,34,31,40,56,72,75,72,64,72,85,101,114,122,130,137,146,151,155,161,167,169,172,174,176,178,181,182,181,185,186,185,186,190,191,190,189,191,193,193,194,193,193,193,193,193,194,194,194,193,191,190,191,189,189,189,187,187,191,189,182,180,178,178,178,177,178,182,183,183,183,185,187,189,189,189,191,193,194,194,191,193,194,193,195,195,196,195,194,193,190,190,191,191,189,187,185,182,177,173,169,160,154,147,141,139,141,139,131,118,120,121,121,131,139,143,144,147,151,155,157,160,161,161,160,161,159,154,150,151,155,157,159,159,157,156,154,150,147,146,141,129,121,116,103,87,69,56,44,38,29,23,14,10,8,5,5,1,0,0,0,0,0,0,0,0,0,1,1,1,4,4,10,20,46,87,114,133,141,152,164,173,180,183,190,195,202,207,208,209,211,213,215,217,219,219,221,222,225,224,222,222,225,226,225,225,225,225,226,225,226,229,228,228,226,224,224,226,228,226,225,226 +82,79,74,70,69,69,61,53,53,56,57,56,51,42,33,25,21,17,12,9,4,1,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,17,29,39,47,55,64,64,57,48,31,29,44,59,73,74,70,65,75,88,104,120,125,131,138,147,152,157,164,168,169,172,174,176,178,182,183,182,185,186,185,185,187,190,189,189,190,193,194,194,193,193,193,195,194,193,193,193,193,191,190,194,190,190,190,186,186,189,185,182,180,177,176,176,177,180,182,181,182,185,186,186,189,191,194,193,194,194,193,193,194,195,194,193,194,195,195,194,191,190,189,190,190,189,186,183,182,176,172,169,160,151,144,141,141,142,139,131,118,117,117,117,129,138,143,143,147,150,154,157,160,161,160,161,159,156,152,151,154,156,157,159,160,159,156,152,150,148,150,144,134,126,120,107,92,77,64,49,40,33,25,14,10,8,5,5,1,0,0,0,0,0,0,0,0,0,0,0,0,4,5,8,21,49,91,118,137,144,155,163,173,181,186,194,198,202,204,208,208,209,213,216,215,216,219,221,222,225,225,222,222,225,226,228,226,225,225,226,226,226,226,228,228,228,225,225,226,228,228,232,228 +81,78,73,69,68,65,59,52,53,56,57,56,51,43,35,29,22,17,13,10,7,1,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,20,31,40,48,59,66,62,56,48,30,27,47,60,75,74,69,65,78,95,111,120,128,133,138,146,152,157,165,167,169,173,176,178,180,181,182,182,185,185,185,185,186,189,187,191,191,191,191,191,191,193,193,195,193,193,193,195,195,195,194,196,193,191,190,186,186,186,183,185,182,177,176,176,178,182,185,181,182,182,185,187,190,190,191,191,193,194,193,194,195,196,195,193,194,195,195,194,191,189,189,190,190,186,183,182,181,174,170,168,157,150,144,141,143,143,139,130,118,120,120,120,128,135,139,143,146,151,155,159,161,161,160,163,160,157,154,155,156,157,157,159,159,159,156,152,151,150,148,144,137,129,121,108,95,81,69,53,44,35,27,17,12,9,5,5,1,0,0,0,0,0,0,0,0,0,0,0,0,3,4,7,25,57,99,120,133,143,157,161,173,182,189,196,200,202,202,207,208,211,213,215,215,217,220,221,221,222,222,222,222,224,225,225,226,225,226,228,229,226,224,226,226,226,226,226,226,226,225,232,226 +81,78,73,70,69,65,59,52,55,56,56,56,52,44,38,34,29,21,13,9,7,1,0,0,0,0,0,1,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,21,33,42,49,59,68,62,53,46,30,29,49,62,78,77,68,62,79,98,113,120,129,135,139,146,151,157,167,167,169,174,178,178,178,180,182,182,183,185,183,183,185,187,187,190,190,190,190,191,191,191,193,194,193,193,194,195,196,198,196,191,189,189,190,187,187,189,186,183,181,176,173,174,177,181,182,181,181,181,182,185,187,186,186,190,191,193,193,194,195,195,194,195,196,196,196,195,193,191,190,187,186,185,182,181,180,174,170,167,157,151,146,142,144,143,137,129,118,121,120,118,126,134,137,144,148,152,156,160,163,163,161,163,160,156,155,155,155,157,159,157,157,156,155,155,155,150,147,143,137,131,124,109,98,82,70,59,47,36,29,18,13,9,7,4,1,0,0,0,0,0,0,0,0,0,0,0,0,4,5,10,31,65,103,120,131,142,155,168,176,182,186,193,198,202,204,204,209,212,211,211,215,219,220,220,220,221,221,221,221,224,225,225,225,225,226,226,229,226,222,228,226,226,228,228,226,225,224,225,225 +81,78,74,72,70,65,59,53,57,57,57,56,52,46,42,40,38,26,13,9,5,0,0,0,0,0,0,0,3,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,9,23,34,43,51,56,65,61,49,42,29,33,51,65,82,79,68,62,81,99,114,121,130,135,141,148,154,159,168,165,170,176,178,177,177,178,181,182,182,183,183,183,185,186,187,187,189,190,191,191,191,191,191,194,193,193,194,195,195,194,193,193,190,191,191,189,187,187,186,180,178,177,173,173,176,178,180,181,180,180,182,185,186,186,185,186,189,191,191,193,194,193,191,194,195,196,196,194,193,191,190,187,186,185,182,181,180,174,169,167,160,155,148,143,144,142,134,129,120,120,116,113,125,133,138,146,148,151,154,157,160,161,160,161,159,157,156,154,152,154,156,154,155,156,155,155,155,151,146,144,139,135,126,113,101,87,74,61,51,40,31,21,16,10,7,4,1,0,0,1,0,0,0,0,0,0,0,0,0,4,5,13,33,66,105,124,137,144,156,167,177,183,187,194,198,200,203,203,211,213,211,211,216,221,220,220,220,221,222,222,224,225,226,226,226,224,222,224,228,228,225,228,226,228,229,230,229,226,225,224,225 +81,77,74,73,70,66,60,56,60,59,57,55,49,44,44,46,44,29,14,9,8,4,0,1,0,0,0,1,3,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,13,26,36,46,55,57,62,60,47,34,29,36,52,68,82,79,69,65,85,101,113,125,131,135,142,150,156,160,165,167,170,174,177,178,178,181,182,183,183,185,186,186,186,186,187,186,187,187,189,190,191,191,193,194,194,194,193,193,193,193,193,194,191,193,193,189,187,185,181,181,182,180,177,176,177,180,180,180,180,181,185,186,187,186,186,186,189,191,193,193,193,193,191,193,193,194,193,191,190,189,189,189,187,185,182,181,180,174,170,167,163,155,150,143,143,141,131,129,118,117,112,108,121,133,141,142,146,150,151,154,157,160,160,163,160,157,156,155,154,154,154,152,155,156,155,154,155,152,148,146,142,137,128,116,105,90,78,65,53,42,34,23,17,12,8,4,3,0,1,1,0,0,0,0,0,0,1,1,1,4,4,14,36,70,108,125,139,148,160,165,177,186,190,195,198,199,200,204,208,213,213,215,217,219,219,219,220,222,224,224,225,225,225,226,226,224,221,222,228,229,228,229,226,226,229,230,229,228,228,226,228 +79,75,73,72,70,65,60,57,62,61,59,56,48,43,44,48,44,31,18,16,13,8,3,1,0,0,0,1,3,3,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,5,16,29,38,49,59,59,64,62,46,30,29,39,52,65,82,79,69,68,88,103,114,126,131,134,141,151,157,159,163,169,170,173,176,177,178,182,182,183,183,185,186,187,186,186,187,189,189,187,187,187,190,193,194,194,194,194,193,193,193,193,194,193,190,191,191,187,185,183,180,182,185,183,180,176,177,178,178,177,180,181,185,187,189,189,190,187,191,193,193,191,193,193,193,191,193,193,193,191,190,190,189,190,189,186,183,181,180,174,170,165,161,156,148,143,144,142,133,126,116,114,108,107,121,133,141,143,147,151,152,152,156,160,163,164,159,157,157,156,154,152,152,151,155,156,154,152,154,154,150,144,141,135,126,116,105,91,79,68,56,44,36,25,18,13,8,5,3,1,1,1,0,0,0,0,0,1,1,1,1,5,5,17,42,79,113,124,135,146,163,169,180,185,186,190,195,199,204,207,206,209,215,219,217,217,217,220,221,221,224,224,225,224,224,224,226,225,222,224,228,229,226,226,224,224,228,229,229,229,230,225,229 +82,78,74,73,69,64,60,60,62,60,57,56,51,46,42,42,38,27,21,20,17,14,9,4,3,4,1,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,17,29,40,52,56,59,59,57,49,36,31,42,56,69,79,79,72,74,88,105,117,126,131,139,144,151,157,163,165,169,172,173,173,174,180,185,185,182,186,186,183,186,186,185,186,187,187,190,191,189,186,186,190,194,194,193,193,193,193,193,193,191,191,190,190,191,189,187,185,181,181,181,178,174,173,177,181,178,177,177,181,183,186,186,186,189,189,190,190,190,191,194,195,191,193,193,194,193,191,190,190,187,186,183,182,182,181,176,169,167,154,147,148,146,141,134,129,121,117,113,105,108,120,129,142,142,142,147,154,159,159,159,160,161,157,156,155,154,154,152,147,147,154,156,156,155,155,152,150,143,138,128,122,111,99,91,78,65,52,42,36,26,16,10,8,5,4,1,0,0,0,1,1,1,0,0,0,4,4,7,8,16,49,78,109,131,146,151,156,168,181,187,189,195,200,203,207,209,208,208,213,215,212,215,220,216,222,222,219,220,226,228,222,228,224,221,225,230,232,228,225,224,228,230,230,228,226,226,228,229,226 +83,79,75,72,66,61,60,60,64,60,56,53,49,46,44,46,39,27,23,22,20,17,13,9,5,5,5,5,3,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,7,17,31,43,52,57,60,60,56,46,33,31,44,59,72,81,81,72,75,92,108,118,129,134,142,147,152,159,164,167,167,170,174,174,177,178,181,181,182,185,183,182,183,185,183,187,189,187,189,190,190,189,190,191,193,193,194,194,193,193,193,193,194,191,190,190,189,187,186,185,182,181,177,176,173,174,177,180,178,176,176,178,181,183,183,185,186,187,189,190,190,190,191,193,193,193,191,191,191,191,190,190,180,183,185,182,180,180,176,172,164,154,147,148,144,139,134,129,122,116,111,101,103,118,129,138,142,142,148,154,157,157,157,159,163,159,156,154,150,150,148,143,141,148,154,155,155,155,152,150,143,139,130,126,118,107,95,78,65,49,39,35,26,18,12,8,5,4,1,0,0,0,0,1,1,0,0,1,1,1,5,8,18,53,83,114,133,144,151,160,172,185,193,194,198,200,202,204,207,208,211,213,213,213,216,220,220,222,222,221,221,224,224,222,224,224,225,226,226,225,225,225,225,228,230,230,229,228,228,229,230,229 +82,79,74,70,66,62,61,62,66,62,57,52,48,46,48,51,36,27,21,22,21,20,16,12,7,7,9,10,7,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,7,21,35,44,51,55,59,59,53,40,30,33,47,64,77,83,78,66,74,95,112,121,125,130,137,142,148,155,161,164,167,170,173,174,174,177,180,180,180,182,181,180,183,183,183,186,187,189,189,187,190,193,195,194,191,191,191,193,194,194,193,193,193,191,189,187,187,186,186,183,183,181,177,173,172,174,177,180,177,176,174,177,178,181,182,185,186,187,190,190,190,190,191,193,195,194,193,191,191,190,190,189,186,187,187,185,182,180,173,167,164,155,150,148,144,141,137,130,121,113,109,96,94,114,129,131,139,141,147,152,156,156,157,159,159,156,155,152,150,150,150,144,135,144,151,154,152,152,150,147,143,139,130,126,118,112,99,78,64,48,35,34,26,18,12,7,5,4,1,0,0,0,0,0,0,1,1,3,1,1,7,9,22,57,88,121,134,142,152,167,176,186,194,195,199,200,202,206,207,209,212,213,215,217,219,219,220,220,222,222,222,222,222,224,225,226,228,228,226,225,225,226,226,228,229,229,228,228,229,229,232,230 +79,78,74,70,66,64,65,66,66,64,59,53,48,46,47,49,33,25,20,21,17,14,13,9,8,8,10,14,10,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,9,26,40,46,49,55,56,56,49,35,26,33,52,69,81,83,74,61,72,96,114,124,128,133,139,144,151,159,165,168,170,172,173,174,174,177,180,181,178,181,181,181,185,183,182,185,185,187,187,186,187,191,195,194,190,191,191,193,193,193,191,191,194,190,186,185,185,185,185,182,183,180,176,172,170,173,176,177,176,174,174,177,180,182,185,187,189,190,190,190,190,190,191,194,196,195,194,193,193,191,189,187,194,191,186,183,183,182,174,164,164,156,150,147,144,142,138,131,122,114,111,95,87,112,129,130,137,139,146,151,155,157,160,161,157,155,152,151,148,150,150,144,135,143,150,152,150,148,146,143,141,139,130,124,116,112,100,79,64,48,36,34,25,18,10,5,4,4,1,1,0,0,1,1,1,3,3,4,4,4,10,14,26,61,92,125,137,143,154,170,176,183,191,193,196,200,204,208,208,211,212,211,216,220,219,215,217,220,222,224,225,225,225,226,228,226,225,225,228,229,226,225,229,228,228,228,229,230,230,230,230,230 +79,79,77,72,69,66,65,66,65,64,59,52,47,43,42,42,29,21,17,17,13,10,8,5,7,7,12,16,10,3,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,13,29,43,48,53,60,56,55,47,34,27,35,55,70,82,81,72,62,75,99,116,124,130,135,142,147,154,160,165,168,173,173,173,177,180,181,180,180,180,182,182,185,187,185,182,185,183,189,190,187,187,190,193,193,193,191,193,193,193,193,191,190,194,190,186,185,186,186,185,182,182,180,174,170,169,170,173,174,173,173,174,177,180,181,182,183,185,186,187,189,189,190,190,191,193,193,193,194,193,191,187,186,189,186,182,182,183,183,174,165,161,156,150,146,142,139,135,126,121,114,112,95,86,111,130,131,135,138,144,150,155,159,160,161,161,157,156,154,148,148,146,139,135,141,146,148,148,146,144,143,141,139,131,125,118,112,100,81,65,51,40,36,27,20,12,7,3,3,1,1,1,1,1,1,1,1,4,4,4,5,14,18,31,65,94,125,139,144,155,172,176,183,190,193,198,202,204,209,208,209,209,208,213,217,216,208,211,217,222,222,224,225,225,225,222,224,222,222,225,228,226,225,230,229,228,228,229,230,230,230,232,229 +81,82,78,73,70,68,65,65,64,64,59,52,47,42,36,34,26,18,14,13,9,7,5,3,3,5,9,12,8,3,0,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,14,30,42,49,57,65,59,55,44,34,29,38,56,73,81,78,73,70,85,104,117,122,130,135,141,146,151,156,160,163,168,169,172,177,180,178,176,176,180,182,182,186,186,183,181,183,182,187,190,189,187,187,190,190,193,193,193,193,193,191,191,190,193,190,187,186,186,186,185,183,182,180,176,172,170,172,172,173,172,170,173,174,177,178,178,180,177,181,187,190,191,191,190,190,190,190,190,193,193,193,189,186,181,183,182,178,177,176,172,167,161,156,151,146,141,139,133,124,117,113,108,91,86,108,126,133,137,141,144,150,155,159,160,159,160,157,156,154,150,147,144,137,133,137,142,144,144,144,143,142,137,137,131,128,120,111,99,79,65,52,43,39,29,18,10,5,4,4,1,1,1,1,1,1,0,1,3,3,4,5,14,20,34,70,99,128,141,147,157,170,176,185,193,198,203,203,204,208,209,211,211,209,213,217,215,208,209,216,220,220,220,222,224,221,219,222,224,222,222,225,228,229,229,229,228,228,229,229,230,230,230,228 +81,81,78,73,70,69,68,66,64,62,57,52,46,42,36,30,23,16,12,12,7,3,3,0,1,4,7,7,5,3,1,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,7,17,30,42,49,56,61,61,52,43,34,31,39,59,77,81,77,73,77,94,109,117,124,131,137,143,148,152,156,160,161,164,167,172,174,177,174,174,176,177,178,180,182,183,181,178,183,182,183,187,189,189,187,189,190,193,193,193,193,193,191,191,190,193,191,189,187,186,185,183,182,183,180,174,170,172,174,173,174,173,172,172,174,177,178,178,178,180,182,187,190,191,190,190,190,190,189,187,190,193,191,189,186,183,185,182,176,173,172,168,164,161,155,150,144,141,141,134,121,114,109,101,85,87,107,122,130,135,138,143,150,155,160,160,157,156,154,155,154,150,147,144,137,131,133,137,142,143,143,142,141,135,133,128,125,120,109,96,79,65,53,44,42,31,21,10,7,4,4,3,3,0,0,0,0,0,1,3,4,5,7,14,17,38,75,107,133,142,150,157,170,180,187,194,200,206,204,204,207,212,213,213,213,215,217,216,212,212,215,217,220,219,220,221,224,221,225,226,224,225,229,230,230,229,229,226,226,229,229,230,230,229,228 +81,81,77,72,70,70,70,68,64,61,56,49,43,42,35,29,20,13,10,9,3,0,0,0,0,4,5,4,3,3,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,3,1,3,10,22,34,46,51,56,56,62,52,40,33,33,42,61,79,81,75,73,79,98,109,118,125,130,135,143,147,152,156,160,161,168,169,170,173,174,173,176,181,177,177,177,181,185,182,181,186,183,182,183,187,190,190,190,193,194,193,191,191,191,191,191,190,190,190,190,189,187,185,181,180,182,176,169,167,169,173,173,172,176,173,173,176,178,181,182,182,185,186,187,187,187,187,189,190,191,190,189,189,191,191,189,186,187,185,180,176,174,174,170,164,159,154,148,143,139,139,133,118,117,111,100,83,88,108,120,129,134,137,142,147,157,161,161,157,156,154,155,154,148,147,142,135,131,133,137,142,144,143,141,139,138,133,125,124,117,108,96,82,68,56,47,44,35,23,14,8,4,4,3,1,0,0,0,0,1,1,4,5,7,8,14,16,39,81,111,134,142,150,160,172,182,189,194,199,204,204,204,209,211,213,216,216,215,215,216,217,215,215,216,221,220,217,221,228,225,226,224,224,228,233,233,229,228,228,228,228,228,228,230,230,229,228 +83,79,77,73,69,72,72,66,62,62,59,49,40,36,33,27,18,16,9,7,3,0,0,0,3,5,8,7,4,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,3,1,1,16,25,38,46,49,59,61,59,48,40,33,33,44,62,82,86,77,73,79,96,112,121,124,131,138,144,146,150,155,161,161,168,168,169,170,172,173,176,178,180,178,178,178,180,180,181,183,187,186,185,187,187,187,190,193,190,190,191,193,191,189,187,187,194,191,187,183,182,182,183,183,178,178,176,170,170,172,173,173,173,176,176,176,178,181,182,187,189,186,183,185,187,190,190,190,189,189,190,191,191,190,187,186,186,182,182,182,180,176,172,164,159,150,142,142,143,142,137,126,121,111,105,87,85,105,121,130,130,137,142,146,155,160,161,157,156,156,154,151,148,146,141,135,130,120,129,139,143,148,141,134,131,128,125,126,118,105,95,82,66,56,44,42,35,26,16,12,5,4,3,1,0,0,1,1,4,3,3,3,7,7,10,20,47,83,107,133,143,150,157,174,185,191,194,195,199,202,206,211,208,209,212,215,217,216,213,211,215,219,219,216,216,221,224,224,221,224,226,228,229,229,230,229,229,226,225,226,230,233,232,230,230,229 +83,79,77,73,69,70,69,64,61,60,55,46,39,36,30,26,18,16,10,7,3,0,0,0,3,5,7,7,3,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,7,18,29,40,48,52,61,61,55,44,39,34,38,49,65,81,86,78,75,85,99,114,125,129,134,141,144,147,150,156,160,160,161,164,168,172,173,172,174,176,178,177,177,180,181,181,183,185,187,186,186,187,187,186,187,191,187,189,190,191,191,190,190,190,189,187,187,186,186,183,182,181,181,181,177,173,172,173,174,174,174,180,178,178,181,180,178,182,185,185,185,186,187,189,190,191,190,190,190,190,190,189,187,186,183,181,181,180,174,173,169,160,156,147,142,143,142,141,135,125,114,108,105,85,82,105,121,129,129,130,137,147,155,157,157,159,156,155,152,150,147,144,139,134,128,120,130,139,141,143,134,126,126,124,120,124,118,107,95,79,65,56,46,40,34,23,14,10,8,7,4,1,1,1,1,0,3,1,3,3,7,7,12,21,44,85,112,134,146,152,160,174,182,190,194,196,202,204,207,211,211,211,211,211,212,211,208,206,213,217,219,216,216,220,220,220,222,224,225,226,226,228,229,229,229,228,226,228,232,233,232,230,230,229 +83,79,77,73,69,70,68,65,62,59,51,44,39,35,30,26,21,18,10,5,0,0,1,1,1,4,5,5,3,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,3,1,9,21,30,42,51,56,61,59,52,42,38,33,40,57,69,82,83,79,79,87,101,117,126,131,135,139,144,147,151,156,160,159,160,163,168,172,172,172,173,176,174,176,177,180,182,182,183,185,185,186,187,189,187,186,189,191,187,189,190,190,191,191,193,193,189,187,189,189,189,187,185,181,182,182,180,176,174,176,176,174,174,180,178,180,182,182,180,183,182,185,187,187,187,187,187,189,190,190,189,189,190,190,186,185,183,182,180,176,173,173,168,159,157,150,146,144,141,138,130,122,109,108,105,82,78,104,118,126,131,128,133,146,155,151,151,155,157,156,152,150,147,144,139,135,125,117,125,134,137,138,131,125,120,117,113,117,116,104,90,72,59,52,43,39,29,21,12,10,7,7,5,4,3,1,0,0,1,0,1,3,7,8,13,22,44,88,114,135,144,154,163,176,180,187,191,195,200,203,207,209,212,213,213,215,215,215,215,215,216,220,221,220,220,224,225,225,224,224,225,224,224,225,228,230,228,228,228,229,230,232,230,229,226,226 +85,79,77,73,69,70,69,66,65,60,52,46,39,34,29,27,23,20,12,4,0,0,1,1,3,4,5,4,3,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,12,23,34,46,53,57,62,59,55,43,35,30,42,62,74,83,85,82,83,91,105,118,128,134,134,139,143,147,151,156,159,159,161,163,167,169,169,170,174,178,173,174,177,180,181,181,181,182,181,182,183,186,186,187,189,190,189,190,190,190,190,191,191,191,190,190,189,187,186,186,186,185,182,181,180,178,177,177,177,176,177,178,177,177,180,181,181,185,182,183,187,189,189,187,189,189,190,189,190,190,189,187,187,186,183,182,181,176,172,174,170,160,155,148,146,144,139,135,129,120,111,108,105,83,77,99,114,124,133,129,133,144,152,150,150,154,156,155,151,147,146,143,139,135,122,112,116,126,131,133,130,120,111,109,107,111,107,98,83,62,52,48,40,36,27,18,12,10,5,5,1,0,0,0,0,0,0,0,1,1,7,8,13,23,49,92,116,130,139,154,165,177,178,186,193,196,203,206,207,209,207,209,212,215,215,216,219,220,217,220,224,224,224,225,226,225,225,226,225,225,224,224,228,229,228,228,229,229,228,228,228,228,226,228 +87,81,78,74,70,70,70,69,66,62,56,49,39,30,27,27,26,22,13,4,0,0,1,1,5,5,5,5,3,1,1,1,3,1,0,0,0,0,0,0,0,0,0,0,0,0,3,4,16,30,39,49,55,60,65,62,55,42,34,31,44,66,78,83,86,86,90,98,109,121,129,134,133,138,144,148,151,154,156,159,160,161,164,165,165,167,170,176,173,174,176,178,180,180,181,183,178,178,180,182,185,187,187,187,189,190,190,189,189,190,191,190,189,189,189,186,185,183,183,185,181,180,178,178,180,178,178,178,177,180,177,176,178,180,180,181,185,186,186,189,190,190,191,191,189,189,187,187,187,187,186,185,182,181,180,176,172,173,169,160,148,144,142,143,139,137,133,125,114,107,104,86,78,94,108,122,128,129,134,142,150,154,155,156,154,152,148,146,144,143,138,134,122,111,107,118,126,129,124,109,103,103,103,105,100,88,78,59,47,44,39,34,23,16,10,9,7,5,1,0,0,0,0,0,1,0,1,1,7,8,13,25,55,96,116,128,137,154,165,176,183,191,195,199,206,208,208,211,211,213,216,216,216,216,216,217,219,220,221,221,222,222,221,221,226,226,226,226,226,228,228,229,229,229,229,229,228,228,228,229,233,233 +91,83,79,75,72,70,73,72,65,62,57,52,40,29,26,29,27,23,16,7,1,4,5,4,7,7,7,5,3,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,4,7,18,33,43,51,57,61,64,60,51,39,34,36,53,72,78,81,87,87,92,101,112,121,129,133,134,138,146,148,150,152,155,159,160,160,161,164,167,167,169,172,172,172,174,177,178,180,181,183,182,182,182,182,186,189,187,185,186,189,190,189,189,191,191,190,187,189,189,187,186,183,182,182,180,180,180,180,178,177,178,180,178,181,178,178,181,181,181,183,186,186,186,187,189,190,191,191,189,187,187,187,186,185,185,183,183,180,178,177,173,170,167,160,148,143,143,143,139,137,130,124,114,105,104,87,78,91,105,122,125,130,135,141,146,154,155,154,154,152,150,147,146,144,139,135,121,108,101,117,129,130,121,101,94,96,98,100,95,85,74,56,46,44,39,33,22,13,9,7,8,7,4,0,0,0,0,0,0,0,4,1,5,7,13,25,56,99,117,129,139,156,165,176,186,194,198,200,206,207,208,211,213,216,220,221,220,219,219,219,219,220,221,222,225,225,224,222,225,226,226,226,228,228,229,229,230,230,229,229,229,230,232,233,234,233 +92,86,81,78,73,70,72,70,64,61,57,53,42,29,26,29,27,25,18,9,5,7,8,7,8,8,7,5,3,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,8,22,35,43,51,57,61,64,57,49,36,34,42,60,77,79,83,88,90,95,105,114,122,128,131,137,141,146,150,151,152,155,156,160,159,159,160,163,164,167,169,169,170,173,176,176,177,178,181,185,186,185,185,186,187,187,185,185,187,190,187,187,191,191,190,189,189,187,187,187,186,183,181,181,181,181,181,180,177,178,180,178,180,178,178,182,183,183,186,187,187,187,186,186,187,189,190,187,187,186,186,186,185,182,181,183,178,177,178,174,169,164,159,152,147,144,143,138,134,128,120,114,107,104,85,74,91,107,120,128,131,135,138,144,148,152,151,154,152,150,147,146,143,139,135,121,107,99,113,125,125,116,94,87,90,92,95,90,78,66,48,40,40,35,29,20,12,8,7,5,4,4,1,0,0,0,0,3,1,4,1,5,7,13,25,60,103,122,134,142,157,168,180,187,195,198,199,203,206,207,212,211,212,216,217,219,219,220,220,221,221,224,226,226,226,226,226,228,226,225,226,230,230,230,229,232,230,230,230,230,232,230,232,230,230 +92,86,82,81,75,72,69,68,65,61,57,55,44,31,27,31,27,26,20,10,8,10,9,8,9,8,8,5,4,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,1,0,4,9,27,39,46,52,60,64,65,56,48,35,34,43,62,78,82,86,90,92,99,107,116,124,128,131,139,141,146,150,152,154,154,155,159,156,154,155,159,161,165,168,167,168,170,174,176,176,174,177,183,185,186,185,183,185,186,185,186,189,190,187,187,190,190,189,190,187,185,185,187,186,183,181,182,182,183,182,178,176,177,181,182,182,177,176,178,181,181,185,186,189,189,187,183,182,186,190,187,187,186,185,185,183,181,180,182,174,174,177,173,165,159,155,152,146,143,142,138,134,128,120,114,109,105,82,73,92,105,117,125,129,133,137,141,147,151,154,151,150,147,144,143,141,137,131,125,109,96,108,117,116,108,85,83,87,88,91,86,75,60,40,33,33,31,25,17,12,8,4,0,0,1,3,1,1,0,0,0,0,3,3,5,7,14,26,62,105,125,137,143,157,170,185,189,196,200,200,203,206,208,213,211,212,215,217,219,219,221,221,226,225,224,225,225,222,222,221,228,226,225,225,230,232,232,230,230,230,229,229,230,230,229,228,233,232 +95,88,85,79,73,70,70,69,62,62,60,53,42,33,27,30,34,23,13,9,8,8,8,8,10,12,12,7,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,4,13,29,39,44,53,61,62,64,57,49,36,38,49,64,77,85,90,92,98,105,111,118,126,133,133,139,141,144,147,151,154,155,155,157,154,155,156,155,156,161,163,161,165,168,169,172,176,177,178,178,180,181,180,181,182,185,186,185,185,186,187,189,189,190,190,191,186,183,182,185,186,183,182,185,183,183,185,182,177,176,180,177,178,180,180,180,181,183,183,186,187,186,185,185,186,186,186,186,186,186,186,185,183,181,178,178,177,177,174,167,167,163,156,152,144,141,143,141,134,128,118,117,108,104,88,73,85,104,120,118,124,129,134,141,147,152,150,154,154,150,147,143,139,137,133,122,105,96,104,112,112,101,87,82,81,85,91,88,73,53,42,30,31,29,23,17,12,7,1,4,4,3,3,0,0,0,0,0,0,1,0,8,9,17,30,70,111,126,135,144,156,167,180,186,194,200,202,202,204,208,209,213,215,216,219,219,219,221,224,224,225,222,221,222,224,225,222,228,229,226,226,229,228,225,226,229,229,229,229,232,232,232,230,228,228 +96,88,83,79,74,73,73,68,65,62,59,52,42,31,29,30,33,25,16,10,9,8,9,8,12,14,12,8,4,1,3,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,16,30,40,48,57,64,64,64,57,47,34,39,55,69,81,87,92,96,101,108,116,122,128,131,134,138,141,144,146,148,150,152,152,151,150,152,152,152,155,157,155,157,159,159,163,169,174,174,173,178,180,181,181,182,183,185,185,181,185,187,187,185,185,187,190,189,187,186,185,185,185,185,183,186,183,182,183,183,178,177,180,178,180,180,180,181,183,185,185,182,183,185,185,186,187,186,186,186,186,186,186,185,183,181,180,180,177,176,173,168,167,163,154,147,143,141,142,139,133,126,120,114,107,103,87,73,86,104,120,124,126,130,135,143,150,150,150,150,148,147,143,141,139,134,131,121,107,96,100,107,109,98,82,79,81,86,91,87,73,52,39,29,29,26,23,18,12,7,4,4,4,3,1,1,1,0,0,0,1,3,1,8,12,20,35,70,112,129,138,147,157,169,183,190,196,204,206,206,209,213,213,216,216,216,217,219,219,220,222,224,225,224,222,224,226,226,225,226,229,228,226,229,228,226,229,228,229,230,230,230,229,229,230,229,229 +96,87,83,81,77,75,72,65,64,61,53,47,39,33,30,31,31,25,16,13,12,12,10,10,12,14,14,9,4,4,3,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,20,31,43,52,61,65,64,64,56,44,34,42,57,73,85,87,91,98,103,111,118,124,128,130,134,137,139,143,144,144,146,148,150,148,148,151,151,150,152,152,146,148,150,152,157,165,169,170,170,176,177,181,181,182,183,185,183,182,185,187,187,186,185,185,187,187,187,187,186,185,185,185,186,185,183,183,183,182,178,177,180,181,181,178,178,181,183,186,185,182,183,185,185,186,187,186,186,186,186,185,185,185,183,181,180,181,177,176,173,169,167,163,152,144,142,142,143,138,131,128,122,114,105,101,86,74,85,103,117,121,121,125,134,143,148,150,148,147,146,143,139,138,138,135,131,114,103,94,94,99,104,95,81,79,82,86,87,85,73,53,40,30,26,23,22,20,12,7,5,3,3,1,1,1,1,0,0,0,1,4,3,8,10,21,40,68,109,128,139,148,159,170,185,191,198,204,207,208,211,213,213,217,217,217,219,219,220,221,221,221,222,224,222,224,225,226,226,225,229,229,228,229,228,226,230,225,228,230,230,228,226,228,229,229,229 +96,88,85,83,79,77,72,64,62,60,53,44,36,30,31,33,27,22,14,12,12,12,10,12,10,13,14,9,4,1,3,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,22,35,47,53,61,66,65,64,52,44,35,44,61,75,85,86,90,98,101,111,120,125,128,131,137,138,139,141,143,144,146,147,148,150,147,148,150,148,147,146,142,137,142,148,155,156,159,163,168,172,176,180,181,182,182,182,182,186,185,185,186,186,186,185,183,185,185,185,183,183,182,182,182,183,183,185,183,181,177,177,180,181,180,177,177,180,183,183,183,183,185,186,186,185,185,185,183,185,185,185,183,183,182,180,178,177,174,173,170,168,165,160,151,141,139,139,141,137,131,128,121,116,107,103,87,73,83,103,117,122,120,124,134,143,147,148,148,146,146,144,141,138,137,133,129,114,100,88,87,92,95,91,82,82,85,86,83,79,72,56,42,33,26,22,22,18,12,4,4,1,1,1,0,0,0,0,0,1,3,3,1,8,9,21,40,70,112,129,142,151,161,172,186,190,196,203,206,208,212,213,213,216,217,219,217,217,220,221,222,222,224,224,225,225,225,226,225,226,229,228,226,228,228,228,230,228,229,229,229,228,228,229,230,230,232 +101,95,91,88,82,78,73,66,64,61,53,42,33,26,23,25,20,16,10,10,9,9,10,10,12,14,14,9,4,3,3,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,9,23,38,48,53,60,65,66,62,51,43,36,47,61,74,83,86,90,100,105,114,122,126,130,135,141,139,139,139,142,146,147,148,147,147,142,144,147,144,139,138,137,134,138,144,151,151,148,152,159,168,173,181,182,180,180,181,182,185,185,185,185,185,185,185,185,183,183,182,181,182,181,180,180,182,183,187,183,178,174,176,180,180,180,177,176,178,181,183,182,185,186,186,185,185,185,185,183,185,183,183,182,181,180,180,178,173,172,172,168,163,161,159,152,141,137,137,137,133,130,126,118,113,107,104,88,72,82,103,118,126,125,128,135,142,143,146,146,146,148,147,143,138,134,130,128,122,104,91,88,88,86,85,82,83,85,83,81,77,69,53,40,33,26,21,21,17,10,3,1,3,1,0,0,0,0,0,0,1,1,1,1,9,10,22,43,77,114,130,143,155,165,173,187,191,198,204,207,209,213,216,216,211,216,219,217,217,219,222,225,222,224,226,226,226,226,228,229,229,230,226,225,228,229,229,232,230,229,229,228,229,229,230,230,228,229 +104,99,96,91,83,77,73,66,61,59,49,38,27,21,20,20,13,10,7,7,7,7,7,8,13,16,14,9,4,3,3,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,13,26,38,48,53,59,65,66,64,52,42,36,49,65,77,86,88,94,100,107,117,124,129,134,137,138,139,139,141,143,147,148,147,146,146,141,142,143,139,135,133,131,134,137,144,148,146,141,141,147,160,168,176,177,177,178,181,183,181,183,185,183,181,181,183,187,187,185,182,182,185,185,182,180,182,186,187,183,177,174,177,180,182,181,180,178,177,181,182,182,182,183,185,185,185,186,185,183,183,182,182,182,181,180,177,176,173,172,172,168,161,159,157,152,142,138,134,134,131,131,126,118,111,105,105,90,73,83,104,120,122,122,126,133,141,144,146,146,146,147,147,143,137,131,128,125,125,105,94,91,85,79,81,85,82,81,81,79,75,68,51,36,30,26,22,20,14,9,1,1,3,3,1,0,0,0,0,0,0,0,1,5,13,16,27,52,83,118,130,143,156,167,174,189,193,199,207,208,209,212,216,217,212,217,221,220,219,221,224,225,221,222,225,226,226,226,228,230,230,230,226,226,230,230,229,230,233,230,230,229,230,230,232,232,229,230 +107,100,95,90,81,75,70,64,56,52,43,33,23,21,17,14,8,7,4,4,4,4,5,8,13,16,14,9,3,1,3,1,0,0,0,0,0,0,0,0,0,0,0,0,4,7,17,31,40,52,57,61,64,65,61,51,39,38,53,72,82,90,92,99,101,111,120,124,131,137,139,137,141,142,144,146,146,144,143,143,144,143,142,141,139,141,135,125,126,133,143,147,139,129,133,143,152,157,167,170,173,177,181,182,182,183,183,183,182,182,183,186,187,185,183,183,186,186,183,182,181,183,186,182,178,177,178,180,181,181,180,178,177,180,181,181,180,181,183,183,183,185,185,183,183,182,182,182,180,178,177,176,176,173,170,165,159,157,155,147,141,138,131,131,128,129,125,118,108,103,105,90,75,83,101,117,117,118,121,128,137,146,150,148,147,147,146,142,138,133,128,124,120,105,95,88,81,77,79,83,81,77,75,77,74,64,47,35,29,27,22,18,13,9,4,1,1,1,0,0,0,0,0,0,1,1,5,7,14,18,34,61,90,122,133,144,155,165,174,190,195,200,206,207,208,211,216,216,216,220,222,221,221,224,224,222,221,221,224,225,226,224,225,228,226,229,228,228,230,230,228,229,232,230,232,230,230,230,232,232,232,233 +105,99,92,88,81,75,70,62,56,51,39,29,22,18,13,8,7,5,4,1,1,1,3,5,12,14,13,7,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,1,5,8,20,34,42,57,62,65,65,64,60,49,38,38,57,75,87,91,95,100,101,113,124,128,135,143,143,138,139,143,147,147,144,142,142,143,142,143,142,137,138,143,137,120,112,125,143,144,130,116,125,143,144,150,157,164,169,176,180,180,189,183,178,181,186,190,189,185,182,182,182,182,182,182,182,182,182,183,183,181,180,180,181,181,180,181,178,177,176,177,180,180,180,181,181,181,182,183,183,183,183,183,181,180,180,178,176,176,176,172,167,161,156,155,151,143,138,133,129,126,122,124,122,116,109,104,105,91,77,83,100,112,118,118,120,125,137,148,150,146,148,147,143,141,138,137,130,124,117,108,98,87,75,72,74,75,81,73,68,70,70,60,44,35,27,27,23,17,12,10,7,4,0,0,0,0,0,0,0,0,1,4,7,7,13,18,36,66,95,128,137,147,155,165,176,193,195,202,208,208,209,212,217,219,221,224,224,222,224,226,224,220,225,225,226,228,225,222,224,226,224,228,229,230,232,229,226,229,230,230,232,232,230,229,230,230,230,232 +105,99,91,86,79,75,72,65,61,48,36,29,21,17,12,7,5,3,0,0,0,0,4,7,10,10,8,4,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,4,12,25,34,42,53,61,66,68,64,57,46,39,52,65,75,83,88,94,101,100,113,124,129,139,143,142,142,144,143,144,146,146,143,143,142,137,142,142,137,135,139,134,124,122,134,144,146,133,111,113,142,151,147,148,159,167,170,174,177,178,181,183,182,182,183,183,183,181,182,183,182,181,183,185,183,180,183,185,181,178,180,181,181,181,182,180,176,174,177,180,181,178,180,180,181,182,183,183,183,181,185,182,177,176,181,178,170,172,173,164,156,157,156,148,142,135,130,129,128,124,124,121,117,112,105,101,91,77,82,104,118,120,120,120,126,139,144,143,143,147,147,144,141,135,131,126,124,118,112,101,92,83,75,74,75,81,75,70,72,72,61,44,35,30,26,21,17,12,9,4,1,0,0,0,0,0,0,1,1,1,1,8,8,14,20,40,72,96,122,137,148,160,170,173,190,195,196,202,208,213,216,217,219,220,220,219,217,219,222,224,222,225,222,224,228,229,229,229,232,232,226,225,230,229,224,228,238,235,233,229,228,229,232,232,232,233,232 +107,98,91,86,79,75,70,62,57,46,34,26,17,13,10,7,5,3,0,0,0,0,1,7,8,9,8,5,1,1,1,3,0,0,0,0,0,0,0,0,0,0,0,1,7,13,26,36,49,56,59,61,68,66,60,44,39,55,69,79,88,92,95,99,107,117,125,131,141,144,141,138,146,147,147,146,144,141,139,139,139,138,134,131,134,139,137,128,130,141,148,150,139,116,116,139,146,146,150,156,161,167,170,176,178,180,181,181,183,183,182,182,185,186,185,182,181,182,183,183,183,183,183,182,180,178,178,178,181,182,178,176,172,176,178,180,178,180,178,180,182,182,182,182,180,181,180,174,176,180,176,169,167,167,161,155,156,155,147,139,133,129,126,125,121,121,120,116,111,105,101,92,75,81,101,116,118,118,120,125,137,142,142,143,146,146,143,141,137,133,129,125,120,113,105,98,88,82,79,81,81,74,70,72,68,60,46,35,29,26,21,17,12,8,3,0,0,0,0,0,0,0,0,0,3,3,9,9,14,18,38,70,98,126,139,150,161,173,177,193,196,199,206,209,213,213,217,220,220,221,222,220,220,222,226,226,225,224,225,226,228,229,229,230,229,228,226,228,228,226,229,230,230,229,229,228,230,230,230,232,230,230 +107,98,90,87,81,77,70,61,53,43,33,25,17,13,12,8,4,1,0,0,0,0,0,4,8,9,8,5,3,3,3,3,0,0,0,0,0,0,0,0,0,0,0,4,9,16,29,40,49,59,62,66,70,68,57,40,40,59,74,82,91,96,99,99,109,118,125,133,142,144,141,137,144,146,148,147,144,141,141,141,141,131,126,128,134,141,139,134,138,150,159,159,147,125,124,142,143,147,148,151,154,161,170,177,177,177,177,180,182,183,182,181,185,185,183,182,180,181,182,182,185,181,180,181,183,183,182,181,180,180,178,174,173,174,177,178,180,180,180,180,181,181,181,180,178,178,177,174,176,176,172,167,164,161,159,155,154,151,143,131,130,126,125,124,118,117,117,113,108,104,101,91,75,79,99,114,118,120,120,124,134,139,141,143,146,146,144,141,138,134,131,128,121,116,108,101,94,87,86,86,82,74,68,68,68,60,46,34,26,25,21,17,10,5,0,0,0,0,0,0,0,0,0,1,3,1,8,10,17,18,38,72,101,129,141,150,157,173,180,194,198,202,208,211,211,211,215,221,220,224,225,224,221,224,226,229,224,225,225,224,225,226,228,225,228,229,229,228,229,232,229,222,226,228,232,232,230,230,230,230,228,229 +104,95,88,87,82,78,70,61,52,40,30,23,18,16,14,12,7,4,0,0,0,0,0,4,9,10,8,5,3,1,1,1,0,0,0,0,0,0,0,0,0,0,0,5,12,21,34,42,47,61,69,73,72,64,53,38,43,61,77,83,91,99,100,101,111,118,125,133,142,143,139,137,141,143,147,146,142,139,139,138,138,126,120,125,135,139,139,137,139,154,164,163,147,128,128,146,142,147,148,146,147,159,169,174,173,173,176,180,181,182,183,183,181,181,181,180,181,181,182,182,183,181,180,180,182,185,185,182,178,178,178,176,174,176,176,177,177,177,177,178,180,180,180,178,178,176,173,173,174,172,167,164,160,156,156,155,150,147,141,126,129,125,122,122,117,116,114,111,104,101,100,91,73,78,100,114,117,120,120,122,131,138,141,144,143,143,143,141,138,135,131,129,122,120,111,104,96,92,90,90,82,75,69,68,66,60,46,34,25,23,21,17,10,5,0,0,0,0,0,0,0,0,0,1,4,1,9,13,20,22,43,79,105,131,141,148,156,174,182,196,199,204,208,211,211,211,216,221,220,224,225,222,221,222,224,225,221,224,224,222,224,226,228,225,228,230,230,229,230,233,230,226,229,230,233,234,233,233,232,232,229,229 +101,94,87,85,82,79,70,62,52,38,27,23,20,20,17,13,8,5,1,0,0,0,0,3,9,10,8,5,1,1,0,0,1,0,0,0,0,0,0,0,0,0,0,5,13,23,36,43,52,64,69,72,68,59,52,42,46,65,81,85,91,96,103,105,109,118,125,131,139,139,138,138,143,144,146,142,139,138,134,130,131,124,120,126,134,135,137,135,137,148,156,155,142,129,129,139,143,147,147,144,148,159,165,168,172,173,176,180,181,180,181,182,181,181,182,182,182,181,182,182,181,183,181,174,176,178,178,176,178,177,177,177,177,176,174,176,174,174,176,176,177,178,177,177,177,173,173,174,174,169,165,160,152,150,152,152,146,144,139,129,126,124,120,120,114,113,112,108,100,98,98,88,73,77,99,116,117,118,120,122,133,137,142,146,139,142,143,141,137,134,131,130,125,121,114,107,101,98,96,95,87,82,75,72,68,60,44,33,23,22,20,17,10,5,1,0,0,0,0,0,0,0,0,1,4,4,12,16,23,27,48,86,112,133,142,152,160,177,185,194,199,203,206,211,212,213,217,221,220,222,224,222,221,224,224,222,224,226,226,225,226,230,232,229,229,229,230,230,232,232,232,232,233,232,232,233,234,233,232,230,233,234 +99,92,87,85,79,77,69,60,48,36,25,22,20,21,18,13,8,7,4,1,0,0,0,4,8,10,8,5,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,4,13,25,38,43,56,61,66,73,72,57,48,38,48,69,85,88,94,98,103,107,111,118,126,131,137,137,137,139,142,144,144,141,141,139,137,133,130,122,118,124,128,129,129,129,138,142,146,146,141,135,133,133,142,147,151,150,151,159,164,165,172,173,177,180,181,178,178,181,180,180,181,181,181,178,178,180,180,182,180,173,172,176,177,177,178,177,177,177,176,176,174,176,176,176,174,176,177,178,177,177,174,173,173,174,174,169,161,154,150,150,151,148,142,138,133,128,122,120,117,117,112,111,109,105,99,98,98,90,73,78,100,116,117,118,117,121,133,139,143,147,139,143,144,143,138,135,133,130,126,124,118,111,104,101,99,95,91,87,81,75,70,60,44,33,25,22,18,14,9,5,3,1,0,1,0,0,0,0,0,0,3,5,12,14,22,29,53,90,113,130,143,157,165,180,182,189,199,202,206,211,213,215,219,221,221,222,222,222,224,228,226,224,226,228,228,228,230,230,232,230,230,228,229,232,230,228,229,233,233,230,229,230,232,232,230,229,233,233 +96,90,86,85,78,73,66,56,48,35,25,22,20,20,17,12,7,5,4,3,1,0,1,4,8,9,8,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,5,12,23,39,47,53,59,66,77,72,53,43,38,59,72,83,88,95,98,103,107,114,121,126,130,135,135,137,139,141,143,144,142,141,141,141,138,133,124,116,116,117,118,120,120,128,134,139,139,137,135,135,134,137,144,151,151,150,155,165,172,169,170,174,180,181,178,178,180,181,180,178,178,180,177,176,178,181,180,178,177,173,172,176,181,180,177,176,176,176,174,173,174,176,176,176,176,176,176,176,176,174,174,173,173,172,167,157,147,146,148,150,143,137,128,122,122,120,117,117,118,113,113,111,105,101,100,99,90,74,79,101,116,116,116,114,120,131,138,142,143,141,142,143,143,141,138,133,129,124,122,118,114,108,105,100,95,94,91,85,78,70,60,44,34,26,22,17,12,8,5,3,1,0,0,1,0,0,0,0,0,1,7,13,12,21,31,57,92,114,130,143,159,165,174,181,187,198,200,208,212,215,216,219,220,221,222,224,224,226,230,229,226,228,226,226,229,230,230,230,230,229,228,228,230,230,228,230,234,233,233,232,232,232,232,232,230,230,229 +94,87,85,83,77,72,62,55,48,36,27,22,18,17,16,12,5,5,4,4,3,3,4,7,8,8,7,4,1,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,10,22,39,49,53,59,66,75,66,46,43,44,68,75,85,87,96,100,103,109,117,121,125,130,135,135,138,142,139,144,144,141,137,138,139,138,137,126,114,108,109,112,113,113,112,122,131,131,128,129,133,131,131,139,147,146,142,148,164,180,167,165,169,178,182,181,178,180,182,180,180,180,180,177,177,178,185,178,176,177,173,167,169,180,182,178,176,174,173,172,172,174,173,173,172,173,173,173,173,172,173,174,173,172,170,167,155,143,139,146,147,141,134,124,117,121,120,118,118,120,117,117,113,108,107,103,100,91,75,79,100,114,116,114,112,118,130,138,141,141,139,139,139,141,139,137,130,124,124,124,122,117,113,109,104,98,96,94,87,78,70,60,44,35,27,23,16,10,8,5,1,0,0,0,0,0,0,0,1,1,0,8,14,13,22,35,62,98,121,131,143,159,161,173,181,194,198,202,208,215,215,215,217,220,222,224,225,225,226,229,229,228,232,228,228,230,230,229,229,230,228,226,228,229,230,232,233,235,233,234,235,235,233,233,234,234,230,229 +92,86,82,81,77,73,64,55,46,36,26,21,18,20,18,12,4,7,7,3,4,8,9,5,9,9,7,3,1,3,1,0,0,0,0,0,0,0,0,0,0,0,1,4,16,29,42,48,57,65,70,70,65,53,47,51,62,79,90,90,95,103,109,113,120,124,128,131,137,138,141,141,143,143,143,143,141,137,134,131,131,122,112,105,104,105,109,109,112,116,120,121,122,124,128,130,126,134,137,142,139,148,157,169,167,169,173,177,178,174,174,180,181,181,180,180,181,180,177,174,173,176,177,176,176,176,176,173,174,177,178,176,170,169,172,177,172,170,170,173,176,176,174,173,176,173,172,169,168,163,152,143,146,143,141,138,133,128,124,124,117,118,120,120,116,114,111,109,105,103,99,91,79,82,99,113,117,113,112,120,128,133,137,141,142,138,138,141,138,131,128,128,125,125,125,121,116,109,101,95,95,92,87,82,74,61,47,36,29,23,17,14,10,5,0,1,1,3,1,1,0,0,0,1,1,5,10,18,26,43,66,96,124,138,147,160,168,181,185,193,198,206,207,207,212,217,220,222,222,224,224,222,222,225,226,228,224,226,229,229,229,229,229,228,228,228,229,230,232,232,232,232,233,235,233,230,230,233,233,230,233,233 +91,83,79,78,75,72,62,53,46,36,29,23,18,18,16,9,4,5,4,3,4,7,7,5,7,7,5,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,14,30,46,52,59,68,72,72,68,56,52,62,70,83,92,91,95,100,108,113,120,122,129,133,138,139,139,139,142,142,143,143,141,138,135,134,128,124,114,103,99,103,105,104,109,111,114,118,120,122,125,128,131,135,134,138,138,151,160,169,170,169,168,172,178,178,176,178,180,180,178,178,177,176,174,174,174,177,176,173,173,173,174,173,174,176,177,174,172,170,172,174,170,170,170,173,174,176,176,176,173,170,168,167,164,157,148,139,144,141,139,137,134,129,125,122,118,118,116,114,113,113,111,109,104,103,98,88,79,82,98,111,113,111,112,117,124,129,134,139,139,138,137,139,137,133,129,129,125,125,122,117,113,108,103,99,94,92,87,81,73,61,47,39,30,23,18,16,12,5,1,1,0,1,1,0,0,0,1,1,4,7,12,18,26,46,70,103,124,138,147,160,168,182,186,194,199,207,209,208,212,216,219,221,222,224,225,224,224,226,228,229,228,228,228,226,226,229,232,232,230,230,233,233,232,232,232,233,233,233,233,234,234,234,233,233,232,233 +87,78,74,73,72,70,61,53,47,36,27,22,18,17,13,7,3,1,3,3,4,4,4,7,7,5,4,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,1,8,21,36,49,57,60,69,72,70,68,56,56,73,82,91,95,96,100,104,111,117,121,125,129,134,138,139,139,139,142,142,143,143,142,139,138,135,135,135,126,112,105,107,107,103,100,103,108,111,112,116,120,121,130,134,134,135,134,144,155,167,170,168,164,168,177,178,177,180,178,178,177,176,174,173,174,174,176,176,174,170,170,172,172,172,176,176,174,174,173,173,170,170,176,176,173,172,168,167,168,168,169,168,165,164,163,160,151,143,141,139,138,137,134,130,124,121,121,118,114,112,111,112,109,108,104,100,96,87,78,82,98,111,112,111,113,117,121,125,133,139,138,135,135,138,137,133,129,128,125,125,121,117,112,108,101,96,94,91,88,82,72,59,46,36,30,25,20,17,12,7,1,4,0,0,0,0,0,1,4,4,8,8,13,20,29,48,75,112,124,139,148,161,170,185,189,198,200,208,211,211,213,215,217,220,222,225,226,225,225,226,229,229,230,230,229,226,228,230,233,233,230,232,232,232,230,230,232,233,233,230,230,234,235,233,230,233,230,232 +81,74,70,70,69,68,61,53,47,38,27,22,17,14,10,5,3,0,1,3,1,0,3,9,8,5,3,0,0,0,0,0,0,0,0,0,0,0,0,0,4,1,5,16,30,43,53,60,62,70,70,69,68,56,56,75,90,95,98,101,105,108,113,121,124,126,130,134,137,138,139,139,142,143,144,144,143,142,139,138,135,135,129,118,111,108,105,101,99,100,103,104,105,108,112,116,122,130,131,133,129,138,148,160,163,165,165,167,172,172,176,182,178,178,177,176,174,174,174,174,174,174,173,170,168,169,172,172,174,174,174,174,174,173,170,169,169,169,167,167,165,167,168,168,167,167,165,164,165,160,154,146,138,137,138,138,135,130,124,121,122,121,117,113,111,113,111,109,103,99,94,87,78,82,99,111,114,112,113,116,121,125,130,135,135,134,134,137,138,134,128,125,125,125,122,118,113,107,99,94,91,88,83,78,70,57,42,33,27,23,18,16,12,8,4,1,0,0,0,0,0,1,4,5,10,10,14,21,30,49,78,117,129,142,151,164,173,187,191,200,200,208,212,212,215,216,217,221,222,225,226,226,225,226,229,229,229,230,229,229,230,232,230,230,228,229,230,230,230,230,232,233,233,232,232,234,235,233,232,232,232,232 +74,70,70,70,65,65,61,55,47,38,27,21,16,12,8,4,4,0,0,1,0,0,3,12,10,8,4,1,0,0,0,0,0,0,0,0,0,0,4,7,8,5,9,22,36,48,57,62,66,72,72,72,70,61,64,81,92,98,100,104,108,109,113,122,126,129,131,134,135,137,141,142,144,144,146,146,144,143,142,141,134,130,126,122,118,112,105,103,103,103,104,101,101,104,109,116,118,126,126,129,128,139,148,156,157,163,164,165,169,170,173,180,177,176,174,174,176,176,173,172,174,173,172,170,168,168,170,172,172,173,174,174,173,172,170,170,169,168,167,167,168,169,169,168,167,167,165,163,161,156,147,139,135,137,135,135,133,126,122,121,122,122,120,116,112,112,109,108,100,98,94,87,79,82,99,111,114,109,109,112,120,126,129,130,134,134,133,137,137,134,128,122,124,125,122,118,112,107,99,94,88,85,81,78,70,57,42,29,23,22,17,13,10,7,1,1,0,1,0,0,0,1,4,5,9,10,16,22,30,53,82,117,131,144,155,167,174,187,193,200,199,206,209,212,216,217,219,222,222,225,226,226,225,226,228,228,229,230,230,230,230,230,230,228,229,229,229,230,230,232,233,233,233,234,234,233,233,234,234,232,232,232 +70,69,69,69,66,62,59,56,46,35,26,21,16,10,9,5,4,0,0,0,0,0,3,12,13,8,4,3,3,3,3,3,3,4,5,4,4,5,9,13,13,10,14,27,42,52,61,69,70,74,75,75,74,72,79,90,98,101,105,105,111,111,113,121,125,128,131,134,137,139,143,146,146,147,147,147,146,144,143,142,142,135,131,130,126,116,108,105,104,105,104,100,99,101,109,116,120,120,117,124,131,148,154,154,157,161,163,167,172,173,173,174,173,172,172,173,176,174,172,169,172,170,169,169,167,165,168,169,169,172,174,174,172,169,168,169,173,172,168,168,168,167,163,160,164,163,163,159,156,151,143,137,133,133,134,135,131,128,121,120,118,122,122,117,112,111,108,105,98,95,94,88,79,82,98,111,112,108,107,111,121,129,130,129,131,133,133,135,134,130,124,118,120,120,118,114,109,105,100,96,88,86,79,77,69,56,38,26,22,20,16,12,7,4,1,0,1,1,0,0,0,0,4,5,8,12,17,22,33,59,86,118,131,146,156,168,174,187,191,199,199,204,208,211,216,217,219,222,222,225,226,226,225,226,228,228,230,230,230,229,229,229,230,229,230,230,229,229,230,230,230,230,230,233,233,230,230,234,237,233,233,232 +69,66,70,70,66,62,57,52,43,33,26,23,17,10,8,5,0,0,0,0,0,0,4,9,13,8,3,3,3,3,4,5,8,9,12,10,8,8,13,18,17,14,20,34,49,57,68,75,77,78,82,79,74,75,88,95,100,105,108,108,111,112,116,121,126,129,135,138,139,142,144,147,147,147,148,148,148,147,146,144,146,142,137,133,129,120,113,111,109,107,104,101,101,104,112,117,121,122,120,128,139,157,160,157,161,164,165,168,176,177,173,173,173,173,173,173,174,173,172,170,169,168,167,165,165,163,164,168,168,169,172,172,170,168,167,167,164,164,165,167,164,164,163,161,157,156,154,151,151,148,144,141,134,134,131,134,133,130,124,120,117,121,122,117,114,113,109,103,94,94,94,87,77,81,95,107,112,109,111,114,124,129,133,131,130,131,129,130,129,126,122,118,112,113,112,112,108,105,99,95,90,87,82,77,69,55,38,27,22,20,16,10,5,4,1,0,0,0,0,0,0,1,3,4,7,12,17,21,34,62,92,121,133,147,157,169,177,189,193,199,204,207,209,212,217,219,219,222,222,225,226,225,225,226,228,229,230,230,230,229,229,230,232,232,232,232,232,230,230,230,230,230,230,232,230,230,230,233,233,233,234,233 +70,68,68,69,65,61,56,48,40,31,25,23,18,12,7,3,0,0,0,0,0,0,5,8,13,8,4,4,5,5,5,7,10,14,17,14,12,10,16,20,21,18,26,42,57,64,73,79,82,82,86,82,70,75,91,94,99,107,109,107,109,112,117,122,129,133,137,139,141,142,144,147,147,148,148,148,150,148,148,147,146,146,143,138,135,131,128,124,116,112,109,107,108,113,118,121,120,128,129,139,147,163,163,163,163,168,170,172,174,174,173,176,172,173,174,174,173,172,172,172,168,167,164,163,161,160,161,165,167,168,169,169,169,168,167,165,165,167,167,165,163,160,157,156,154,151,148,146,146,144,143,139,137,134,131,135,135,133,126,121,117,121,121,118,117,116,111,103,94,94,94,87,77,78,94,105,109,111,114,117,122,129,133,133,128,129,128,126,125,124,121,118,107,109,109,109,108,104,98,92,92,91,87,79,66,52,38,30,23,21,17,10,5,4,1,0,0,0,0,0,0,0,3,4,5,12,17,20,34,66,95,122,133,148,160,172,180,191,194,200,209,211,212,215,220,220,220,222,221,224,225,225,226,228,232,232,228,229,230,230,230,232,230,230,230,230,233,233,232,230,232,234,235,233,232,234,235,233,233,235,234,233 +65,66,69,69,66,59,53,51,39,33,25,21,17,10,5,5,0,0,0,0,0,0,8,12,16,16,13,7,5,7,9,9,7,13,17,14,13,16,22,25,31,31,36,52,68,72,74,79,85,82,82,81,75,78,88,95,99,105,107,107,112,116,118,124,129,134,138,138,142,146,147,146,146,150,154,152,150,148,148,150,150,144,146,147,142,135,134,131,128,128,125,120,116,117,121,126,128,134,139,142,146,154,157,157,161,165,169,169,173,178,177,174,172,172,173,173,172,169,169,167,170,167,159,157,161,161,163,167,164,168,169,170,172,167,160,161,160,167,168,167,161,156,155,152,147,148,150,146,141,134,134,137,128,128,130,138,139,137,126,122,122,121,120,117,113,114,113,107,98,95,92,83,74,79,95,107,116,117,114,112,120,126,129,130,130,129,129,128,124,121,117,116,108,109,109,109,107,101,98,94,92,88,85,79,66,52,38,27,23,20,14,10,5,3,0,0,0,0,0,0,0,0,1,1,8,10,18,23,36,69,95,120,133,148,159,170,180,194,196,202,208,212,215,215,216,219,222,222,224,224,226,225,226,228,229,228,229,229,228,226,229,234,235,232,229,230,233,235,234,232,232,234,232,234,234,232,234,237,233,228,233,232 +64,65,66,68,65,59,53,49,36,29,21,18,14,10,5,4,3,3,3,1,0,5,12,17,20,18,14,9,8,9,10,10,10,16,18,16,17,20,27,31,35,39,46,57,70,75,78,83,83,82,82,81,78,83,92,96,100,105,108,109,114,118,121,126,129,135,139,138,139,143,147,148,151,152,154,152,151,152,152,152,151,147,150,151,146,141,141,139,138,138,134,129,126,126,129,133,135,138,142,144,148,155,159,160,164,167,170,170,172,174,176,174,172,173,173,172,170,169,169,168,167,161,152,151,157,160,161,164,163,163,164,167,168,161,156,160,160,163,163,159,156,154,151,147,147,146,144,142,137,134,131,131,124,122,124,133,137,134,125,120,121,120,121,120,116,116,112,105,98,96,94,85,75,79,94,105,112,114,113,113,121,128,131,134,135,130,128,125,122,121,116,113,107,108,108,108,105,101,96,92,90,86,86,82,68,52,39,30,26,21,16,10,5,3,0,0,0,0,0,0,0,0,1,1,9,12,18,25,39,73,99,124,135,152,161,173,182,196,198,202,208,212,215,215,216,219,221,221,224,225,226,226,226,229,229,229,230,232,230,228,229,233,233,232,230,232,234,237,237,233,232,233,230,233,234,234,234,237,237,233,235,234 +62,64,65,66,65,60,52,47,36,27,20,17,16,12,8,7,8,8,8,7,7,9,16,20,23,21,16,12,10,13,16,14,18,20,20,18,20,25,30,34,34,42,49,59,69,74,78,83,82,83,85,82,81,90,99,100,103,108,109,111,117,120,124,129,131,137,139,139,139,143,148,151,155,154,154,155,155,156,156,155,155,152,155,155,148,146,147,148,147,146,142,137,134,133,134,137,142,141,141,147,152,157,161,163,167,169,173,173,172,173,174,177,172,173,173,172,172,169,168,168,167,161,152,148,155,160,159,157,161,159,160,165,168,157,151,156,159,159,156,154,151,148,146,142,138,138,137,137,134,130,125,120,116,114,117,126,131,131,125,120,116,116,117,117,113,112,108,101,99,95,94,86,77,78,92,105,109,112,112,113,122,130,133,135,135,130,128,125,124,122,117,113,105,107,105,105,103,99,94,91,90,86,86,85,70,52,40,35,25,21,16,10,4,0,0,0,0,0,0,0,0,0,1,4,8,10,17,23,40,77,105,129,139,154,164,176,182,195,198,203,206,209,213,215,216,217,220,220,224,225,228,226,225,228,229,230,230,232,230,229,229,230,230,229,230,230,234,237,237,234,230,230,233,233,233,233,234,234,235,237,233,232 +66,66,65,65,64,60,52,46,38,30,22,21,18,14,9,9,12,12,12,12,12,13,18,22,23,22,18,16,14,17,20,21,23,22,20,18,18,21,25,27,23,36,48,55,62,70,74,79,82,85,85,81,82,95,105,103,107,112,113,114,117,118,122,130,131,135,141,141,141,146,150,152,152,152,155,157,160,159,157,156,157,156,160,159,152,148,150,151,151,150,146,143,141,139,139,141,146,143,143,151,157,160,163,167,170,172,174,176,172,170,174,180,174,173,172,170,170,169,168,167,165,163,154,148,154,159,156,154,157,157,160,167,168,156,148,150,154,152,152,150,147,143,138,134,129,131,133,133,131,128,120,113,112,112,114,125,129,129,122,120,120,117,120,120,113,111,109,105,99,94,92,85,75,75,91,104,112,116,114,116,124,130,131,133,133,130,129,128,128,124,117,111,107,107,105,104,100,98,92,90,87,82,85,87,73,53,42,35,25,21,17,12,5,0,0,0,0,0,0,0,0,1,4,4,7,9,16,23,43,81,109,130,141,155,164,177,183,195,198,203,204,209,215,217,219,220,220,222,222,225,226,225,225,226,229,229,232,233,233,232,230,232,232,232,230,230,232,233,233,233,232,232,237,234,233,234,233,232,233,235,232,230 +66,66,66,65,62,59,51,44,39,33,26,22,18,13,10,12,13,14,14,14,13,16,21,25,26,25,22,20,17,18,21,23,22,21,18,16,16,16,17,18,14,31,44,51,60,68,73,78,82,85,85,81,85,98,108,107,111,116,118,117,117,116,121,131,134,135,138,141,144,148,151,152,152,154,157,159,159,156,157,159,161,161,165,164,156,152,154,155,156,155,152,151,150,148,148,150,155,152,155,161,164,163,167,172,170,170,173,173,172,170,173,178,176,173,170,169,170,168,165,163,156,156,151,147,152,157,157,156,156,159,163,163,164,157,148,144,147,147,146,144,139,133,129,126,125,128,130,131,129,125,120,114,114,117,118,126,128,125,120,118,120,117,118,120,113,108,105,104,99,92,88,83,73,73,88,104,113,116,116,116,124,130,131,131,129,128,129,128,126,121,117,113,111,109,105,103,100,98,94,91,88,82,85,86,73,53,40,34,25,22,20,14,8,1,0,0,0,0,0,0,0,1,3,4,7,9,16,25,47,87,112,133,143,157,165,177,185,195,199,207,208,211,216,219,220,220,221,222,222,225,225,225,224,225,228,228,232,233,233,233,232,233,233,233,233,232,230,230,232,234,235,235,238,235,234,234,233,230,232,233,234,235 +62,66,66,64,61,57,51,44,36,33,26,22,17,12,10,12,16,16,17,16,17,21,25,30,31,30,26,22,20,18,20,22,17,14,12,12,13,12,12,13,12,27,40,49,60,66,73,79,82,85,86,83,86,99,109,108,114,118,121,121,120,117,121,131,135,137,138,142,147,151,152,152,156,155,159,160,159,156,159,164,164,164,167,165,159,157,161,160,161,161,159,159,157,159,160,160,165,165,167,169,168,165,167,172,173,174,174,174,174,174,174,177,176,173,169,168,169,167,164,160,154,155,151,147,152,155,156,157,156,159,160,159,159,157,150,147,148,147,144,141,135,128,124,124,124,129,130,129,124,124,124,122,121,121,125,129,128,124,120,118,113,112,114,117,111,103,99,98,96,88,85,81,72,70,86,101,112,114,114,114,122,129,130,131,130,129,129,126,124,122,120,118,116,114,108,107,104,101,96,94,91,86,86,86,72,52,38,29,23,21,17,13,8,1,0,0,0,0,0,0,0,1,4,4,7,9,17,27,51,91,116,134,146,157,165,177,183,195,199,207,209,212,215,219,221,220,220,221,222,225,225,225,225,226,228,228,229,229,230,232,230,232,233,233,234,234,233,232,232,234,237,237,237,235,234,234,233,233,232,232,230,233 +61,68,72,69,64,59,49,44,36,31,26,23,18,14,12,13,17,18,18,18,20,23,31,36,35,30,25,22,21,18,16,16,12,9,8,8,9,8,9,10,14,27,38,48,60,66,73,79,82,83,86,85,88,99,108,108,113,118,121,124,125,121,124,133,137,137,142,146,147,150,152,154,160,159,159,161,160,159,163,168,168,167,167,165,163,164,167,165,164,164,163,163,163,164,167,168,168,168,170,170,169,168,169,172,176,177,177,177,177,178,177,174,172,170,170,169,168,165,163,160,160,159,154,150,154,152,154,157,156,159,157,156,159,156,152,151,150,147,144,142,134,125,121,120,124,129,131,129,125,125,125,125,124,125,128,131,129,125,120,118,114,112,116,120,111,103,99,100,94,86,83,81,72,69,83,101,111,113,113,113,122,130,133,134,133,131,129,128,128,125,124,121,117,117,112,111,107,105,99,95,90,88,88,86,69,51,36,26,23,21,14,9,5,1,0,0,0,0,0,0,0,1,4,5,7,9,18,27,53,94,118,134,148,159,165,177,185,195,199,208,211,211,213,217,221,220,219,220,222,225,225,226,228,229,230,229,229,228,228,229,232,232,232,232,230,233,234,232,232,233,234,234,234,235,235,233,234,235,234,232,229,230 +61,70,75,74,66,59,49,43,39,33,27,25,23,20,17,17,18,20,20,20,22,27,35,42,36,29,21,20,18,17,12,10,8,5,4,5,5,4,7,8,20,29,39,49,60,65,72,81,81,82,86,87,88,98,108,109,112,116,120,126,129,126,128,133,138,139,143,146,148,151,154,157,160,159,160,164,164,161,163,167,170,167,165,163,163,165,169,167,165,165,165,165,165,167,169,169,168,168,170,172,170,172,173,176,177,177,178,176,177,180,178,172,169,170,170,169,165,163,163,163,164,159,151,150,154,152,152,157,156,156,155,159,163,157,152,152,147,146,144,142,135,125,118,116,121,128,131,130,126,128,126,125,124,124,125,131,131,128,122,120,114,111,112,114,105,99,98,100,92,83,83,83,74,69,83,99,111,113,113,114,124,131,134,137,135,133,131,131,134,131,126,122,117,117,114,114,112,108,101,96,87,88,91,87,69,52,38,27,25,21,13,9,5,1,0,1,0,1,1,0,0,1,4,4,9,10,18,30,56,98,121,135,151,161,167,178,186,196,200,209,212,212,213,219,224,222,222,222,222,225,226,229,229,232,232,230,232,229,229,230,233,234,233,233,226,230,234,233,233,233,232,230,234,237,235,233,234,238,235,230,234,233 +61,74,75,72,70,59,46,43,39,34,27,26,23,20,18,18,18,18,17,16,21,25,30,33,33,29,21,17,13,14,12,7,5,5,4,1,4,1,4,9,21,33,43,48,57,69,75,81,86,88,88,88,94,100,105,108,109,112,120,125,125,126,133,135,139,139,141,144,150,152,154,156,157,160,160,161,168,168,165,168,169,169,169,168,169,169,169,169,174,169,165,167,168,168,168,170,174,173,173,173,173,174,174,174,176,177,176,176,176,174,174,174,176,170,169,170,167,165,165,163,159,155,154,151,148,151,159,160,155,156,157,159,157,156,152,151,152,148,143,139,134,128,124,124,124,129,133,130,124,122,126,130,128,134,137,134,131,131,126,118,120,113,113,117,107,94,92,95,87,79,86,81,69,70,86,99,111,113,113,114,121,131,137,134,133,130,131,133,133,129,128,126,125,121,113,111,107,105,101,98,90,88,88,87,73,49,34,29,21,21,17,10,5,4,1,0,0,0,0,1,3,4,5,5,7,13,16,31,60,99,121,135,148,161,168,178,186,199,202,204,207,209,216,220,222,220,220,221,224,224,224,224,225,226,228,230,230,232,234,233,230,228,229,230,234,230,232,232,230,234,237,230,234,235,230,230,237,235,232,232,233,232 +68,77,75,70,70,60,48,46,40,36,31,27,22,17,16,18,20,18,16,13,16,20,25,27,29,26,18,14,12,12,8,4,4,5,1,0,1,1,4,9,25,36,46,49,61,69,75,79,86,87,87,88,94,101,107,107,108,108,114,122,122,125,131,135,142,142,144,148,152,155,156,157,159,161,163,163,165,165,165,168,169,169,169,169,170,170,170,170,176,170,167,169,172,170,170,173,176,174,174,176,176,176,176,176,180,180,180,178,178,177,177,177,174,170,170,170,167,167,168,165,159,156,154,151,147,150,155,155,154,155,156,157,157,157,156,156,155,151,148,144,139,134,131,133,135,138,139,137,133,131,134,138,139,144,143,139,137,135,129,124,120,112,112,113,104,94,90,90,85,79,83,81,70,70,82,99,109,112,113,113,120,130,134,133,135,134,134,134,133,129,130,130,126,122,116,113,108,104,98,94,91,87,86,86,74,55,36,29,21,21,17,10,5,3,1,0,0,0,0,0,3,3,4,4,9,12,17,36,66,100,120,137,150,164,173,182,187,199,202,207,211,212,217,220,221,220,221,222,224,225,226,228,228,229,230,232,232,232,230,230,233,237,233,229,234,234,234,234,233,235,237,234,233,237,235,234,234,232,232,234,232,233 +73,79,75,70,69,60,49,47,42,38,33,29,21,16,14,16,16,14,12,9,10,14,18,20,22,21,16,13,12,12,9,5,3,3,0,0,0,0,4,13,27,39,49,55,64,70,77,81,85,85,87,90,96,103,105,104,107,101,107,118,122,125,130,135,139,141,144,148,154,156,159,159,161,164,164,163,165,164,164,167,169,169,170,170,172,172,172,172,176,172,170,173,176,174,176,177,177,177,177,178,178,178,178,177,180,180,180,178,178,177,178,178,176,172,172,170,168,167,167,163,160,155,154,151,147,148,151,151,155,156,157,159,159,157,157,157,157,156,152,148,143,141,142,144,144,144,143,142,142,142,142,144,147,150,147,143,139,137,131,125,114,109,108,108,103,96,92,87,82,79,82,78,73,70,77,96,107,111,112,112,118,128,133,131,135,134,135,134,133,130,131,133,126,124,118,114,109,104,96,91,91,87,83,83,74,57,38,30,23,22,17,10,4,3,1,0,0,0,0,0,0,1,3,4,8,9,17,43,73,103,121,138,148,165,176,185,187,198,200,208,212,212,215,217,219,219,220,222,222,224,226,228,228,228,229,229,230,232,229,228,233,239,237,229,232,234,234,234,235,235,235,235,233,233,235,235,232,232,235,235,230,234 +74,81,79,73,69,61,52,48,40,36,31,27,20,14,12,12,10,8,7,5,9,14,18,20,17,16,14,14,14,14,12,9,0,0,0,0,0,0,7,17,27,40,51,56,66,74,79,83,83,86,87,90,96,103,103,100,100,91,96,111,118,121,128,134,134,138,142,147,151,155,157,159,159,163,164,165,167,167,165,169,170,172,172,173,173,173,173,173,177,174,173,174,177,177,178,180,178,178,178,180,181,181,180,180,180,178,180,178,177,176,177,177,176,172,172,170,168,167,165,160,160,155,154,151,147,148,151,150,154,156,159,159,159,160,161,164,160,159,156,152,150,148,148,150,147,147,148,148,147,148,147,148,148,148,148,143,141,138,130,124,113,109,107,104,100,98,94,87,83,82,81,78,77,70,73,94,105,111,112,112,117,128,134,134,135,134,134,134,134,133,133,131,125,122,120,117,112,105,98,92,91,87,82,82,73,56,38,30,26,23,18,12,5,3,1,1,0,0,0,0,1,1,1,4,7,10,18,46,77,108,126,142,148,165,174,185,189,198,200,208,209,211,215,216,217,219,219,221,222,224,225,226,225,225,226,226,228,230,233,232,232,234,235,234,229,235,234,233,237,235,233,235,235,230,230,233,232,234,237,233,232,233 +73,79,81,75,70,61,52,47,38,31,25,23,20,13,7,4,7,5,4,4,8,14,20,21,14,12,12,13,16,16,13,10,5,5,3,3,1,0,9,20,30,42,52,60,69,77,81,86,85,87,91,92,96,100,100,98,95,86,90,108,118,121,126,131,134,139,144,148,151,155,159,157,159,164,165,167,169,168,169,172,172,172,172,173,173,173,173,173,178,176,174,176,177,178,180,181,180,180,180,180,181,181,182,182,181,180,181,180,178,178,177,177,173,169,168,168,169,169,168,160,160,155,152,151,148,150,151,150,150,152,156,159,160,164,167,169,163,161,157,155,152,152,151,150,150,151,152,152,152,151,150,151,150,150,150,147,142,139,130,124,121,116,112,107,99,95,92,87,83,83,82,79,79,70,69,94,105,111,114,113,118,128,135,135,135,135,134,135,138,137,134,130,125,122,120,117,112,107,100,98,92,90,85,82,72,55,38,30,27,25,18,14,7,3,1,4,1,1,1,1,1,1,3,3,9,14,22,47,82,116,131,143,150,163,172,183,191,202,202,207,209,212,215,216,217,220,221,222,225,226,226,226,226,226,229,229,230,230,233,235,234,232,233,238,230,237,235,234,238,237,234,237,239,233,233,233,229,230,233,229,232,230 +72,77,79,75,68,60,49,44,34,27,22,21,18,12,5,0,4,4,3,4,9,16,20,21,17,13,12,14,17,16,13,12,9,9,7,5,5,3,10,22,34,44,55,61,72,77,82,87,87,88,94,95,98,100,99,96,92,83,88,105,116,118,124,128,135,141,146,148,151,155,157,157,161,165,168,169,172,170,169,172,172,172,173,173,173,174,174,176,177,176,177,177,178,180,181,181,180,180,180,181,182,182,183,182,182,181,181,181,180,180,178,177,174,170,170,168,167,168,165,156,160,156,154,152,147,148,152,151,152,154,155,157,161,164,167,169,167,164,159,157,156,156,154,150,150,152,154,155,154,152,150,151,152,152,151,148,143,139,130,124,122,117,114,111,103,99,96,92,85,83,82,82,79,69,69,95,107,113,117,116,120,129,135,137,137,137,137,138,141,139,135,131,128,125,121,118,114,109,103,100,95,94,90,85,72,55,39,31,29,25,20,14,7,3,1,4,1,1,1,1,1,4,4,5,9,16,25,51,83,117,133,141,154,165,172,186,194,204,203,206,209,212,216,217,219,221,222,224,224,225,225,226,226,229,230,232,234,229,229,234,237,233,232,235,232,234,234,234,235,235,234,234,235,235,238,235,230,229,233,234,233,230 +69,70,73,70,64,57,49,40,31,26,21,20,16,10,5,4,4,1,1,4,10,17,20,20,18,14,12,13,16,13,10,9,8,8,7,7,5,1,12,25,38,47,57,65,73,78,83,88,90,92,94,96,100,103,100,95,85,79,87,104,113,117,121,124,131,139,144,147,151,155,159,159,164,167,167,167,170,172,172,174,174,174,173,173,174,177,178,180,177,178,178,180,181,181,182,181,180,181,181,182,183,183,183,182,181,180,180,181,181,180,178,176,176,174,172,168,164,164,161,154,161,156,156,152,147,147,151,151,154,154,155,157,160,163,164,165,165,164,160,157,156,157,156,152,150,151,152,152,152,152,152,152,152,152,151,148,144,138,129,122,120,114,114,113,108,103,100,98,88,83,85,85,81,68,69,94,107,113,117,114,118,128,134,135,137,138,139,138,139,139,138,135,131,130,126,122,117,113,107,105,100,98,94,87,74,56,42,34,29,23,18,13,7,1,1,3,1,1,0,0,0,1,4,5,8,14,26,56,91,121,131,141,155,168,176,189,194,202,203,209,209,213,215,215,216,219,221,221,221,222,224,225,226,228,232,233,230,228,228,232,235,234,233,233,234,233,234,235,234,234,234,230,233,237,238,235,234,233,233,238,232,232 +69,68,66,64,59,55,47,36,31,26,20,17,16,10,7,7,1,0,0,4,12,17,21,21,18,13,10,12,12,10,8,7,3,3,3,4,5,1,10,26,39,47,57,65,75,79,86,92,92,92,94,96,101,105,101,95,78,75,85,101,111,116,120,121,129,135,143,147,151,157,163,163,165,167,165,165,169,172,173,177,174,174,176,177,177,180,181,182,176,178,181,182,183,183,182,180,180,181,182,185,186,185,183,181,181,180,180,181,182,181,178,176,170,170,172,168,164,165,164,159,163,159,156,152,147,147,151,152,151,152,152,156,160,163,165,165,164,164,160,157,155,156,156,155,152,152,151,152,154,156,157,157,152,151,147,146,143,139,130,124,121,114,114,116,111,105,100,95,94,87,87,86,78,65,68,91,109,114,118,116,120,126,133,134,137,139,142,139,138,138,138,137,135,134,130,128,124,118,112,109,104,101,95,88,75,59,43,34,29,23,18,13,7,1,0,1,0,0,0,0,0,1,4,4,9,13,27,65,100,125,134,144,154,168,178,189,191,198,200,209,211,215,216,215,216,217,221,221,221,222,224,225,226,228,229,229,228,230,232,232,233,235,235,235,237,233,235,237,234,235,235,230,234,237,233,232,234,233,232,235,233,233 +68,69,65,59,57,55,46,34,30,25,20,18,14,10,8,8,7,3,5,8,10,16,21,22,17,12,8,8,9,8,5,4,3,0,1,3,3,3,16,27,40,49,60,66,75,83,90,91,92,96,94,98,103,107,104,87,68,68,79,99,111,114,116,120,125,133,139,143,152,157,160,164,161,164,168,170,173,173,174,174,177,178,181,182,180,176,176,178,178,181,182,182,181,180,182,182,182,181,180,181,183,185,185,183,176,182,185,178,178,181,180,173,173,173,172,168,167,165,164,161,157,155,155,152,148,147,147,151,154,154,155,157,159,161,163,163,167,165,161,156,152,154,154,152,151,151,152,155,155,154,152,151,152,154,151,146,141,139,133,126,124,120,116,116,113,108,100,98,94,87,87,88,77,62,72,94,105,114,117,116,121,128,133,137,135,139,143,142,142,141,142,141,135,134,133,130,126,121,114,109,107,103,96,91,79,64,46,34,27,23,17,12,5,3,0,0,0,0,1,1,1,3,4,5,10,12,27,68,103,125,135,147,160,168,176,185,196,202,203,206,212,217,219,216,220,221,219,219,222,225,226,224,224,228,229,228,229,230,232,233,234,234,234,234,232,234,235,238,237,235,233,232,230,230,232,233,237,238,233,229,232,234 +65,66,68,65,61,56,44,34,29,23,20,18,13,9,4,5,8,4,4,8,12,16,20,18,13,8,4,5,7,5,3,1,1,0,1,1,0,1,14,27,40,49,61,68,74,81,86,88,94,98,98,101,103,107,107,91,74,74,81,96,107,111,114,120,126,135,142,147,152,156,160,163,161,165,169,172,176,176,176,177,174,176,178,181,181,180,180,182,178,181,182,182,182,182,185,186,185,183,183,185,185,185,185,183,181,185,183,180,178,180,180,174,172,172,172,169,168,167,165,163,161,159,155,151,148,146,148,152,155,155,155,155,157,159,160,160,164,164,161,159,155,156,154,152,150,150,151,154,152,152,152,152,152,151,147,144,142,139,133,126,124,121,116,114,113,108,103,100,98,90,90,87,72,57,68,90,105,111,112,113,121,130,134,135,141,142,144,143,143,143,142,141,137,135,135,133,130,125,118,113,111,105,99,92,81,65,48,36,29,25,20,13,7,3,0,0,0,0,0,1,1,3,5,5,9,14,34,74,105,126,135,148,160,170,180,187,196,200,202,207,209,215,215,215,217,217,217,221,222,226,229,228,226,229,229,226,229,230,230,232,230,230,233,233,237,235,232,232,233,234,235,235,234,237,237,237,234,234,234,233,235,232 +66,66,68,68,65,56,43,35,27,23,20,16,12,5,1,1,7,0,1,7,10,16,18,14,10,7,4,4,5,5,3,0,0,0,1,0,0,1,16,30,42,51,62,69,75,81,86,88,95,99,99,103,104,105,105,95,85,82,86,94,103,107,112,117,125,137,144,148,155,156,159,163,163,167,170,172,173,173,174,176,180,178,178,181,182,181,181,181,181,182,182,183,183,183,186,187,187,187,186,186,185,185,183,183,183,183,183,182,180,180,177,174,173,173,172,170,168,167,165,164,165,160,156,151,148,147,150,154,154,154,154,154,155,156,157,159,160,161,161,159,157,156,154,151,150,150,150,151,151,151,151,154,150,146,142,142,141,135,129,125,124,120,117,114,112,108,104,103,99,91,88,85,68,55,66,90,101,111,116,114,118,126,134,142,144,144,143,142,143,144,143,141,138,137,137,134,131,128,121,117,112,107,100,94,83,66,48,38,30,26,20,14,8,3,0,0,0,0,1,1,1,1,4,5,8,18,39,81,109,129,138,150,157,172,183,189,195,198,204,211,207,212,213,215,217,216,217,224,221,225,226,226,226,229,230,229,229,230,230,230,230,230,232,233,234,233,233,234,234,235,234,233,234,237,237,235,233,233,234,234,234,233 +68,66,66,69,66,56,46,39,29,25,21,17,10,5,1,1,4,0,1,8,13,18,18,13,9,7,3,4,5,4,0,0,0,0,0,0,1,5,20,31,44,52,62,70,77,83,87,88,92,95,94,99,101,103,105,94,94,91,91,96,101,107,112,116,126,137,144,150,155,157,159,163,164,167,172,173,172,172,174,177,181,181,182,181,181,180,180,180,183,185,185,185,185,185,185,185,186,186,186,185,183,183,183,183,186,183,182,182,181,178,176,176,174,173,170,169,168,167,167,163,165,161,157,151,148,148,151,155,154,152,151,152,155,159,159,159,159,159,159,156,155,152,151,150,152,150,147,148,147,148,150,152,147,143,142,143,141,133,126,125,124,120,116,113,111,107,101,101,96,88,86,82,66,55,68,90,98,108,114,113,117,124,135,144,143,144,144,144,144,144,143,142,139,138,135,133,129,126,122,120,112,107,101,95,85,68,48,36,31,27,21,14,7,3,0,0,1,1,1,1,1,1,4,4,8,20,46,87,113,131,141,151,160,173,185,189,194,198,203,209,209,211,212,215,217,216,217,225,221,224,225,224,224,226,230,232,229,229,230,230,230,232,233,233,233,233,233,234,235,235,234,232,229,233,234,233,230,230,233,234,233,234 +66,65,68,72,68,56,46,40,29,26,21,18,12,8,5,5,1,1,5,10,13,18,20,14,8,7,3,4,4,1,0,0,0,0,0,3,4,10,22,31,47,52,61,70,79,85,88,90,92,92,92,98,101,103,104,94,98,96,98,100,105,111,114,118,126,134,139,144,154,156,157,161,163,167,170,173,174,177,180,183,177,178,181,180,180,180,181,182,183,185,185,186,186,185,185,185,185,185,185,185,185,183,183,185,187,182,181,182,182,180,177,177,176,173,169,167,167,168,165,161,164,161,157,152,150,150,151,152,155,152,150,152,157,160,160,160,160,160,157,156,152,150,148,148,152,148,144,146,146,148,147,148,147,144,144,144,141,131,125,125,121,117,114,113,109,105,101,99,98,88,83,79,66,56,66,86,100,105,108,108,120,129,135,139,141,143,146,147,146,143,143,143,141,138,135,133,128,126,122,121,113,109,104,100,88,69,48,36,33,27,21,14,7,3,0,0,1,1,4,1,3,4,4,5,12,23,49,91,118,135,143,154,165,177,185,186,193,196,202,206,211,212,212,215,220,217,217,222,225,226,225,224,224,225,228,229,229,230,230,232,232,233,234,234,237,235,232,230,230,232,234,237,230,233,235,234,233,234,234,234,232,230 +65,66,70,74,69,57,46,42,33,30,23,18,13,10,8,7,1,1,4,7,10,17,17,13,10,8,4,5,4,3,0,0,0,0,1,3,8,13,25,34,48,53,61,72,79,85,90,91,94,91,91,99,104,105,107,98,98,99,100,103,108,117,121,124,130,137,142,146,152,156,157,160,165,168,172,173,174,176,180,182,176,178,181,180,178,180,181,182,183,185,185,185,186,186,185,185,186,186,186,185,186,186,186,185,186,182,180,181,183,181,178,176,177,173,169,167,168,168,164,160,161,160,157,152,151,151,151,151,154,152,150,152,157,160,160,159,163,160,156,154,150,146,144,147,151,148,143,146,147,148,147,147,146,146,143,142,137,129,122,120,116,114,113,113,111,107,103,100,94,85,78,75,65,56,66,82,96,103,107,107,116,125,131,137,137,138,142,144,144,142,142,144,143,139,135,131,130,128,125,122,113,109,105,100,87,69,47,35,33,29,21,14,7,4,1,4,0,1,1,1,3,4,7,8,12,26,53,95,118,137,143,155,164,176,182,185,193,199,203,207,211,212,211,212,219,217,217,220,224,225,228,228,228,226,228,228,230,232,232,232,232,232,232,232,233,233,233,232,232,233,234,234,233,234,235,234,234,234,233,233,232,232 +65,68,73,73,68,59,48,42,38,34,25,20,13,10,8,7,0,0,1,4,8,16,17,9,9,7,5,5,4,3,0,0,0,0,0,1,7,14,29,39,49,56,66,75,81,83,88,91,92,91,91,99,103,103,107,101,100,101,103,104,111,118,128,130,133,141,146,150,155,159,161,163,168,169,172,173,173,176,176,178,180,182,182,181,181,182,182,181,185,185,183,183,186,187,186,186,186,186,186,187,187,187,186,185,186,183,180,180,182,182,178,176,176,174,170,168,169,169,164,161,161,160,156,151,150,151,152,151,152,151,150,152,155,157,157,157,161,159,154,151,146,142,142,144,146,146,144,147,146,144,144,144,142,142,141,138,133,128,120,113,112,112,112,111,107,103,100,100,90,79,74,70,62,53,64,79,88,101,108,107,111,117,126,135,137,137,139,143,143,141,142,143,143,139,135,133,131,130,125,121,114,111,104,99,87,69,48,35,31,27,20,14,7,4,4,4,0,0,1,0,3,3,5,7,12,30,61,100,121,135,144,156,164,176,183,187,195,203,207,208,207,212,213,212,217,219,219,220,220,221,222,225,226,226,229,230,232,232,233,232,232,232,232,232,229,230,234,235,235,234,233,232,233,234,235,233,233,232,232,232,232,234 +68,72,73,72,65,57,51,44,42,36,26,20,13,10,8,5,3,0,0,4,10,20,21,13,7,4,3,3,3,1,0,0,0,0,0,0,4,14,31,43,51,60,72,81,83,85,88,92,90,88,90,98,100,100,104,101,103,104,104,103,109,118,129,131,131,141,148,151,157,157,161,165,167,168,170,172,174,177,180,181,182,182,182,182,185,189,187,185,187,186,185,185,185,186,186,186,186,185,185,186,187,187,186,183,185,183,181,181,183,185,180,173,173,173,173,170,169,168,165,161,161,160,156,151,150,151,152,150,148,150,151,151,152,154,156,159,159,155,154,148,142,139,138,142,139,141,143,144,142,139,139,141,141,141,138,135,131,129,118,109,111,112,112,109,103,98,98,100,90,81,74,69,60,49,57,73,90,100,105,105,112,118,126,130,138,137,139,141,143,142,142,143,141,138,134,133,133,131,125,118,116,112,105,99,87,70,49,36,29,27,20,14,8,5,4,4,1,1,1,0,0,0,4,4,16,35,69,107,124,137,147,160,167,180,187,190,198,203,204,206,207,215,216,213,217,220,221,222,220,220,222,222,224,224,228,230,233,234,234,234,234,234,232,232,234,233,230,230,232,234,233,233,233,235,235,234,230,230,232,233,234,230 +69,69,70,70,68,60,52,47,42,36,26,18,13,12,9,7,4,1,3,7,12,16,16,12,7,3,3,4,1,0,0,0,0,0,0,1,7,16,31,42,55,60,70,79,85,86,87,88,91,81,82,95,100,100,101,101,103,103,104,105,109,116,124,130,134,138,143,148,154,157,161,164,167,169,170,170,173,176,181,182,180,180,180,180,181,181,183,185,186,185,183,185,187,187,185,185,185,187,187,185,185,186,186,183,189,187,185,181,178,178,178,177,176,172,169,168,165,163,163,165,165,160,156,152,151,147,146,148,150,150,148,150,151,155,157,156,156,151,147,144,139,135,133,135,131,138,141,137,137,141,139,137,135,137,135,133,130,126,118,111,108,109,113,111,103,95,95,100,92,78,74,70,61,46,49,74,86,99,105,107,113,118,124,134,137,138,139,139,141,141,142,143,139,139,137,133,129,126,126,125,118,108,101,101,90,69,48,38,33,29,21,14,9,7,4,1,0,0,0,0,4,5,7,9,14,40,75,116,128,138,152,161,173,182,185,193,194,200,199,206,208,211,215,216,217,216,219,220,225,224,222,225,228,229,229,228,230,228,229,230,233,233,234,234,230,232,232,230,229,232,234,234,233,235,234,232,234,237,238,237,230,230 +69,69,70,68,61,53,46,42,38,34,26,20,12,9,8,5,3,1,4,9,14,17,17,12,8,4,4,4,0,0,0,0,0,0,0,4,9,20,34,43,52,59,69,78,83,86,87,88,91,79,78,88,99,103,101,95,99,100,104,109,114,118,124,129,135,139,146,151,156,159,161,164,167,169,170,170,173,176,178,180,180,181,181,181,181,181,183,185,185,185,185,185,186,186,185,185,186,187,189,187,186,186,187,186,187,187,185,182,180,178,177,174,174,172,169,168,168,165,164,167,167,161,157,154,148,146,146,147,148,148,147,148,150,152,155,154,151,148,147,141,133,128,129,134,129,129,130,129,129,129,131,134,138,138,134,130,125,122,114,111,109,109,108,105,100,95,95,99,90,77,73,70,61,47,49,74,83,96,101,103,112,118,122,131,137,138,142,143,143,142,141,141,141,139,137,133,130,128,125,124,114,108,104,101,90,69,49,40,34,29,22,14,8,5,1,0,1,3,5,5,4,4,5,7,18,46,79,117,129,139,151,160,169,181,186,196,198,203,200,206,208,211,215,217,217,217,220,222,224,222,222,225,229,232,230,229,229,229,229,230,233,233,234,234,234,234,233,233,234,235,235,234,230,233,235,233,232,234,234,233,230,230 +74,73,70,65,59,51,42,38,34,33,27,21,14,10,8,7,1,0,4,10,14,20,18,12,10,5,4,5,3,1,0,0,0,0,0,4,12,23,36,44,53,60,69,78,83,86,88,88,86,78,78,86,96,103,100,91,96,96,101,111,117,120,125,131,137,143,150,155,157,159,161,165,167,169,173,173,174,177,178,178,180,181,182,181,181,181,182,186,185,185,185,185,183,183,185,186,187,186,187,189,189,187,186,186,183,185,183,182,182,181,178,174,173,170,170,168,168,165,165,167,164,161,157,154,150,144,146,148,147,148,147,147,148,151,151,150,148,148,146,139,126,118,120,126,125,120,118,122,120,117,121,129,135,137,134,130,122,116,111,107,105,104,104,103,99,96,95,96,87,75,72,69,61,48,49,72,83,95,100,101,112,118,124,133,133,137,141,143,143,142,139,138,141,138,137,134,131,129,124,121,112,109,107,103,88,69,51,43,36,31,22,16,8,4,1,0,3,4,7,7,5,4,7,7,21,53,87,120,130,143,154,160,173,183,186,194,195,204,206,213,207,209,213,216,216,216,219,220,224,222,224,226,230,232,228,225,228,229,229,230,232,233,232,232,232,232,232,232,233,234,232,229,226,232,234,233,230,230,232,230,233,233 +79,77,73,68,62,56,47,39,31,33,31,25,16,12,8,7,1,0,4,10,14,20,18,13,9,5,5,7,5,4,1,0,0,0,0,3,12,23,36,44,55,61,72,78,83,86,87,87,79,74,79,88,94,95,96,94,96,95,100,109,116,120,126,133,137,143,151,155,159,160,164,167,168,170,173,173,176,177,178,178,181,181,181,181,181,182,183,186,186,186,186,185,183,185,186,189,190,186,186,189,189,185,183,183,183,183,183,182,181,181,180,176,174,173,170,168,168,167,165,165,163,160,159,155,150,146,147,150,147,148,147,148,147,148,150,150,148,147,144,137,125,116,117,121,120,114,113,116,114,109,112,120,129,130,133,130,122,114,108,103,101,101,103,103,100,96,94,92,86,74,70,66,60,47,47,66,81,94,100,101,109,116,122,133,131,134,141,141,141,139,139,138,141,139,135,134,134,130,125,121,113,112,109,105,88,69,51,44,36,31,23,16,8,4,0,0,1,4,7,8,7,5,5,4,22,60,95,122,131,143,154,161,176,187,189,194,196,204,208,215,206,209,213,215,216,217,220,221,224,224,225,228,229,229,226,225,230,230,232,232,232,233,232,230,232,233,233,233,234,235,234,232,229,233,237,235,233,233,232,232,233,232 +82,79,75,74,70,65,52,42,31,34,33,26,17,10,5,4,4,0,4,9,13,20,18,12,8,4,5,7,5,4,4,0,0,0,0,3,13,26,39,46,56,61,72,77,81,83,82,79,77,69,75,90,96,92,92,94,96,96,103,111,118,121,128,134,138,146,154,156,157,160,164,165,167,169,170,173,176,178,180,178,181,181,180,181,181,182,185,185,185,185,186,185,185,186,187,190,190,186,186,189,189,185,182,182,185,185,183,182,182,181,180,177,174,173,170,169,169,168,165,164,160,159,159,157,151,144,146,148,146,147,147,147,147,148,150,148,144,141,139,134,128,120,117,120,114,111,111,109,108,107,109,113,117,121,125,126,121,113,107,103,101,104,105,104,99,95,91,90,83,73,68,65,59,47,47,62,77,94,100,101,108,113,121,133,134,137,138,139,139,138,141,141,142,139,137,135,134,130,125,120,113,109,108,103,90,69,51,44,35,31,23,14,7,3,3,3,3,3,5,7,10,9,8,7,23,66,101,125,131,143,155,165,173,187,193,199,200,207,204,207,208,213,216,216,217,220,222,224,219,222,225,228,229,229,230,230,230,232,232,230,230,232,232,230,229,232,232,232,233,233,235,234,234,235,235,234,234,233,230,230,232,230 +85,83,81,78,75,72,56,46,36,39,38,31,22,16,10,7,8,4,5,9,14,21,18,12,8,4,5,7,4,3,1,0,0,0,1,3,14,29,42,48,56,62,72,77,81,83,82,78,77,64,68,88,98,95,91,91,96,100,108,114,121,124,129,134,139,146,152,155,156,161,164,165,167,168,170,172,174,178,180,180,182,181,181,182,182,182,182,181,186,186,186,186,186,186,187,189,189,187,187,187,189,186,185,186,187,187,185,182,181,181,178,176,173,172,170,169,169,168,167,164,161,160,160,156,150,143,143,147,147,146,144,144,146,148,147,144,142,138,135,133,128,121,118,118,113,112,107,103,100,104,105,107,109,111,113,117,116,111,105,104,105,108,108,103,96,92,91,91,81,72,66,62,60,49,47,61,75,94,103,104,108,112,120,131,138,139,139,139,138,138,139,141,141,139,138,137,134,130,124,120,112,105,103,101,88,65,49,44,35,31,23,17,8,5,3,4,4,4,5,7,10,10,10,9,26,72,105,126,134,144,155,168,174,187,191,198,199,204,202,203,204,209,215,216,217,221,224,225,221,224,228,229,229,230,230,232,230,233,232,229,229,230,232,230,228,229,230,229,230,230,233,233,234,234,234,234,233,233,232,230,233,230 +86,87,86,82,79,75,62,51,46,47,44,40,31,23,18,13,12,8,8,12,17,22,20,12,9,5,4,7,4,1,1,0,0,0,3,3,14,29,43,51,57,65,72,77,82,85,83,78,72,61,65,83,95,95,91,91,96,104,111,114,118,125,131,134,141,146,151,152,156,161,165,167,167,168,169,170,173,177,180,180,180,181,182,182,182,182,182,183,185,185,187,187,189,187,186,186,185,186,186,185,186,187,187,186,187,187,186,183,182,181,178,176,174,174,170,168,167,165,165,161,161,160,159,154,147,139,141,146,146,144,142,142,143,146,143,141,141,138,134,131,125,121,118,120,114,109,104,99,99,99,99,99,99,100,101,107,109,107,104,101,105,108,105,100,96,94,91,90,81,72,68,64,60,52,48,60,75,94,103,103,108,111,118,130,135,138,139,139,139,139,141,141,142,142,139,137,133,129,122,120,113,105,100,100,86,61,46,43,36,33,25,16,8,4,3,3,3,4,7,7,8,9,12,13,34,77,108,129,138,147,156,169,177,187,190,194,195,204,203,204,202,208,213,215,216,220,222,222,226,226,228,228,229,229,229,229,226,230,233,230,230,232,232,230,233,233,234,234,233,234,234,233,232,232,234,234,233,232,230,230,232,232 +91,92,92,88,83,78,66,57,53,53,49,46,38,30,23,18,14,10,10,14,18,23,21,13,9,5,5,7,5,3,0,0,0,1,3,3,13,29,44,51,56,64,72,78,82,86,83,78,65,62,68,79,87,90,92,92,98,105,112,112,114,122,131,135,139,144,150,151,155,161,167,167,167,168,168,169,172,176,178,178,176,181,185,186,182,182,183,187,185,185,186,186,189,187,183,183,180,183,185,182,183,187,190,189,186,186,185,183,182,181,178,177,177,176,172,168,167,165,161,159,160,157,156,151,143,138,141,146,144,142,138,138,141,143,141,137,137,135,134,130,124,121,122,126,116,111,105,101,99,98,94,92,94,94,95,103,107,105,100,98,100,104,104,101,98,96,92,90,82,73,69,65,61,52,47,59,75,92,100,103,108,111,117,126,130,134,137,139,141,141,142,142,143,142,141,137,133,128,121,120,114,107,101,101,86,59,44,44,38,34,26,17,8,4,3,4,1,4,7,5,5,5,10,14,42,82,108,131,141,150,156,169,174,187,190,196,200,208,204,203,204,211,216,216,216,220,220,219,224,222,222,224,228,229,229,228,225,229,233,232,232,233,233,229,233,233,232,232,232,233,232,228,230,233,234,234,232,230,230,232,229,230 +94,90,91,94,91,79,66,62,59,57,52,44,36,34,29,25,20,16,14,16,17,21,20,12,8,8,7,5,1,0,0,0,0,1,0,0,14,30,44,51,59,64,69,78,82,83,85,74,62,57,69,82,90,92,92,96,100,105,112,116,120,124,130,135,141,143,150,155,160,160,163,165,168,168,168,169,173,177,178,177,180,181,181,180,180,183,186,186,189,189,186,185,183,183,185,186,183,186,186,186,186,186,186,186,182,182,182,182,181,180,180,178,178,174,167,163,161,163,163,161,159,155,151,144,139,137,137,141,139,142,141,137,138,144,144,138,137,133,131,134,134,131,126,125,117,111,105,101,96,101,98,88,88,91,92,99,101,99,96,98,99,103,105,101,99,98,96,92,85,68,62,68,65,53,44,53,70,91,104,104,107,109,114,122,129,133,135,137,141,139,138,141,141,142,141,138,134,130,124,118,112,108,104,99,83,61,43,36,36,35,26,16,8,4,4,1,1,5,5,3,8,7,10,22,43,94,113,129,143,151,156,174,176,183,193,196,198,200,202,203,204,208,212,213,216,219,222,225,225,224,225,226,226,226,228,230,228,230,229,229,232,232,229,230,225,226,232,235,235,234,234,237,238,232,226,226,230,233,233,232,229,228 +95,95,95,96,94,79,65,60,60,56,49,44,38,34,30,26,25,22,22,22,21,22,22,16,8,7,5,4,4,1,1,0,0,3,0,1,16,30,42,49,57,64,70,79,82,83,85,74,61,56,66,78,87,92,94,96,99,104,109,116,121,125,131,135,142,146,151,156,159,161,164,167,169,169,169,170,174,178,181,178,180,181,181,180,181,183,185,185,187,187,186,186,186,186,185,185,186,186,186,186,186,187,187,186,185,183,183,183,181,178,176,176,173,173,172,168,168,165,164,161,157,156,152,146,137,131,131,137,138,139,138,133,137,141,141,135,135,134,131,131,131,130,128,125,118,112,107,103,98,99,96,87,86,88,91,96,98,94,90,94,98,101,103,100,99,100,100,99,85,69,66,68,64,53,46,49,70,90,104,104,107,111,116,125,129,134,137,138,142,141,139,142,143,143,141,138,134,131,126,118,112,109,105,100,83,61,46,40,36,34,25,16,8,4,4,1,3,3,4,1,7,7,9,21,44,91,114,130,143,154,160,176,180,186,194,196,195,196,200,202,204,208,212,212,213,216,220,221,225,222,222,225,228,228,229,229,228,230,230,230,234,234,233,234,228,228,228,230,233,233,233,234,235,234,234,234,235,233,232,230,230,230 +96,98,96,96,95,81,66,62,62,55,48,43,40,35,30,27,29,27,27,27,26,26,25,18,9,8,7,5,5,4,1,0,0,3,1,3,17,31,43,51,57,65,73,81,82,83,83,72,62,56,64,74,83,92,94,95,100,103,109,116,122,129,135,139,141,146,152,155,157,161,167,167,168,168,170,172,176,178,180,178,181,182,182,181,181,182,183,183,185,186,187,189,187,187,186,186,187,187,185,185,185,186,186,185,185,183,182,182,180,177,174,172,170,173,174,172,169,165,163,160,157,156,154,147,134,128,129,134,137,135,134,133,133,134,134,134,141,138,133,129,128,129,128,124,120,114,109,105,100,100,96,88,85,91,94,95,94,88,86,90,95,99,100,99,99,100,101,100,85,73,69,69,66,56,47,48,68,88,103,103,107,111,117,126,130,134,137,138,141,141,139,142,144,143,141,138,138,135,128,120,112,111,105,99,83,61,47,43,38,34,23,13,7,4,4,1,4,3,3,0,8,7,9,21,49,92,117,131,142,155,161,174,182,189,195,198,199,199,203,206,207,209,212,213,213,215,217,219,228,224,222,226,230,232,229,229,228,230,230,232,234,234,233,233,233,232,229,230,232,233,232,232,233,233,233,230,230,229,230,232,232,230 +98,100,96,94,94,85,72,70,65,57,49,46,42,35,29,29,29,25,26,29,29,29,26,21,14,12,9,8,7,5,4,1,0,1,0,4,18,34,44,52,61,68,73,79,82,83,81,68,60,56,64,73,81,90,91,94,101,104,108,114,124,130,137,139,141,147,152,154,157,164,168,167,168,169,170,172,174,177,178,178,181,181,183,183,183,183,185,185,183,185,186,187,187,187,187,189,187,186,183,182,183,186,185,183,185,185,185,182,180,176,172,170,173,174,174,170,165,163,160,159,156,154,150,144,134,126,130,135,133,130,131,131,131,130,131,133,137,137,134,129,128,130,128,124,118,116,113,107,103,100,95,90,90,95,95,98,95,90,87,92,92,98,100,99,98,100,99,96,87,73,69,72,69,59,46,47,64,86,100,103,107,111,116,125,129,134,135,137,139,139,139,141,141,141,139,138,138,135,130,124,114,109,104,99,82,62,47,44,39,34,23,13,7,4,4,1,3,3,3,0,5,5,10,25,57,98,120,133,141,154,164,174,182,189,195,199,202,204,207,208,209,213,216,216,216,217,219,219,229,226,225,228,230,230,229,228,229,232,230,230,232,230,229,230,234,233,229,229,230,232,233,233,233,233,230,229,229,230,232,232,229,229 +99,100,98,94,94,86,75,70,68,61,52,47,40,35,29,27,23,21,21,26,30,31,29,21,17,14,12,10,9,8,5,4,1,0,0,4,21,36,47,53,65,70,72,77,81,83,81,65,55,51,62,73,79,86,88,96,99,101,108,113,122,129,135,138,144,151,155,155,159,164,169,168,170,170,170,172,174,176,177,178,181,181,182,183,183,182,183,183,182,185,186,187,186,186,187,189,189,187,186,183,185,187,186,185,183,186,186,183,178,174,170,170,174,174,173,169,165,163,160,157,155,150,144,139,131,125,126,133,129,128,129,131,131,129,129,130,125,129,131,131,131,131,128,120,116,117,113,108,103,98,91,90,94,96,96,99,99,94,91,96,96,99,100,98,96,99,100,98,88,72,65,72,72,59,44,46,61,85,100,104,109,112,114,122,126,134,137,137,139,139,139,142,141,141,142,138,135,134,129,125,118,108,101,96,85,64,48,44,40,35,25,13,7,4,4,4,0,1,3,1,7,7,14,31,65,104,124,133,141,155,167,174,186,190,195,198,200,204,206,206,212,215,217,217,219,220,221,221,225,224,225,228,229,228,228,228,232,233,232,232,233,230,229,230,232,229,229,229,230,230,233,233,232,232,232,233,237,237,234,228,230,229 +101,101,100,96,92,87,79,70,68,61,51,40,34,30,25,22,20,14,16,22,29,31,29,23,17,14,12,12,12,10,9,7,1,0,0,5,25,39,48,53,64,69,72,77,81,82,78,62,49,44,57,73,77,81,86,96,100,103,108,114,121,128,134,138,144,150,154,154,157,161,167,167,172,170,172,174,176,177,178,180,181,181,182,182,183,182,181,182,182,185,186,186,185,185,187,189,187,187,187,186,186,187,186,185,185,186,186,182,178,172,168,168,169,170,170,168,165,163,160,156,157,150,144,139,131,125,125,129,126,125,126,128,129,126,126,126,125,126,126,125,125,125,125,121,117,120,116,109,103,95,90,91,94,96,95,98,99,96,95,98,101,103,100,95,95,100,101,100,90,70,65,74,74,60,46,47,59,83,101,105,111,112,114,122,126,134,138,138,139,141,141,142,141,142,139,137,134,133,129,124,118,109,101,98,87,66,47,43,42,36,25,14,8,5,5,4,0,1,4,3,8,8,17,36,68,109,126,135,144,159,168,177,190,191,194,196,200,207,211,212,212,215,217,219,220,221,222,222,222,224,226,229,230,229,229,232,230,233,232,230,234,233,229,232,230,229,229,230,233,233,233,233,235,233,232,232,234,237,232,224,228,226 +104,99,98,94,88,90,88,77,68,61,44,30,23,23,20,14,14,9,12,20,25,27,26,21,14,13,12,13,14,14,10,8,3,3,4,12,29,40,49,57,62,70,74,79,79,79,74,57,47,39,52,69,75,75,79,94,103,105,112,117,122,128,135,141,146,147,152,155,157,161,167,170,173,172,173,176,176,176,178,181,181,181,182,183,185,182,181,182,182,185,186,186,185,185,187,189,185,186,187,186,187,187,186,185,186,185,183,180,177,172,169,167,168,169,170,168,163,161,160,157,159,151,146,142,133,124,121,125,124,124,124,122,122,122,122,120,125,124,118,116,116,116,118,121,121,121,114,107,103,98,94,96,95,96,96,98,100,99,99,103,104,104,103,98,98,101,101,100,90,74,70,77,75,62,48,48,59,83,100,105,109,111,113,120,125,134,138,138,139,141,141,142,141,141,139,135,134,134,130,126,118,109,103,101,88,66,48,43,39,35,23,14,8,7,5,5,4,4,5,4,8,8,18,39,70,114,129,137,151,164,170,181,187,191,196,199,203,208,213,216,212,215,217,219,221,222,224,222,225,226,228,230,230,229,229,230,230,232,229,229,232,232,229,232,232,229,228,230,233,233,232,232,233,233,229,225,226,230,229,225,224,225 From 24f9dde364aef1d3788b5634632f71302185698f Mon Sep 17 00:00:00 2001 From: cpaniaguam Date: Wed, 6 Nov 2024 23:13:49 -0500 Subject: [PATCH 5/6] fix: add skimage.morphology --- src/IceFloeTracker.jl | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/src/IceFloeTracker.jl b/src/IceFloeTracker.jl index 4628609b..dfe85aa3 100644 --- a/src/IceFloeTracker.jl +++ b/src/IceFloeTracker.jl @@ -74,9 +74,6 @@ include("histogram_equalization.jl") include("imcomplement.jl") -const sk_measure = PyNULL() -const sk_exposure = PyNULL() -const getlatlon = PyNULL() function get_version_from_toml(pth=dirname(dirname(pathof(IceFloeTracker))))::VersionNumber toml = TOML.parsefile(joinpath(pth, "Project.toml")) @@ -85,9 +82,16 @@ end const IFTVERSION = get_version_from_toml() +const sk_measure = PyNULL() +const sk_morphology = PyNULL() +const sk_exposure = PyNULL() +const getlatlon = PyNULL() + function __init__() - copy!(sk_measure, pyimport_conda("skimage.measure", "scikit-image=0.24.0")) - copy!(sk_exposure, pyimport_conda("skimage.exposure", "scikit-image=0.24.0")) + skimage = "scikit-image=0.24.0" + copy!(sk_measure, pyimport_conda("skimage.measure", skimage)) + copy!(sk_exposure, pyimport_conda("skimage.exposure", skimage)) + copy!(sk_morphology, pyimport_conda("skimage.morphology", skimage)) pyimport_conda("pyproj", "pyproj=3.6.0") pyimport_conda("rasterio", "rasterio=1.3.7") pyimport_conda("jinja2", "jinja2=3.1.2") From 6f3c44c27cdbfb51791086abe3cabb865c4b24e3 Mon Sep 17 00:00:00 2001 From: Carlos Paniagua Date: Fri, 8 Nov 2024 17:15:22 -0500 Subject: [PATCH 6/6] docs: impose_minima --- src/utils.jl | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/src/utils.jl b/src/utils.jl index 40584dc1..dbf0706f 100644 --- a/src/utils.jl +++ b/src/utils.jl @@ -120,6 +120,13 @@ function imextendedmin(img::AbstractArray; h::Int=2, conn::Int=2)::BitMatrix return Bool.(mask_minima) end +""" + impose_minima(I::AbstractArray{T}, BW::AbstractArray{Bool}) where {T<:Integer} + +Use morphological reconstruction to enforce minima on the input image `I` at the positions where the binary mask `BW` is non-zero. + +It supports both integer and grayscale images using different implementations for each. +""" function impose_minima(I::AbstractArray{T}, BW::AbstractArray{Bool}) where {T<:Integer} marker = 255 .* BW mask = imcomplement(min.(I .+ 1, 255 .- marker))