gpmark

changeset 0:5019d031b485 tip

initial commit
author John Tsiombikas <nuclear@member.fsf.org>
date Wed, 05 Jun 2013 22:33:37 +0300
parents
children
files .hgignore GPMark.xcodeproj/project.pbxproj data/bunnybig.3do data/draculf.bin ios/Default-568h@2x.png ios/Default.png ios/Default@2x.png ios/GPMark-Info.plist src/bitfonts.cpp src/bitfonts.h src/blitting.cpp src/blitting.h src/bunny3d.cpp src/bunny3d.h src/engine3d.cpp src/engine3d.h src/env1.cpp src/env1.h src/generate3d.cpp src/generate3d.h src/ios/app_delegate.h src/ios/app_delegate.m src/ios/glview.h src/ios/glview.mm src/ios/main.m src/main.cpp src/main.h src/plasma.cpp src/plasma.h src/radialblur.cpp src/radialblur.h src/render3d.cpp src/render3d.h src/rotozoomer.cpp src/rotozoomer.h src/sky1.cpp src/sky1.h
diffstat 37 files changed, 8363 insertions(+), 0 deletions(-) [+]
line diff
     1.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
     1.2 +++ b/.hgignore	Wed Jun 05 22:33:37 2013 +0300
     1.3 @@ -0,0 +1,7 @@
     1.4 +\.swp$
     1.5 +\.o$
     1.6 +\.d$
     1.7 +build/
     1.8 +project\.xcworkspace/
     1.9 +\.xcuserstate$
    1.10 +xcuserdata/
     2.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
     2.2 +++ b/GPMark.xcodeproj/project.pbxproj	Wed Jun 05 22:33:37 2013 +0300
     2.3 @@ -0,0 +1,373 @@
     2.4 +// !$*UTF8*$!
     2.5 +{
     2.6 +	archiveVersion = 1;
     2.7 +	classes = {
     2.8 +	};
     2.9 +	objectVersion = 46;
    2.10 +	objects = {
    2.11 +
    2.12 +/* Begin PBXBuildFile section */
    2.13 +		0622D506175F992A00FC2C4E /* UIKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 0622D505175F992A00FC2C4E /* UIKit.framework */; };
    2.14 +		0622D508175F992A00FC2C4E /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 0622D507175F992A00FC2C4E /* Foundation.framework */; };
    2.15 +		0622D50A175F992A00FC2C4E /* CoreGraphics.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 0622D509175F992A00FC2C4E /* CoreGraphics.framework */; };
    2.16 +		0622D523175F994C00FC2C4E /* OpenGLES.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 0622D522175F994C00FC2C4E /* OpenGLES.framework */; };
    2.17 +		0622D525175F99A400FC2C4E /* QuartzCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 0622D524175F99A400FC2C4E /* QuartzCore.framework */; };
    2.18 +		0696FB7C175FC8D70075F2F7 /* bitfonts.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 0696FB64175FC8D60075F2F7 /* bitfonts.cpp */; };
    2.19 +		0696FB7D175FC8D70075F2F7 /* blitting.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 0696FB66175FC8D60075F2F7 /* blitting.cpp */; };
    2.20 +		0696FB7E175FC8D70075F2F7 /* bunny3d.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 0696FB68175FC8D60075F2F7 /* bunny3d.cpp */; };
    2.21 +		0696FB7F175FC8D70075F2F7 /* engine3d.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 0696FB6A175FC8D60075F2F7 /* engine3d.cpp */; };
    2.22 +		0696FB80175FC8D70075F2F7 /* env1.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 0696FB6C175FC8D60075F2F7 /* env1.cpp */; };
    2.23 +		0696FB81175FC8D70075F2F7 /* generate3d.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 0696FB6E175FC8D60075F2F7 /* generate3d.cpp */; };
    2.24 +		0696FB82175FC8D70075F2F7 /* main.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 0696FB70175FC8D70075F2F7 /* main.cpp */; };
    2.25 +		0696FB83175FC8D70075F2F7 /* plasma.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 0696FB72175FC8D70075F2F7 /* plasma.cpp */; };
    2.26 +		0696FB84175FC8D70075F2F7 /* radialblur.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 0696FB74175FC8D70075F2F7 /* radialblur.cpp */; };
    2.27 +		0696FB85175FC8D70075F2F7 /* render3d.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 0696FB76175FC8D70075F2F7 /* render3d.cpp */; };
    2.28 +		0696FB86175FC8D70075F2F7 /* rotozoomer.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 0696FB78175FC8D70075F2F7 /* rotozoomer.cpp */; };
    2.29 +		0696FB87175FC8D70075F2F7 /* sky1.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 0696FB7A175FC8D70075F2F7 /* sky1.cpp */; };
    2.30 +		0696FB8D175FC8E80075F2F7 /* app_delegate.m in Sources */ = {isa = PBXBuildFile; fileRef = 0696FB89175FC8E80075F2F7 /* app_delegate.m */; };
    2.31 +		0696FB8E175FC8E80075F2F7 /* glview.mm in Sources */ = {isa = PBXBuildFile; fileRef = 0696FB8B175FC8E80075F2F7 /* glview.mm */; };
    2.32 +		0696FB8F175FC8E80075F2F7 /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = 0696FB8C175FC8E80075F2F7 /* main.m */; };
    2.33 +		0696FB93175FC95F0075F2F7 /* Default.png in Resources */ = {isa = PBXBuildFile; fileRef = 0696FB92175FC95F0075F2F7 /* Default.png */; };
    2.34 +		0696FB95175FC9650075F2F7 /* Default@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 0696FB94175FC9650075F2F7 /* Default@2x.png */; };
    2.35 +		0696FB97175FC96A0075F2F7 /* Default-568h@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 0696FB96175FC96A0075F2F7 /* Default-568h@2x.png */; };
    2.36 +/* End PBXBuildFile section */
    2.37 +
    2.38 +/* Begin PBXFileReference section */
    2.39 +		0622D502175F992A00FC2C4E /* GPMark.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = GPMark.app; sourceTree = BUILT_PRODUCTS_DIR; };
    2.40 +		0622D505175F992A00FC2C4E /* UIKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = UIKit.framework; path = System/Library/Frameworks/UIKit.framework; sourceTree = SDKROOT; };
    2.41 +		0622D507175F992A00FC2C4E /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = System/Library/Frameworks/Foundation.framework; sourceTree = SDKROOT; };
    2.42 +		0622D509175F992A00FC2C4E /* CoreGraphics.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreGraphics.framework; path = System/Library/Frameworks/CoreGraphics.framework; sourceTree = SDKROOT; };
    2.43 +		0622D522175F994C00FC2C4E /* OpenGLES.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = OpenGLES.framework; path = System/Library/Frameworks/OpenGLES.framework; sourceTree = SDKROOT; };
    2.44 +		0622D524175F99A400FC2C4E /* QuartzCore.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = QuartzCore.framework; path = System/Library/Frameworks/QuartzCore.framework; sourceTree = SDKROOT; };
    2.45 +		0696FB64175FC8D60075F2F7 /* bitfonts.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = bitfonts.cpp; path = src/bitfonts.cpp; sourceTree = SOURCE_ROOT; };
    2.46 +		0696FB65175FC8D60075F2F7 /* bitfonts.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = bitfonts.h; path = src/bitfonts.h; sourceTree = SOURCE_ROOT; };
    2.47 +		0696FB66175FC8D60075F2F7 /* blitting.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = blitting.cpp; path = src/blitting.cpp; sourceTree = SOURCE_ROOT; };
    2.48 +		0696FB67175FC8D60075F2F7 /* blitting.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = blitting.h; path = src/blitting.h; sourceTree = SOURCE_ROOT; };
    2.49 +		0696FB68175FC8D60075F2F7 /* bunny3d.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = bunny3d.cpp; path = src/bunny3d.cpp; sourceTree = SOURCE_ROOT; };
    2.50 +		0696FB69175FC8D60075F2F7 /* bunny3d.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = bunny3d.h; path = src/bunny3d.h; sourceTree = SOURCE_ROOT; };
    2.51 +		0696FB6A175FC8D60075F2F7 /* engine3d.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = engine3d.cpp; path = src/engine3d.cpp; sourceTree = SOURCE_ROOT; };
    2.52 +		0696FB6B175FC8D60075F2F7 /* engine3d.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = engine3d.h; path = src/engine3d.h; sourceTree = SOURCE_ROOT; };
    2.53 +		0696FB6C175FC8D60075F2F7 /* env1.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = env1.cpp; path = src/env1.cpp; sourceTree = SOURCE_ROOT; };
    2.54 +		0696FB6D175FC8D60075F2F7 /* env1.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = env1.h; path = src/env1.h; sourceTree = SOURCE_ROOT; };
    2.55 +		0696FB6E175FC8D60075F2F7 /* generate3d.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = generate3d.cpp; path = src/generate3d.cpp; sourceTree = SOURCE_ROOT; };
    2.56 +		0696FB6F175FC8D70075F2F7 /* generate3d.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = generate3d.h; path = src/generate3d.h; sourceTree = SOURCE_ROOT; };
    2.57 +		0696FB70175FC8D70075F2F7 /* main.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = main.cpp; path = src/main.cpp; sourceTree = SOURCE_ROOT; };
    2.58 +		0696FB71175FC8D70075F2F7 /* main.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = main.h; path = src/main.h; sourceTree = SOURCE_ROOT; };
    2.59 +		0696FB72175FC8D70075F2F7 /* plasma.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = plasma.cpp; path = src/plasma.cpp; sourceTree = SOURCE_ROOT; };
    2.60 +		0696FB73175FC8D70075F2F7 /* plasma.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = plasma.h; path = src/plasma.h; sourceTree = SOURCE_ROOT; };
    2.61 +		0696FB74175FC8D70075F2F7 /* radialblur.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = radialblur.cpp; path = src/radialblur.cpp; sourceTree = SOURCE_ROOT; };
    2.62 +		0696FB75175FC8D70075F2F7 /* radialblur.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = radialblur.h; path = src/radialblur.h; sourceTree = SOURCE_ROOT; };
    2.63 +		0696FB76175FC8D70075F2F7 /* render3d.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = render3d.cpp; path = src/render3d.cpp; sourceTree = SOURCE_ROOT; };
    2.64 +		0696FB77175FC8D70075F2F7 /* render3d.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = render3d.h; path = src/render3d.h; sourceTree = SOURCE_ROOT; };
    2.65 +		0696FB78175FC8D70075F2F7 /* rotozoomer.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = rotozoomer.cpp; path = src/rotozoomer.cpp; sourceTree = SOURCE_ROOT; };
    2.66 +		0696FB79175FC8D70075F2F7 /* rotozoomer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = rotozoomer.h; path = src/rotozoomer.h; sourceTree = SOURCE_ROOT; };
    2.67 +		0696FB7A175FC8D70075F2F7 /* sky1.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = sky1.cpp; path = src/sky1.cpp; sourceTree = SOURCE_ROOT; };
    2.68 +		0696FB7B175FC8D70075F2F7 /* sky1.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = sky1.h; path = src/sky1.h; sourceTree = SOURCE_ROOT; };
    2.69 +		0696FB88175FC8E80075F2F7 /* app_delegate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = app_delegate.h; path = src/ios/app_delegate.h; sourceTree = SOURCE_ROOT; };
    2.70 +		0696FB89175FC8E80075F2F7 /* app_delegate.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = app_delegate.m; path = src/ios/app_delegate.m; sourceTree = SOURCE_ROOT; };
    2.71 +		0696FB8A175FC8E80075F2F7 /* glview.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = glview.h; path = src/ios/glview.h; sourceTree = SOURCE_ROOT; };
    2.72 +		0696FB8B175FC8E80075F2F7 /* glview.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; name = glview.mm; path = src/ios/glview.mm; sourceTree = SOURCE_ROOT; };
    2.73 +		0696FB8C175FC8E80075F2F7 /* main.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = main.m; path = src/ios/main.m; sourceTree = SOURCE_ROOT; };
    2.74 +		0696FB90175FC9090075F2F7 /* GPMark-Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; name = "GPMark-Info.plist"; path = "ios/GPMark-Info.plist"; sourceTree = SOURCE_ROOT; };
    2.75 +		0696FB92175FC95F0075F2F7 /* Default.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = Default.png; sourceTree = "<group>"; };
    2.76 +		0696FB94175FC9650075F2F7 /* Default@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "Default@2x.png"; sourceTree = "<group>"; };
    2.77 +		0696FB96175FC96A0075F2F7 /* Default-568h@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "Default-568h@2x.png"; sourceTree = "<group>"; };
    2.78 +/* End PBXFileReference section */
    2.79 +
    2.80 +/* Begin PBXFrameworksBuildPhase section */
    2.81 +		0622D4FF175F992A00FC2C4E /* Frameworks */ = {
    2.82 +			isa = PBXFrameworksBuildPhase;
    2.83 +			buildActionMask = 2147483647;
    2.84 +			files = (
    2.85 +				0622D525175F99A400FC2C4E /* QuartzCore.framework in Frameworks */,
    2.86 +				0622D523175F994C00FC2C4E /* OpenGLES.framework in Frameworks */,
    2.87 +				0622D506175F992A00FC2C4E /* UIKit.framework in Frameworks */,
    2.88 +				0622D508175F992A00FC2C4E /* Foundation.framework in Frameworks */,
    2.89 +				0622D50A175F992A00FC2C4E /* CoreGraphics.framework in Frameworks */,
    2.90 +			);
    2.91 +			runOnlyForDeploymentPostprocessing = 0;
    2.92 +		};
    2.93 +/* End PBXFrameworksBuildPhase section */
    2.94 +
    2.95 +/* Begin PBXGroup section */
    2.96 +		0622D4F9175F992A00FC2C4E = {
    2.97 +			isa = PBXGroup;
    2.98 +			children = (
    2.99 +				0696FB96175FC96A0075F2F7 /* Default-568h@2x.png */,
   2.100 +				0696FB94175FC9650075F2F7 /* Default@2x.png */,
   2.101 +				0696FB92175FC95F0075F2F7 /* Default.png */,
   2.102 +				0622D524175F99A400FC2C4E /* QuartzCore.framework */,
   2.103 +				0622D522175F994C00FC2C4E /* OpenGLES.framework */,
   2.104 +				0622D50B175F992A00FC2C4E /* GPMark */,
   2.105 +				0622D504175F992A00FC2C4E /* Frameworks */,
   2.106 +				0622D503175F992A00FC2C4E /* Products */,
   2.107 +			);
   2.108 +			sourceTree = "<group>";
   2.109 +		};
   2.110 +		0622D503175F992A00FC2C4E /* Products */ = {
   2.111 +			isa = PBXGroup;
   2.112 +			children = (
   2.113 +				0622D502175F992A00FC2C4E /* GPMark.app */,
   2.114 +			);
   2.115 +			name = Products;
   2.116 +			sourceTree = "<group>";
   2.117 +		};
   2.118 +		0622D504175F992A00FC2C4E /* Frameworks */ = {
   2.119 +			isa = PBXGroup;
   2.120 +			children = (
   2.121 +				0622D505175F992A00FC2C4E /* UIKit.framework */,
   2.122 +				0622D507175F992A00FC2C4E /* Foundation.framework */,
   2.123 +				0622D509175F992A00FC2C4E /* CoreGraphics.framework */,
   2.124 +			);
   2.125 +			name = Frameworks;
   2.126 +			sourceTree = "<group>";
   2.127 +		};
   2.128 +		0622D50B175F992A00FC2C4E /* GPMark */ = {
   2.129 +			isa = PBXGroup;
   2.130 +			children = (
   2.131 +				0622D54C175F9BEA00FC2C4E /* ios */,
   2.132 +				0622D526175F9A5B00FC2C4E /* src */,
   2.133 +				0622D50C175F992A00FC2C4E /* Supporting Files */,
   2.134 +			);
   2.135 +			path = GPMark;
   2.136 +			sourceTree = "<group>";
   2.137 +		};
   2.138 +		0622D50C175F992A00FC2C4E /* Supporting Files */ = {
   2.139 +			isa = PBXGroup;
   2.140 +			children = (
   2.141 +				0696FB90175FC9090075F2F7 /* GPMark-Info.plist */,
   2.142 +			);
   2.143 +			name = "Supporting Files";
   2.144 +			sourceTree = "<group>";
   2.145 +		};
   2.146 +		0622D526175F9A5B00FC2C4E /* src */ = {
   2.147 +			isa = PBXGroup;
   2.148 +			children = (
   2.149 +				0696FB64175FC8D60075F2F7 /* bitfonts.cpp */,
   2.150 +				0696FB65175FC8D60075F2F7 /* bitfonts.h */,
   2.151 +				0696FB66175FC8D60075F2F7 /* blitting.cpp */,
   2.152 +				0696FB67175FC8D60075F2F7 /* blitting.h */,
   2.153 +				0696FB68175FC8D60075F2F7 /* bunny3d.cpp */,
   2.154 +				0696FB69175FC8D60075F2F7 /* bunny3d.h */,
   2.155 +				0696FB6A175FC8D60075F2F7 /* engine3d.cpp */,
   2.156 +				0696FB6B175FC8D60075F2F7 /* engine3d.h */,
   2.157 +				0696FB6C175FC8D60075F2F7 /* env1.cpp */,
   2.158 +				0696FB6D175FC8D60075F2F7 /* env1.h */,
   2.159 +				0696FB6E175FC8D60075F2F7 /* generate3d.cpp */,
   2.160 +				0696FB6F175FC8D70075F2F7 /* generate3d.h */,
   2.161 +				0696FB70175FC8D70075F2F7 /* main.cpp */,
   2.162 +				0696FB71175FC8D70075F2F7 /* main.h */,
   2.163 +				0696FB72175FC8D70075F2F7 /* plasma.cpp */,
   2.164 +				0696FB73175FC8D70075F2F7 /* plasma.h */,
   2.165 +				0696FB74175FC8D70075F2F7 /* radialblur.cpp */,
   2.166 +				0696FB75175FC8D70075F2F7 /* radialblur.h */,
   2.167 +				0696FB76175FC8D70075F2F7 /* render3d.cpp */,
   2.168 +				0696FB77175FC8D70075F2F7 /* render3d.h */,
   2.169 +				0696FB78175FC8D70075F2F7 /* rotozoomer.cpp */,
   2.170 +				0696FB79175FC8D70075F2F7 /* rotozoomer.h */,
   2.171 +				0696FB7A175FC8D70075F2F7 /* sky1.cpp */,
   2.172 +				0696FB7B175FC8D70075F2F7 /* sky1.h */,
   2.173 +			);
   2.174 +			name = src;
   2.175 +			sourceTree = "<group>";
   2.176 +		};
   2.177 +		0622D54C175F9BEA00FC2C4E /* ios */ = {
   2.178 +			isa = PBXGroup;
   2.179 +			children = (
   2.180 +				0696FB88175FC8E80075F2F7 /* app_delegate.h */,
   2.181 +				0696FB89175FC8E80075F2F7 /* app_delegate.m */,
   2.182 +				0696FB8A175FC8E80075F2F7 /* glview.h */,
   2.183 +				0696FB8B175FC8E80075F2F7 /* glview.mm */,
   2.184 +				0696FB8C175FC8E80075F2F7 /* main.m */,
   2.185 +			);
   2.186 +			name = ios;
   2.187 +			sourceTree = "<group>";
   2.188 +		};
   2.189 +/* End PBXGroup section */
   2.190 +
   2.191 +/* Begin PBXNativeTarget section */
   2.192 +		0622D501175F992A00FC2C4E /* GPMark */ = {
   2.193 +			isa = PBXNativeTarget;
   2.194 +			buildConfigurationList = 0622D51F175F992A00FC2C4E /* Build configuration list for PBXNativeTarget "GPMark" */;
   2.195 +			buildPhases = (
   2.196 +				0622D4FE175F992A00FC2C4E /* Sources */,
   2.197 +				0622D4FF175F992A00FC2C4E /* Frameworks */,
   2.198 +				0622D500175F992A00FC2C4E /* Resources */,
   2.199 +			);
   2.200 +			buildRules = (
   2.201 +			);
   2.202 +			dependencies = (
   2.203 +			);
   2.204 +			name = GPMark;
   2.205 +			productName = GPMark;
   2.206 +			productReference = 0622D502175F992A00FC2C4E /* GPMark.app */;
   2.207 +			productType = "com.apple.product-type.application";
   2.208 +		};
   2.209 +/* End PBXNativeTarget section */
   2.210 +
   2.211 +/* Begin PBXProject section */
   2.212 +		0622D4FA175F992A00FC2C4E /* Project object */ = {
   2.213 +			isa = PBXProject;
   2.214 +			attributes = {
   2.215 +				LastUpgradeCheck = 0460;
   2.216 +				ORGANIZATIONNAME = Mindlapse;
   2.217 +			};
   2.218 +			buildConfigurationList = 0622D4FD175F992A00FC2C4E /* Build configuration list for PBXProject "gpmark" */;
   2.219 +			compatibilityVersion = "Xcode 3.2";
   2.220 +			developmentRegion = English;
   2.221 +			hasScannedForEncodings = 0;
   2.222 +			knownRegions = (
   2.223 +				en,
   2.224 +			);
   2.225 +			mainGroup = 0622D4F9175F992A00FC2C4E;
   2.226 +			productRefGroup = 0622D503175F992A00FC2C4E /* Products */;
   2.227 +			projectDirPath = "";
   2.228 +			projectRoot = "";
   2.229 +			targets = (
   2.230 +				0622D501175F992A00FC2C4E /* GPMark */,
   2.231 +			);
   2.232 +		};
   2.233 +/* End PBXProject section */
   2.234 +
   2.235 +/* Begin PBXResourcesBuildPhase section */
   2.236 +		0622D500175F992A00FC2C4E /* Resources */ = {
   2.237 +			isa = PBXResourcesBuildPhase;
   2.238 +			buildActionMask = 2147483647;
   2.239 +			files = (
   2.240 +				0696FB93175FC95F0075F2F7 /* Default.png in Resources */,
   2.241 +				0696FB95175FC9650075F2F7 /* Default@2x.png in Resources */,
   2.242 +				0696FB97175FC96A0075F2F7 /* Default-568h@2x.png in Resources */,
   2.243 +			);
   2.244 +			runOnlyForDeploymentPostprocessing = 0;
   2.245 +		};
   2.246 +/* End PBXResourcesBuildPhase section */
   2.247 +
   2.248 +/* Begin PBXSourcesBuildPhase section */
   2.249 +		0622D4FE175F992A00FC2C4E /* Sources */ = {
   2.250 +			isa = PBXSourcesBuildPhase;
   2.251 +			buildActionMask = 2147483647;
   2.252 +			files = (
   2.253 +				0696FB7C175FC8D70075F2F7 /* bitfonts.cpp in Sources */,
   2.254 +				0696FB7D175FC8D70075F2F7 /* blitting.cpp in Sources */,
   2.255 +				0696FB7E175FC8D70075F2F7 /* bunny3d.cpp in Sources */,
   2.256 +				0696FB7F175FC8D70075F2F7 /* engine3d.cpp in Sources */,
   2.257 +				0696FB80175FC8D70075F2F7 /* env1.cpp in Sources */,
   2.258 +				0696FB81175FC8D70075F2F7 /* generate3d.cpp in Sources */,
   2.259 +				0696FB82175FC8D70075F2F7 /* main.cpp in Sources */,
   2.260 +				0696FB83175FC8D70075F2F7 /* plasma.cpp in Sources */,
   2.261 +				0696FB84175FC8D70075F2F7 /* radialblur.cpp in Sources */,
   2.262 +				0696FB85175FC8D70075F2F7 /* render3d.cpp in Sources */,
   2.263 +				0696FB86175FC8D70075F2F7 /* rotozoomer.cpp in Sources */,
   2.264 +				0696FB87175FC8D70075F2F7 /* sky1.cpp in Sources */,
   2.265 +				0696FB8D175FC8E80075F2F7 /* app_delegate.m in Sources */,
   2.266 +				0696FB8E175FC8E80075F2F7 /* glview.mm in Sources */,
   2.267 +				0696FB8F175FC8E80075F2F7 /* main.m in Sources */,
   2.268 +			);
   2.269 +			runOnlyForDeploymentPostprocessing = 0;
   2.270 +		};
   2.271 +/* End PBXSourcesBuildPhase section */
   2.272 +
   2.273 +/* Begin XCBuildConfiguration section */
   2.274 +		0622D51D175F992A00FC2C4E /* Debug */ = {
   2.275 +			isa = XCBuildConfiguration;
   2.276 +			buildSettings = {
   2.277 +				ALWAYS_SEARCH_USER_PATHS = NO;
   2.278 +				CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
   2.279 +				CLANG_CXX_LIBRARY = "libc++";
   2.280 +				CLANG_WARN_CONSTANT_CONVERSION = YES;
   2.281 +				CLANG_WARN_EMPTY_BODY = YES;
   2.282 +				CLANG_WARN_ENUM_CONVERSION = YES;
   2.283 +				CLANG_WARN_INT_CONVERSION = YES;
   2.284 +				CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
   2.285 +				"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
   2.286 +				COPY_PHASE_STRIP = NO;
   2.287 +				GCC_C_LANGUAGE_STANDARD = gnu99;
   2.288 +				GCC_DYNAMIC_NO_PIC = NO;
   2.289 +				GCC_OPTIMIZATION_LEVEL = 0;
   2.290 +				GCC_PREPROCESSOR_DEFINITIONS = (
   2.291 +					"DEBUG=1",
   2.292 +					"$(inherited)",
   2.293 +				);
   2.294 +				GCC_SYMBOLS_PRIVATE_EXTERN = NO;
   2.295 +				GCC_WARN_ABOUT_RETURN_TYPE = YES;
   2.296 +				GCC_WARN_UNINITIALIZED_AUTOS = YES;
   2.297 +				GCC_WARN_UNUSED_VARIABLE = YES;
   2.298 +				IPHONEOS_DEPLOYMENT_TARGET = 6.1;
   2.299 +				ONLY_ACTIVE_ARCH = YES;
   2.300 +				SDKROOT = iphoneos;
   2.301 +				TARGETED_DEVICE_FAMILY = "1,2";
   2.302 +			};
   2.303 +			name = Debug;
   2.304 +		};
   2.305 +		0622D51E175F992A00FC2C4E /* Release */ = {
   2.306 +			isa = XCBuildConfiguration;
   2.307 +			buildSettings = {
   2.308 +				ALWAYS_SEARCH_USER_PATHS = NO;
   2.309 +				CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
   2.310 +				CLANG_CXX_LIBRARY = "libc++";
   2.311 +				CLANG_WARN_CONSTANT_CONVERSION = YES;
   2.312 +				CLANG_WARN_EMPTY_BODY = YES;
   2.313 +				CLANG_WARN_ENUM_CONVERSION = YES;
   2.314 +				CLANG_WARN_INT_CONVERSION = YES;
   2.315 +				CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
   2.316 +				"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
   2.317 +				COPY_PHASE_STRIP = YES;
   2.318 +				GCC_C_LANGUAGE_STANDARD = gnu99;
   2.319 +				GCC_WARN_ABOUT_RETURN_TYPE = YES;
   2.320 +				GCC_WARN_UNINITIALIZED_AUTOS = YES;
   2.321 +				GCC_WARN_UNUSED_VARIABLE = YES;
   2.322 +				IPHONEOS_DEPLOYMENT_TARGET = 6.1;
   2.323 +				OTHER_CFLAGS = "-DNS_BLOCK_ASSERTIONS=1";
   2.324 +				SDKROOT = iphoneos;
   2.325 +				TARGETED_DEVICE_FAMILY = "1,2";
   2.326 +				VALIDATE_PRODUCT = YES;
   2.327 +			};
   2.328 +			name = Release;
   2.329 +		};
   2.330 +		0622D520175F992A00FC2C4E /* Debug */ = {
   2.331 +			isa = XCBuildConfiguration;
   2.332 +			buildSettings = {
   2.333 +				GCC_PRECOMPILE_PREFIX_HEADER = NO;
   2.334 +				INFOPLIST_FILE = "$(SRCROOT)/ios/GPMark-Info.plist";
   2.335 +				IPHONEOS_DEPLOYMENT_TARGET = 5.0;
   2.336 +				PRODUCT_NAME = "$(TARGET_NAME)";
   2.337 +				WRAPPER_EXTENSION = app;
   2.338 +			};
   2.339 +			name = Debug;
   2.340 +		};
   2.341 +		0622D521175F992A00FC2C4E /* Release */ = {
   2.342 +			isa = XCBuildConfiguration;
   2.343 +			buildSettings = {
   2.344 +				GCC_PRECOMPILE_PREFIX_HEADER = NO;
   2.345 +				INFOPLIST_FILE = "$(SRCROOT)/ios/GPMark-Info.plist";
   2.346 +				IPHONEOS_DEPLOYMENT_TARGET = 5.0;
   2.347 +				PRODUCT_NAME = "$(TARGET_NAME)";
   2.348 +				WRAPPER_EXTENSION = app;
   2.349 +			};
   2.350 +			name = Release;
   2.351 +		};
   2.352 +/* End XCBuildConfiguration section */
   2.353 +
   2.354 +/* Begin XCConfigurationList section */
   2.355 +		0622D4FD175F992A00FC2C4E /* Build configuration list for PBXProject "gpmark" */ = {
   2.356 +			isa = XCConfigurationList;
   2.357 +			buildConfigurations = (
   2.358 +				0622D51D175F992A00FC2C4E /* Debug */,
   2.359 +				0622D51E175F992A00FC2C4E /* Release */,
   2.360 +			);
   2.361 +			defaultConfigurationIsVisible = 0;
   2.362 +			defaultConfigurationName = Release;
   2.363 +		};
   2.364 +		0622D51F175F992A00FC2C4E /* Build configuration list for PBXNativeTarget "GPMark" */ = {
   2.365 +			isa = XCConfigurationList;
   2.366 +			buildConfigurations = (
   2.367 +				0622D520175F992A00FC2C4E /* Debug */,
   2.368 +				0622D521175F992A00FC2C4E /* Release */,
   2.369 +			);
   2.370 +			defaultConfigurationIsVisible = 0;
   2.371 +			defaultConfigurationName = Release;
   2.372 +		};
   2.373 +/* End XCConfigurationList section */
   2.374 +	};
   2.375 +	rootObject = 0622D4FA175F992A00FC2C4E /* Project object */;
   2.376 +}
     3.1 Binary file data/bunnybig.3do has changed
     4.1 Binary file data/draculf.bin has changed
     5.1 Binary file ios/Default-568h@2x.png has changed
     6.1 Binary file ios/Default.png has changed
     7.1 Binary file ios/Default@2x.png has changed
     8.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
     8.2 +++ b/ios/GPMark-Info.plist	Wed Jun 05 22:33:37 2013 +0300
     8.3 @@ -0,0 +1,40 @@
     8.4 +<?xml version="1.0" encoding="UTF-8"?>
     8.5 +<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
     8.6 +<plist version="1.0">
     8.7 +<dict>
     8.8 +	<key>CFBundleDevelopmentRegion</key>
     8.9 +	<string>en</string>
    8.10 +	<key>CFBundleDisplayName</key>
    8.11 +	<string>${PRODUCT_NAME}</string>
    8.12 +	<key>CFBundleExecutable</key>
    8.13 +	<string>${EXECUTABLE_NAME}</string>
    8.14 +	<key>CFBundleIdentifier</key>
    8.15 +	<string>com.mutantstargoat.${PRODUCT_NAME:rfc1034identifier}</string>
    8.16 +	<key>CFBundleInfoDictionaryVersion</key>
    8.17 +	<string>6.0</string>
    8.18 +	<key>CFBundleName</key>
    8.19 +	<string>${PRODUCT_NAME}</string>
    8.20 +	<key>CFBundlePackageType</key>
    8.21 +	<string>APPL</string>
    8.22 +	<key>CFBundleShortVersionString</key>
    8.23 +	<string>1.0</string>
    8.24 +	<key>CFBundleSignature</key>
    8.25 +	<string>????</string>
    8.26 +	<key>CFBundleVersion</key>
    8.27 +	<string>1.0</string>
    8.28 +	<key>LSRequiresIPhoneOS</key>
    8.29 +	<true/>
    8.30 +	<key>UIRequiredDeviceCapabilities</key>
    8.31 +	<array>
    8.32 +		<string>armv7</string>
    8.33 +	</array>
    8.34 +	<key>UISupportedInterfaceOrientations</key>
    8.35 +	<array>
    8.36 +		<string>UIInterfaceOrientationLandscapeRight</string>
    8.37 +	</array>
    8.38 +	<key>UISupportedInterfaceOrientations~ipad</key>
    8.39 +	<array>
    8.40 +		<string>UIInterfaceOrientationLandscapeRight</string>
    8.41 +	</array>
    8.42 +</dict>
    8.43 +</plist>
     9.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
     9.2 +++ b/src/bitfonts.cpp	Wed Jun 05 22:33:37 2013 +0300
     9.3 @@ -0,0 +1,15 @@
     9.4 +unsigned char bitfonts[] = {0,0,0,0,0,0,0,0,4,12,8,24,16,0,32,0,10,18,20,0,0,0,0,0,0,20,126,40,252,80,
     9.5 +0,0,6,25,124,32,248,34,28,0,4,12,72,24,18,48,32,0,14,18,20,8,21,34,29,0,32,32,64,0,0,0,
     9.6 +0,0,16,32,96,64,64,64,32,0,4,2,2,2,6,4,8,0,8,42,28,127,28,42,8,0,0,4,12,62,24,16,
     9.7 +0,0,0,0,0,0,0,0,32,64,0,0,0,60,0,0,0,0,0,0,0,0,0,0,32,0,4,12,8,24,16,48,
     9.8 +32,0,14,17,35,77,113,66,60,0,12,28,12,8,24,16,16,0,30,50,4,24,48,96,124,0,28,50,6,4,2,98,
     9.9 +60,0,2,18,36,100,126,8,8,0,15,16,24,4,2,50,28,0,14,17,32,76,66,98,60,0,126,6,12,24,16,48,
    9.10 +32,0,56,36,24,100,66,98,60,0,14,17,17,9,2,34,28,0,0,0,16,0,0,16,0,0,0,0,16,0,16,32,
    9.11 +0,0,0,0,0,0,0,0,0,0,0,0,30,0,60,0,0,0,0,0,0,0,0,0,0,0,28,50,6,12,8,0,
    9.12 +16,0,0,0,0,0,0,0,0,0,14,27,51,63,99,65,65,0,28,18,57,38,65,65,62,0,14,25,32,96,64,98,
    9.13 +60,0,12,18,49,33,65,66,60,0,30,32,32,120,64,64,60,0,31,48,32,60,96,64,64,0,14,25,32,96,68,98,
    9.14 +60,0,17,17,50,46,100,68,68,0,8,8,24,16,48,32,32,0,2,2,2,6,68,68,56,0,16,17,54,60,120,76,
    9.15 +66,0,16,48,32,96,64,64,60,0,10,21,49,33,99,66,66,0,17,41,37,101,67,66,66,0,28,50,33,97,67,66,
    9.16 +60,0,28,50,34,36,120,64,64,0,28,50,33,97,77,66,61,0,28,50,34,36,124,70,66,0,14,25,16,12,2,70,
    9.17 +60,0,126,24,16,16,48,32,32,0,17,49,35,98,70,68,56,0,66,102,36,44,40,56,48,0,33,97,67,66,86,84,
    9.18 +40,0,67,36,24,28,36,66,66,0,34,18,22,12,12,8,24,0,31,2,4,4,8,24,62,0};
    10.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    10.2 +++ b/src/bitfonts.h	Wed Jun 05 22:33:37 2013 +0300
    10.3 @@ -0,0 +1,6 @@
    10.4 +#ifndef BITFONTS_H
    10.5 +#define BITFONTS_H
    10.6 +
    10.7 +extern unsigned char bitfonts[];
    10.8 +
    10.9 +#endif
    11.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    11.2 +++ b/src/blitting.cpp	Wed Jun 05 22:33:37 2013 +0300
    11.3 @@ -0,0 +1,16 @@
    11.4 +#include "main.h"
    11.5 +
    11.6 +void InitBlitting()
    11.7 +{
    11.8 +}
    11.9 +
   11.10 +void RunBlitting(int ntime, unsigned short *vram)
   11.11 +{
   11.12 +    unsigned char cc = (ntime & 255) >> 3;
   11.13 +    unsigned short c = (cc << 11) | ((cc << 1) << 5) | cc;
   11.14 +
   11.15 +    for (int i=0; i<ScreenSize; i++)
   11.16 +    {
   11.17 +		*vram++ = c;
   11.18 +	}
   11.19 +}
    12.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    12.2 +++ b/src/blitting.h	Wed Jun 05 22:33:37 2013 +0300
    12.3 @@ -0,0 +1,7 @@
    12.4 +#ifndef BLITTING_H
    12.5 +#define BLITTING_H
    12.6 +
    12.7 +void InitBlitting();
    12.8 +void RunBlitting(int ntime, unsigned short *vram);
    12.9 +
   12.10 +#endif
    13.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    13.2 +++ b/src/bunny3d.cpp	Wed Jun 05 22:33:37 2013 +0300
    13.3 @@ -0,0 +1,26 @@
    13.4 +#include "main.h"
    13.5 +#include "bunny3d.h"
    13.6 +#include "engine3d.h"
    13.7 +#include "generate3d.h"
    13.8 +#include "render3d.h"
    13.9 +#include "env1.h"
   13.10 +
   13.11 +object3d bunny3d;
   13.12 +
   13.13 +void InitBunny3D()
   13.14 +{
   13.15 +    Load32bit3doFile("./bunnybig.3do", &bunny3d, 0, 2);
   13.16 +    ReversePolygonOrder(&bunny3d);
   13.17 +    bunny3d.pos.x = 0; bunny3d.pos.y = 4096; bunny3d.pos.z = 8192;
   13.18 +    bunny3d.rot.x = 0; bunny3d.rot.y = 0; bunny3d.rot.z = 0;
   13.19 +}
   13.20 +
   13.21 +void RunBunny3D(int ntime, unsigned short *vram)
   13.22 +{
   13.23 +    ClearScreen(vram);
   13.24 +
   13.25 +    bunny3d.rot.x = PI;
   13.26 +    bunny3d.rot.y = -ntime / 8.0;
   13.27 +    Calc3d(&bunny3d);
   13.28 +    Render(&bunny3d, 0, env1, 64, vram);
   13.29 +}
    14.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    14.2 +++ b/src/bunny3d.h	Wed Jun 05 22:33:37 2013 +0300
    14.3 @@ -0,0 +1,7 @@
    14.4 +#ifndef BUNNY3D_H
    14.5 +#define BUNNY3D_H
    14.6 +
    14.7 +void InitBunny3D();
    14.8 +void RunBunny3D(int ntime, unsigned short *vram);
    14.9 +
   14.10 +#endif
    15.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    15.2 +++ b/src/engine3d.cpp	Wed Jun 05 22:33:37 2013 +0300
    15.3 @@ -0,0 +1,274 @@
    15.4 +#include <math.h>
    15.5 +#include <stdio.h>
    15.6 +
    15.7 +#include "engine3d.h"
    15.8 +#include "generate3d.h"
    15.9 +#include "render3d.h"
   15.10 +#include "main.h"
   15.11 +
   15.12 +point3d fpts[MAXDATA];
   15.13 +point3d norms[MAXDATA];
   15.14 +point3d pt_norms[MAXDATA];
   15.15 +point2d spts[MAXDATA];
   15.16 +point3d spls[MAXDATA];
   15.17 +
   15.18 +unsigned short swp[MAXDATA];
   15.19 +
   15.20 +int lightcalc = LIGHTVIEW;
   15.21 +
   15.22 +#define fp_mul 256
   15.23 +#define fp_shr 8
   15.24 +#define proj_shr 8
   15.25 +
   15.26 +
   15.27 +vector3d CrossProduct(vector3d v1, vector3d v2)
   15.28 +{
   15.29 +	vector3d v;
   15.30 +	v.x=v1.y*v2.z-v1.z*v2.y;
   15.31 +	v.y=v1.z*v2.x-v1.x*v2.z;
   15.32 +	v.z=v1.x*v2.y-v1.y*v2.x;
   15.33 +	return v;
   15.34 +}
   15.35 +
   15.36 +
   15.37 +int DotProduct(vector3d v1, vector3d v2)
   15.38 +{
   15.39 +	return v1.x*v2.x + v1.y*v2.y + v1.z*v2.z;
   15.40 +}
   15.41 +
   15.42 +
   15.43 +vector3d Normalize(vector3d v)
   15.44 +{
   15.45 +	int d=(int)(sqrt(v.x*v.x+v.y*v.y+v.z*v.z));
   15.46 +	if (d!=0)
   15.47 +	{
   15.48 +	   v.x=(v.x<<fp_shr)/d;
   15.49 +	   v.y=(v.y<<fp_shr)/d;
   15.50 +	   v.z=(v.z<<fp_shr)/d;
   15.51 +    }
   15.52 +    else
   15.53 +    {
   15.54 +        v.x = 0;
   15.55 +        v.y = 0;
   15.56 +        v.z = 0;
   15.57 +    }    
   15.58 +	return v;
   15.59 +}
   15.60 +
   15.61 +
   15.62 +vector3d NegVec(vector3d v)
   15.63 +{
   15.64 +	v.x=-v.x;
   15.65 +	v.y=-v.y;
   15.66 +	v.z=-v.z;
   15.67 +	return v;
   15.68 +}
   15.69 +
   15.70 +
   15.71 +void translate3d (object3d *obj)
   15.72 +{
   15.73 +	int i;
   15.74 +	int objposx = (int)(obj->pos.x * fp_mul);
   15.75 +	int objposy = (int)(obj->pos.y * fp_mul);
   15.76 +	int objposz = (int)(obj->pos.z * fp_mul);
   15.77 +
   15.78 +    for (i=0; i<obj->npts; i++)
   15.79 +    {
   15.80 +       fpts[i].x += objposx;
   15.81 +       fpts[i].y += objposy;
   15.82 +       fpts[i].z += objposz;
   15.83 +    }
   15.84 +}
   15.85 +
   15.86 +void rotate3d (object3d *obj)
   15.87 +{
   15.88 +    float cosxr = cos(obj->rot.x); float cosyr = cos(obj->rot.y); float coszr = cos(obj->rot.z);
   15.89 +    float sinxr = sin(obj->rot.x); float sinyr = sin(obj->rot.y); float sinzr = sin(obj->rot.z);
   15.90 +
   15.91 +    int xvx = (int)((cosyr * coszr) * fp_mul); int xvy = (int)((sinxr * sinyr * coszr - cosxr * sinzr) * fp_mul); int xvz = (int)((cosxr * sinyr * coszr + sinxr * sinzr) * fp_mul);
   15.92 +    int yvx = (int)((cosyr * sinzr) * fp_mul); int yvy = (int)((cosxr * coszr + sinxr * sinyr * sinzr) * fp_mul); int yvz = (int)((-sinxr * coszr + cosxr * sinyr * sinzr) * fp_mul);
   15.93 +    int zvx = (int)((-sinyr) * fp_mul); int zvy = (int)((sinxr * cosyr) * fp_mul); int zvz = (int)((cosxr * cosyr) * fp_mul);
   15.94 +
   15.95 +    int x, y, z;
   15.96 +    int i;
   15.97 +    for (i=0; i<obj->npts; i++)
   15.98 +    {
   15.99 +        x = obj->point[i].x;
  15.100 +        y = obj->point[i].y;
  15.101 +        z = obj->point[i].z;
  15.102 +        fpts[i].x = x * xvx + y * xvy + z * xvz;
  15.103 +        fpts[i].y = x * yvx + y * yvy + z * yvz;
  15.104 +        fpts[i].z = x * zvx + y * zvy + z * zvz;
  15.105 +    }
  15.106 +}
  15.107 +
  15.108 +
  15.109 +void rotate3d_normals (object3d *obj)
  15.110 +{
  15.111 +    float cosxr = cos(obj->rot.x); float cosyr = cos(obj->rot.y); float coszr = cos(obj->rot.z);
  15.112 +    float sinxr = sin(obj->rot.x); float sinyr = sin(obj->rot.y); float sinzr = sin(obj->rot.z);
  15.113 +
  15.114 +    int xvx = (int)((cosyr * coszr) * fp_mul); int xvy = (int)((sinxr * sinyr * coszr - cosxr * sinzr) * fp_mul); int xvz = (int)((cosxr * sinyr * coszr + sinxr * sinzr) * fp_mul);
  15.115 +    int yvx = (int)((cosyr * sinzr) * fp_mul); int yvy = (int)((cosxr * coszr + sinxr * sinyr * sinzr) * fp_mul); int yvz = (int)((-sinxr * coszr + cosxr * sinyr * sinzr) * fp_mul);
  15.116 +    int zvx = (int)((-sinyr) * fp_mul); int zvy = (int)((sinxr * cosyr) * fp_mul); int zvz = (int)((cosxr * cosyr) * fp_mul);
  15.117 +
  15.118 +    int x, y, z;
  15.119 +    int i;
  15.120 +    for (i=0; i<obj->npls; i++)
  15.121 +    {
  15.122 +        x = obj->normal[i].x;
  15.123 +        y = obj->normal[i].y;
  15.124 +        z = obj->normal[i].z;
  15.125 +        norms[i].x = x * xvx + y * xvy + z * xvz;
  15.126 +        norms[i].y = x * yvx + y * yvy + z * yvz;
  15.127 +        norms[i].z = x * zvx + y * zvy + z * zvz;
  15.128 +    }
  15.129 +}
  15.130 +
  15.131 +
  15.132 +void rotate3d_pt_normals (object3d *obj)
  15.133 +{
  15.134 +    float cosxr = cos(obj->rot.x); float cosyr = cos(obj->rot.y); float coszr = cos(obj->rot.z);
  15.135 +    float sinxr = sin(obj->rot.x); float sinyr = sin(obj->rot.y); float sinzr = sin(obj->rot.z);
  15.136 +
  15.137 +    int xvx = (int)((cosyr * coszr) * fp_mul); int xvy = (int)((sinxr * sinyr * coszr - cosxr * sinzr) * fp_mul); int xvz = (int)((cosxr * sinyr * coszr + sinxr * sinzr) * fp_mul);
  15.138 +    int yvx = (int)((cosyr * sinzr) * fp_mul); int yvy = (int)((cosxr * coszr + sinxr * sinyr * sinzr) * fp_mul); int yvz = (int)((-sinxr * coszr + cosxr * sinyr * sinzr) * fp_mul);
  15.139 +    int zvx = (int)((-sinyr) * fp_mul); int zvy = (int)((sinxr * cosyr) * fp_mul); int zvz = (int)((cosxr * cosyr) * fp_mul);
  15.140 +
  15.141 +    int x, y, z;
  15.142 +    int i;
  15.143 +    for (i=0; i<obj->npts; i++)
  15.144 +    {
  15.145 +        x = obj->pt_normal[i].x;
  15.146 +        y = obj->pt_normal[i].y;
  15.147 +        z = obj->pt_normal[i].z;
  15.148 +        pt_norms[i].x = x * xvx + y * xvy + z * xvz;
  15.149 +        pt_norms[i].y = x * yvx + y * yvy + z * yvz;
  15.150 +        pt_norms[i].z = x * zvx + y * zvy + z * zvz;
  15.151 +    }
  15.152 +}
  15.153 +
  15.154 +void project3d (object3d *obj)
  15.155 +{
  15.156 +	int i;
  15.157 +    int smul = 1;
  15.158 +
  15.159 +	for (i=0; i<obj->npts; i++)
  15.160 +		if (fpts[i].z > 0)
  15.161 +		{
  15.162 +            spts[i].x = ((fpts[i].x << proj_shr) / (fpts[i].z/smul)) + (ScreenWidth>>1);
  15.163 +            spts[i].y = ((fpts[i].y << proj_shr) / (fpts[i].z/smul)) + (ScreenHeight>>1);
  15.164 +		}
  15.165 +}
  15.166 +
  15.167 +void CalcPolyColorStatic(object3d *obj)
  15.168 +{
  15.169 +    int i, c;
  15.170 +    for (i=0; i<obj->npls; i++)
  15.171 +    {
  15.172 +        c = norms[i].z>>8;
  15.173 +        if (c<0) c=0;
  15.174 +        if (c>255) c=255;
  15.175 +        spls[i].c = c;
  15.176 +    }
  15.177 +}
  15.178 +
  15.179 +void CalcPointColorStatic(object3d *obj)
  15.180 +{
  15.181 +    int i, c;
  15.182 +    for (i=0; i<obj->npts; i++)
  15.183 +    {
  15.184 +        c = pt_norms[i].z>>8;
  15.185 +        if (c<0) c=0;
  15.186 +        if (c>255) c=255;
  15.187 +        spts[i].c = c;
  15.188 +    }
  15.189 +}
  15.190 +
  15.191 +void CalcPolyColorDynamic(object3d *obj)
  15.192 +{
  15.193 +    vector3d light, v;
  15.194 +    light.x = 0;
  15.195 +    light.y = 0;
  15.196 +    light.z = 256;
  15.197 +    float c;
  15.198 +
  15.199 +    int i;
  15.200 +    for (i=0; i<obj->npls; i++)
  15.201 +    {
  15.202 +        v.x = norms[i].x;
  15.203 +        v.y = norms[i].y;
  15.204 +        v.z = norms[i].z;
  15.205 +        c = DotProduct(v,light);
  15.206 +        spls[i].c = (int)c;
  15.207 +        if (c<0) spls[i].c = 0;
  15.208 +        if (spls[i].c>255) spls[i].c = 255;
  15.209 +    }
  15.210 +}
  15.211 +
  15.212 +void CalcPointColorDynamic(object3d *obj)
  15.213 +{
  15.214 +    vector3d light, v;
  15.215 +    light.x = 0;
  15.216 +    light.y = 0;
  15.217 +    light.z = 256;
  15.218 +    float c;
  15.219 +
  15.220 +    int i;
  15.221 +    for (i=0; i<obj->npts; i++)
  15.222 +    {
  15.223 +        v.x = pt_norms[i].x;
  15.224 +        v.y = pt_norms[i].y;
  15.225 +        v.z = pt_norms[i].z;
  15.226 +        c = DotProduct(v,light);
  15.227 +        if (c<0) c = 0;
  15.228 +        if (c>255) c = 255;
  15.229 +        spts[i].c = (int)c;
  15.230 +    }
  15.231 +}
  15.232 +
  15.233 +void CalcPointColor(object3d *obj)
  15.234 +{
  15.235 +    if (lightcalc==LIGHTVIEW) CalcPointColorStatic(obj);
  15.236 +    if (lightcalc==LIGHTMOVE) CalcPointColorDynamic(obj);
  15.237 +}
  15.238 +
  15.239 +void CalcPolyColor(object3d *obj)
  15.240 +{
  15.241 +    if (lightcalc==LIGHTVIEW) CalcPolyColorStatic(obj);
  15.242 +    if (lightcalc==LIGHTMOVE) CalcPolyColorDynamic(obj);
  15.243 +}
  15.244 +
  15.245 +void Calc3d(object3d *obj)
  15.246 +{
  15.247 +	rotate3d(obj);
  15.248 +	translate3d(obj);
  15.249 +	project3d(obj);
  15.250 +}
  15.251 +
  15.252 +void quicksort (int lo, int hi, int data[])
  15.253 +{
  15.254 +	int m1 = lo;
  15.255 +	int m2 = hi;
  15.256 +	int temp0;
  15.257 +	unsigned short temp1;
  15.258 +
  15.259 +	int mp = data[(lo + hi)>>1];
  15.260 +
  15.261 +	while (m1<=m2)
  15.262 +	{
  15.263 +		while (data[m1] < mp) m1++;
  15.264 +		while (mp < data[m2]) m2--;
  15.265 +
  15.266 +		if (m1<=m2)
  15.267 +		{
  15.268 +			temp0 = data[m1]; data[m1] = data[m2]; data[m2] = temp0;
  15.269 +			temp1 = swp[m1]; swp[m1] = swp[m2]; swp[m2] = temp1;
  15.270 +			m1++;
  15.271 +			m2--;
  15.272 +		}
  15.273 +	}
  15.274 +
  15.275 +	if (m2>lo) quicksort(lo, m2, data);
  15.276 +	if (m1<hi) quicksort(m1, hi, data);
  15.277 +}
    16.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    16.2 +++ b/src/engine3d.h	Wed Jun 05 22:33:37 2013 +0300
    16.3 @@ -0,0 +1,117 @@
    16.4 +#ifndef ENGINE3D_H
    16.5 +#define ENGINE3D_H
    16.6 +
    16.7 +#define		MAXDATA 262144
    16.8 +
    16.9 +#define		POINTS		1
   16.10 +#define		WIRE		2
   16.11 +#define		FLAT		4
   16.12 +#define		GOURAUD		8
   16.13 +#define		ENVMAP		16
   16.14 +#define     TEXTURE      32
   16.15 +
   16.16 +#define     ZBUFFER     256
   16.17 +
   16.18 +#define     LIGHTVIEW   0
   16.19 +#define     LIGHTMOVE   1
   16.20 +
   16.21 +#define PI 3.14151693
   16.22 +#define D2R 180.0/PI
   16.23 +
   16.24 +typedef struct vector3d
   16.25 +{
   16.26 +    int x;
   16.27 +    int y;
   16.28 +    int z;
   16.29 +} vector3d;
   16.30 +
   16.31 +typedef struct point2d
   16.32 +{
   16.33 +	int x;
   16.34 +	int y;
   16.35 +	unsigned short c;
   16.36 +} point2d;
   16.37 +
   16.38 +
   16.39 +typedef struct point3d
   16.40 +{
   16.41 +	int x;
   16.42 +	int y;
   16.43 +	int z;
   16.44 +	unsigned short c;
   16.45 +} point3d;
   16.46 +
   16.47 +typedef struct tcord
   16.48 +{
   16.49 +    int u, v;
   16.50 +} tcord;
   16.51 +
   16.52 +typedef struct poly2d
   16.53 +{
   16.54 +	int p0; tcord tc0;
   16.55 +	int p1; tcord tc1;
   16.56 +	int p2; tcord tc2;
   16.57 +	int c;
   16.58 +    int m;
   16.59 +} poly2d;
   16.60 +
   16.61 +
   16.62 +typedef struct line2d
   16.63 +{
   16.64 +	int p0;
   16.65 +	int p1;
   16.66 +	int c;
   16.67 +}line2d;
   16.68 +
   16.69 +
   16.70 +typedef struct rot3d
   16.71 +{
   16.72 +	float x;
   16.73 +	float y;
   16.74 +	float z;
   16.75 +}rot3d;
   16.76 +
   16.77 +
   16.78 +typedef struct pos3d
   16.79 +{
   16.80 +	float x;
   16.81 +	float y;
   16.82 +	float z;
   16.83 +}pos3d;
   16.84 +
   16.85 +
   16.86 +typedef struct object3d
   16.87 +{
   16.88 +    int npts, npls, nlns;
   16.89 +
   16.90 +    point3d *point;
   16.91 +    poly2d *poly;
   16.92 +    line2d *line;
   16.93 +
   16.94 +    vector3d *normal;
   16.95 +    vector3d *pt_normal;
   16.96 +
   16.97 +    rot3d rot;
   16.98 +    pos3d pos;
   16.99 +}object3d;
  16.100 +
  16.101 +vector3d CrossProduct(vector3d v1, vector3d v2);
  16.102 +int DotProduct(vector3d v1, vector3d v2);
  16.103 +vector3d Normalize(vector3d v);
  16.104 +vector3d NegVec(vector3d v);
  16.105 +
  16.106 +void Calc3d(object3d *obj);
  16.107 +
  16.108 +void rotate3d (object3d *obj);
  16.109 +void translate3d (object3d *obj);
  16.110 +void project3d (object3d *obj);
  16.111 +
  16.112 +void rotate3d_normals (object3d *obj);
  16.113 +void rotate3d_pt_normals (object3d *obj);
  16.114 +
  16.115 +void CalcPointColor(object3d *obj);
  16.116 +void CalcPolyColor(object3d *obj);
  16.117 +
  16.118 +void quicksort (int lo, int hi, int data[]);
  16.119 +
  16.120 +#endif
    17.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    17.2 +++ b/src/env1.cpp	Wed Jun 05 22:33:37 2013 +0300
    17.3 @@ -0,0 +1,256 @@
    17.4 +unsigned short env1[] = {4196,4196,4196,4196,4196,4164,4164,4164,6212,6212,6212,4132,4164,4132,4132,4132,
    17.5 +6212,6212,6212,6213,6212,6212,4132,6212,6213,6212,6213,6213,6213,6213,6213,8262,
    17.6 +8262,8262,8294,8262,8262,8262,12392,12393,12425,10344,10343,8261,6212,4131,4132,4164,
    17.7 +4164,4164,4163,4163,4163,4163,4163,4163,2115,2115,2115,2114,2115,2115,2147,2115,
    17.8 +4196,4196,4196,4196,4196,4196,6212,6212,6213,6212,6212,4132,4132,4132,4132,4132,
    17.9 +6180,4131,4131,4164,4132,6212,4164,6212,6213,6213,6213,8293,8261,8294,8294,8294,
   17.10 +10375,10376,10376,10343,10343,10343,12392,12393,12393,10343,10343,8261,4132,4132,4164,4164,
   17.11 +4164,4164,4163,4163,4163,4163,4163,4163,2115,2114,2147,2147,2147,2147,4195,2147,
   17.12 +4195,4195,4196,6244,4196,4164,6212,6212,6212,6212,4132,4132,4132,4132,6212,4164,
   17.13 +4132,4164,4131,4131,4131,4163,4164,6212,6245,8326,8326,8326,8326,8327,8327,10376,
   17.14 +10408,12457,14538,12458,12458,14506,14506,14506,14442,12425,12392,10343,6180,4131,4164,4164,
   17.15 +4131,4132,4164,4164,4163,4196,4164,2147,2115,2115,2147,2147,2147,2147,2147,2115,
   17.16 +2115,4195,4196,4196,4196,4164,6212,6212,6212,6180,6180,4132,4132,4132,6212,6212,
   17.17 +4163,4131,4131,4131,4163,4164,6244,6245,6278,8358,8359,8359,8359,8359,10440,12521,
   17.18 +14602,12490,14570,14603,14571,14538,16587,16588,18636,18636,16556,14473,8262,6180,4131,4131,
   17.19 +4131,4164,4164,4164,4163,4164,4196,4195,4195,4196,4195,4195,2147,2115,2147,4195,
   17.20 +4195,4195,4195,4163,4164,4164,4164,4164,6212,6180,4132,4164,4164,4164,6212,4164,
   17.21 +4163,4131,4163,4164,4164,6245,6245,6278,8326,8358,8391,8391,8359,10439,10472,14635,
   17.22 +16748,14667,14635,14635,14603,14603,16652,18733,18766,20782,20783,16555,12392,8261,6180,4131,
   17.23 +6180,4164,4163,4164,4163,4163,6244,4196,4163,4196,4195,4195,4195,4195,4195,4196,
   17.24 +4195,4195,4163,4163,4164,4164,4164,4132,4132,4132,4164,4132,4164,6212,6212,4164,
   17.25 +4164,4164,4164,6245,6277,6278,6310,6310,8358,8359,8391,10472,10439,10439,12553,14699,
   17.26 +16780,16780,16781,16781,16749,16717,18830,20879,20880,22961,22896,18701,16555,12393,8262,8229,
   17.27 +8261,8261,6180,6212,4164,4164,6212,6245,4164,4196,4195,2115,4195,4196,4195,4195,
   17.28 +4163,4163,4163,4164,4163,4164,4164,4164,4164,4132,4132,4164,4164,6212,6244,6244,
   17.29 +6244,6244,6245,6278,6278,6310,6310,6310,8391,8391,10472,10504,10504,10472,12585,16811,
   17.30 +16812,16812,16813,18926,18895,18862,18895,20977,23026,23026,22961,20847,18702,16555,14441,12425,
   17.31 +12393,10343,8261,6180,6212,6213,6212,6245,6245,4196,4163,4163,4195,4195,4195,2147,
   17.32 +4163,4163,4163,4163,4163,4163,4164,4132,4132,4132,4164,4164,4164,6212,6245,6278,
   17.33 +8326,6278,6277,8358,8359,8390,8358,8391,8391,10472,12585,12617,10504,12585,14698,16812,
   17.34 +16812,18893,16845,18926,18927,20976,21041,23090,23091,23058,22994,22960,18766,18669,16555,16555,
   17.35 +12392,10343,10343,8261,6212,6213,8262,8293,6245,6245,4196,4196,4195,2115,2115,2115,
   17.36 +4195,4195,4163,4163,4163,4163,4164,4164,4164,4164,4164,4164,6245,8326,8358,8391,
   17.37 +10440,8359,8358,8391,8423,8391,8391,8423,8391,8391,12585,12617,12585,12617,14698,16779,
   17.38 +18893,18925,18958,21039,18959,21073,21074,21010,23091,25172,23059,22993,20847,18734,18701,16587,
   17.39 +10343,10343,10343,10311,8261,6213,8294,8261,6213,6245,6244,4163,4163,4195,4195,2147,
   17.40 +4196,2115,4163,4163,4163,4163,4164,4164,6212,6212,6244,6277,8358,8359,8359,10440,
   17.41 +12553,10472,8391,8391,10504,8423,8391,8423,10472,10504,12617,14698,12617,12617,14698,16779,
   17.42 +18893,21006,21071,23120,21041,23187,21074,23123,23123,23091,23058,20944,20912,18831,18734,14506,
   17.43 +12424,14474,10344,10343,10311,8262,8262,8261,6213,6245,6212,4163,4195,2147,2115,2115,
   17.44 +4195,2115,2115,2115,4163,4163,4163,4164,6245,6245,8326,8359,10440,10473,10472,10472,
   17.45 +12553,12585,10472,10472,10504,10472,10471,10472,12585,12617,12617,14730,16811,16811,16779,16812,
   17.46 +18925,21038,21039,23120,23153,23155,21074,23188,23156,23091,20977,18863,18831,18831,16652,12457,
   17.47 +14506,12424,10344,12392,12393,10343,8261,8261,6213,6213,6212,4164,4163,4163,4195,2147,
   17.48 +4195,2115,2115,2147,4163,4163,4163,4196,6244,8358,10473,10473,12553,12586,12585,12585,
   17.49 +12585,12617,12585,12552,12585,10504,10504,10472,10472,12584,12617,14730,16843,16811,16779,16844,
   17.50 +18893,21039,23120,23153,23186,23154,23123,25236,25237,21043,18929,18896,18864,16783,12522,12490,
   17.51 +10409,10376,12425,14474,12425,12392,10343,8262,6213,6213,6212,4164,4164,4164,4196,4195,
   17.52 +2115,2114,2115,4195,4195,4195,2115,4196,6277,10440,12586,12586,12586,14666,14666,14666,
   17.53 +12617,14666,14698,12585,12584,12585,10504,10472,10472,10536,14698,16811,16811,16779,16779,16812,
   17.54 +18925,23087,23121,23154,23155,23155,27381,27414,23124,21075,18929,18928,18928,14701,12587,12522,
   17.55 +8359,10408,12458,14506,12425,12457,12424,10343,8261,6213,6213,4164,4164,4196,4196,4163,
   17.56 +2147,2147,2147,2115,4196,4195,2114,4196,8391,12586,14667,14667,14666,14698,16811,16811,
   17.57 +16778,14730,14730,14698,12585,12585,12585,10504,10472,12617,14730,16811,18892,16812,16812,18893,
   17.58 +21039,20975,23153,27348,27413,25269,25301,25269,23156,21075,21010,18962,16848,12620,12554,10473,
   17.59 +10441,12522,14538,12457,14539,14538,12425,10376,8295,8294,6245,6245,4164,4197,4196,2115,
   17.60 +2147,2147,4195,4195,4195,2114,2115,6310,10473,12587,14699,16779,16779,16779,18924,18956,
   17.61 +18924,16843,16811,16843,14730,12617,12617,14698,12585,14730,14730,14698,21005,18925,18893,21007,
   17.62 +23120,23121,27348,31574,33719,25301,23157,23189,25237,23124,21075,21042,14766,12619,10505,12554,
   17.63 +14636,14636,14603,16684,16684,16619,14571,14538,10408,8327,6246,6245,6246,6245,4164,4196,
   17.64 +2147,2115,2147,2147,2147,2115,4196,8391,10505,12586,14667,16779,16811,16778,16811,18924,
   17.65 +18956,18891,16843,16843,16843,14730,14730,16811,14698,16811,18924,16780,23087,21039,21039,25202,
   17.66 +25203,27348,33719,33719,33719,27350,23189,21076,23156,23156,23156,18961,14733,10538,10506,14668,
   17.67 +14700,14668,18830,18798,18765,18797,16716,14603,12521,10375,8326,6245,6245,6245,6245,6277,
   17.68 +2147,4196,4195,4195,2147,4229,8391,8424,12553,12586,14666,14699,16779,16811,16811,18924,
   17.69 +18956,21004,18956,16843,16843,18924,16844,18924,16844,16812,21038,21007,21040,25201,27315,29428,
   17.70 +27284,25236,33687,37944,33719,27414,23156,18962,21043,21076,23156,18928,14733,12619,12619,12620,
   17.71 +14668,18862,18863,18830,18829,18862,18829,14635,10441,10440,8359,6246,4165,6245,6277,4197,
   17.72 +4196,4196,4196,4196,6309,8424,12586,14668,16748,14700,14667,16779,16812,16811,16811,18923,
   17.73 +18956,21037,23117,21037,18956,18957,21037,18957,21038,21039,21072,23121,23121,31605,31606,29461,
   17.74 +27349,29526,35832,37944,33719,33752,27447,21075,21075,27350,23156,18961,14733,12653,14733,12652,
   17.75 +18895,21008,18863,20943,20942,20942,18861,14634,12521,10472,8359,6278,6213,6213,6278,6245,
   17.76 +4196,4196,4228,4228,6342,10505,14668,16749,18862,20943,20942,20973,21005,20972,18924,18924,
   17.77 +18956,21037,23150,25263,23183,23151,23184,23152,25265,25266,23153,23154,25268,31638,29493,27349,
   17.78 +29526,33719,35864,35832,33752,33784,23189,21043,23188,27382,23156,21042,18929,16848,16814,18928,
   17.79 +21009,18928,18895,18895,20974,18861,16747,16779,14666,12553,8359,8326,6213,6246,6278,6245,
   17.80 +4196,4228,4228,4229,8423,12587,14668,16749,18862,20976,23024,23055,23087,23118,23118,23118,
   17.81 +21037,21037,23150,25264,27377,25297,25265,27411,25299,27379,25268,25268,29526,33751,31574,29494,
   17.82 +31639,35832,35864,35864,33784,29494,18963,21075,25269,23124,21042,18994,18962,18961,21042,18929,
   17.83 +18960,21008,21008,20975,18861,16780,16812,16779,14666,10505,8359,8327,6246,6246,6246,6245,
   17.84 +4196,4196,4228,6309,10505,14701,18863,18896,20944,20944,22991,23056,25169,23120,23087,23118,
   17.85 +21070,21038,23119,23184,27410,29523,29491,27411,27412,25332,29494,27413,31639,35864,40057,35864,
   17.86 +35832,35832,40121,35832,29526,27382,21076,25237,23156,21076,21076,23157,21076,21076,21010,18961,
   17.87 +21074,23122,18959,18894,18861,18860,16812,14699,12586,10472,8392,8359,6246,6246,6246,6245,
   17.88 +4228,4196,4228,6310,8391,12587,16782,20977,23059,25106,23025,22992,23023,20975,21007,23087,
   17.89 +23120,23120,23152,25265,27411,31636,31637,25299,27413,27413,29494,29559,33752,40089,44346,40121,
   17.90 +40089,42201,46458,40089,31671,27414,27382,23189,21043,23156,23157,25302,27382,23156,21075,23188,
   17.91 +25268,21041,18894,18894,16813,16812,16779,14698,12585,10473,10472,8359,6246,6278,6246,6245,
   17.92 +4228,4228,4228,6310,8392,10506,12588,16782,20977,23026,22993,22992,20944,20943,21008,23121,
   17.93 +23121,25266,29491,27411,25267,25300,29525,31606,27413,29494,29494,31671,35832,37976,42201,44314,
   17.94 +40153,44346,48603,44314,31671,27382,29559,23156,21043,27382,27414,27414,23188,21076,23188,23188,
   17.95 +21075,18960,16846,18893,16812,16780,16779,14698,12586,10472,8391,8359,8326,6278,6246,6245,
   17.96 +4228,4228,4229,6310,8424,12587,14668,16782,18864,18799,20912,23026,25139,25171,25203,25171,
   17.97 +25203,29525,33718,29525,29493,27381,27413,33719,33751,33751,35832,35896,40089,40121,44378,46459,
   17.98 +44378,48603,48603,46491,35832,33784,33720,25269,27414,29527,31607,27414,23157,21075,21042,21074,
   17.99 +21041,18927,16846,16813,16780,14699,14666,14634,12553,10472,8359,8327,6278,6246,6245,6277,
  17.100 +4196,4228,4261,6343,8424,10506,14668,16750,18799,18832,20945,23026,23059,27285,29398,29462,
  17.101 +29461,31574,29525,27413,27413,31606,31639,33751,40089,40122,40121,42266,48539,46491,52764,52828,
  17.102 +52796,57021,57053,50716,44346,42233,33752,31639,29527,31639,31639,31671,25237,21043,21042,21074,
  17.103 +18960,18927,16846,16813,14699,14666,12553,12553,10472,10440,10440,8359,8327,6278,6246,6246,
  17.104 +4228,4228,4228,6343,10506,12587,14668,16750,16751,18832,20946,23027,23092,27286,25205,27350,
  17.105 +29495,31575,31574,29494,25301,29558,35832,37976,40089,46459,46491,48603,52828,52828,57021,59133,
  17.106 +57053,61246,61246,54908,57053,46491,40089,40089,33751,33784,37976,33752,23156,21075,21042,21042,
  17.107 +21009,18960,16846,16846,16780,14667,14634,14667,14667,12521,10473,10440,8359,8327,6246,6245,
  17.108 +4196,4196,4228,8423,12620,14701,14669,14702,16751,16752,18866,20979,23060,25206,25206,27318,
  17.109 +31543,31607,33720,33752,33719,33784,35896,42234,46426,48571,54941,54941,57021,57053,59165,61310,
  17.110 +61278,63358,61278,61278,59198,52796,46491,42201,37977,40089,37976,31639,23157,23123,21042,18961,
  17.111 +18928,21041,21008,18894,18893,16748,14667,14667,14667,12521,10440,10408,10408,8327,6245,6213,
  17.112 +4195,4228,6309,8423,10505,10506,12620,14702,16783,16784,18865,18898,20979,25141,27287,27351,
  17.113 +29463,33688,33720,33784,38009,40089,44314,46491,50684,52828,57021,61246,59198,61278,61310,65471,
  17.114 +63423,65503,63391,63391,63358,59166,52796,46459,40121,42201,40121,29527,25302,25269,21043,18961,
  17.115 +18961,23122,23155,18927,16781,14700,14667,14635,12522,14570,12521,12489,12489,8359,6246,6213,
  17.116 +4195,4229,6342,8424,8457,10539,12621,14702,16784,18898,18866,18866,18899,23093,27319,29463,
  17.117 +29463,29527,33720,35864,42202,44346,48571,52828,54941,54972,59165,61310,63390,65503,65503,65535,
  17.118 +65503,65503,65503,65503,65503,61278,57053,50683,44346,44314,38009,31607,31639,31607,23156,21042,
  17.119 +18928,18928,18928,18895,16782,16749,14668,14635,14603,14570,12489,10376,8327,8294,6213,4164,
  17.120 +2147,4196,6309,6343,10505,12588,14734,16815,18897,20979,23092,23092,21012,23093,25206,29463,
  17.121 +31575,31607,33719,33752,42202,50684,50716,54940,59165,59166,61310,63423,65503,65535,65535,65535,
  17.122 +65535,65535,65535,65535,65535,63358,59134,54941,48571,42202,35897,33752,35832,29527,25205,21011,
  17.123 +18897,18896,18896,20944,16782,14669,14668,14603,14570,12521,12456,10408,8327,8327,6245,4164,
  17.124 +2147,4228,6310,6343,8424,10539,14734,14734,14735,18897,21011,20979,20979,23092,25205,29462,
  17.125 +33720,35864,35832,37976,46427,50684,50716,54909,59165,61310,63423,65503,65535,65535,65535,65535,
  17.126 +65535,65535,65535,65535,65535,63390,59165,57053,50684,44314,35896,33720,33688,29463,23093,20979,
  17.127 +20979,18898,18897,20977,16783,16717,14669,14636,14603,14602,12489,10408,10375,8327,6246,4164,
  17.128 +4196,6309,8391,8424,8457,10539,12620,12621,14702,16816,18930,18897,18897,20978,23091,29430,
  17.129 +33752,35864,35864,40089,42234,46459,50652,57021,59198,63423,65503,65503,65535,65535,65535,65535,
  17.130 +65535,65535,65535,65535,65535,63423,59197,57053,52796,46427,38009,33688,31608,27351,23093,23060,
  17.131 +20979,20947,20946,18897,18896,16782,14637,14603,14571,16651,14538,10376,8327,8294,6246,4197,
  17.132 +4228,6310,8391,8425,10506,12620,12620,12621,16782,16815,18929,18896,16816,18929,23123,27349,
  17.133 +29526,33719,37944,37944,37976,42202,48539,54908,59198,63422,65503,65535,65535,65535,65535,65535,
  17.134 +65535,65535,65535,65535,65535,63423,59198,57053,50684,42234,35832,29463,27319,23094,23061,20980,
  17.135 +20915,18867,20947,18897,16783,16718,14604,14571,14572,16716,12489,10376,8327,8294,6246,6245,
  17.136 +4229,6310,6310,6311,8425,12620,12620,14701,16815,16847,18896,16815,18896,18928,21041,27348,
  17.137 +29526,27413,29525,35831,40089,44282,48539,52796,59134,61278,63423,65503,65535,65535,65535,65535,
  17.138 +65535,65535,65535,65535,65535,65503,61310,57085,48571,40057,31640,25239,21012,20980,20948,23028,
  17.139 +20948,18867,18834,16752,14638,14605,14604,14604,16652,16651,12456,10376,8327,8326,6245,4197,
  17.140 +4196,6310,8424,8425,8425,12619,12620,12653,14734,16814,16782,16782,18928,21073,23154,27347,
  17.141 +27380,25299,27380,33783,37976,44314,46427,50652,57021,59166,63390,65471,65535,65535,65535,65535,
  17.142 +65535,65535,65535,65535,65535,65503,63391,59198,52828,42170,35833,31544,25238,23061,20981,23061,
  17.143 +20948,18835,16753,14671,14638,14605,14604,14604,14539,12458,12456,10376,10375,8327,6245,4164,
  17.144 +2147,4229,6343,8425,10506,12587,12652,14733,14733,14734,16782,16814,21040,23154,23186,23153,
  17.145 +23153,25299,29557,35832,33783,37976,40121,46459,52764,54941,59133,61278,65503,65535,65535,65535,
  17.146 +65535,65535,65535,65535,65535,65503,61310,59133,57021,48572,40089,33688,27287,23093,23093,23061,
  17.147 +20980,20915,18834,16785,14638,14637,16718,16653,16620,14506,12425,10376,10376,8327,6246,4164,
  17.148 +4196,4229,6310,8392,8426,10539,12652,14766,16814,16846,16846,18959,21072,23153,23120,21072,
  17.149 +21040,23185,29492,31605,33751,38009,40121,44282,42233,46458,52828,57085,61310,65503,65535,65535,
  17.150 +65535,65535,65535,65535,65535,65503,61278,57021,54941,50684,40121,35833,29495,25205,20980,20947,
  17.151 +20948,20947,20947,20946,16752,16686,16718,16621,16587,14507,12424,10375,8295,8326,6245,4164,
  17.152 +4196,4229,6311,8392,10506,12620,14765,18959,18992,18927,18959,21040,21040,21072,23120,23153,
  17.153 +21040,21105,27379,29460,31573,33719,33751,35864,37976,42169,46426,50716,59166,61278,63390,65503,
  17.154 +65503,65535,65535,65535,65503,61278,59165,57053,52828,46459,35896,33752,31608,31544,27318,20980,
  17.155 +18867,18834,16753,16752,16719,16686,16685,16620,16587,16588,12425,10344,10375,8326,6245,4164,
  17.156 +4196,4229,6311,10506,12652,16814,16879,21072,21072,18991,18927,18959,21007,21040,23152,23153,
  17.157 +21072,23153,25266,25266,27380,27413,29494,33751,35800,40089,44378,48571,52828,57085,61246,61310,
  17.158 +63423,63423,65535,63423,61278,59166,54973,52860,52828,46426,35864,31639,31543,29431,27319,23125,
  17.159 +20980,18898,16785,16720,14638,14605,14572,14540,14507,16555,14473,12425,10375,8294,6245,4196,
  17.160 +4196,4229,6343,10538,12652,16846,18992,21072,21072,21039,18927,21039,21040,21040,23120,23185,
  17.161 +23153,21105,21073,21041,23122,25235,31574,33719,33655,35864,44314,46458,46491,54908,54909,59133,
  17.162 +61246,61246,61310,61310,59166,57053,52828,50684,48604,44346,35832,29527,27350,25238,25238,23093,
  17.163 +18899,18866,16785,16785,16752,16686,16621,14507,14474,12425,12393,12424,8295,8294,6245,4196,
  17.164 +4229,4229,6343,10538,14733,16846,18960,21072,21104,21072,21007,21007,18959,18927,21040,23120,
  17.165 +23120,21072,21040,18960,21041,25235,31510,31510,31542,33687,37977,37977,46426,48603,48571,54908,
  17.166 +54973,54973,57053,59166,57085,52828,50716,48539,44346,42201,35832,29495,25270,23093,23093,21013,
  17.167 +18867,18867,16786,16720,16752,16719,16654,16621,14507,12425,12425,10343,8294,8294,6245,4196,
  17.168 +4229,4230,6343,10506,14733,16846,18960,21072,21105,21072,18959,18927,18894,18926,21039,21007,
  17.169 +21007,21008,18960,21040,23122,25203,27285,29398,31478,33623,33655,35768,40089,40057,42202,48539,
  17.170 +48571,48635,52796,52828,54908,50683,50716,44378,42233,35896,31607,29463,25238,23126,23094,20948,
  17.171 +18835,18802,16754,16720,14639,16654,16621,16621,16556,14475,12425,10343,8294,6245,6245,4196,
  17.172 +4195,4229,6311,8425,12652,14766,16879,18959,21040,21039,18927,18894,16846,16846,18927,18927,
  17.173 +16846,18894,18959,23089,23122,25172,27221,29269,31414,31479,31511,37880,33655,31575,33719,37976,
  17.174 +42202,44314,50651,48539,48571,52796,44314,40122,35896,31608,25237,25270,27351,25174,25142,23030,
  17.175 +18835,16722,14641,14640,14607,16622,14541,16556,14475,14474,12424,10343,8294,6244,4196,4196,
  17.176 +4228,4229,6310,8392,10506,10539,14701,16846,18959,18959,18926,18926,16814,14733,16814,16813,
  17.177 +16814,18927,21008,21009,25139,27220,29269,31350,33463,29302,33559,35768,31575,31607,31607,33784,
  17.178 +37944,40089,42233,48571,48571,50716,42266,40089,35896,29495,27350,21044,23061,25174,23062,20949,
  17.179 +18836,16723,14609,16657,16655,16622,14541,14508,14475,12425,10343,8294,6245,6212,6244,4196,
  17.180 +6309,4229,4229,4230,8392,10538,12652,14734,16846,16846,16846,16846,14733,14733,16814,14701,
  17.181 +18895,18928,20976,20977,25107,29237,31318,37656,33463,29205,31383,29398,27318,27382,25269,31639,
  17.182 +33784,33751,40089,46458,48603,48571,46459,40089,38009,33720,25302,23093,18899,20948,23029,18836,
  17.183 +16723,16723,16690,16689,16656,16623,16589,14476,14474,10344,10343,8326,6245,4164,4196,4196,
  17.184 +4228,4229,4229,4197,8425,12620,14701,12652,14733,16846,16846,16813,14733,16846,16781,14701,
  17.185 +16814,16782,16815,20944,27155,31318,35479,35511,31286,29205,29270,27253,23092,25173,25269,33720,
  17.186 +31639,31639,38009,40121,40121,37976,42202,38009,35864,37945,29463,23093,20947,16754,16723,18803,
  17.187 +16658,14545,16690,18738,18737,18704,18670,16556,14474,10344,10343,8326,6244,4164,4196,4196,
  17.188 +4195,4196,4196,4229,6311,10506,10539,12587,14701,14766,16846,16814,16814,16814,16814,16781,
  17.189 +14733,16750,16783,20912,27123,31286,35415,31221,29108,29205,29270,25108,25205,25238,29462,31639,
  17.190 +29559,31639,35896,38009,37945,29559,37944,35896,29527,33719,29463,20979,18898,18802,14609,16657,
  17.191 +16657,14577,16624,18737,20817,18703,18638,16557,14475,10376,10375,6245,4164,4164,4196,4195,
  17.192 +4195,2147,4196,4197,4230,6343,8425,12619,14701,14733,16814,14766,16814,16814,16814,16782,
  17.193 +16782,16750,18799,20880,25010,31221,31189,29141,29141,29173,25075,23027,25173,27350,27382,31575,
  17.194 +31607,27382,35864,37976,35896,31607,31671,33719,25269,25237,25269,23092,18898,18833,14608,12495,
  17.195 +12495,14543,16624,16623,18671,18703,18638,16589,14506,10376,8326,6245,4195,4164,4195,2115,
  17.196 +2147,4195,4196,4229,6278,6310,8392,10506,10539,14733,16814,14733,14734,14734,14734,16782,
  17.197 +16782,14669,16718,20847,24977,29140,29108,31221,33335,27125,22994,20945,23124,29431,25270,29494,
  17.198 +29526,25269,31639,40089,35896,29494,25301,29494,23156,21009,23090,23123,18897,18800,16687,14542,
  17.199 +12429,12429,14509,16590,16589,16589,20751,16588,10345,8327,6245,4196,4163,4163,4195,4195,
  17.200 +2115,2147,4196,4228,4229,6278,6311,8424,10538,12652,14733,14701,12652,12653,14734,16782,
  17.201 +16782,14637,16718,22961,27091,27060,27059,29173,29206,22994,20880,20945,20977,23091,23124,25269,
  17.202 +25269,23189,27414,33783,37976,29526,23123,25236,25203,23090,20976,21009,20977,18831,16751,16686,
  17.203 +14541,12459,10378,12426,14508,14508,16588,14539,12425,8327,6245,4196,4163,4196,4196,4195,
  17.204 +4195,4196,4195,2148,4228,4229,6278,6311,8425,10506,10507,12619,12652,12620,14701,16782,
  17.205 +18863,16751,20913,22994,25043,25011,25010,25043,25042,18832,18831,18896,16815,18928,18961,23124,
  17.206 +23124,23124,25301,29493,33719,33687,27348,25267,27348,25202,23056,21008,20976,18863,16750,16685,
  17.207 +14604,12459,10377,10377,10377,12458,14507,12457,10408,8326,6245,4196,4196,4196,4196,4195,
  17.208 +4196,4196,4196,4196,4228,4229,4229,6310,6311,8392,8425,10506,14700,14701,12620,14702,
  17.209 +16750,18864,23026,22994,22962,25042,20881,20880,18799,18830,18864,18896,16815,16815,16848,21043,
  17.210 +23123,21010,23156,29461,31574,31541,27315,23153,23121,23120,21007,20974,18862,20942,16749,14635,
  17.211 +12523,12490,10377,10376,10376,10343,10376,10408,8326,6245,6245,4196,4228,4228,4228,4196,
  17.212 +4228,4228,4228,4228,4228,4228,4228,4196,4229,6311,8392,10506,12620,12620,10506,10538,
  17.213 +14700,18896,20978,20946,20945,20945,18832,18831,16750,18863,18897,18896,16814,16782,18896,21043,
  17.214 +21010,20977,23123,27349,31541,27315,23121,20975,20974,20974,20974,16812,16780,18893,16780,14602,
  17.215 +12522,12522,10409,8327,8327,8327,8326,8327,8326,6245,4196,4228,4229,4229,4228,4228,
  17.216 +4229,4228,4196,4196,4228,4228,4228,4228,4229,6309,8391,8424,8392,8425,8424,10506,
  17.217 +14734,16815,18896,18864,20944,18864,18831,18830,18863,16750,18863,20977,16815,16815,18896,20977,
  17.218 +20977,20977,25171,27316,27348,27315,23120,18894,20974,18925,18860,16779,14699,14699,16779,12586,
  17.219 +10473,10440,8328,8327,8294,8326,8326,6278,6277,6277,4228,4196,4196,4228,4228,4228,
  17.220 +4228,4228,4228,4228,4228,4228,4228,4228,4228,4228,4229,4229,4229,6310,6343,12619,
  17.221 +16815,18896,18896,18831,18831,18831,16782,16782,18863,16750,16782,20978,18897,18831,18831,20944,
  17.222 +20945,20977,23025,27251,27315,25169,23088,20974,18860,18892,16779,14699,12586,12585,12586,12586,
  17.223 +8392,8327,6279,8326,6278,8326,8326,6277,6277,6277,4229,4228,4195,2147,4196,4228,
  17.224 +4196,4196,4195,4195,4227,4195,4195,4195,2147,2147,2147,4195,4229,6310,8392,14700,
  17.225 +16782,16815,18864,18863,16782,16749,16749,16717,16750,14637,16749,20912,18864,18799,20847,20912,
  17.226 +20880,20912,20944,25137,27218,23056,20975,18861,16779,16811,14698,14666,12585,10472,10440,10440,
  17.227 +8359,6246,6246,6246,6245,6245,6278,6277,6277,6277,4229,4228,4195,2115,2147,4196,
  17.228 +2115,2115,4195,4195,4195,2147,2114,2114,2114,2115,4195,2147,4195,6310,8392,12587,
  17.229 +14668,16749,16750,16750,16717,14636,14636,16717,16717,14604,14604,16685,18766,18799,20847,20847,
  17.230 +20847,20847,20879,23024,25104,20942,18861,16780,16779,14731,14666,12585,12585,10472,8391,8359,
  17.231 +8359,6246,6213,4165,4164,4196,6277,6277,6277,4228,4228,4228,2147,2147,4195,4195,
  17.232 +4195,2147,4196,4196,4196,2115,2114,2114,2115,2115,4163,4196,4195,4196,6278,8392,
  17.233 +12554,12555,14635,14604,14571,12522,14571,18765,18766,16685,16620,16652,16620,18701,18734,20815,
  17.234 +20815,20814,20814,22959,22991,20910,16748,16747,14699,14698,14698,12553,10505,10472,8359,6279,
  17.235 +6278,6278,4165,4132,4164,4196,6277,6277,4229,4228,4228,2147,2147,2115,4195,4196,
  17.236 +4163,4163,4163,4163,4163,4163,4163,4163,4163,4163,4163,4163,4196,4196,6244,6278,
  17.237 +8359,10408,10409,12490,12457,12456,14538,16652,16621,18701,18669,18668,16588,18636,18669,20750,
  17.238 +18701,18701,18701,20813,18797,18796,14635,14667,14634,12618,14666,10472,8392,8392,8359,6278,
  17.239 +6246,4197,4165,4165,4164,4196,4229,4229,4228,4196,4195,4195,2147,2115,4196,4228,
  17.240 +4163,4163,4163,4163,4163,4163,4163,4164,4164,4163,4163,4164,6244,6212,6245,6245,
  17.241 +6246,8294,10375,10376,10375,10375,12425,16555,16588,16555,14475,16555,16555,16555,18636,18637,
  17.242 +18636,16588,16587,16652,16652,14602,12521,14634,12554,10505,12553,10440,8359,8359,8359,6246,
  17.243 +4165,4165,4197,4197,4196,4164,4196,4196,4228,4196,4195,4196,4195,4196,4196,4196,
  17.244 +4164,4164,4164,4164,4163,4163,4164,4164,4164,4164,4164,4164,6212,6245,6245,6245,
  17.245 +6212,6213,8294,8294,10343,10343,12392,14474,16555,14474,14441,14474,14474,16523,16555,16555,
  17.246 +16555,16555,14506,14538,14538,12489,12489,14634,12553,10440,10440,8359,6278,6278,6246,4165,
  17.247 +4164,4164,4164,4196,4196,4196,2147,2147,4196,4195,4195,4195,4195,4196,4196,2147,
  17.248 +4164,4164,4164,4164,4164,4164,4164,4164,4164,4132,4164,6212,4164,6212,6245,6212,
  17.249 +6212,6212,6212,6213,8261,8261,10342,12392,12425,12393,14473,14473,12393,12393,14473,14474,
  17.250 +12425,12457,12457,10408,10408,10376,10440,10440,8359,8359,8326,6246,6278,6246,4165,4164,
  17.251 +4164,4164,4164,4196,4196,4196,2115,2147,4195,2147,2147,2147,2147,4195,2147,2115,
  17.252 +4164,4131,4164,4164,6212,6212,6212,4164,4164,4132,6212,6212,6212,4132,6212,4132,
  17.253 +4132,4132,6212,6180,4131,6180,6213,8262,10343,10343,12392,12392,10343,10343,12392,12424,
  17.254 +10344,10376,10375,8294,8326,8326,8327,8326,6246,4165,4165,6245,6278,4197,4164,4164,
  17.255 +4164,4164,4196,4196,4228,4196,4196,4196,4195,2147,2147,2115,2147,4195,2147,2115,
  17.256 +4132,4132,6180,6212,6180,6180,6212,6213,6212,6212,6212,6212,6180,4132,4132,4132,
  17.257 +6180,6180,6180,6180,4132,6180,6212,8261,8261,6213,6213,6212,6213,8262,8294,8294,
  17.258 +8294,8294,8294,8326,8294,6246,6278,6278,6245,4197,4197,4197,4197,4164,4164,4196,
  17.259 +4196,4196,4196,4196,4196,4196,4196,4195,2147,2147,2147,2147,2115,2147,2147,2147};
    18.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    18.2 +++ b/src/env1.h	Wed Jun 05 22:33:37 2013 +0300
    18.3 @@ -0,0 +1,6 @@
    18.4 +#ifndef ENV1_H
    18.5 +#define ENV1_H
    18.6 +
    18.7 +extern unsigned short env1[];
    18.8 +
    18.9 +#endif
    19.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    19.2 +++ b/src/generate3d.cpp	Wed Jun 05 22:33:37 2013 +0300
    19.3 @@ -0,0 +1,129 @@
    19.4 +#include <math.h>
    19.5 +#include <stdio.h>
    19.6 +#include <stdlib.h>
    19.7 +#include "engine3d.h"
    19.8 +#include "generate3d.h"
    19.9 +
   19.10 +unsigned char addtimes[MAXDATA];
   19.11 +
   19.12 +void CalcNorms(object3d *obj, int neg)
   19.13 +{
   19.14 +    vector3d v1,v2;
   19.15 +
   19.16 +    obj->normal = (vector3d*)malloc(obj->npls * sizeof(vector3d));
   19.17 +
   19.18 +    int i;
   19.19 +    for (i=0; i<obj->npls; i++)
   19.20 +    {
   19.21 +        v1.x = obj->point[obj->poly[i].p2].x - obj->point[obj->poly[i].p1].x;
   19.22 +        v1.y = obj->point[obj->poly[i].p2].y - obj->point[obj->poly[i].p1].y;
   19.23 +        v1.z = obj->point[obj->poly[i].p2].z - obj->point[obj->poly[i].p1].z;
   19.24 +
   19.25 +        v2.x = obj->point[obj->poly[i].p1].x - obj->point[obj->poly[i].p0].x;
   19.26 +        v2.y = obj->point[obj->poly[i].p1].y - obj->point[obj->poly[i].p0].y;
   19.27 +        v2.z = obj->point[obj->poly[i].p1].z - obj->point[obj->poly[i].p0].z;
   19.28 +
   19.29 +        obj->normal[i] = Normalize(CrossProduct(v1,v2));
   19.30 +        if (neg==1) obj->normal[i] = NegVec(obj->normal[i]);
   19.31 +    }
   19.32 +}
   19.33 +
   19.34 +void CalcPtNorms(object3d *obj)
   19.35 +{
   19.36 +    obj->pt_normal = (vector3d*)malloc(obj->npts * sizeof(vector3d));
   19.37 +
   19.38 +    int i;
   19.39 +    for (i=0; i<MAXDATA; i++)
   19.40 +        addtimes[i] = 0;
   19.41 +
   19.42 +    for (i=0; i<obj->npts; i++)
   19.43 +    {
   19.44 +        obj->pt_normal[i].x = 0;
   19.45 +        obj->pt_normal[i].y = 0;
   19.46 +        obj->pt_normal[i].z = 0;
   19.47 +    }
   19.48 +
   19.49 +    for (i=0; i<obj->npls; i++)
   19.50 +    {
   19.51 +        obj->pt_normal[obj->poly[i].p0].x += obj->normal[i].x;
   19.52 +        obj->pt_normal[obj->poly[i].p0].y += obj->normal[i].y;
   19.53 +        obj->pt_normal[obj->poly[i].p0].z += obj->normal[i].z;
   19.54 +        obj->pt_normal[obj->poly[i].p1].x += obj->normal[i].x;
   19.55 +        obj->pt_normal[obj->poly[i].p1].y += obj->normal[i].y;
   19.56 +        obj->pt_normal[obj->poly[i].p1].z += obj->normal[i].z;
   19.57 +        obj->pt_normal[obj->poly[i].p2].x += obj->normal[i].x;
   19.58 +        obj->pt_normal[obj->poly[i].p2].y += obj->normal[i].y;
   19.59 +        obj->pt_normal[obj->poly[i].p2].z += obj->normal[i].z;
   19.60 +        addtimes[obj->poly[i].p0]++;
   19.61 +        addtimes[obj->poly[i].p1]++;
   19.62 +        addtimes[obj->poly[i].p2]++;
   19.63 +    }
   19.64 +
   19.65 +    for (i=0; i<obj->npts; i++)
   19.66 +    {
   19.67 +        if (addtimes[i]!=0)
   19.68 +        {
   19.69 +            obj->pt_normal[i].x /= addtimes[i];
   19.70 +            obj->pt_normal[i].y /= addtimes[i]; 
   19.71 +            obj->pt_normal[i].z /= addtimes[i];
   19.72 +            obj->pt_normal[i] = Normalize(obj->pt_normal[i]);
   19.73 +        }
   19.74 +    }
   19.75 +}
   19.76 +
   19.77 +void ReversePolygonOrder(object3d *obj)
   19.78 +{
   19.79 +    int i, a, b, c;
   19.80 +    for (i=0; i<obj->npls; i++)
   19.81 +    {
   19.82 +        a = obj->poly[i].p0;
   19.83 +        b = obj->poly[i].p1;
   19.84 +        c = obj->poly[i].p2;
   19.85 +        obj->poly[i].p0 = c;
   19.86 +        obj->poly[i].p1 = b;
   19.87 +        obj->poly[i].p2 = a;
   19.88 +    }
   19.89 +}
   19.90 +
   19.91 +
   19.92 +void Load32bit3doFile(char* filename, object3d *obj, int neg, float stdiv)
   19.93 +{
   19.94 +	FILE *obj3d;
   19.95 +	obj3d=fopen(filename,"rb");
   19.96 +
   19.97 +	obj->npts=fgetc(obj3d)+(fgetc(obj3d)<<8)+(fgetc(obj3d)<<16)+(fgetc(obj3d)<<24);
   19.98 +	obj->nlns=fgetc(obj3d)+(fgetc(obj3d)<<8)+(fgetc(obj3d)<<16)+(fgetc(obj3d)<<24);
   19.99 +	obj->npls=fgetc(obj3d)+(fgetc(obj3d)<<8)+(fgetc(obj3d)<<16)+(fgetc(obj3d)<<24);
  19.100 +
  19.101 +    obj->point = (point3d*)malloc(obj->npts * sizeof(point3d));
  19.102 +    obj->line = (line2d*)malloc(obj->nlns * sizeof(line2d));
  19.103 +    obj->poly = (poly2d*)malloc(obj->npls * sizeof(poly2d));
  19.104 +
  19.105 +    int i;
  19.106 +	for (i=0; i<obj->npts; i++)
  19.107 +	{
  19.108 +		obj->point[i].x = (int)((fgetc(obj3d)+(fgetc(obj3d)<<8)+(fgetc(obj3d)<<16)+(fgetc(obj3d)<<24) - 65536)/stdiv);
  19.109 +		obj->point[i].y = (int)((fgetc(obj3d)+(fgetc(obj3d)<<8)+(fgetc(obj3d)<<16)+(fgetc(obj3d)<<24) - 65536)/stdiv);
  19.110 +		obj->point[i].z = (int)((fgetc(obj3d)+(fgetc(obj3d)<<8)+(fgetc(obj3d)<<16)+(fgetc(obj3d)<<24) - 65536)/stdiv);
  19.111 +		obj->point[i].c = 0xFFFFFF;
  19.112 +	}
  19.113 +
  19.114 +	for (i=0; i<obj->nlns; i++)
  19.115 +	{
  19.116 +        obj->line[i].p0 = fgetc(obj3d)+(fgetc(obj3d)<<8)+(fgetc(obj3d)<<16)+(fgetc(obj3d)<<24);
  19.117 +        obj->line[i].p1 = fgetc(obj3d)+(fgetc(obj3d)<<8)+(fgetc(obj3d)<<16)+(fgetc(obj3d)<<24);
  19.118 +        obj->line[i].c = 0xFFFFFF;
  19.119 +	}
  19.120 +
  19.121 +	for (i=0; i<obj->npls; i++)
  19.122 +	{
  19.123 +        obj->poly[i].p0 = fgetc(obj3d)+(fgetc(obj3d)<<8)+(fgetc(obj3d)<<16)+(fgetc(obj3d)<<24);
  19.124 +        obj->poly[i].p1 = fgetc(obj3d)+(fgetc(obj3d)<<8)+(fgetc(obj3d)<<16)+(fgetc(obj3d)<<24);
  19.125 +        obj->poly[i].p2 = fgetc(obj3d)+(fgetc(obj3d)<<8)+(fgetc(obj3d)<<16)+(fgetc(obj3d)<<24);
  19.126 +	}
  19.127 +
  19.128 +	fclose(obj3d);
  19.129 +
  19.130 +    CalcNorms(obj, neg);
  19.131 +    CalcPtNorms(obj);
  19.132 +}
    20.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    20.2 +++ b/src/generate3d.h	Wed Jun 05 22:33:37 2013 +0300
    20.3 @@ -0,0 +1,12 @@
    20.4 +#ifndef GENERATE3D_H
    20.5 +#define GENERATE3D_H
    20.6 +
    20.7 +#include "engine3d.h"
    20.8 +
    20.9 +void Load32bit3doFile(char* filename, object3d *obj, int neg, float stdiv);
   20.10 +
   20.11 +void CalcNorms(object3d *obj, int neg);
   20.12 +void CalcPtNorms(object3d *obj);
   20.13 +void ReversePolygonOrder(object3d *obj);
   20.14 +
   20.15 +#endif
    21.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    21.2 +++ b/src/ios/app_delegate.h	Wed Jun 05 22:33:37 2013 +0300
    21.3 @@ -0,0 +1,10 @@
    21.4 +#import <UIKit/UIKit.h>
    21.5 +
    21.6 +@class GLView;
    21.7 +
    21.8 +@interface AppDelegate : NSObject <UIApplicationDelegate> {
    21.9 +    UIWindow *window;
   21.10 +    GLView *glview;
   21.11 +}
   21.12 +
   21.13 +@end
    22.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    22.2 +++ b/src/ios/app_delegate.m	Wed Jun 05 22:33:37 2013 +0300
    22.3 @@ -0,0 +1,44 @@
    22.4 +#import "app_delegate.h"
    22.5 +#import "glview.h"
    22.6 +
    22.7 +@implementation AppDelegate
    22.8 +
    22.9 +- (BOOL)application: (UIApplication*)application didFinishLaunchingWithOptions: (NSDictionary *)launchOptions
   22.10 +{
   22.11 +	window = [[UIWindow alloc] initWithFrame: [[UIScreen mainScreen] applicationFrame]];
   22.12 +	glview = [[GLView alloc] initWithFrame: window.frame];
   22.13 +
   22.14 +	[window addSubview: glview];
   22.15 +	[window makeKeyAndVisible];
   22.16 +
   22.17 +	window.rootViewController = [[UIViewController alloc] init];
   22.18 +
   22.19 +    [glview startAnimation];
   22.20 +    return YES;
   22.21 +}
   22.22 +
   22.23 +- (void)applicationWillResignActive: (UIApplication*)application
   22.24 +{
   22.25 +    [glview stopAnimation];
   22.26 +}
   22.27 +
   22.28 +- (void)applicationDidBecomeActive: (UIApplication*)application
   22.29 +{
   22.30 +    [glview startAnimation];
   22.31 +}
   22.32 +
   22.33 +- (void)applicationWillTerminate: (UIApplication*)application
   22.34 +{
   22.35 +    [glview stopAnimation];
   22.36 +}
   22.37 +
   22.38 +- (void)dealloc
   22.39 +{
   22.40 +	[window.rootViewController dealloc];
   22.41 +    [window release];
   22.42 +    [glview release];
   22.43 +
   22.44 +    [super dealloc];
   22.45 +}
   22.46 +
   22.47 +@end
    23.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    23.2 +++ b/src/ios/glview.h	Wed Jun 05 22:33:37 2013 +0300
    23.3 @@ -0,0 +1,34 @@
    23.4 +#import <UIKit/UIKit.h>
    23.5 +#import <QuartzCore/QuartzCore.h>
    23.6 +
    23.7 +#import <OpenGLES/ES2/gl.h>
    23.8 +#import <OpenGLES/ES2/glext.h>
    23.9 +
   23.10 +@interface GLView : UIView
   23.11 +{
   23.12 +@private
   23.13 +	int xsz, ysz;
   23.14 +	EAGLContext *context;
   23.15 +
   23.16 +	unsigned int fbo, rbuf_color, rbuf_depth;
   23.17 +
   23.18 +	BOOL animating;
   23.19 +	BOOL display_link_supported;
   23.20 +	NSInteger anim_frame_interval;
   23.21 +	// Use of the CADisplayLink class is the preferred method for controlling your animation timing.
   23.22 +	// CADisplayLink will link to the main display and fire every vsync when added to a given run-loop.
   23.23 +	// The NSTimer class is used only as fallback when running on a pre 3.1 device where CADisplayLink
   23.24 +	// isn't available.
   23.25 +	id display_link;
   23.26 +	NSTimer *anim_timer;
   23.27 +}
   23.28 +
   23.29 +@property (readonly, nonatomic, getter=isAnimating) BOOL animating;
   23.30 +@property (nonatomic) NSInteger anim_frame_interval;
   23.31 +
   23.32 +- (void)startAnimation;
   23.33 +- (void)stopAnimation;
   23.34 +- (void)drawView: (id)sender;
   23.35 +- (void)swap_buffers;
   23.36 +
   23.37 +@end
    24.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    24.2 +++ b/src/ios/glview.mm	Wed Jun 05 22:33:37 2013 +0300
    24.3 @@ -0,0 +1,212 @@
    24.4 +#import "glview.h"
    24.5 +#include "game.h"
    24.6 +#include "screen.h"
    24.7 +#include "logger.h"
    24.8 +
    24.9 +static GLView *view;
   24.10 +
   24.11 +void request_redisplay()
   24.12 +{
   24.13 +	// TODO
   24.14 +}
   24.15 +
   24.16 +void swap_buffers()
   24.17 +{
   24.18 +	if(view) {
   24.19 +		[view swap_buffers];
   24.20 +	}
   24.21 +}
   24.22 +
   24.23 +
   24.24 +@implementation GLView
   24.25 +
   24.26 +@synthesize animating;
   24.27 +@dynamic anim_frame_interval;
   24.28 +
   24.29 +// You must implement this method
   24.30 ++ (Class)layerClass
   24.31 +{
   24.32 +	return [CAEAGLLayer class];
   24.33 +}
   24.34 +
   24.35 +
   24.36 +- (id)initWithFrame: (CGRect) frame
   24.37 +{
   24.38 +	if((self = [super initWithFrame: frame]))
   24.39 +	{
   24.40 +		// Get the layer
   24.41 +		CAEAGLLayer *eaglLayer = (CAEAGLLayer*)self.layer;
   24.42 +
   24.43 +		//self.contentScaleFactor = 2.0;
   24.44 +
   24.45 +		eaglLayer.opaque = TRUE;
   24.46 +		eaglLayer.drawableProperties = [NSDictionary dictionaryWithObjectsAndKeys: [NSNumber numberWithBool:FALSE],
   24.47 +				kEAGLDrawablePropertyRetainedBacking, kEAGLColorFormatRGBA8,
   24.48 +				kEAGLDrawablePropertyColorFormat, nil];
   24.49 +
   24.50 +		// initialize OpenGL ES context
   24.51 +		context = [[EAGLContext alloc] initWithAPI: kEAGLRenderingAPIOpenGLES2];
   24.52 +		if(!context || ![EAGLContext setCurrentContext: context]) {
   24.53 +			[self release];
   24.54 +			return self;
   24.55 +		}
   24.56 +
   24.57 +		// create the framebuffer
   24.58 +		glGenFramebuffers(1, &fbo);
   24.59 +		glBindFramebuffer(GL_FRAMEBUFFER, fbo);
   24.60 +
   24.61 +		glGenRenderbuffers(1, &rbuf_color);
   24.62 +		glBindRenderbuffer(GL_RENDERBUFFER, rbuf_color);
   24.63 +		glFramebufferRenderbuffer(GL_FRAMEBUFFER, GL_COLOR_ATTACHMENT0, GL_RENDERBUFFER, rbuf_color);
   24.64 +
   24.65 +		glGenRenderbuffers(1, &rbuf_depth);
   24.66 +		glBindRenderbuffer(GL_RENDERBUFFER, rbuf_depth);
   24.67 +		glFramebufferRenderbuffer(GL_FRAMEBUFFER, GL_DEPTH_ATTACHMENT, GL_RENDERBUFFER, rbuf_depth);
   24.68 +
   24.69 +		animating = FALSE;
   24.70 +		display_link_supported = FALSE;
   24.71 +		anim_frame_interval = 1;
   24.72 +		display_link = nil;
   24.73 +		anim_timer = nil;
   24.74 +
   24.75 +		// A system version of 3.1 or greater is required to use CADisplayLink. The NSTimer
   24.76 +		// class is used as fallback when it isn't available.
   24.77 +		NSString *reqSysVer = @"3.1";
   24.78 +		NSString *currSysVer = [[UIDevice currentDevice] systemVersion];
   24.79 +		if([currSysVer compare: reqSysVer options: NSNumericSearch] != NSOrderedAscending) {
   24.80 +			display_link_supported = TRUE;
   24.81 +		}
   24.82 +
   24.83 +		self.multipleTouchEnabled = 1;
   24.84 +
   24.85 +		if(!game_init()) {
   24.86 +			exit(1);
   24.87 +		}
   24.88 +	}
   24.89 +
   24.90 +	view = self;
   24.91 +	return self;
   24.92 +}
   24.93 +
   24.94 +- (void)drawView: (id)sender
   24.95 +{
   24.96 +	game_display();
   24.97 +}
   24.98 +
   24.99 +- (void)swap_buffers
  24.100 +{
  24.101 +	glBindRenderbuffer(GL_RENDERBUFFER, rbuf_color);
  24.102 +	[context presentRenderbuffer: GL_RENDERBUFFER];
  24.103 +}
  24.104 +
  24.105 +- (BOOL)resize: (CAEAGLLayer*)layer
  24.106 +{
  24.107 +	glBindRenderbuffer(GL_RENDERBUFFER, rbuf_color);
  24.108 +	[context renderbufferStorage: GL_RENDERBUFFER fromDrawable: layer];
  24.109 +	glGetRenderbufferParameteriv(GL_RENDERBUFFER, GL_RENDERBUFFER_WIDTH, &xsz);
  24.110 +	glGetRenderbufferParameteriv(GL_RENDERBUFFER, GL_RENDERBUFFER_HEIGHT, &ysz);
  24.111 +
  24.112 +	glBindRenderbuffer(GL_RENDERBUFFER, rbuf_depth);
  24.113 +	glRenderbufferStorage(GL_RENDERBUFFER, GL_DEPTH_COMPONENT16, xsz, ysz);
  24.114 +
  24.115 +	if(glCheckFramebufferStatus(GL_FRAMEBUFFER) != GL_FRAMEBUFFER_COMPLETE) {
  24.116 +		NSLog(@"resize failed, framebuffer incomplete\n");
  24.117 +		return FALSE;
  24.118 +	}
  24.119 +	assert(glGetError() == GL_NO_ERROR);
  24.120 +
  24.121 +	//current_screen()->reshape(xsz, ysz);
  24.122 +	return TRUE;
  24.123 +}
  24.124 +
  24.125 +- (void)layoutSubviews
  24.126 +{
  24.127 +	[self resize: (CAEAGLLayer*)self.layer];
  24.128 +	[self drawView:nil];
  24.129 +}
  24.130 +
  24.131 +- (NSInteger)anim_frame_interval
  24.132 +{
  24.133 +	return anim_frame_interval;
  24.134 +}
  24.135 +
  24.136 +- (void)setAnimationFrameInterval: (NSInteger)frameInterval
  24.137 +{
  24.138 +	// Frame interval defines how many display frames must pass between each time the
  24.139 +	// display link fires. The display link will only fire 30 times a second when the
  24.140 +	// frame internal is two on a display that refreshes 60 times a second. The default
  24.141 +	// frame interval setting of one will fire 60 times a second when the display refreshes
  24.142 +	// at 60 times a second. A frame interval setting of less than one results in undefined
  24.143 +	// behavior.
  24.144 +	if(frameInterval >= 1) {
  24.145 +		anim_frame_interval = frameInterval;
  24.146 +
  24.147 +		if(animating) {
  24.148 +			[self stopAnimation];
  24.149 +			[self startAnimation];
  24.150 +		}
  24.151 +	}
  24.152 +}
  24.153 +
  24.154 +- (void)startAnimation
  24.155 +{
  24.156 +	if(!animating) {
  24.157 +		if(display_link_supported) {
  24.158 +			// CADisplayLink is API new to iPhone SDK 3.1. Compiling against earlier versions will result in a warning, but can be dismissed
  24.159 +			// if the system version runtime check for CADisplayLink exists in -initWithCoder:. The runtime check ensures this code will
  24.160 +			// not be called in system versions earlier than 3.1.
  24.161 +
  24.162 +			display_link = [NSClassFromString(@"CADisplayLink") displayLinkWithTarget:self selector:@selector(drawView:)];
  24.163 +			[display_link setFrameInterval: anim_frame_interval];
  24.164 +			[display_link addToRunLoop: [NSRunLoop currentRunLoop] forMode: NSDefaultRunLoopMode];
  24.165 +		} else {
  24.166 +			anim_timer = [NSTimer scheduledTimerWithTimeInterval: (NSTimeInterval)((1.0 / 60.0) * anim_frame_interval)
  24.167 +					target: self selector: @selector(drawView:) userInfo: nil repeats: TRUE];
  24.168 +		}
  24.169 +
  24.170 +		animating = TRUE;
  24.171 +	}
  24.172 +}
  24.173 +
  24.174 +- (void)stopAnimation
  24.175 +{
  24.176 +	if(animating) {
  24.177 +		if(display_link_supported) {
  24.178 +			[display_link invalidate];
  24.179 +			display_link = nil;
  24.180 +		} else {
  24.181 +			[anim_timer invalidate];
  24.182 +			anim_timer = nil;
  24.183 +		}
  24.184 +
  24.185 +		animating = FALSE;
  24.186 +	}
  24.187 +}
  24.188 +
  24.189 +- (void)dealloc
  24.190 +{
  24.191 +	game_cleanup();
  24.192 +
  24.193 +	if(fbo) {
  24.194 +		glDeleteFramebuffers(1, &fbo);
  24.195 +		fbo = 0;
  24.196 +	}
  24.197 +	if(rbuf_color) {
  24.198 +		glDeleteRenderbuffers(1, &rbuf_color);
  24.199 +		rbuf_color = 0;
  24.200 +	}
  24.201 +	if(rbuf_depth) {
  24.202 +		glDeleteRenderbuffers(1, &rbuf_depth);
  24.203 +		rbuf_depth = 0;
  24.204 +	}
  24.205 +
  24.206 +	if([EAGLContext currentContext] == context) {
  24.207 +		[EAGLContext setCurrentContext: nil];
  24.208 +	}
  24.209 +	[context release];
  24.210 +	context = nil;
  24.211 +
  24.212 +	[super dealloc];
  24.213 +}
  24.214 +
  24.215 +@end
    25.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    25.2 +++ b/src/ios/main.m	Wed Jun 05 22:33:37 2013 +0300
    25.3 @@ -0,0 +1,10 @@
    25.4 +#import <UIKit/UIKit.h>
    25.5 +#import "app_delegate.h"
    25.6 +
    25.7 +int main(int argc, char **argv)
    25.8 +{
    25.9 +	NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init];
   25.10 +	int retval = UIApplicationMain(argc, argv, nil, @"AppDelegate");
   25.11 +	[pool release];
   25.12 +	return retval;
   25.13 +}
    26.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    26.2 +++ b/src/main.cpp	Wed Jun 05 22:33:37 2013 +0300
    26.3 @@ -0,0 +1,492 @@
    26.4 +#include <SDL/SDL.h>
    26.5 +#include <math.h>
    26.6 +
    26.7 +#include "main.h"
    26.8 +#include "bitfonts.h"
    26.9 +
   26.10 +#include "blitting.h"
   26.11 +#include "plasma.h"
   26.12 +#include "rotozoomer.h"
   26.13 +#include "radialblur.h"
   26.14 +#include "bunny3d.h"
   26.15 +#include "render3d.h"
   26.16 +
   26.17 +#if defined ProjectCaanoo || defined ProjectWiz
   26.18 +	#include <unistd.h>
   26.19 +#endif
   26.20 +
   26.21 +#ifdef ProjectWin
   26.22 +	#undef main
   26.23 +#endif
   26.24 +
   26.25 +SDL_Surface *screen = NULL;
   26.26 +SDL_Joystick *joy = NULL;
   26.27 +
   26.28 +int fps = 0, pframe = 0, nframe = 0, atime = 0;
   26.29 +int frametime = 0;
   26.30 +int quit = 0;
   26.31 +int desc_next = 0;
   26.32 +
   26.33 +int where_is = MENU;
   26.34 +
   26.35 +// -------------------------------------
   26.36 +
   26.37 +char sbuffer[256];
   26.38 +unsigned char fonts[59*64];
   26.39 +
   26.40 +void InitFonts()
   26.41 +{
   26.42 +	int i = 0;
   26.43 +	for (int n=0; n<59; n++)
   26.44 +	{
   26.45 +		for (int y=0; y<8; y++)
   26.46 +		{
   26.47 +			int c = bitfonts[i++];
   26.48 +			for (int x=0; x<8; x++)
   26.49 +			{
   26.50 +				fonts[(n << 6) + x + (y<<3)] = ((c >>  (7 - x)) & 1) * 255;
   26.51 +			}
   26.52 +		}
   26.53 +	}
   26.54 +}
   26.55 +
   26.56 +void DrawFontX2(int xp, int yp, int ch, unsigned short *vram)
   26.57 +{
   26.58 +	if (xp <0 || xp > 312) return;
   26.59 +	vram += xp + yp * ScreenWidth;
   26.60 +	for (int y=0; y<8; y++)
   26.61 +	{
   26.62 +		int yc = yp + y;
   26.63 +		if ((yc>=1) && (yc<ScreenHeight - 1))
   26.64 +		{
   26.65 +			int yi = y << 3;
   26.66 +			for (int x=0; x<8; x++)
   26.67 +			{
   26.68 +				unsigned char c = fonts[(ch << 6) + yi + x] * 0x01010101;
   26.69 +				*vram |= c;
   26.70 +				*(vram+1) |= c;
   26.71 +				*(vram+ScreenWidth) |= c;
   26.72 +				*(vram+ScreenWidth+1) |= c;
   26.73 +				vram+=2;
   26.74 +			}
   26.75 +			vram-=16;
   26.76 +		}
   26.77 +		vram+=2*ScreenWidth;
   26.78 +	}
   26.79 +}
   26.80 +
   26.81 +void DrawFont(int xp, int yp, int ch, unsigned short *vram)
   26.82 +{
   26.83 +	if (xp <0 || xp > 312) return;
   26.84 +	vram += xp + yp * ScreenWidth;
   26.85 +	for (int y=0; y<8; y++)
   26.86 +	{
   26.87 +		int yc = yp + y;
   26.88 +		if ((yc>=1) && (yc<ScreenHeight - 1))
   26.89 +		{
   26.90 +			int yi = y << 3;
   26.91 +			for (int x=0; x<8; x++)
   26.92 +			{
   26.93 +				*vram++ |= (fonts[(ch << 6) + yi + x] * 0x01010101);
   26.94 +			}
   26.95 +			vram-=8;
   26.96 +		}
   26.97 +		vram+=ScreenWidth;
   26.98 +	}
   26.99 +}
  26.100 +
  26.101 +void DrawText(int xtp, int ytp, int cn, bool zoom, char *text, unsigned short *vram)
  26.102 +{
  26.103 +	for (int n = 0; n<cn; n++)
  26.104 +	{
  26.105 +		char c = *text++;
  26.106 +		if (c>96 && c<123) c-=32;
  26.107 +
  26.108 +		if (!zoom)
  26.109 +		{
  26.110 +			if (c>31 && c<92) DrawFont(xtp, ytp, c - 32, vram);
  26.111 +				else if (c==0) n = cn;
  26.112 +			xtp+=8; if (xtp>ScreenWidth -8 -1) n = cn;
  26.113 +		}
  26.114 +		else
  26.115 +		{
  26.116 +			if (c>31 && c<92) DrawFontX2(xtp, ytp, c - 32, vram);
  26.117 +				else if (c==0) n = cn;
  26.118 +			xtp+=16; if (xtp>ScreenWidth -16 -1) n = cn;
  26.119 +		}
  26.120 +	}
  26.121 +}
  26.122 +
  26.123 +void ShowFPS(unsigned short *vram)
  26.124 +{
  26.125 +	if (SDL_GetTicks() - atime >= 1000)
  26.126 +	{
  26.127 +		atime = SDL_GetTicks();
  26.128 +		fps = nframe - pframe;
  26.129 +		pframe = nframe;
  26.130 +	}
  26.131 +	sprintf(sbuffer, "FPS = %d", fps);
  26.132 +	DrawText(8, 8, 16, false, sbuffer, vram);
  26.133 +}
  26.134 +
  26.135 +void ClearScreen(unsigned short *vram)
  26.136 +{
  26.137 +	memset(vram, 0, 2*ScreenSize);
  26.138 +}
  26.139 +
  26.140 +void speeddown(int ticks)
  26.141 +{
  26.142 +	do{}while(SDL_GetTicks() - frametime < ticks);
  26.143 +	frametime = SDL_GetTicks();
  26.144 +}
  26.145 +
  26.146 +// -------------------------------------
  26.147 +
  26.148 +void InitEffects()
  26.149 +{
  26.150 +	InitBlitting();
  26.151 +	InitPlasma();
  26.152 +	InitRotozoomer();
  26.153 +	InitRadialblur();
  26.154 +
  26.155 +	initRender3D();
  26.156 +	InitBunny3D();
  26.157 +}
  26.158 +
  26.159 +void Init()
  26.160 +{
  26.161 +	SDL_Init (SDL_INIT_VIDEO | SDL_INIT_JOYSTICK);
  26.162 +	SDL_ShowCursor(SDL_DISABLE);
  26.163 +	screen = SDL_SetVideoMode (ScreenWidth, ScreenHeight, 16, SDL_SWSURFACE);
  26.164 +
  26.165 +	if (SDL_NumJoysticks() > 0)
  26.166 +		joy = SDL_JoystickOpen(0);
  26.167 +
  26.168 +	InitFonts();
  26.169 +	InitEffects();
  26.170 +}
  26.171 +
  26.172 +void KeyCommands()
  26.173 +{
  26.174 +	SDL_Event event;
  26.175 +
  26.176 +#ifdef ProjectWin
  26.177 +	while (SDL_PollEvent (&event))
  26.178 +	{
  26.179 +		switch (event.type)
  26.180 +		{
  26.181 +			case SDL_KEYDOWN:
  26.182 +				if (event.key.keysym.sym==SDLK_ESCAPE)
  26.183 +				{
  26.184 +					if (where_is==RES)
  26.185 +						quit = 1;
  26.186 +					else if (where_is==BENCH)
  26.187 +						where_is = RES;
  26.188 +				}
  26.189 +				if (event.key.keysym.sym==SDLK_SPACE)
  26.190 +					if (where_is==DESC)
  26.191 +						desc_next = 1;
  26.192 +			break;
  26.193 +
  26.194 +			case SDL_QUIT:
  26.195 +				quit = 1;
  26.196 +			break;
  26.197 +
  26.198 +			default:
  26.199 +			break;
  26.200 +		}
  26.201 +	}
  26.202 +#else
  26.203 +	while (SDL_PollEvent (&event))
  26.204 +	{
  26.205 +		switch (event.type)
  26.206 +		{
  26.207 +				case SDL_JOYBUTTONDOWN:
  26.208 +			if ( event.jbutton.button == BUTTON_HOME )
  26.209 +			{
  26.210 +				if (where_is==RES)
  26.211 +					quit = 1;
  26.212 +				else if (where_is==BENCH)
  26.213 +					where_is = RES;
  26.214 +			}
  26.215 +
  26.216 +			if (event.jbutton.button==BUTTON_A)
  26.217 +				if (where_is==DESC)
  26.218 +					desc_next = 1;
  26.219 +			break;
  26.220 +			}
  26.221 +	}
  26.222 +#endif
  26.223 +}
  26.224 +
  26.225 +// -------------------------------------
  26.226 +
  26.227 +char* test_name[NUM_TESTS];
  26.228 +char* test_description[NUM_TESTS];
  26.229 +int total_frames[NUM_TESTS];
  26.230 +int start_frames[NUM_TESTS+1];
  26.231 +float test_fps[NUM_TESTS];
  26.232 +
  26.233 +int test_time_start;
  26.234 +
  26.235 +void InitBench()
  26.236 +{
  26.237 +	nframe = 0;
  26.238 +
  26.239 +	test_name[TEST_BLITTING] = "Blitting Test";
  26.240 +	test_description[TEST_BLITTING] = "A simple memset blitting test. Tests how fast it is to write stuff to the video ram.";
  26.241 +	total_frames[TEST_BLITTING] = 3000;
  26.242 +
  26.243 +	test_name[TEST_PLASMA] = "Plasma";
  26.244 +	test_description[TEST_PLASMA] = "A lightweight demo effect. Addition of integer sine values read from small LUTs.";
  26.245 +	total_frames[TEST_PLASMA] = 3000;
  26.246 +
  26.247 +	test_name[TEST_ROTOZOOMER] = "Rotozoomer";
  26.248 +	test_description[TEST_ROTOZOOMER] = "Rotozoomer test 1. Zooming in and out.";
  26.249 +	total_frames[TEST_ROTOZOOMER] = 2000;
  26.250 +
  26.251 +	test_name[TEST_ROTOZOOMER_NEAR] = "Rotozoomer Near";
  26.252 +	test_description[TEST_ROTOZOOMER_NEAR] = "Rotozoomer test 2. Close up, optimum speed, cache does not affect.";
  26.253 +	total_frames[TEST_ROTOZOOMER_NEAR] = 2500;
  26.254 +
  26.255 +	test_name[TEST_ROTOZOOMER_FAR] = "Rotozoomer Far";
  26.256 +	test_description[TEST_ROTOZOOMER_FAR] = "Rotozoomer test 3. Far in the distance. Slowest version because of cache misses. Good tests for cache performance.";
  26.257 +	total_frames[TEST_ROTOZOOMER_FAR] = 1500;
  26.258 +
  26.259 +	test_name[TEST_RADIALBLUR] = "Radial Blur";
  26.260 +	test_description[TEST_RADIALBLUR] = "A true RGB effect with lot's of reads and huge arrays. The way this effect was written is not cache friendly and that could be also a good test for cache or memory read performance.";
  26.261 +	total_frames[TEST_RADIALBLUR] = 500;
  26.262 +
  26.263 +	test_name[TEST_BUNNY3D] = "3D Bunny";
  26.264 +	test_description[TEST_BUNNY3D] = "This is a massive model (69451 polygons) and a total overkill for most handhelds. Also, this is software rendering.";
  26.265 +	total_frames[TEST_BUNNY3D] = 80;
  26.266 +
  26.267 +	int sum_frames = 0;
  26.268 +	int i = 0;
  26.269 +	for (i=0; i<NUM_TESTS; i++)
  26.270 +	{
  26.271 +		test_fps[i] = 0;
  26.272 +		start_frames[i] = sum_frames;
  26.273 +		sum_frames += total_frames[i];
  26.274 +	}
  26.275 +	start_frames[i] = sum_frames;
  26.276 +}
  26.277 +
  26.278 +void RasterScreen(int ntime, int sr, int sg, int sb, unsigned short *vram)
  26.279 +{
  26.280 +	float t = (float)ntime / 4.0f;
  26.281 +
  26.282 +	for (int y=0; y<ScreenHeight; y++)
  26.283 +	{
  26.284 +		int yp = (int)(sin((y+4*t)/15.0f)*cos((y-3*t)/63.0f)*15 + 16);
  26.285 +		for (int x=0; x<ScreenWidth; x++)
  26.286 +		{
  26.287 +			*vram++ = ((yp>>sr)<<11) | (((yp << 1)>>sg) << 5) | (yp>>sb);
  26.288 +		}
  26.289 +	}
  26.290 +}
  26.291 +
  26.292 +void SquaresScreen(int ntime, unsigned short *vram)
  26.293 +{
  26.294 +	int t = ntime >> 1;
  26.295 +
  26.296 +	for (int y=0; y<ScreenHeight; y++)
  26.297 +	{
  26.298 +		for (int x=0; x<ScreenWidth; x++)
  26.299 +		{
  26.300 +			int c = (((x - t) & 15)==0 || ((y - t) & 15)==0) * 15;
  26.301 +			*vram++ = ((c>>3)<<11) | (((c << 1)>>2) << 5) | (c>>1);
  26.302 +		}
  26.303 +	}
  26.304 +}
  26.305 +
  26.306 +void RenderTestDescription(int test_num, int ntime, unsigned short *vram)
  26.307 +{
  26.308 +	sprintf(sbuffer, test_name[test_num]);
  26.309 +	DrawText(8, 8, 16, true, sbuffer, vram);
  26.310 +
  26.311 +	sprintf(sbuffer, test_description[test_num]);
  26.312 +	DrawText(384 - 4 * ntime, 160, 256, false, sbuffer, vram);
  26.313 +}
  26.314 +
  26.315 +void DrawBar(int char_y, float percentage, unsigned short *vram)
  26.316 +{
  26.317 +	int xp = (int)((ScreenWidth - 4) * percentage);
  26.318 +
  26.319 +	unsigned short cbar = (7 << 11) | (31 << 5) | 15;
  26.320 +
  26.321 +	for (int y=0; y<9; y++)
  26.322 +	{
  26.323 +		int yi = char_y * 11 + y + 2;
  26.324 +		for (int x=0; x<=xp; x++)
  26.325 +		{
  26.326 +			int xi = 2 + x;
  26.327 +			int i = yi * ScreenWidth + xi;
  26.328 +			*(vram + i) |= cbar;
  26.329 +		}
  26.330 +	}
  26.331 +}
  26.332 +
  26.333 +void RenderTestResults(int ntime, float res_max, unsigned short *vram)
  26.334 +{
  26.335 +	int tmaxframe = 64;
  26.336 +	float tscale = (float)ntime / float(tmaxframe);
  26.337 +	if (tscale > 1.0f) tscale = 1.0f;
  26.338 +
  26.339 +	for (int i=0; i<NUM_TESTS; i++)
  26.340 +	{
  26.341 +		sprintf(sbuffer, "%s", test_name[i]);
  26.342 +		DrawText(8, i * 11 + 3, 32, false, sbuffer, vram);
  26.343 +
  26.344 +		sprintf(sbuffer, "%.1f", test_fps[i]);
  26.345 +		DrawText(256, i * 11 + 3, 32, false, sbuffer, vram);
  26.346 +
  26.347 +		DrawBar(i, (test_fps[i] / res_max) * tscale, vram);
  26.348 +	}
  26.349 +}
  26.350 +
  26.351 +void show_test_description(int test_num, unsigned short *vram)
  26.352 +{
  26.353 +	where_is = DESC;
  26.354 +
  26.355 +	int tframe = 0;
  26.356 +	desc_next = 0;
  26.357 +
  26.358 +	srand(SDL_GetTicks());
  26.359 +
  26.360 +	int sr = (rand() % 2) + 1;
  26.361 +	int sg = (rand() % 2) + 1;
  26.362 +	int sb = (rand() % 2) + 1;
  26.363 +
  26.364 +	int l = 2 * strlen(test_description[test_num]) + 2 * 56;
  26.365 +
  26.366 +	while (!desc_next && tframe < l)
  26.367 +	{
  26.368 +		RasterScreen(tframe, sr, sg, sb, vram);
  26.369 +		RenderTestDescription(test_num, tframe, vram);
  26.370 +		SDL_Flip(screen);
  26.371 +		speeddown(20);
  26.372 +		KeyCommands();
  26.373 +		tframe++;
  26.374 +	}
  26.375 +}
  26.376 +
  26.377 +float find_max_result()
  26.378 +{
  26.379 +	float max = 0.0f;
  26.380 +	for (int i=0; i<NUM_TESTS; i++)
  26.381 +	{
  26.382 +		if (test_fps[i] > max) max = test_fps[i];
  26.383 +	}
  26.384 +
  26.385 +	return max;
  26.386 +}
  26.387 +
  26.388 +void show_test_results(unsigned short *vram)
  26.389 +{
  26.390 +	where_is = RES;
  26.391 +
  26.392 +	int tframe = 0;
  26.393 +
  26.394 +	float fmax = find_max_result();
  26.395 +
  26.396 +	while (!quit)
  26.397 +	{
  26.398 +		SquaresScreen(tframe, vram);
  26.399 +		RenderTestResults(tframe, fmax, vram);
  26.400 +		SDL_Flip(screen);
  26.401 +		speeddown(20);
  26.402 +		KeyCommands();
  26.403 +		tframe++;
  26.404 +	}
  26.405 +}
  26.406 +
  26.407 +
  26.408 +void RunBenchScript(int ntime, unsigned short *vram)
  26.409 +{
  26.410 +	for (int i=0; i<=NUM_TESTS; i++)
  26.411 +	{
  26.412 +		if (nframe == start_frames[i])
  26.413 +		{
  26.414 +			if (i<NUM_TESTS)
  26.415 +				show_test_description(i, vram);
  26.416 +
  26.417 +			test_time_start = SDL_GetTicks();
  26.418 +		}
  26.419 +
  26.420 +		if (nframe == start_frames[i]-1)
  26.421 +			test_fps[i-1] = (float)total_frames[i-1] / ((float)(SDL_GetTicks() - test_time_start) / 1000.0f);
  26.422 +	}
  26.423 +
  26.424 +	if (where_is==RES)
  26.425 +		show_test_results(vram);
  26.426 +
  26.427 +	if (nframe >= start_frames[TEST_BLITTING] && nframe < start_frames[TEST_PLASMA])
  26.428 +	{
  26.429 +		RunBlitting(ntime, vram);
  26.430 +	}
  26.431 +	else if (nframe >= start_frames[TEST_PLASMA] && nframe < start_frames[TEST_ROTOZOOMER])
  26.432 +	{
  26.433 +		RunPlasma(ntime, vram);
  26.434 +	}
  26.435 +	else if (nframe >= start_frames[TEST_ROTOZOOMER] && nframe < start_frames[TEST_ROTOZOOMER_NEAR])
  26.436 +	{
  26.437 +		RunRotozoomerNormal(ntime, vram);
  26.438 +	}
  26.439 +	else if (nframe >= start_frames[TEST_ROTOZOOMER_NEAR] && nframe < start_frames[TEST_ROTOZOOMER_FAR])
  26.440 +	{
  26.441 +		RunRotozoomerNear(ntime, vram);
  26.442 +	}
  26.443 +	else if (nframe >= start_frames[TEST_ROTOZOOMER_FAR] && nframe < start_frames[TEST_RADIALBLUR])
  26.444 +	{
  26.445 +		RunRotozoomerFar(ntime, vram);
  26.446 +	}
  26.447 +	else if (nframe >= start_frames[TEST_RADIALBLUR] && nframe < start_frames[TEST_BUNNY3D])
  26.448 +	{
  26.449 +		RunRadialblur(ntime, vram);
  26.450 +	}
  26.451 +	else if (nframe >= start_frames[TEST_BUNNY3D] && nframe < start_frames[NUM_TESTS])
  26.452 +	{
  26.453 +		RunBunny3D(ntime, vram);
  26.454 +	}
  26.455 +	else
  26.456 +	{
  26.457 +		show_test_results(vram);
  26.458 +	}
  26.459 +}
  26.460 +
  26.461 +void RunBench()
  26.462 +{
  26.463 +	while (!quit)
  26.464 +	{
  26.465 +		where_is = BENCH;
  26.466 +		KeyCommands();
  26.467 +
  26.468 +		unsigned short *vram = (unsigned short*)screen->pixels;
  26.469 +		RunBenchScript(nframe, vram);
  26.470 +
  26.471 +		ShowFPS(vram);
  26.472 +
  26.473 +		SDL_Flip(screen);
  26.474 +		nframe++;
  26.475 +	}
  26.476 +}
  26.477 +
  26.478 +void BackToSystem()
  26.479 +{
  26.480 +	#if defined ProjectCaanoo || defined ProjectWiz
  26.481 +		SDL_Quit();
  26.482 +		chdir("/usr/gp2x");
  26.483 +		execl("/usr/gp2x/gp2xmenu", "/usr/gp2x/gp2xmenu", NULL);
  26.484 +	#endif
  26.485 +}
  26.486 +
  26.487 +int main (int argc, char *argv[])
  26.488 +{
  26.489 +	Init();
  26.490 +
  26.491 +	InitBench();
  26.492 +	RunBench();
  26.493 +
  26.494 +	BackToSystem();
  26.495 +}
    27.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    27.2 +++ b/src/main.h	Wed Jun 05 22:33:37 2013 +0300
    27.3 @@ -0,0 +1,34 @@
    27.4 +#ifndef MAIN_H
    27.5 +#define MAIN_H
    27.6 +
    27.7 +//#define ProjectWin
    27.8 +#define ProjectCaanoo
    27.9 +//#define ProjectWiz
   27.10 +
   27.11 +//#define ProjectGP2X
   27.12 +//#define ProjectDingoo
   27.13 +
   27.14 +#define ScreenWidth 320
   27.15 +#define ScreenHeight 240
   27.16 +#define ScreenSize (ScreenWidth * ScreenHeight)
   27.17 +
   27.18 +#define pi 3.14151693
   27.19 +#define d2r (180.0/pi)
   27.20 +
   27.21 +enum {MENU, BENCH, DESC, RES};
   27.22 +
   27.23 +enum {TEST_BLITTING, TEST_PLASMA, TEST_ROTOZOOMER, TEST_ROTOZOOMER_NEAR, TEST_ROTOZOOMER_FAR, TEST_RADIALBLUR, TEST_BUNNY3D, NUM_TESTS};
   27.24 +
   27.25 +#ifdef ProjectCaanoo
   27.26 +    #define BUTTON_A    0
   27.27 +    #define BUTTON_HOME 6
   27.28 +#endif
   27.29 +
   27.30 +#ifdef ProjectWiz
   27.31 +    #define BUTTON_A    12
   27.32 +    #define BUTTON_HOME 8
   27.33 +#endif
   27.34 +
   27.35 +void ClearScreen(unsigned short *vram);
   27.36 +
   27.37 +#endif
    28.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    28.2 +++ b/src/plasma.cpp	Wed Jun 05 22:33:37 2013 +0300
    28.3 @@ -0,0 +1,41 @@
    28.4 +#include <math.h>
    28.5 +#include "main.h"
    28.6 +
    28.7 +int fsin1[4096],fsin2[4096],fsin3[4096];
    28.8 +unsigned short rgb[256];
    28.9 +
   28.10 +void InitPlasma()
   28.11 +{
   28.12 +	float l = 4.0;
   28.13 +	for (int i=0; i<4096; i++)
   28.14 +	{
   28.15 +		fsin1[i] = (int)(sin(i/(l*15.0))*96.0+96.0);
   28.16 +		fsin2[i] = (int)(sin(i/(l*20.0))*112.0+112.0);
   28.17 +		fsin3[i] = (int)(sin(i/(l*35.0))*128.0+128.0);
   28.18 +	}
   28.19 +
   28.20 +	for (int i=0; i<64; i++)
   28.21 +	{
   28.22 +        rgb[i] = ((i>>1)<<11) | ((i>>1)<<5);
   28.23 +	    rgb[64+i] = ((31-(i>>2))<<11) | (((i>>1)+32)<<5) | (i>>1);
   28.24 +	    rgb[128+i] = ((16-(i>>2))<<11) | ((63-(i>>1))<<5) | 31;
   28.25 +	    rgb[192+i] = ((31-(i>>1))<<5) | (31-(i>>1));
   28.26 +	}
   28.27 +}
   28.28 +
   28.29 +void RunPlasma(int ntime, unsigned short *vram)
   28.30 +{
   28.31 + 	int k1 = ntime;
   28.32 +    int k3 = 3 * ntime;
   28.33 + 	if (k1>503) k1 = k1-(k1/503)*503;
   28.34 + 	if (k3>880) k3 = k3-(k3/880)*880;
   28.35 +
   28.36 +	for (int y=0; y<ScreenHeight; y++)
   28.37 +	{
   28.38 +		for (int x=0; x<ScreenWidth; x++)
   28.39 +		{
   28.40 +			unsigned char c = fsin1[x] + fsin2[y+k1] + fsin3[x+y+k3];
   28.41 +			*vram++ = rgb[c];
   28.42 +		}
   28.43 +	}
   28.44 +}
    29.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    29.2 +++ b/src/plasma.h	Wed Jun 05 22:33:37 2013 +0300
    29.3 @@ -0,0 +1,7 @@
    29.4 +#ifndef PLASMA_H
    29.5 +#define PLASMA_H
    29.6 +
    29.7 +void InitPlasma();
    29.8 +void RunPlasma(int ntime, unsigned short *vram);
    29.9 +
   29.10 +#endif
    30.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    30.2 +++ b/src/radialblur.cpp	Wed Jun 05 22:33:37 2013 +0300
    30.3 @@ -0,0 +1,198 @@
    30.4 +#include <math.h>
    30.5 +
    30.6 +#include "main.h"
    30.7 +#include "sky1.h"
    30.8 +
    30.9 +unsigned char rbmp[ScreenSize];
   30.10 +unsigned char gbmp[ScreenSize];
   30.11 +unsigned char bbmp[ScreenSize];
   30.12 +
   30.13 +unsigned char rbuffer[ScreenSize];
   30.14 +unsigned char gbuffer[ScreenSize];
   30.15 +unsigned char bbuffer[ScreenSize];
   30.16 +
   30.17 +short radir0[ScreenSize];
   30.18 +short radir1[ScreenSize];
   30.19 +short radir2[ScreenSize];
   30.20 +
   30.21 +short radir3[ScreenSize];
   30.22 +short radir4[ScreenSize];
   30.23 +short radir5[ScreenSize];
   30.24 +
   30.25 +void InitRadialBitmap1()
   30.26 +{
   30.27 +    int x, y, i = 0;
   30.28 +    unsigned short c;
   30.29 +    for (y=0; y<ScreenHeight; y++)
   30.30 +    {
   30.31 +        for (x=0; x<ScreenWidth; x ++)
   30.32 +        {
   30.33 +            c = sky1[(x&255) + (((ScreenHeight-1)-y)<<8)];
   30.34 +            rbmp[i] = ((c>>11) & 31) << 3;
   30.35 +            gbmp[i] = ((c>>5) & 63) << 2;
   30.36 +            bbmp[i] = (c & 31) << 3;
   30.37 +            i++;
   30.38 +        }
   30.39 +    }
   30.40 +}
   30.41 +
   30.42 +void InitRadialblur()
   30.43 +{
   30.44 +    InitRadialBitmap1();
   30.45 +
   30.46 +    float rb_shortness = 4.0f;
   30.47 +
   30.48 +    int xi, yi;
   30.49 +    int i=0;
   30.50 +    int x, y;
   30.51 +    for (y=0; y<ScreenHeight; y++)
   30.52 +    {
   30.53 +        for (x=0; x<ScreenWidth; x++)
   30.54 +        {
   30.55 +            xi = (int)(-(x/rb_shortness));
   30.56 +            yi = (int)(-(y/rb_shortness));
   30.57 +            radir0[i] = (xi>>1) + (yi>>1)*ScreenWidth;
   30.58 +            radir1[i] = (xi>>2) + (yi>>2)*ScreenWidth;
   30.59 +            radir2[i] = (xi>>3) + (yi>>3)*ScreenWidth;
   30.60 +            i++;
   30.61 +        }
   30.62 +    }
   30.63 +
   30.64 +    i=0;
   30.65 +    for (y=0; y<ScreenHeight; y++)
   30.66 +    {
   30.67 +        for (x=0; x<ScreenWidth; x++)
   30.68 +        {
   30.69 +            xi = (int)(-(x/rb_shortness));
   30.70 +            yi = (int)(y/rb_shortness);
   30.71 +            radir3[i] = (xi>>1) + (yi>>1)*ScreenWidth;
   30.72 +            radir4[i] = (xi>>2) + (yi>>2)*ScreenWidth;
   30.73 +            radir5[i] = (xi>>3) + (yi>>3)*ScreenWidth;
   30.74 +            i++;
   30.75 +        }
   30.76 +    }
   30.77 +}
   30.78 +
   30.79 +
   30.80 +void InitRadialBitmapCopy()
   30.81 +{
   30.82 +    int i;
   30.83 +    unsigned int *rbuffer32 = (unsigned int*)rbuffer, *gbuffer32 = (unsigned int*)gbuffer, *bbuffer32 = (unsigned int*)bbuffer;
   30.84 +	for (i=0; i<ScreenSize; i+=4)
   30.85 +	{
   30.86 +        *rbuffer32++ = rbmp[i] | (rbmp[i+1]<<8) | (rbmp[i+2]<<16) | (rbmp[i+3]<<24);
   30.87 +        *gbuffer32++ = gbmp[i] | (gbmp[i+1]<<8) | (gbmp[i+2]<<16) | (gbmp[i+3]<<24);
   30.88 +        *bbuffer32++ = bbmp[i] | (bbmp[i+1]<<8) | (bbmp[i+2]<<16) | (bbmp[i+3]<<24);
   30.89 +    }
   30.90 +}
   30.91 +
   30.92 +void Radial(int ntime, unsigned short *vram)
   30.93 +{
   30.94 +	int i,ri;
   30.95 +
   30.96 +    int dcx = (int)(sin((float)ntime/23.0f)*(ScreenWidth>>1));
   30.97 +    int dcy = (int)(sin((float)ntime/32.0f)*(ScreenHeight>>1));
   30.98 +    int dci = dcx + dcy*ScreenWidth;
   30.99 +
  30.100 +    InitRadialBitmapCopy();
  30.101 +
  30.102 +    unsigned short *avram;
  30.103 +
  30.104 +// 1o tetarthmorio
  30.105 +
  30.106 + 	avram=(unsigned short*)vram + (ScreenWidth/2-1) + (ScreenHeight/2-1)*ScreenWidth + dci;
  30.107 +
  30.108 +	i=(ScreenWidth/2-1) + (ScreenHeight/2-1)*ScreenWidth + dci;
  30.109 +	ri=0;
  30.110 +      for (int y=ScreenHeight/2-1+dcy; y>=0; y--)
  30.111 +      {
  30.112 +            for (int x=ScreenWidth/2-1+dcx; x>=0; x--)
  30.113 +            {
  30.114 +
  30.115 +                rbuffer[i] = (rbuffer[i] + rbuffer[i - radir0[ri]] + rbuffer[i - radir1[ri]] + rbuffer[i - radir2[ri]])>>2;
  30.116 +                gbuffer[i] = (gbuffer[i] + gbuffer[i - radir0[ri]] + gbuffer[i - radir1[ri]] + gbuffer[i - radir2[ri]])>>2;
  30.117 +                bbuffer[i] = (bbuffer[i] + bbuffer[i - radir0[ri]] + bbuffer[i - radir1[ri]] + bbuffer[i - radir2[ri]])>>2;
  30.118 +                *avram-- = ((rbuffer[i]>>3)<<11) | ((gbuffer[i]>>2)<<5) | (bbuffer[i]>>3);
  30.119 +                i--;
  30.120 +                ri++;
  30.121 +            }
  30.122 +            i=i-ScreenWidth/2+dcx;
  30.123 +            ri+=ScreenWidth/2-dcx;
  30.124 +            avram=avram-ScreenWidth/2+dcx;
  30.125 +      }
  30.126 +
  30.127 +
  30.128 +// 2 tetarthmorio
  30.129 +
  30.130 + 	avram=(unsigned short*)vram + ScreenWidth/2 + (ScreenHeight/2-1)*ScreenWidth + dci;
  30.131 +
  30.132 +	i=ScreenWidth/2 + (ScreenHeight/2-1)*ScreenWidth + dci;
  30.133 +	ri=0;
  30.134 +      for (int y=ScreenHeight/2-1+dcy; y>=0; y--)
  30.135 +      {
  30.136 +            for (int x=ScreenWidth/2+dcx; x<ScreenWidth; x++)
  30.137 +            {
  30.138 +                rbuffer[i] = (rbuffer[i] + rbuffer[i + radir3[ri]] + rbuffer[i + radir4[ri]] + rbuffer[i + radir5[ri]])>>2;
  30.139 +                gbuffer[i] = (gbuffer[i] + gbuffer[i + radir3[ri]] + gbuffer[i + radir4[ri]] + gbuffer[i + radir5[ri]])>>2;
  30.140 +                bbuffer[i] = (bbuffer[i] + bbuffer[i + radir3[ri]] + bbuffer[i + radir4[ri]] + bbuffer[i + radir5[ri]])>>2;
  30.141 +                *avram++ = ((rbuffer[i]>>3)<<11) | ((gbuffer[i]>>2)<<5) | (bbuffer[i]>>3);
  30.142 +                i++;
  30.143 +                ri++;
  30.144 +            }
  30.145 +            i=i-3*(ScreenWidth/2)+dcx;
  30.146 +            ri+=ScreenWidth/2+dcx;
  30.147 +            avram=avram-3*(ScreenWidth/2)+dcx;
  30.148 +      }
  30.149 +
  30.150 +
  30.151 +// 3 tetarthmorio
  30.152 +
  30.153 + 	avram=(unsigned short*)vram + ScreenWidth/2 + (ScreenHeight/2)*ScreenWidth + dci;
  30.154 +
  30.155 +	i=ScreenWidth/2 + (ScreenHeight/2)*ScreenWidth + dci;
  30.156 +	ri=0;
  30.157 +      for (int y=ScreenHeight/2+dcy; y<ScreenHeight; y++)
  30.158 +      {
  30.159 +            for (int x=ScreenWidth/2+dcx; x<ScreenWidth; x++)
  30.160 +            {
  30.161 +                rbuffer[i] = (rbuffer[i] + rbuffer[i + radir0[ri]] + rbuffer[i + radir1[ri]] + rbuffer[i + radir2[ri]])>>2;
  30.162 +                gbuffer[i] = (gbuffer[i] + gbuffer[i + radir0[ri]] + gbuffer[i + radir1[ri]] + gbuffer[i + radir2[ri]])>>2;
  30.163 +                bbuffer[i] = (bbuffer[i] + bbuffer[i + radir0[ri]] + bbuffer[i + radir1[ri]] + bbuffer[i + radir2[ri]])>>2;
  30.164 +                *avram++ = ((rbuffer[i]>>3)<<11) | ((gbuffer[i]>>2)<<5) | (bbuffer[i]>>3);
  30.165 +                i++;
  30.166 +                ri++;
  30.167 +            }
  30.168 +            i+=ScreenWidth/2+dcx;
  30.169 +            ri+=ScreenWidth/2+dcx;
  30.170 +            avram+=ScreenWidth/2+dcx;
  30.171 +      }
  30.172 +
  30.173 +
  30.174 +
  30.175 +// 4o tetarthmorio
  30.176 +
  30.177 + 	avram=(unsigned short*)vram + (ScreenWidth/2-1) + (ScreenHeight/2)*ScreenWidth + dci;
  30.178 +
  30.179 +	i=(ScreenWidth/2-1) + (ScreenHeight/2)*ScreenWidth + dci;
  30.180 +	ri=0;
  30.181 +      for (int y=ScreenHeight/2+dcy; y<ScreenHeight; y++)
  30.182 +      {
  30.183 +            for (int x=ScreenWidth/2-1+dcx; x>=0; x--)
  30.184 +            {
  30.185 +                rbuffer[i] = (rbuffer[i] + rbuffer[i - radir3[ri]] + rbuffer[i - radir4[ri]] + rbuffer[i - radir5[ri]])>>2;
  30.186 +                gbuffer[i] = (gbuffer[i] + gbuffer[i - radir3[ri]] + gbuffer[i - radir4[ri]] + gbuffer[i - radir5[ri]])>>2;
  30.187 +                bbuffer[i] = (bbuffer[i] + bbuffer[i - radir3[ri]] + bbuffer[i - radir4[ri]] + bbuffer[i - radir5[ri]])>>2;
  30.188 +                *avram-- = ((rbuffer[i]>>3)<<11) | ((gbuffer[i]>>2)<<5) | (bbuffer[i]>>3);
  30.189 +                i--;
  30.190 +                ri++;
  30.191 +            }
  30.192 +            i+=3*(ScreenWidth/2)+dcx;
  30.193 +            ri+=ScreenWidth/2-dcx;
  30.194 +            avram+=3*(ScreenWidth/2)+dcx;
  30.195 +      }
  30.196 +}
  30.197 +
  30.198 +void RunRadialblur(int ntime, unsigned short *vram)
  30.199 +{
  30.200 +    Radial(ntime, vram);
  30.201 +}
    31.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    31.2 +++ b/src/radialblur.h	Wed Jun 05 22:33:37 2013 +0300
    31.3 @@ -0,0 +1,7 @@
    31.4 +#ifndef RADIALBLUR_H
    31.5 +#define RADIALBLUR_H
    31.6 +
    31.7 +void InitRadialblur();
    31.8 +void RunRadialblur(int ntime, unsigned short *vram);
    31.9 +
   31.10 +#endif
    32.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    32.2 +++ b/src/render3d.cpp	Wed Jun 05 22:33:37 2013 +0300
    32.3 @@ -0,0 +1,1785 @@
    32.4 +#include <math.h>
    32.5 +#include <stdlib.h>
    32.6 +#include <string.h>
    32.7 +
    32.8 +#include "engine3d.h"
    32.9 +#include "render3d.h"
   32.10 +#include "main.h"
   32.11 +
   32.12 +unsigned char ball_c[256];
   32.13 +unsigned int ball_p[256];
   32.14 +
   32.15 +extern unsigned short swp[MAXDATA];
   32.16 +int zdata[MAXDATA];
   32.17 +
   32.18 +extern point3d fpts[MAXDATA];
   32.19 +extern point3d norms[MAXDATA];
   32.20 +extern point3d pt_norms[MAXDATA];
   32.21 +extern point2d spts[MAXDATA];
   32.22 +extern point3d spls[MAXDATA];
   32.23 +tcord point_tc[MAXDATA];
   32.24 +
   32.25 +unsigned int RenderMode = ENVMAP;
   32.26 +
   32.27 +unsigned int zbuffer[ScreenSize];
   32.28 +
   32.29 +int pdiv[4096];
   32.30 +
   32.31 +extern int prticks;
   32.32 +int zb = 1;
   32.33 +
   32.34 +int mlk = 8;
   32.35 +
   32.36 +void initRender3D()
   32.37 +{
   32.38 +    int fp = 16;
   32.39 +    int i;
   32.40 +    for (i=0; i<4096; i++)
   32.41 +    {
   32.42 +        if ((i-2048)!=0)
   32.43 +            pdiv[i] = (1<<fp)/(i-2048);
   32.44 +        else
   32.45 +            pdiv[i] = (1<<fp);
   32.46 +    }
   32.47 +}
   32.48 +
   32.49 +static inline void drawpoint(point2d point, unsigned short *vram)
   32.50 +{
   32.51 +    if (point.x>=0 && point.x<ScreenWidth && point.y>=0 && point.y<ScreenHeight)
   32.52 +		*(vram + point.x + point.y * ScreenWidth) = 0xFFFF;
   32.53 +}
   32.54 +
   32.55 +
   32.56 +static inline void drawline (line2d line, unsigned short *vram)
   32.57 +{
   32.58 +
   32.59 +	int x1 = spts[line.p0].x;
   32.60 +	int y1 = spts[line.p0].y;
   32.61 +	int x2 = spts[line.p1].x;
   32.62 +	int y2 = spts[line.p1].y;
   32.63 +	int c = line.c;
   32.64 +
   32.65 +	int dx, dy, n, l;
   32.66 +	int x00, y00;
   32.67 +	int fp = 12;
   32.68 +	int vramofs;
   32.69 +
   32.70 +	int x, y;
   32.71 +
   32.72 +	dx = x2 - x1;
   32.73 +	dy = y2 - y1;
   32.74 +
   32.75 +	if (abs(dy) < abs(dx))
   32.76 +	{
   32.77 +		if (x1>x2)
   32.78 +		{
   32.79 +			n = x1; x1 = x2; x2 = n;
   32.80 +			n = y1; y1 = y2; y2 = n;
   32.81 +		}
   32.82 +
   32.83 +        if (dx!=0) l = ((dy<<fp)*pdiv[dx+2048])>>16;
   32.84 +        y00 = y1<<fp;
   32.85 +		for (x=x1; x<x2; x++)
   32.86 +		{
   32.87 +			vramofs = ((y00 += l)>>fp)*ScreenWidth + x;
   32.88 +            if (vramofs>=0 && vramofs<ScreenSize) *(vram + vramofs) = c;
   32.89 +		}
   32.90 +	}
   32.91 +	else
   32.92 +	{
   32.93 +		if (y1>y2)
   32.94 +		{
   32.95 +			n = y1; y1 = y2; y2 = n;
   32.96 +			n = x1; x1 = x2; x2 = n;
   32.97 +		}
   32.98 +
   32.99 +        if (dy!=0) l = ((dx<<fp)*pdiv[dy+2048])>>16;
  32.100 +        x00 = x1<<fp;
  32.101 +
  32.102 +		for (y=y1; y<y2; y++)
  32.103 +		{
  32.104 +			vramofs = y*ScreenWidth + ((x00 += l)>>fp);
  32.105 +            if (vramofs>=0 && vramofs<ScreenSize)  * (vram + vramofs) = c;
  32.106 +		}
  32.107 +
  32.108 +	}
  32.109 +}
  32.110 +
  32.111 +
  32.112 +static inline void DrawFlatTriangle (poly2d poly, unsigned short *vram, unsigned short shade[])
  32.113 +{
  32.114 +int x0 =spts[poly.p0].x; int y0 =spts[poly.p0].y;
  32.115 +int x1 =spts[poly.p1].x; int y1 =spts[poly.p1].y;
  32.116 +int x2 =spts[poly.p2].x; int y2 =spts[poly.p2].y;
  32.117 +int c = shade[poly.c];
  32.118 +
  32.119 +if ((x0<-mlk || x0>ScreenWidth+mlk || y0<-mlk || y0>ScreenHeight+mlk) && 
  32.120 +    (x1<-mlk || x1>ScreenWidth+mlk || y1<-mlk || y1>ScreenHeight+mlk) && 
  32.121 +    (x2<-mlk || x2>ScreenWidth+mlk || y2<-mlk || y2>ScreenHeight+mlk)) return;
  32.122 +
  32.123 +//156-187
  32.124 +// ===== Sort =====
  32.125 +
  32.126 +int temp;
  32.127 +if (y1<y0)
  32.128 +{
  32.129 +    temp = x0; x0 = x1; x1 = temp;
  32.130 +    temp = y0; y0 = y1; y1 = temp;
  32.131 +}
  32.132 +if (y2<y0)
  32.133 +{
  32.134 +    temp = x0; x0 = x2; x2 = temp;
  32.135 +    temp = y0; y0 = y2; y2 = temp;
  32.136 +}
  32.137 +if (y2<y1)
  32.138 +{
  32.139 +    temp = x1; x1 = x2; x2 = temp;
  32.140 +    temp = y1; y1 = y2; y2 = temp;
  32.141 +}
  32.142 +
  32.143 +// ===== Interpolation variables =====
  32.144 +
  32.145 +int n, fp = 8;
  32.146 +int lx01=0, lx12=0, lx02=0;
  32.147 +
  32.148 +int dx01 = x1 - x0;
  32.149 +int dy01 = y1 - y0;
  32.150 +
  32.151 +    if (dy01!=0)
  32.152 +        lx01 = ((dx01<<fp)*pdiv[dy01+2048])>>16;
  32.153 +
  32.154 +int dx12 = x2 - x1;
  32.155 +int dy12 = y2 - y1;
  32.156 +
  32.157 +    if (dy12!=0)
  32.158 +        lx12 = ((dx12<<fp)*pdiv[dy12+2048])>>16;
  32.159 +
  32.160 +int dx02 = x2 - x0;
  32.161 +int dy02 = y2 - y0;
  32.162 +
  32.163 +    if (dy02!=0)
  32.164 +        lx02 = ((dx02<<fp)*pdiv[dy02+2048])>>16;
  32.165 +
  32.166 +int vramofs;
  32.167 +int x, y;
  32.168 +
  32.169 +int x01 = x0<<fp;
  32.170 +int x02 = x01;
  32.171 +
  32.172 +int sx1, sx2;
  32.173 +
  32.174 +    int yp = y0 * ScreenWidth;
  32.175 +    for (y = y0; y<y1; y++)
  32.176 +    {
  32.177 +        sx1 = x01>>fp;
  32.178 +        sx2 = x02>>fp;
  32.179 +
  32.180 +        if (sx1>sx2)
  32.181 +        {
  32.182 +            temp = sx1; sx1 = sx2; sx2 = temp;
  32.183 +        }
  32.184 +
  32.185 +        yp+=ScreenWidth;
  32.186 +        vramofs = yp + sx1;
  32.187 +        for (x = sx1; x<sx2; x++)
  32.188 +        {
  32.189 +            if (vramofs>=0 && vramofs<ScreenSize && x>=0 && x<ScreenWidth)
  32.190 +                *(vram+vramofs)=c;
  32.191 +            vramofs++;
  32.192 +        }
  32.193 +        x01+=lx01;
  32.194 +        x02+=lx02;
  32.195 +    }
  32.196 +
  32.197 +    x01 = x1<<fp;
  32.198 +
  32.199 +    yp = y1 * ScreenWidth;
  32.200 +    for (y = y1; y<y2; y++)
  32.201 +    {
  32.202 +        sx1 = x01>>fp;
  32.203 +        sx2 = x02>>fp;
  32.204 +
  32.205 +        if (sx1>sx2)
  32.206 +        {
  32.207 +            temp = sx1; sx1 = sx2; sx2 = temp;
  32.208 +        }
  32.209 +
  32.210 +        yp+=ScreenWidth;
  32.211 +        vramofs = yp + sx1;
  32.212 +        for (x = sx1; x<sx2; x++)
  32.213 +        {
  32.214 +            if (vramofs>=0 && vramofs<ScreenSize && x>=0 && x<ScreenWidth)
  32.215 +                *(vram+vramofs)=c;
  32.216 +            vramofs++;
  32.217 +        }
  32.218 +        x01+=lx12;
  32.219 +        x02+=lx02;
  32.220 +    }
  32.221 +}
  32.222 +
  32.223 +
  32.224 +static inline void DrawFlatTriangleZB (poly2d poly, unsigned short *vram, unsigned short shade[])
  32.225 +{
  32.226 +int x0 =spts[poly.p0].x; int y0 =spts[poly.p0].y;
  32.227 +int x1 =spts[poly.p1].x; int y1 =spts[poly.p1].y;
  32.228 +int x2 =spts[poly.p2].x; int y2 =spts[poly.p2].y;
  32.229 +int c = shade[poly.c];
  32.230 +
  32.231 +if ((x0<-mlk || x0>ScreenWidth+mlk || y0<-mlk || y0>ScreenHeight+mlk) && 
  32.232 +    (x1<-mlk || x1>ScreenWidth+mlk || y1<-mlk || y1>ScreenHeight+mlk) && 
  32.233 +    (x2<-mlk || x2>ScreenWidth+mlk || y2<-mlk || y2>ScreenHeight+mlk)) return;
  32.234 +
  32.235 +int z0 = fpts[poly.p0].z;
  32.236 +int z1 = fpts[poly.p1].z;
  32.237 +int z2 = fpts[poly.p2].z;
  32.238 +
  32.239 +// ===== Sort =====
  32.240 +
  32.241 +int temp;
  32.242 +if (y1<y0)
  32.243 +{
  32.244 +    temp = x0; x0 = x1; x1 = temp;
  32.245 +    temp = y0; y0 = y1; y1 = temp;
  32.246 +    temp = z0; z0 = z1; z1 = temp;
  32.247 +}
  32.248 +if (y2<y0)
  32.249 +{
  32.250 +    temp = x0; x0 = x2; x2 = temp;
  32.251 +    temp = y0; y0 = y2; y2 = temp;
  32.252 +    temp = z0; z0 = z2; z2 = temp;
  32.253 +}
  32.254 +if (y2<y1)
  32.255 +{
  32.256 +    temp = x1; x1 = x2; x2 = temp;
  32.257 +    temp = y1; y1 = y2; y2 = temp;
  32.258 +    temp = z1; z1 = z2; z2 = temp;
  32.259 +}
  32.260 +
  32.261 +// ===== Interpolation variables =====
  32.262 +
  32.263 +int n, fp = 8;
  32.264 +int lx01=0, lx12=0, lx02=0;
  32.265 +int lz01=0, lz12=0, lz02=0;
  32.266 +
  32.267 +
  32.268 +int dx01 = x1 - x0;
  32.269 +int dy01 = y1 - y0;
  32.270 +int dz01 = z1 - z0;
  32.271 +
  32.272 +    if (dy01!=0)
  32.273 +    {
  32.274 +        lx01 = ((dx01<<fp)*pdiv[dy01+2048])>>16;
  32.275 +        lz01 = (dz01*pdiv[dy01+2048])>>16;
  32.276 +    }
  32.277 +
  32.278 +int dx12 = x2 - x1;
  32.279 +int dy12 = y2 - y1;
  32.280 +int dz12 = z2 - z1;
  32.281 +
  32.282 +    if (dy12!=0)
  32.283 +    {
  32.284 +        lx12 = ((dx12<<fp)*pdiv[dy12+2048])>>16;
  32.285 +        lz12 = (dz12*pdiv[dy12+2048])>>16;
  32.286 +    }
  32.287 +
  32.288 +int dx02 = x2 - x0;
  32.289 +int dy02 = y2 - y0;
  32.290 +int dz02 = z2 - z0;
  32.291 +
  32.292 +    if (dy02!=0)
  32.293 +    {
  32.294 +        lx02 = ((dx02<<fp)*pdiv[dy02+2048])>>16;
  32.295 +        lz02 = (dz02*pdiv[dy02+2048])>>16;
  32.296 +    }
  32.297 +
  32.298 +int vramofs;
  32.299 +int x, y;
  32.300 +
  32.301 +int x01 = x0<<fp;
  32.302 +int x02 = x01;
  32.303 +int z01 = z0;
  32.304 +int z02 = z01;
  32.305 +
  32.306 +int dz;
  32.307 +int sx1, sx2;
  32.308 +int sz1, sz2;
  32.309 +
  32.310 +    int yp = y0 * ScreenWidth;
  32.311 +    for (y = y0; y<y1; y++)
  32.312 +    {
  32.313 +        sx1 = x01>>fp;
  32.314 +        sx2 = x02>>fp;
  32.315 +        sz1 = z01;
  32.316 +        sz2 = z02;
  32.317 +
  32.318 +        if (sx1>sx2)
  32.319 +        {
  32.320 +            temp = sx1; sx1 = sx2; sx2 = temp;
  32.321 +            temp = sz1; sz1 = sz2; sz2 = temp;
  32.322 +        }
  32.323 +        if (sx2!=sx1) dz = ((sz2 - sz1)*pdiv[(sx2-sx1)+2048])>>16;
  32.324 +
  32.325 +        yp+=ScreenWidth;
  32.326 +        vramofs = yp + sx1;
  32.327 +        for (x = sx1; x<sx2; x++)
  32.328 +        {
  32.329 +            sz1+=dz;
  32.330 +            if ((vramofs>=0 && vramofs<ScreenSize && x>=0 && x<ScreenWidth) && sz1<zbuffer[vramofs])
  32.331 +            {
  32.332 +                zbuffer[vramofs] = sz1;
  32.333 +                *(vram+vramofs)=c;
  32.334 +            }
  32.335 +
  32.336 +
  32.337 +            vramofs++;
  32.338 +        }
  32.339 +        x01+=lx01;
  32.340 +        x02+=lx02;
  32.341 +        z01+=lz01;
  32.342 +        z02+=lz02;
  32.343 +    }
  32.344 +
  32.345 +    x01 = x1<<fp;
  32.346 +    z01 = z1;
  32.347 +
  32.348 +    yp = y1 * ScreenWidth;
  32.349 +    for (y = y1; y<y2; y++)
  32.350 +    {
  32.351 +        sx1 = x01>>fp;
  32.352 +        sx2 = x02>>fp;
  32.353 +        sz1 = z01;
  32.354 +        sz2 = z02;
  32.355 +
  32.356 +        if (sx1>sx2)
  32.357 +        {
  32.358 +            temp = sx1; sx1 = sx2; sx2 = temp;
  32.359 +            temp = sz1; sz1 = sz2; sz2 = temp;
  32.360 +        }
  32.361 +
  32.362 +        if (sx2!=sx1) dz = ((sz2 - sz1)*pdiv[(sx2-sx1)+2048])>>16;
  32.363 +
  32.364 +        yp+=ScreenWidth;
  32.365 +        vramofs = yp + sx1;
  32.366 +        for (x = sx1; x<sx2; x++)
  32.367 +        {
  32.368 +            sz1+=dz;
  32.369 +            if ((vramofs>=0 && vramofs<ScreenSize && x>=0 && x<ScreenWidth) && sz1<zbuffer[vramofs])
  32.370 +            {
  32.371 +                zbuffer[vramofs] = sz1;
  32.372 +                *(vram+vramofs)=c;
  32.373 +            }
  32.374 +            vramofs++;
  32.375 +        }
  32.376 +        x01+=lx12;
  32.377 +        x02+=lx02;
  32.378 +        z01+=lz12;
  32.379 +        z02+=lz02;
  32.380 +    }
  32.381 +}
  32.382 +
  32.383 +static inline void DrawGouraudTriangle (poly2d poly, unsigned short *vram, unsigned short shade[])
  32.384 +{
  32.385 +int x0 =spts[poly.p0].x; int y0 =spts[poly.p0].y;
  32.386 +int x1 =spts[poly.p1].x; int y1 =spts[poly.p1].y;
  32.387 +int x2 =spts[poly.p2].x; int y2 =spts[poly.p2].y;
  32.388 +
  32.389 +if ((x0<-mlk || x0>ScreenWidth+mlk || y0<-mlk || y0>ScreenHeight+mlk) && 
  32.390 +    (x1<-mlk || x1>ScreenWidth+mlk || y1<-mlk || y1>ScreenHeight+mlk) && 
  32.391 +    (x2<-mlk || x2>ScreenWidth+mlk || y2<-mlk || y2>ScreenHeight+mlk)) return;
  32.392 +
  32.393 +int c;
  32.394 +int c0 = spts[poly.p0].c;
  32.395 +int c1 = spts[poly.p1].c;
  32.396 +int c2 = spts[poly.p2].c;
  32.397 +
  32.398 +// ===== Sort =====
  32.399 +
  32.400 +int temp;
  32.401 +if (y1<y0)
  32.402 +{
  32.403 +    temp = c0; c0 = c1; c1 = temp;
  32.404 +    temp = x0; x0 = x1; x1 = temp;
  32.405 +    temp = y0; y0 = y1; y1 = temp;
  32.406 +}
  32.407 +if (y2<y0)
  32.408 +{
  32.409 +    temp = c0; c0 = c2; c2 = temp;
  32.410 +    temp = x0; x0 = x2; x2 = temp;
  32.411 +    temp = y0; y0 = y2; y2 = temp;
  32.412 +}
  32.413 +if (y2<y1)
  32.414 +{
  32.415 +    temp = c1; c1 = c2; c2 = temp;
  32.416 +    temp = x1; x1 = x2; x2 = temp;
  32.417 +    temp = y1; y1 = y2; y2 = temp;
  32.418 +}
  32.419 +
  32.420 +// ===== Interpolation variables =====
  32.421 +
  32.422 +int n;
  32.423 +int fp = 8;
  32.424 +int lx01=0, lx12=0, lx02=0;
  32.425 +int lc01=0, lc12=0, lc02=0;
  32.426 +
  32.427 +int dx01 = x1 - x0;
  32.428 +int dy01 = y1 - y0;
  32.429 +int dc01 = c1 - c0;
  32.430 +
  32.431 +    if (dy01!=0)
  32.432 +    {
  32.433 +        lx01 = ((dx01<<fp)*pdiv[dy01+2048])>>16;
  32.434 +        lc01 = ((dc01<<fp)*pdiv[dy01+2048])>>16;
  32.435 +    }
  32.436 +
  32.437 +int dx12 = x2 - x1;
  32.438 +int dy12 = y2 - y1;
  32.439 +int dc12 = c2 - c1;
  32.440 +
  32.441 +    if (dy12!=0)
  32.442 +    {
  32.443 +        lx12 = ((dx12<<fp)*pdiv[dy12+2048])>>16;
  32.444 +        lc12 = ((dc12<<fp)*pdiv[dy12+2048])>>16;
  32.445 +    }
  32.446 +
  32.447 +int dx02 = x2 - x0;
  32.448 +int dy02 = y2 - y0;
  32.449 +int dc02 = c2 - c0;
  32.450 +
  32.451 +    if (dy02!=0)
  32.452 +    {
  32.453 +        lx02 = ((dx02<<fp)*pdiv[dy02+2048])>>16;
  32.454 +        lc02 = ((dc02<<fp)*pdiv[dy02+2048])>>16;
  32.455 +    }
  32.456 +
  32.457 +int vramofs;
  32.458 +int x, y;
  32.459 +
  32.460 +int x01 = x0<<fp;
  32.461 +int x02 = x01;
  32.462 +int c01 = c0<<fp;
  32.463 +int c02 = c01;
  32.464 +
  32.465 +int dc;
  32.466 +int sc1, sc2;
  32.467 +int sx1, sx2;
  32.468 +
  32.469 +    int yp = y0 * ScreenWidth;
  32.470 +    for (y = y0; y<y1; y++)
  32.471 +    {
  32.472 +        sx1 = x01>>fp;
  32.473 +        sx2 = x02>>fp;
  32.474 +        sc1 = c01;
  32.475 +        sc2 = c02;
  32.476 +
  32.477 +        if (sx1>sx2)
  32.478 +        {
  32.479 +            temp = sx1; sx1 = sx2; sx2 = temp;
  32.480 +            temp = sc1; sc1 = sc2; sc2 = temp;
  32.481 +        }
  32.482 +
  32.483 +        if (sx2!=sx1)
  32.484 +            dc = ((sc2 - sc1)*pdiv[(sx2-sx1)+2048])>>16;
  32.485 +
  32.486 +        yp+=ScreenWidth;
  32.487 +        vramofs = yp + sx1;
  32.488 +        for (x = sx1; x<sx2; x++)
  32.489 +        {
  32.490 +            sc1+=dc;
  32.491 +            if (vramofs>=0 && vramofs<ScreenSize && x>=0 && x<ScreenWidth)
  32.492 +            {
  32.493 +                c = sc1>>fp;
  32.494 +                if (c<0) c = 0;
  32.495 +                *(vram+vramofs)=shade[c];
  32.496 +            }
  32.497 +            vramofs++;
  32.498 +        }
  32.499 +        x01+=lx01;
  32.500 +        x02+=lx02;
  32.501 +        c01+=lc01;
  32.502 +        c02+=lc02;
  32.503 +    }
  32.504 +
  32.505 +    x01 = x1<<fp;
  32.506 +    c01 = c1<<fp;
  32.507 +
  32.508 +    yp = y1 * ScreenWidth;
  32.509 +    for (y = y1; y<y2; y++)
  32.510 +    {
  32.511 +        sx1 = x01>>fp;
  32.512 +        sx2 = x02>>fp;
  32.513 +        sc1 = c01;
  32.514 +        sc2 = c02;
  32.515 +
  32.516 +        if (sx1>sx2)
  32.517 +        {
  32.518 +            temp = sx1; sx1 = sx2; sx2 = temp;
  32.519 +            temp = sc1; sc1 = sc2; sc2 = temp;
  32.520 +        }
  32.521 +
  32.522 +        if (sx2!=sx1)
  32.523 +            dc = ((sc2 - sc1)*pdiv[(sx2-sx1)+2048])>>16;
  32.524 +
  32.525 +        yp+=ScreenWidth;
  32.526 +        vramofs = yp + sx1;
  32.527 +        for (x = sx1; x<sx2; x++)
  32.528 +        {
  32.529 +            sc1+=dc;
  32.530 +            if (vramofs>=0 && vramofs<ScreenSize && x>=0 && x<ScreenWidth)
  32.531 +            {
  32.532 +                c = sc1>>fp;
  32.533 +                if (c<0) c = 0;
  32.534 +                *(vram+vramofs)=shade[c];
  32.535 +            }
  32.536 +            vramofs++;
  32.537 +        }
  32.538 +        x01+=lx12;
  32.539 +        x02+=lx02;
  32.540 +        c01+=lc12;
  32.541 +        c02+=lc02;
  32.542 +    }
  32.543 +}
  32.544 +
  32.545 +static inline void DrawGouraudTriangleZB (poly2d poly, unsigned short *vram, unsigned short shade[])
  32.546 +{
  32.547 +int x0 =spts[poly.p0].x; int y0 =spts[poly.p0].y;
  32.548 +int x1 =spts[poly.p1].x; int y1 =spts[poly.p1].y;
  32.549 +int x2 =spts[poly.p2].x; int y2 =spts[poly.p2].y;
  32.550 +
  32.551 +if ((x0<-mlk || x0>ScreenWidth+mlk || y0<-mlk || y0>ScreenHeight+mlk) && 
  32.552 +    (x1<-mlk || x1>ScreenWidth+mlk || y1<-mlk || y1>ScreenHeight+mlk) && 
  32.553 +    (x2<-mlk || x2>ScreenWidth+mlk || y2<-mlk || y2>ScreenHeight+mlk)) return;
  32.554 +
  32.555 +int c;
  32.556 +int c0 = spts[poly.p0].c;
  32.557 +int c1 = spts[poly.p1].c;
  32.558 +int c2 = spts[poly.p2].c;
  32.559 +
  32.560 +int z0 = fpts[poly.p0].z;
  32.561 +int z1 = fpts[poly.p1].z;
  32.562 +int z2 = fpts[poly.p2].z;
  32.563 +
  32.564 +// ===== Sort =====
  32.565 +
  32.566 +int temp;
  32.567 +if (y1<y0)
  32.568 +{
  32.569 +    temp = c0; c0 = c1; c1 = temp;
  32.570 +    temp = z0; z0 = z1; z1 = temp;
  32.571 +    temp = x0; x0 = x1; x1 = temp;
  32.572 +    temp = y0; y0 = y1; y1 = temp;
  32.573 +}
  32.574 +if (y2<y0)
  32.575 +{
  32.576 +    temp = c0; c0 = c2; c2 = temp;
  32.577 +    temp = z0; z0 = z2; z2 = temp;
  32.578 +    temp = x0; x0 = x2; x2 = temp;
  32.579 +    temp = y0; y0 = y2; y2 = temp;
  32.580 +}
  32.581 +if (y2<y1)
  32.582 +{
  32.583 +    temp = c1; c1 = c2; c2 = temp;
  32.584 +    temp = z1; z1 = z2; z2 = temp;
  32.585 +    temp = x1; x1 = x2; x2 = temp;
  32.586 +    temp = y1; y1 = y2; y2 = temp;
  32.587 +}
  32.588 +
  32.589 +// ===== Interpolation variables =====
  32.590 +
  32.591 +int n;
  32.592 +int fp = 8;
  32.593 +int lx01=0, lx12=0, lx02=0;
  32.594 +int lc01=0, lc12=0, lc02=0;
  32.595 +int lz01=0, lz12=0, lz02=0;
  32.596 +
  32.597 +int dx01 = x1 - x0;
  32.598 +int dy01 = y1 - y0;
  32.599 +int dc01 = c1 - c0;
  32.600 +int dz01 = z1 - z0;
  32.601 +
  32.602 +    if (dy01!=0)
  32.603 +    {
  32.604 +        lx01 = ((dx01<<fp)*pdiv[dy01+2048])>>16;
  32.605 +        lc01 = ((dc01<<fp)*pdiv[dy01+2048])>>16;
  32.606 +        lz01 = (dz01*pdiv[dy01+2048])>>16;
  32.607 +    }
  32.608 +
  32.609 +int dx12 = x2 - x1;
  32.610 +int dy12 = y2 - y1;
  32.611 +int dc12 = c2 - c1;
  32.612 +int dz12 = z2 - z1;
  32.613 +
  32.614 +    if (dy12!=0)
  32.615 +    {
  32.616 +        lx12 = ((dx12<<fp)*pdiv[dy12+2048])>>16;
  32.617 +        lc12 = ((dc12<<fp)*pdiv[dy12+2048])>>16;
  32.618 +        lz12 = (dz12*pdiv[dy12+2048])>>16;
  32.619 +    }
  32.620 +
  32.621 +int dx02 = x2 - x0;
  32.622 +int dy02 = y2 - y0;
  32.623 +int dc02 = c2 - c0;
  32.624 +int dz02 = z2 - z0;
  32.625 +
  32.626 +    if (dy02!=0)
  32.627 +    {
  32.628 +        lx02 = ((dx02<<fp)*pdiv[dy02+2048])>>16;
  32.629 +        lc02 = ((dc02<<fp)*pdiv[dy02+2048])>>16;
  32.630 +        lz02 = (dz02*pdiv[dy02+2048])>>16;
  32.631 +    }
  32.632 +
  32.633 +int vramofs;
  32.634 +int x, y;
  32.635 +
  32.636 +int x01 = x0<<fp;
  32.637 +int x02 = x01;
  32.638 +int c01 = c0<<fp;
  32.639 +int c02 = c01;
  32.640 +int z01 = z0;
  32.641 +int z02 = z01;
  32.642 +
  32.643 +int dc, dz;
  32.644 +int sc1, sc2;
  32.645 +int sx1, sx2;
  32.646 +int sz1, sz2;
  32.647 +
  32.648 +    int yp = y0 * ScreenWidth;
  32.649 +    for (y = y0; y<y1; y++)
  32.650 +    {
  32.651 +        sx1 = x01>>fp;
  32.652 +        sx2 = x02>>fp;
  32.653 +        sc1 = c01;
  32.654 +        sc2 = c02;
  32.655 +        sz1 = z01;
  32.656 +        sz2 = z02;
  32.657 +
  32.658 +        if (sx1>sx2)
  32.659 +        {
  32.660 +            temp = sx1; sx1 = sx2; sx2 = temp;
  32.661 +            temp = sc1; sc1 = sc2; sc2 = temp;
  32.662 +            temp = sz1; sz1 = sz2; sz2 = temp;
  32.663 +        }
  32.664 +
  32.665 +        if (sx2!=sx1)
  32.666 +        {
  32.667 +            dc = ((sc2 - sc1)*pdiv[(sx2-sx1)+2048])>>16;
  32.668 +            dz = ((sz2 - sz1)*pdiv[(sx2-sx1)+2048])>>16;
  32.669 +        }
  32.670 +
  32.671 +        yp+=ScreenWidth;
  32.672 +        vramofs = yp + sx1;
  32.673 +        for (x = sx1; x<sx2; x++)
  32.674 +        {
  32.675 +            sc1+=dc;
  32.676 +            sz1+=dz;
  32.677 +            if ((vramofs>=0 && vramofs<ScreenSize && x>=0 && x<ScreenWidth) && sz1<zbuffer[vramofs])
  32.678 +            {
  32.679 +                c = sc1>>fp;
  32.680 +                if (c<0) c=0;
  32.681 +                zbuffer[vramofs] = sz1;
  32.682 +                *(vram+vramofs)=shade[c];
  32.683 +            }
  32.684 +            vramofs++;
  32.685 +        }
  32.686 +        x01+=lx01;
  32.687 +        x02+=lx02;
  32.688 +        c01+=lc01;
  32.689 +        c02+=lc02;
  32.690 +        z01+=lz01;
  32.691 +        z02+=lz02;
  32.692 +    }
  32.693 +
  32.694 +    x01 = x1<<fp;
  32.695 +    c01 = c1<<fp;
  32.696 +    z01 = z1;
  32.697 +
  32.698 +    yp = y1 * ScreenWidth;
  32.699 +    for (y = y1; y<y2; y++)
  32.700 +    {
  32.701 +        sx1 = x01>>fp;
  32.702 +        sx2 = x02>>fp;
  32.703 +        sc1 = c01;
  32.704 +        sc2 = c02;
  32.705 +        sz1 = z01;
  32.706 +        sz2 = z02;
  32.707 +
  32.708 +        if (sx1>sx2)
  32.709 +        {
  32.710 +            temp = sx1; sx1 = sx2; sx2 = temp;
  32.711 +            temp = sc1; sc1 = sc2; sc2 = temp;
  32.712 +            temp = sz1; sz1 = sz2; sz2 = temp;
  32.713 +        }
  32.714 +
  32.715 +        if (sx2!=sx1)
  32.716 +        {
  32.717 +            dc = ((sc2 - sc1)*pdiv[(sx2-sx1)+2048])>>16;
  32.718 +            dz = ((sz2 - sz1)*pdiv[(sx2-sx1)+2048])>>16;
  32.719 +        }
  32.720 +
  32.721 +        yp+=ScreenWidth;
  32.722 +        vramofs = yp + sx1;
  32.723 +        for (x = sx1; x<sx2; x++)
  32.724 +        {
  32.725 +            sc1+=dc;
  32.726 +            sz1+=dz;
  32.727 +            if ((vramofs>=0 && vramofs<ScreenSize && x>=0 && x<ScreenWidth) && sz1<zbuffer[vramofs])
  32.728 +            {
  32.729 +                c = sc1>>fp;
  32.730 +                if (c<0) c=0;
  32.731 +                zbuffer[vramofs] = sz1;
  32.732 +                *(vram+vramofs)=shade[c];
  32.733 +            }
  32.734 +            vramofs++;
  32.735 +        }
  32.736 +        x01+=lx12;
  32.737 +        x02+=lx02;
  32.738 +        c01+=lc12;
  32.739 +        c02+=lc02;
  32.740 +        z01+=lz12;
  32.741 +        z02+=lz02;
  32.742 +    }
  32.743 +}
  32.744 +
  32.745 +static inline void DrawTextureTriangle(poly2d poly, unsigned short *vram, int tshr, unsigned short texture[])
  32.746 +{
  32.747 +int x0 =spts[poly.p0].x; int y0 =spts[poly.p0].y;
  32.748 +int x1 =spts[poly.p1].x; int y1 =spts[poly.p1].y;
  32.749 +int x2 =spts[poly.p2].x; int y2 =spts[poly.p2].y;
  32.750 +
  32.751 +if ((x0<-mlk || x0>ScreenWidth+mlk || y0<-mlk || y0>ScreenHeight+mlk) && 
  32.752 +    (x1<-mlk || x1>ScreenWidth+mlk || y1<-mlk || y1>ScreenHeight+mlk) && 
  32.753 +    (x2<-mlk || x2>ScreenWidth+mlk || y2<-mlk || y2>ScreenHeight+mlk)) return;
  32.754 +
  32.755 +int c;
  32.756 +
  32.757 +int u0 = poly.tc0.u; int v0 = poly.tc0.v;
  32.758 +int u1 = poly.tc1.u; int v1 = poly.tc1.v;
  32.759 +int u2 = poly.tc2.u; int v2 = poly.tc2.v;
  32.760 +
  32.761 +// ===== Sort =====
  32.762 +
  32.763 +int temp;
  32.764 +if (y1<y0)
  32.765 +{
  32.766 +    temp = u0; u0 = u1; u1 = temp;
  32.767 +    temp = v0; v0 = v1; v1 = temp;
  32.768 +    temp = x0; x0 = x1; x1 = temp;
  32.769 +    temp = y0; y0 = y1; y1 = temp;
  32.770 +}
  32.771 +if (y2<y0)
  32.772 +{
  32.773 +    temp = u0; u0 = u2; u2 = temp;
  32.774 +    temp = v0; v0 = v2; v2 = temp;
  32.775 +    temp = x0; x0 = x2; x2 = temp;
  32.776 +    temp = y0; y0 = y2; y2 = temp;
  32.777 +}
  32.778 +if (y2<y1)
  32.779 +{
  32.780 +    temp = u1; u1 = u2; u2 = temp;
  32.781 +    temp = v1; v1 = v2; v2 = temp;
  32.782 +    temp = x1; x1 = x2; x2 = temp;
  32.783 +    temp = y1; y1 = y2; y2 = temp;
  32.784 +}
  32.785 +
  32.786 +// ===== Interpolation variables =====
  32.787 +
  32.788 +int n;
  32.789 +int fp = 8;
  32.790 +int lx01=0, lx12=0, lx02=0;
  32.791 +int lu01=0, lu12=0, lu02=0;
  32.792 +int lv01=0, lv12=0, lv02=0;
  32.793 +
  32.794 +int dx01 = x1 - x0;
  32.795 +int dy01 = y1 - y0;
  32.796 +int du01 = u1 - u0;
  32.797 +int dv01 = v1 - v0;
  32.798 +
  32.799 +    if (dy01!=0)
  32.800 +    {
  32.801 +        lx01 = ((dx01<<fp)*pdiv[dy01+2048])>>16;
  32.802 +        lu01 = ((du01<<fp)*pdiv[dy01+2048])>>16;
  32.803 +        lv01 = ((dv01<<fp)*pdiv[dy01+2048])>>16;
  32.804 +    }
  32.805 +
  32.806 +int dx12 = x2 - x1;
  32.807 +int dy12 = y2 - y1;
  32.808 +int du12 = u2 - u1;
  32.809 +int dv12 = v2 - v1;
  32.810 +
  32.811 +    if (dy12!=0)
  32.812 +    {
  32.813 +        lx12 = ((dx12<<fp)*pdiv[dy12+2048])>>16;
  32.814 +        lu12 = ((du12<<fp)*pdiv[dy12+2048])>>16;
  32.815 +        lv12 = ((dv12<<fp)*pdiv[dy12+2048])>>16;
  32.816 +    }
  32.817 +
  32.818 +int dx02 = x2 - x0;
  32.819 +int dy02 = y2 - y0;
  32.820 +int du02 = u2 - u0;
  32.821 +int dv02 = v2 - v0;
  32.822 +
  32.823 +    if (dy02!=0)
  32.824 +    {
  32.825 +        lx02 = ((dx02<<fp)*pdiv[dy02+2048])>>16;
  32.826 +        lu02 = ((du02<<fp)*pdiv[dy02+2048])>>16;
  32.827 +        lv02 = ((dv02<<fp)*pdiv[dy02+2048])>>16;
  32.828 +    }
  32.829 +
  32.830 +int vramofs;
  32.831 +int x, y;
  32.832 +
  32.833 +int x01 = x0<<fp;
  32.834 +int x02 = x01;
  32.835 +int u01 = u0<<fp;
  32.836 +int u02 = u01;
  32.837 +int v01 = v0<<fp;
  32.838 +int v02 = v01;
  32.839 +
  32.840 +int du, dv;
  32.841 +int su1, su2;
  32.842 +int sv1, sv2;
  32.843 +int sx1, sx2;
  32.844 +
  32.845 +int px, py;
  32.846 +
  32.847 +    int yp = y0 * ScreenWidth;
  32.848 +    for (y = y0; y<y1; y++)
  32.849 +    {
  32.850 +        sx1 = x01>>fp;
  32.851 +        sx2 = x02>>fp;
  32.852 +        su1 = u01;
  32.853 +        su2 = u02;
  32.854 +        sv1 = v01;
  32.855 +        sv2 = v02;
  32.856 +
  32.857 +        if (sx1>sx2)
  32.858 +        {
  32.859 +            temp = sx1; sx1 = sx2; sx2 = temp;
  32.860 +            temp = su1; su1 = su2; su2 = temp;
  32.861 +            temp = sv1; sv1 = sv2; sv2 = temp;
  32.862 +        }
  32.863 +
  32.864 +        if (sx2!=sx1)
  32.865 +        {
  32.866 +            du = ((su2 - su1)*pdiv[(sx2-sx1)+2048])>>16;
  32.867 +            dv = ((sv2 - sv1)*pdiv[(sx2-sx1)+2048])>>16;
  32.868 +        }
  32.869 +
  32.870 +        yp+=ScreenWidth;
  32.871 +        vramofs = yp + sx1;
  32.872 +        for (x = sx1; x<sx2; x++)
  32.873 +        {
  32.874 +            su1+=du;
  32.875 +            sv1+=dv;
  32.876 +            if (vramofs>=0 && vramofs<ScreenSize && x>=0 && x<ScreenWidth)
  32.877 +            {
  32.878 +                c = texture[((su1>>fp)>>tshr) + (((sv1>>fp)>>tshr)<<(8-tshr))];
  32.879 +                *(vram+vramofs) = c;
  32.880 +            }
  32.881 +            vramofs++;
  32.882 +        }
  32.883 +        x01+=lx01;
  32.884 +        x02+=lx02;
  32.885 +        u01+=lu01;
  32.886 +        u02+=lu02;
  32.887 +        v01+=lv01;
  32.888 +        v02+=lv02;
  32.889 +    }
  32.890 +
  32.891 +    x01 = x1<<fp;
  32.892 +    u01 = u1<<fp;
  32.893 +    v01 = v1<<fp;
  32.894 +
  32.895 +    yp = y1 * ScreenWidth;
  32.896 +    for (y = y1; y<y2; y++)
  32.897 +    {
  32.898 +        sx1 = x01>>fp;
  32.899 +        sx2 = x02>>fp;
  32.900 +        su1 = u01;
  32.901 +        su2 = u02;
  32.902 +        sv1 = v01;
  32.903 +        sv2 = v02;
  32.904 +
  32.905 +        if (sx1>sx2)
  32.906 +        {
  32.907 +            temp = sx1; sx1 = sx2; sx2 = temp;
  32.908 +            temp = su1; su1 = su2; su2 = temp;
  32.909 +            temp = sv1; sv1 = sv2; sv2 = temp;
  32.910 +        }
  32.911 +
  32.912 +        if (sx2!=sx1)
  32.913 +        {
  32.914 +            du = ((su2 - su1)*pdiv[(sx2-sx1)+2048])>>16;
  32.915 +            dv = ((sv2 - sv1)*pdiv[(sx2-sx1)+2048])>>16;
  32.916 +        }
  32.917 +
  32.918 +        yp+=ScreenWidth;
  32.919 +        vramofs = yp + sx1;
  32.920 +        for (x = sx1; x<sx2; x++)
  32.921 +        {
  32.922 +            su1+=du;
  32.923 +            sv1+=dv;
  32.924 +            if (vramofs>=0 && vramofs<ScreenSize && x>=0 && x<ScreenWidth)
  32.925 +            {
  32.926 +                c = texture[((su1>>fp)>>tshr) + (((sv1>>fp)>>tshr)<<(8-tshr))];
  32.927 +                *(vram+vramofs) = c;
  32.928 +            }
  32.929 +            vramofs++;
  32.930 +        }
  32.931 +        x01+=lx12;
  32.932 +        x02+=lx02;
  32.933 +        u01+=lu12;
  32.934 +        u02+=lu02;
  32.935 +        v01+=lv12;
  32.936 +        v02+=lv02;
  32.937 +    }
  32.938 +}
  32.939 +
  32.940 +static inline void DrawTextureTriangleZB(poly2d poly, unsigned short *vram, int tshr, unsigned short texture[])
  32.941 +{
  32.942 +int x0 =spts[poly.p0].x; int y0 =spts[poly.p0].y;
  32.943 +int x1 =spts[poly.p1].x; int y1 =spts[poly.p1].y;
  32.944 +int x2 =spts[poly.p2].x; int y2 =spts[poly.p2].y;
  32.945 +
  32.946 +if ((x0<-mlk || x0>ScreenWidth+mlk || y0<-mlk || y0>ScreenHeight+mlk) && 
  32.947 +    (x1<-mlk || x1>ScreenWidth+mlk || y1<-mlk || y1>ScreenHeight+mlk) && 
  32.948 +    (x2<-mlk || x2>ScreenWidth+mlk || y2<-mlk || y2>ScreenHeight+mlk)) return;
  32.949 +
  32.950 +int c;
  32.951 +
  32.952 +int u0 = poly.tc0.u; int v0 = poly.tc0.v;
  32.953 +int u1 = poly.tc1.u; int v1 = poly.tc1.v;
  32.954 +int u2 = poly.tc2.u; int v2 = poly.tc2.v;
  32.955 +
  32.956 +int z0 = fpts[poly.p0].z;
  32.957 +int z1 = fpts[poly.p1].z;
  32.958 +int z2 = fpts[poly.p2].z;
  32.959 +
  32.960 +// ===== Sort =====
  32.961 +
  32.962 +int temp;
  32.963 +if (y1<y0)
  32.964 +{
  32.965 +    temp = u0; u0 = u1; u1 = temp;
  32.966 +    temp = v0; v0 = v1; v1 = temp;
  32.967 +    temp = z0; z0 = z1; z1 = temp;
  32.968 +    temp = x0; x0 = x1; x1 = temp;
  32.969 +    temp = y0; y0 = y1; y1 = temp;
  32.970 +}
  32.971 +if (y2<y0)
  32.972 +{
  32.973 +    temp = u0; u0 = u2; u2 = temp;
  32.974 +    temp = v0; v0 = v2; v2 = temp;
  32.975 +    temp = z0; z0 = z2; z2 = temp;
  32.976 +    temp = x0; x0 = x2; x2 = temp;
  32.977 +    temp = y0; y0 = y2; y2 = temp;
  32.978 +}
  32.979 +if (y2<y1)
  32.980 +{
  32.981 +    temp = u1; u1 = u2; u2 = temp;
  32.982 +    temp = v1; v1 = v2; v2 = temp;
  32.983 +    temp = z1; z1 = z2; z2 = temp;
  32.984 +    temp = x1; x1 = x2; x2 = temp;
  32.985 +    temp = y1; y1 = y2; y2 = temp;
  32.986 +}
  32.987 +
  32.988 +// ===== Interpolation variables =====
  32.989 +
  32.990 +int n;
  32.991 +int fp = 8;
  32.992 +int lx01=0, lx12=0, lx02=0;
  32.993 +int lu01=0, lu12=0, lu02=0;
  32.994 +int lv01=0, lv12=0, lv02=0;
  32.995 +int lz01=0, lz12=0, lz02=0;
  32.996 +
  32.997 +int dx01 = x1 - x0;
  32.998 +int dy01 = y1 - y0;
  32.999 +int du01 = u1 - u0;
 32.1000 +int dv01 = v1 - v0;
 32.1001 +int dz01 = z1 - z0;
 32.1002 +
 32.1003 +    if (dy01!=0)
 32.1004 +    {
 32.1005 +        lx01 = ((dx01<<fp)*pdiv[dy01+2048])>>16;
 32.1006 +        lu01 = ((du01<<fp)*pdiv[dy01+2048])>>16;
 32.1007 +        lv01 = ((dv01<<fp)*pdiv[dy01+2048])>>16;
 32.1008 +        lz01 = (dz01*pdiv[dy01+2048])>>16;
 32.1009 +    }
 32.1010 +
 32.1011 +int dx12 = x2 - x1;
 32.1012 +int dy12 = y2 - y1;
 32.1013 +int du12 = u2 - u1;
 32.1014 +int dv12 = v2 - v1;
 32.1015 +int dz12 = z2 - z1;
 32.1016 +
 32.1017 +    if (dy12!=0)
 32.1018 +    {
 32.1019 +        lx12 = ((dx12<<fp)*pdiv[dy12+2048])>>16;
 32.1020 +        lu12 = ((du12<<fp)*pdiv[dy12+2048])>>16;
 32.1021 +        lv12 = ((dv12<<fp)*pdiv[dy12+2048])>>16;
 32.1022 +        lz12 = (dz12*pdiv[dy12+2048])>>16;
 32.1023 +    }
 32.1024 +
 32.1025 +int dx02 = x2 - x0;
 32.1026 +int dy02 = y2 - y0;
 32.1027 +int du02 = u2 - u0;
 32.1028 +int dv02 = v2 - v0;
 32.1029 +int dz02 = z2 - z0;
 32.1030 +
 32.1031 +    if (dy02!=0)
 32.1032 +    {
 32.1033 +        lx02 = ((dx02<<fp)*pdiv[dy02+2048])>>16;
 32.1034 +        lu02 = ((du02<<fp)*pdiv[dy02+2048])>>16;
 32.1035 +        lv02 = ((dv02<<fp)*pdiv[dy02+2048])>>16;
 32.1036 +        lz02 = (dz02*pdiv[dy02+2048])>>16;
 32.1037 +    }
 32.1038 +
 32.1039 +int vramofs;
 32.1040 +int x, y;
 32.1041 +
 32.1042 +int x01 = x0<<fp;
 32.1043 +int x02 = x01;
 32.1044 +int u01 = u0<<fp;
 32.1045 +int u02 = u01;
 32.1046 +int v01 = v0<<fp;
 32.1047 +int v02 = v01;
 32.1048 +int z01 = z0;
 32.1049 +int z02 = z01;
 32.1050 +
 32.1051 +int du, dv, dz;
 32.1052 +int su1, su2;
 32.1053 +int sv1, sv2;
 32.1054 +int sx1, sx2;
 32.1055 +int sz1, sz2;
 32.1056 +
 32.1057 +int px, py;
 32.1058 +
 32.1059 +    int yp = y0 * ScreenWidth;
 32.1060 +    for (y = y0; y<y1; y++)
 32.1061 +    {
 32.1062 +        sx1 = x01>>fp;
 32.1063 +        sx2 = x02>>fp;
 32.1064 +        su1 = u01;
 32.1065 +        su2 = u02;
 32.1066 +        sv1 = v01;
 32.1067 +        sv2 = v02;
 32.1068 +        sz1 = z01;
 32.1069 +        sz2 = z02;
 32.1070 +
 32.1071 +        if (sx1>sx2)
 32.1072 +        {
 32.1073 +            temp = sx1; sx1 = sx2; sx2 = temp;
 32.1074 +            temp = su1; su1 = su2; su2 = temp;
 32.1075 +            temp = sv1; sv1 = sv2; sv2 = temp;
 32.1076 +            temp = sz1; sz1 = sz2; sz2 = temp;
 32.1077 +        }
 32.1078 +
 32.1079 +        if (sx2!=sx1)
 32.1080 +        {
 32.1081 +            du = ((su2 - su1)*pdiv[(sx2-sx1)+2048])>>16;
 32.1082 +            dv = ((sv2 - sv1)*pdiv[(sx2-sx1)+2048])>>16;
 32.1083 +            dz = ((sz2 - sz1)*pdiv[(sx2-sx1)+2048])>>16;
 32.1084 +        }
 32.1085 +
 32.1086 +        yp+=ScreenWidth;
 32.1087 +        vramofs = yp + sx1;
 32.1088 +        for (x = sx1; x<sx2; x++)
 32.1089 +        {
 32.1090 +            su1+=du;
 32.1091 +            sv1+=dv;
 32.1092 +            sz1+=dz;
 32.1093 +            if ((vramofs>=0 && vramofs<ScreenSize && x>=0 && x<ScreenWidth) && sz1<zbuffer[vramofs])
 32.1094 +            {
 32.1095 +                zbuffer[vramofs] = sz1;
 32.1096 +                c = texture[((su1>>fp)>>tshr) + (((sv1>>fp)>>tshr)<<(8-tshr))];
 32.1097 +                *(vram+vramofs) = c;
 32.1098 +            }
 32.1099 +            vramofs++;
 32.1100 +        }
 32.1101 +        x01+=lx01;
 32.1102 +        x02+=lx02;
 32.1103 +        u01+=lu01;
 32.1104 +        u02+=lu02;
 32.1105 +        v01+=lv01;
 32.1106 +        v02+=lv02;
 32.1107 +        z01+=lz01;
 32.1108 +        z02+=lz02;
 32.1109 +    }
 32.1110 +
 32.1111 +    x01 = x1<<fp;
 32.1112 +    u01 = u1<<fp;
 32.1113 +    v01 = v1<<fp;
 32.1114 +    z01 = z1;
 32.1115 +
 32.1116 +    yp = y1 * ScreenWidth;
 32.1117 +    for (y = y1; y<y2; y++)
 32.1118 +    {
 32.1119 +        sx1 = x01>>fp;
 32.1120 +        sx2 = x02>>fp;
 32.1121 +        su1 = u01;
 32.1122 +        su2 = u02;
 32.1123 +        sv1 = v01;
 32.1124 +        sv2 = v02;
 32.1125 +        sz1 = z01;
 32.1126 +        sz2 = z02;
 32.1127 +
 32.1128 +        if (sx1>sx2)
 32.1129 +        {
 32.1130 +            temp = sx1; sx1 = sx2; sx2 = temp;
 32.1131 +            temp = su1; su1 = su2; su2 = temp;
 32.1132 +            temp = sv1; sv1 = sv2; sv2 = temp;
 32.1133 +            temp = sz1; sz1 = sz2; sz2 = temp;
 32.1134 +        }
 32.1135 +
 32.1136 +        if (sx2!=sx1)
 32.1137 +        {
 32.1138 +            du = ((su2 - su1)*pdiv[(sx2-sx1)+2048])>>16;
 32.1139 +            dv = ((sv2 - sv1)*pdiv[(sx2-sx1)+2048])>>16;
 32.1140 +            dz = ((sz2 - sz1)*pdiv[(sx2-sx1)+2048])>>16;
 32.1141 +        }
 32.1142 +
 32.1143 +        yp+=ScreenWidth;
 32.1144 +        vramofs = yp + sx1;
 32.1145 +        for (x = sx1; x<sx2; x++)
 32.1146 +        {
 32.1147 +            su1+=du;
 32.1148 +            sv1+=dv;
 32.1149 +            sz1+=dz;
 32.1150 +            if ((vramofs>=0 && vramofs<ScreenSize && x>=0 && x<ScreenWidth) && sz1<zbuffer[vramofs])
 32.1151 +            {
 32.1152 +                zbuffer[vramofs] = sz1;
 32.1153 +                c = texture[((su1>>fp)>>tshr) + (((sv1>>fp)>>tshr)<<(8-tshr))];
 32.1154 +                *(vram+vramofs) = c;
 32.1155 +            }
 32.1156 +            vramofs++;
 32.1157 +        }
 32.1158 +        x01+=lx12;
 32.1159 +        x02+=lx02;
 32.1160 +        u01+=lu12;
 32.1161 +        u02+=lu02;
 32.1162 +        v01+=lv12;
 32.1163 +        v02+=lv02;
 32.1164 +        z01+=lz12;
 32.1165 +        z02+=lz02;
 32.1166 +    }
 32.1167 +}
 32.1168 +
 32.1169 +static inline void DrawEnvmappedTriangle(poly2d poly, unsigned short *vram, int tshr, unsigned short texture[])
 32.1170 +{
 32.1171 +int x0 =spts[poly.p0].x; int y0 =spts[poly.p0].y;
 32.1172 +int x1 =spts[poly.p1].x; int y1 =spts[poly.p1].y;
 32.1173 +int x2 =spts[poly.p2].x; int y2 =spts[poly.p2].y;
 32.1174 +
 32.1175 +if ((x0<-mlk || x0>ScreenWidth+mlk || y0<-mlk || y0>ScreenHeight+mlk) && 
 32.1176 +    (x1<-mlk || x1>ScreenWidth+mlk || y1<-mlk || y1>ScreenHeight+mlk) && 
 32.1177 +    (x2<-mlk || x2>ScreenWidth+mlk || y2<-mlk || y2>ScreenHeight+mlk)) return;
 32.1178 +
 32.1179 +int c;
 32.1180 +
 32.1181 +int u0 = point_tc[poly.p0].u; int v0 = point_tc[poly.p0].v;
 32.1182 +int u1 = point_tc[poly.p1].u; int v1 = point_tc[poly.p1].v;
 32.1183 +int u2 = point_tc[poly.p2].u; int v2 = point_tc[poly.p2].v;
 32.1184 +
 32.1185 +// ===== Sort =====
 32.1186 +
 32.1187 +int temp;
 32.1188 +if (y1<y0)
 32.1189 +{
 32.1190 +    temp = u0; u0 = u1; u1 = temp;
 32.1191 +    temp = v0; v0 = v1; v1 = temp;
 32.1192 +    temp = x0; x0 = x1; x1 = temp;
 32.1193 +    temp = y0; y0 = y1; y1 = temp;
 32.1194 +}
 32.1195 +if (y2<y0)
 32.1196 +{
 32.1197 +    temp = u0; u0 = u2; u2 = temp;
 32.1198 +    temp = v0; v0 = v2; v2 = temp;
 32.1199 +    temp = x0; x0 = x2; x2 = temp;
 32.1200 +    temp = y0; y0 = y2; y2 = temp;
 32.1201 +}
 32.1202 +if (y2<y1)
 32.1203 +{
 32.1204 +    temp = u1; u1 = u2; u2 = temp;
 32.1205 +    temp = v1; v1 = v2; v2 = temp;
 32.1206 +    temp = x1; x1 = x2; x2 = temp;
 32.1207 +    temp = y1; y1 = y2; y2 = temp;
 32.1208 +}
 32.1209 +
 32.1210 +// ===== Interpolation variables =====
 32.1211 +
 32.1212 +int n;
 32.1213 +int fp = 8;
 32.1214 +int lx01=0, lx12=0, lx02=0;
 32.1215 +int lu01=0, lu12=0, lu02=0;
 32.1216 +int lv01=0, lv12=0, lv02=0;
 32.1217 +
 32.1218 +int dx01 = x1 - x0;
 32.1219 +int dy01 = y1 - y0;
 32.1220 +int du01 = u1 - u0;
 32.1221 +int dv01 = v1 - v0;
 32.1222 +
 32.1223 +    if (dy01!=0)
 32.1224 +    {
 32.1225 +        lx01 = ((dx01<<fp)*pdiv[dy01+2048])>>16;
 32.1226 +        lu01 = ((du01<<fp)*pdiv[dy01+2048])>>16;
 32.1227 +        lv01 = ((dv01<<fp)*pdiv[dy01+2048])>>16;
 32.1228 +    }
 32.1229 +
 32.1230 +int dx12 = x2 - x1;
 32.1231 +int dy12 = y2 - y1;
 32.1232 +int du12 = u2 - u1;
 32.1233 +int dv12 = v2 - v1;
 32.1234 +
 32.1235 +    if (dy12!=0)
 32.1236 +    {
 32.1237 +        lx12 = ((dx12<<fp)*pdiv[dy12+2048])>>16;
 32.1238 +        lu12 = ((du12<<fp)*pdiv[dy12+2048])>>16;
 32.1239 +        lv12 = ((dv12<<fp)*pdiv[dy12+2048])>>16;
 32.1240 +    }
 32.1241 +
 32.1242 +int dx02 = x2 - x0;
 32.1243 +int dy02 = y2 - y0;
 32.1244 +int du02 = u2 - u0;
 32.1245 +int dv02 = v2 - v0;
 32.1246 +
 32.1247 +    if (dy02!=0)
 32.1248 +    {
 32.1249 +        lx02 = ((dx02<<fp)*pdiv[dy02+2048])>>16;
 32.1250 +        lu02 = ((du02<<fp)*pdiv[dy02+2048])>>16;
 32.1251 +        lv02 = ((dv02<<fp)*pdiv[dy02+2048])>>16;
 32.1252 +    }
 32.1253 +
 32.1254 +int vramofs;
 32.1255 +int x, y;
 32.1256 +
 32.1257 +int x01 = x0<<fp;
 32.1258 +int x02 = x01;
 32.1259 +int u01 = u0<<fp;
 32.1260 +int u02 = u01;
 32.1261 +int v01 = v0<<fp;
 32.1262 +int v02 = v01;
 32.1263 +
 32.1264 +int du, dv;
 32.1265 +int su1, su2;
 32.1266 +int sv1, sv2;
 32.1267 +int sx1, sx2;
 32.1268 +
 32.1269 +int px, py;
 32.1270 +
 32.1271 +    int yp = y0 * ScreenWidth;
 32.1272 +    for (y = y0; y<y1; y++)
 32.1273 +    {
 32.1274 +        sx1 = x01>>fp;
 32.1275 +        sx2 = x02>>fp;
 32.1276 +        su1 = u01;
 32.1277 +        su2 = u02;
 32.1278 +        sv1 = v01;
 32.1279 +        sv2 = v02;
 32.1280 +
 32.1281 +        if (sx1>sx2)
 32.1282 +        {
 32.1283 +            temp = sx1; sx1 = sx2; sx2 = temp;
 32.1284 +            temp = su1; su1 = su2; su2 = temp;
 32.1285 +            temp = sv1; sv1 = sv2; sv2 = temp;
 32.1286 +        }
 32.1287 +
 32.1288 +        if (sx2!=sx1)
 32.1289 +        {
 32.1290 +            du = ((su2 - su1)*pdiv[(sx2-sx1)+2048])>>16;
 32.1291 +            dv = ((sv2 - sv1)*pdiv[(sx2-sx1)+2048])>>16;
 32.1292 +        }
 32.1293 +
 32.1294 +        yp+=ScreenWidth;
 32.1295 +        vramofs = yp + sx1;
 32.1296 +        for (x = sx1; x<sx2; x++)
 32.1297 +        {
 32.1298 +            su1+=du;
 32.1299 +            sv1+=dv;
 32.1300 +            if (vramofs>=0 && vramofs<ScreenSize && x>=0 && x<ScreenWidth)
 32.1301 +            {
 32.1302 +                c = texture[((su1>>fp)>>tshr) + (((sv1>>fp)>>tshr)<<(8-tshr))];
 32.1303 +                *(vram+vramofs) = c;
 32.1304 +            }
 32.1305 +            vramofs++;
 32.1306 +        }
 32.1307 +        x01+=lx01;
 32.1308 +        x02+=lx02;
 32.1309 +        u01+=lu01;
 32.1310 +        u02+=lu02;
 32.1311 +        v01+=lv01;
 32.1312 +        v02+=lv02;
 32.1313 +    }
 32.1314 +
 32.1315 +    x01 = x1<<fp;
 32.1316 +    u01 = u1<<fp;
 32.1317 +    v01 = v1<<fp;
 32.1318 +
 32.1319 +    yp = y1 * ScreenWidth;
 32.1320 +    for (y = y1; y<y2; y++)
 32.1321 +    {
 32.1322 +        sx1 = x01>>fp;
 32.1323 +        sx2 = x02>>fp;
 32.1324 +        su1 = u01;
 32.1325 +        su2 = u02;
 32.1326 +        sv1 = v01;
 32.1327 +        sv2 = v02;
 32.1328 +
 32.1329 +        if (sx1>sx2)
 32.1330 +        {
 32.1331 +            temp = sx1; sx1 = sx2; sx2 = temp;
 32.1332 +            temp = su1; su1 = su2; su2 = temp;
 32.1333 +            temp = sv1; sv1 = sv2; sv2 = temp;
 32.1334 +        }
 32.1335 +
 32.1336 +        if (sx2!=sx1)
 32.1337 +        {
 32.1338 +            du = ((su2 - su1)*pdiv[(sx2-sx1)+2048])>>16;
 32.1339 +            dv = ((sv2 - sv1)*pdiv[(sx2-sx1)+2048])>>16;
 32.1340 +        }
 32.1341 +
 32.1342 +        yp+=ScreenWidth;
 32.1343 +        vramofs = yp + sx1;
 32.1344 +        for (x = sx1; x<sx2; x++)
 32.1345 +        {
 32.1346 +            su1+=du;
 32.1347 +            sv1+=dv;
 32.1348 +            if (vramofs>=0 && vramofs<ScreenSize && x>=0 && x<ScreenWidth)
 32.1349 +            {
 32.1350 +                c = texture[((su1>>fp)>>tshr) + (((sv1>>fp)>>tshr)<<(8-tshr))];
 32.1351 +                *(vram+vramofs) = c;
 32.1352 +            }
 32.1353 +            vramofs++;
 32.1354 +        }
 32.1355 +        x01+=lx12;
 32.1356 +        x02+=lx02;
 32.1357 +        u01+=lu12;
 32.1358 +        u02+=lu02;
 32.1359 +        v01+=lv12;
 32.1360 +        v02+=lv02;
 32.1361 +    }
 32.1362 +}
 32.1363 +
 32.1364 +
 32.1365 +static inline void DrawEnvmappedTriangleZB(poly2d poly, unsigned short *vram, int tshr, unsigned short texture[])
 32.1366 +{
 32.1367 +int x0 =spts[poly.p0].x; int y0 =spts[poly.p0].y;
 32.1368 +int x1 =spts[poly.p1].x; int y1 =spts[poly.p1].y;
 32.1369 +int x2 =spts[poly.p2].x; int y2 =spts[poly.p2].y;
 32.1370 +
 32.1371 +if ((x0<-mlk || x0>ScreenWidth+mlk || y0<-mlk || y0>ScreenHeight+mlk) && 
 32.1372 +    (x1<-mlk || x1>ScreenWidth+mlk || y1<-mlk || y1>ScreenHeight+mlk) && 
 32.1373 +    (x2<-mlk || x2>ScreenWidth+mlk || y2<-mlk || y2>ScreenHeight+mlk)) return;
 32.1374 +
 32.1375 +int c;
 32.1376 +
 32.1377 +int u0 = point_tc[poly.p0].u; int v0 = point_tc[poly.p0].v;
 32.1378 +int u1 = point_tc[poly.p1].u; int v1 = point_tc[poly.p1].v;
 32.1379 +int u2 = point_tc[poly.p2].u; int v2 = point_tc[poly.p2].v;
 32.1380 +
 32.1381 +int z0 = fpts[poly.p0].z;
 32.1382 +int z1 = fpts[poly.p1].z;
 32.1383 +int z2 = fpts[poly.p2].z;
 32.1384 +
 32.1385 +// ===== Sort =====
 32.1386 +
 32.1387 +int temp;
 32.1388 +if (y1<y0)
 32.1389 +{
 32.1390 +    temp = u0; u0 = u1; u1 = temp;
 32.1391 +    temp = v0; v0 = v1; v1 = temp;
 32.1392 +    temp = z0; z0 = z1; z1 = temp;
 32.1393 +    temp = x0; x0 = x1; x1 = temp;
 32.1394 +    temp = y0; y0 = y1; y1 = temp;
 32.1395 +}
 32.1396 +if (y2<y0)
 32.1397 +{
 32.1398 +    temp = u0; u0 = u2; u2 = temp;
 32.1399 +    temp = v0; v0 = v2; v2 = temp;
 32.1400 +    temp = z0; z0 = z2; z2 = temp;
 32.1401 +    temp = x0; x0 = x2; x2 = temp;
 32.1402 +    temp = y0; y0 = y2; y2 = temp;
 32.1403 +}
 32.1404 +if (y2<y1)
 32.1405 +{
 32.1406 +    temp = u1; u1 = u2; u2 = temp;
 32.1407 +    temp = v1; v1 = v2; v2 = temp;
 32.1408 +    temp = z1; z1 = z2; z2 = temp;
 32.1409 +    temp = x1; x1 = x2; x2 = temp;
 32.1410 +    temp = y1; y1 = y2; y2 = temp;
 32.1411 +}
 32.1412 +
 32.1413 +// ===== Interpolation variables =====
 32.1414 +
 32.1415 +int n;
 32.1416 +int fp = 8;
 32.1417 +int lx01=0, lx12=0, lx02=0;
 32.1418 +int lu01=0, lu12=0, lu02=0;
 32.1419 +int lv01=0, lv12=0, lv02=0;
 32.1420 +int lz01=0, lz12=0, lz02=0;
 32.1421 +
 32.1422 +int dx01 = x1 - x0;
 32.1423 +int dy01 = y1 - y0;
 32.1424 +int du01 = u1 - u0;
 32.1425 +int dv01 = v1 - v0;
 32.1426 +int dz01 = z1 - z0;
 32.1427 +
 32.1428 +    if (dy01!=0)
 32.1429 +    {
 32.1430 +        lx01 = ((dx01<<fp)*pdiv[dy01+2048])>>16;
 32.1431 +        lu01 = ((du01<<fp)*pdiv[dy01+2048])>>16;
 32.1432 +        lv01 = ((dv01<<fp)*pdiv[dy01+2048])>>16;
 32.1433 +        lz01 = (dz01*pdiv[dy01+2048])>>16;
 32.1434 +    }
 32.1435 +
 32.1436 +int dx12 = x2 - x1;
 32.1437 +int dy12 = y2 - y1;
 32.1438 +int du12 = u2 - u1;
 32.1439 +int dv12 = v2 - v1;
 32.1440 +int dz12 = z2 - z1;
 32.1441 +
 32.1442 +    if (dy12!=0)
 32.1443 +    {
 32.1444 +        lx12 = ((dx12<<fp)*pdiv[dy12+2048])>>16;
 32.1445 +        lu12 = ((du12<<fp)*pdiv[dy12+2048])>>16;
 32.1446 +        lv12 = ((dv12<<fp)*pdiv[dy12+2048])>>16;
 32.1447 +        lz12 = (dz12*pdiv[dy12+2048])>>16;
 32.1448 +    }
 32.1449 +
 32.1450 +int dx02 = x2 - x0;
 32.1451 +int dy02 = y2 - y0;
 32.1452 +int du02 = u2 - u0;
 32.1453 +int dv02 = v2 - v0;
 32.1454 +int dz02 = z2 - z0;
 32.1455 +
 32.1456 +    if (dy02!=0)
 32.1457 +    {
 32.1458 +        lx02 = ((dx02<<fp)*pdiv[dy02+2048])>>16;
 32.1459 +        lu02 = ((du02<<fp)*pdiv[dy02+2048])>>16;
 32.1460 +        lv02 = ((dv02<<fp)*pdiv[dy02+2048])>>16;
 32.1461 +        lz02 = (dz02*pdiv[dy02+2048])>>16;
 32.1462 +    }
 32.1463 +
 32.1464 +int vramofs;
 32.1465 +int x, y;
 32.1466 +
 32.1467 +int x01 = x0<<fp;
 32.1468 +int x02 = x01;
 32.1469 +int u01 = u0<<fp;
 32.1470 +int u02 = u01;
 32.1471 +int v01 = v0<<fp;
 32.1472 +int v02 = v01;
 32.1473 +int z01 = z0;
 32.1474 +int z02 = z01;
 32.1475 +
 32.1476 +int du, dv, dz;
 32.1477 +int su1, su2;
 32.1478 +int sv1, sv2;
 32.1479 +int sx1, sx2;
 32.1480 +int sz1, sz2;
 32.1481 +
 32.1482 +int px, py;
 32.1483 +
 32.1484 +    int yp = y0 * ScreenWidth;
 32.1485 +    for (y = y0; y<y1; y++)
 32.1486 +    {
 32.1487 +        sx1 = x01>>fp;
 32.1488 +        sx2 = x02>>fp;
 32.1489 +        su1 = u01;
 32.1490 +        su2 = u02;
 32.1491 +        sv1 = v01;
 32.1492 +        sv2 = v02;
 32.1493 +        sz1 = z01;
 32.1494 +        sz2 = z02;
 32.1495 +
 32.1496 +        if (sx1>sx2)
 32.1497 +        {
 32.1498 +            temp = sx1; sx1 = sx2; sx2 = temp;
 32.1499 +            temp = su1; su1 = su2; su2 = temp;
 32.1500 +            temp = sv1; sv1 = sv2; sv2 = temp;
 32.1501 +            temp = sz1; sz1 = sz2; sz2 = temp;
 32.1502 +        }
 32.1503 +
 32.1504 +        if (sx2!=sx1)
 32.1505 +        {
 32.1506 +            du = ((su2 - su1)*pdiv[(sx2-sx1)+2048])>>16;
 32.1507 +            dv = ((sv2 - sv1)*pdiv[(sx2-sx1)+2048])>>16;
 32.1508 +            dz = ((sz2 - sz1)*pdiv[(sx2-sx1)+2048])>>16;
 32.1509 +        }
 32.1510 +
 32.1511 +        yp+=ScreenWidth;
 32.1512 +        vramofs = yp + sx1;
 32.1513 +        for (x = sx1; x<sx2; x++)
 32.1514 +        {
 32.1515 +            su1+=du;
 32.1516 +            sv1+=dv;
 32.1517 +            sz1+=dz;
 32.1518 +            if ((vramofs>=0 && vramofs<ScreenSize && x>=0 && x<ScreenWidth) && sz1<zbuffer[vramofs])
 32.1519 +            {
 32.1520 +                zbuffer[vramofs] = sz1;
 32.1521 +                c = texture[((su1>>fp)>>tshr) + (((sv1>>fp)>>tshr)<<(8-tshr))];
 32.1522 +                *(vram+vramofs) = c;
 32.1523 +            }
 32.1524 +            vramofs++;
 32.1525 +        }
 32.1526 +        x01+=lx01;
 32.1527 +        x02+=lx02;
 32.1528 +        u01+=lu01;
 32.1529 +        u02+=lu02;
 32.1530 +        v01+=lv01;
 32.1531 +        v02+=lv02;
 32.1532 +        z01+=lz01;
 32.1533 +        z02+=lz02;
 32.1534 +    }
 32.1535 +
 32.1536 +    x01 = x1<<fp;
 32.1537 +    u01 = u1<<fp;
 32.1538 +    v01 = v1<<fp;
 32.1539 +    z01 = z1;
 32.1540 +
 32.1541 +    yp = y1 * ScreenWidth;
 32.1542 +    for (y = y1; y<y2; y++)
 32.1543 +    {
 32.1544 +        sx1 = x01>>fp;
 32.1545 +        sx2 = x02>>fp;
 32.1546 +        su1 = u01;
 32.1547 +        su2 = u02;
 32.1548 +        sv1 = v01;
 32.1549 +        sv2 = v02;
 32.1550 +        sz1 = z01;
 32.1551 +        sz2 = z02;
 32.1552 +
 32.1553 +        if (sx1>sx2)
 32.1554 +        {
 32.1555 +            temp = sx1; sx1 = sx2; sx2 = temp;
 32.1556 +            temp = su1; su1 = su2; su2 = temp;
 32.1557 +            temp = sv1; sv1 = sv2; sv2 = temp;
 32.1558 +            temp = sz1; sz1 = sz2; sz2 = temp;
 32.1559 +        }
 32.1560 +
 32.1561 +        if (sx2!=sx1)
 32.1562 +        {
 32.1563 +            du = ((su2 - su1)*pdiv[(sx2-sx1)+2048])>>16;
 32.1564 +            dv = ((sv2 - sv1)*pdiv[(sx2-sx1)+2048])>>16;
 32.1565 +            dz = ((sz2 - sz1)*pdiv[(sx2-sx1)+2048])>>16;
 32.1566 +        }
 32.1567 +
 32.1568 +        yp+=ScreenWidth;
 32.1569 +        vramofs = yp + sx1;
 32.1570 +        for (x = sx1; x<sx2; x++)
 32.1571 +        {
 32.1572 +            su1+=du;
 32.1573 +            sv1+=dv;
 32.1574 +            sz1+=dz;
 32.1575 +            if ((vramofs>=0 && vramofs<ScreenSize && x>=0 && x<ScreenWidth) && sz1<zbuffer[vramofs])
 32.1576 +            {
 32.1577 +                zbuffer[vramofs] = sz1;
 32.1578 +                c = texture[((su1>>fp)>>tshr) + (((sv1>>fp)>>tshr)<<(8-tshr))];
 32.1579 +                *(vram+vramofs) = c;
 32.1580 +            }
 32.1581 +            vramofs++;
 32.1582 +        }
 32.1583 +        x01+=lx12;
 32.1584 +        x02+=lx02;
 32.1585 +        u01+=lu12;
 32.1586 +        u02+=lu02;
 32.1587 +        v01+=lv12;
 32.1588 +        v02+=lv02;
 32.1589 +        z01+=lz12;
 32.1590 +        z02+=lz02;
 32.1591 +    }
 32.1592 +}
 32.1593 +
 32.1594 +void zsort(int zsortdata[], object3d *obj)
 32.1595 +{
 32.1596 +    int i, mz;
 32.1597 +    for (i=0; i<obj->npls; i++)
 32.1598 +    {
 32.1599 +        mz = (fpts[obj->poly[i].p0].z + fpts[obj->poly[i].p1].z + fpts[obj->poly[i].p2].z)>>2;
 32.1600 +        zsortdata[i] = -mz;
 32.1601 +		swp[i] = i;
 32.1602 +    }
 32.1603 +}
 32.1604 +
 32.1605 +
 32.1606 +inline void ClearZbuffer()
 32.1607 +{
 32.1608 +    memset(zbuffer, 0xFFFFFF, sizeof(unsigned int) * ScreenSize);
 32.1609 +}
 32.1610 +
 32.1611 +void Render(object3d *obj, unsigned short shade[], unsigned short texture[], unsigned short texture_size, unsigned short *vram)
 32.1612 +{
 32.1613 +	int i, j;
 32.1614 +    int vx0, vy0, vx1, vy1, n;
 32.1615 +    int tu, tv, s;
 32.1616 +    int texshr = (int)(log(256 / texture_size)/ log(2));
 32.1617 +    
 32.1618 +    int rmode;
 32.1619 +    if (zb==1 && RenderMode>=FLAT) rmode = RenderMode | ZBUFFER;
 32.1620 +        else rmode = RenderMode;
 32.1621 +
 32.1622 +	switch (rmode)
 32.1623 +	{
 32.1624 +
 32.1625 +	case POINTS:
 32.1626 +		for (i=obj->npts-1; i>=0; i--)
 32.1627 +            if (spts[i].x>=0 && spts[i].x<ScreenWidth && spts[i].y>=0 && spts[i].y<ScreenHeight)
 32.1628 +                *(vram + spts[i].x + spts[i].y * ScreenWidth) = 0xFFFF;
 32.1629 +	break;
 32.1630 +
 32.1631 +
 32.1632 +	case WIRE:
 32.1633 +		for (i=obj->nlns-1; i>=0; i--)
 32.1634 +            drawline(obj->line[i], vram);
 32.1635 +	break;
 32.1636 +
 32.1637 +	case FLAT:
 32.1638 +        rotate3d_normals(obj);
 32.1639 +        CalcPolyColor(obj);
 32.1640 +
 32.1641 +        zsort (zdata, obj);
 32.1642 +		quicksort(0, obj->npls - 1, zdata);
 32.1643 +
 32.1644 +        for (i=0; i<obj->npls; i++)
 32.1645 +        {
 32.1646 +            j = swp[i];
 32.1647 +            vx0 = spts[obj->poly[j].p0].x - spts[obj->poly[j].p1].x;
 32.1648 +            vy0 = spts[obj->poly[j].p0].y - spts[obj->poly[j].p1].y;
 32.1649 +            vx1 = spts[obj->poly[j].p2].x - spts[obj->poly[j].p1].x;
 32.1650 +            vy1 = spts[obj->poly[j].p2].y - spts[obj->poly[j].p1].y;
 32.1651 +            n = vx0 * vy1 - vx1 * vy0;
 32.1652 +            if (n<0)
 32.1653 +            {
 32.1654 +                obj->poly[j].c = spls[j].c;
 32.1655 +                DrawFlatTriangle(obj->poly[j], vram, shade);
 32.1656 +            }
 32.1657 +        }
 32.1658 +	break;
 32.1659 +
 32.1660 +	case (FLAT | ZBUFFER):
 32.1661 +        rotate3d_normals(obj);
 32.1662 +        CalcPolyColor(obj);
 32.1663 +
 32.1664 +        ClearZbuffer();
 32.1665 +        for (i=obj->npls-1; i>=0; i--)
 32.1666 +        {
 32.1667 +            obj->poly[i].c = spls[i].c;
 32.1668 +            if (norms[i].z>=0)
 32.1669 +                DrawFlatTriangleZB(obj->poly[i], vram, shade);
 32.1670 +        }
 32.1671 +	break;
 32.1672 +
 32.1673 +	case GOURAUD:
 32.1674 +        rotate3d_pt_normals(obj);
 32.1675 +        CalcPointColor(obj);
 32.1676 +
 32.1677 +        zsort (zdata, obj);
 32.1678 +		quicksort(0, obj->npls - 1, zdata);
 32.1679 +
 32.1680 +        for (i=0; i<obj->npls; i++)
 32.1681 +        {
 32.1682 +            j = swp[i];
 32.1683 +            vx0 = spts[obj->poly[j].p0].x - spts[obj->poly[j].p1].x;
 32.1684 +            vy0 = spts[obj->poly[j].p0].y - spts[obj->poly[j].p1].y;
 32.1685 +            vx1 = spts[obj->poly[j].p2].x - spts[obj->poly[j].p1].x;
 32.1686 +            vy1 = spts[obj->poly[j].p2].y - spts[obj->poly[j].p1].y;
 32.1687 +            n = vx0 * vy1 - vx1 * vy0;
 32.1688 +            if (n<0)
 32.1689 +                DrawGouraudTriangle(obj->poly[j], vram, shade);
 32.1690 +        }
 32.1691 +    break;
 32.1692 +
 32.1693 +	case (GOURAUD | ZBUFFER):
 32.1694 +        rotate3d_normals(obj);
 32.1695 +        rotate3d_pt_normals(obj);
 32.1696 +
 32.1697 +        CalcPointColor(obj);
 32.1698 +        ClearZbuffer();
 32.1699 +        for (i=obj->npls-1; i>=0; i--)
 32.1700 +        {
 32.1701 +            if (norms[i].z>=0)
 32.1702 +                DrawGouraudTriangleZB(obj->poly[i], vram, shade);
 32.1703 +        }
 32.1704 +    break;
 32.1705 +
 32.1706 +	case (TEXTURE):
 32.1707 +        zsort (zdata, obj);
 32.1708 +		quicksort(0, obj->npls - 1, zdata);
 32.1709 +
 32.1710 +        for (i=0; i<obj->npls; i++)
 32.1711 +        {
 32.1712 +            j = swp[i];
 32.1713 +            vx0 = spts[obj->poly[j].p0].x - spts[obj->poly[j].p1].x;
 32.1714 +            vy0 = spts[obj->poly[j].p0].y - spts[obj->poly[j].p1].y;
 32.1715 +            vx1 = spts[obj->poly[j].p2].x - spts[obj->poly[j].p1].x;
 32.1716 +            vy1 = spts[obj->poly[j].p2].y - spts[obj->poly[j].p1].y;
 32.1717 +            n = vx0 * vy1 - vx1 * vy0;
 32.1718 +            if (n<0)
 32.1719 +            {
 32.1720 +                DrawTextureTriangle(obj->poly[j], vram, texshr, texture);
 32.1721 +            }
 32.1722 +        }
 32.1723 +    break;
 32.1724 +
 32.1725 +	case (TEXTURE | ZBUFFER):
 32.1726 +        rotate3d_normals(obj);
 32.1727 +
 32.1728 +        ClearZbuffer();
 32.1729 +        for (i=obj->npls-1; i>=0; i--)
 32.1730 +        {
 32.1731 +            if (norms[i].z>=0)
 32.1732 +                DrawTextureTriangleZB(obj->poly[i], vram, 0, texture);
 32.1733 +        }
 32.1734 +    break;
 32.1735 +
 32.1736 +	case (ENVMAP):
 32.1737 +        rotate3d_pt_normals(obj);
 32.1738 +
 32.1739 +        zsort (zdata, obj);
 32.1740 +		quicksort(0, obj->npls - 1, zdata);
 32.1741 +
 32.1742 +    	for (i=0; i<obj->npts; i++)
 32.1743 +    	{
 32.1744 +            tu = (pt_norms[i].x>>9) + 127;
 32.1745 +            tv = (pt_norms[i].y>>9) + 127;
 32.1746 +    		point_tc[i].u = abs(tu) & 255;
 32.1747 +    		point_tc[i].v = abs(tv) & 255;
 32.1748 +        }
 32.1749 +
 32.1750 +        for (i=0; i<obj->npls; i++)
 32.1751 +        {
 32.1752 +            j = swp[i];
 32.1753 +            vx0 = spts[obj->poly[j].p0].x - spts[obj->poly[j].p1].x;
 32.1754 +            vy0 = spts[obj->poly[j].p0].y - spts[obj->poly[j].p1].y;
 32.1755 +            vx1 = spts[obj->poly[j].p2].x - spts[obj->poly[j].p1].x;
 32.1756 +            vy1 = spts[obj->poly[j].p2].y - spts[obj->poly[j].p1].y;
 32.1757 +            n = vx0 * vy1 - vx1 * vy0;
 32.1758 +            if (n<0)
 32.1759 +                DrawEnvmappedTriangle(obj->poly[j], vram, texshr, texture);
 32.1760 +        }
 32.1761 +    break;
 32.1762 +
 32.1763 +	case (ENVMAP | ZBUFFER):
 32.1764 +        rotate3d_normals(obj);
 32.1765 +        rotate3d_pt_normals(obj);
 32.1766 +
 32.1767 +        ClearZbuffer();
 32.1768 +    	for (i=obj->npts-1; i>=0; i--)
 32.1769 +    	{
 32.1770 +            tu = (pt_norms[i].x>>9) + 127;
 32.1771 +            tv = (pt_norms[i].y>>9) + 127;
 32.1772 +    		point_tc[i].u = abs(tu) & 255;
 32.1773 +    		point_tc[i].v = abs(tv) & 255;
 32.1774 +        }
 32.1775 +
 32.1776 +
 32.1777 +        for (i=obj->npls-1; i>=0; i--)
 32.1778 +        {
 32.1779 +            if (norms[i].z>=0)
 32.1780 +                DrawEnvmappedTriangleZB(obj->poly[i], vram, 2, texture);
 32.1781 +        }
 32.1782 +    break;
 32.1783 +
 32.1784 +	default:
 32.1785 +	break;
 32.1786 +	}
 32.1787 +
 32.1788 +}
    33.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    33.2 +++ b/src/render3d.h	Wed Jun 05 22:33:37 2013 +0300
    33.3 @@ -0,0 +1,10 @@
    33.4 +#ifndef RENDER3D_H
    33.5 +#define RENDER3D_H
    33.6 +
    33.7 +#include "engine3d.h"
    33.8 +
    33.9 +void initRender3D();
   33.10 +void Render(object3d *obj, unsigned short shade[], unsigned short texture[], unsigned short texture_size, unsigned short *vram);
   33.11 +
   33.12 +#endif
   33.13 +
    34.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    34.2 +++ b/src/rotozoomer.cpp	Wed Jun 05 22:33:37 2013 +0300
    34.3 @@ -0,0 +1,77 @@
    34.4 +#include <math.h>
    34.5 +#include <stdio.h>
    34.6 +#include "main.h"
    34.7 +
    34.8 +unsigned short draculin[128 * 128];
    34.9 +
   34.10 +void InitRotozoomer()
   34.11 +{
   34.12 +	unsigned short dracol[256];
   34.13 +
   34.14 +	FILE *dracdata;
   34.15 +	dracdata=fopen("draculf.bin","rb");
   34.16 +
   34.17 +	int x0=fgetc(dracdata);
   34.18 +	int y0=fgetc(dracdata);
   34.19 +
   34.20 +	int r,g,b;
   34.21 +	for (int i=0;i<256;i++)
   34.22 +		dracol[i]=(((fgetc(dracdata)>>1)<<11) | (fgetc(dracdata)<<5) | (fgetc(dracdata))>>1);
   34.23 +
   34.24 +	for (int y=0;y<y0;y++)
   34.25 +		for (int x=0;x<x0;x++)
   34.26 +			draculin[(y<<7) + x]=dracol[fgetc(dracdata)];
   34.27 +
   34.28 +	fclose(dracdata);
   34.29 +}
   34.30 +
   34.31 +void RunRotozoomer(float rot, float zoom, unsigned short *vram)
   34.32 +{
   34.33 +	int fp = 16;
   34.34 +
   34.35 +	int mx = 0, my = 0, mmx = 50<<fp, mmy = 20<<fp;
   34.36 +	int dx = (int)((cos(rot/d2r)*zoom) * pow(2,fp));
   34.37 +	int dy = (int)((sin(rot/d2r)*zoom) * pow(2,fp));
   34.38 +
   34.39 +    int x,y;
   34.40 +	unsigned short c;
   34.41 +
   34.42 +    for (y=0; y<ScreenHeight; y++)
   34.43 +    {
   34.44 +        mmx = mmx - dy;
   34.45 +        mmy = mmy + dx;
   34.46 +        mx = mmx;
   34.47 +        my = mmy;
   34.48 +        for (x=0; x<ScreenWidth; x++)
   34.49 +        {
   34.50 +            mx = mx + dx;
   34.51 +            my = my + dy;
   34.52 +            c = draculin[((mx>>fp)&127) + (((my>>fp)&127) << 7)];
   34.53 +            *vram++=c;
   34.54 +        }
   34.55 +    }
   34.56 +}
   34.57 +
   34.58 +void RunRotozoomerNormal(int ntime, unsigned short *vram)
   34.59 +{
   34.60 +    float rot = sin(ntime/478.0f) * 280.0f;
   34.61 +    float zoom = sin(ntime/227.0f)*0.75f + 0.76f;
   34.62 +
   34.63 +    RunRotozoomer(rot, zoom, vram);
   34.64 +}
   34.65 +
   34.66 +void RunRotozoomerNear(int ntime, unsigned short *vram)
   34.67 +{
   34.68 +    float rot = sin(ntime/478.0f) * 280.0f;
   34.69 +    float zoom = 0.05f;
   34.70 +
   34.71 +    RunRotozoomer(rot, zoom, vram);
   34.72 +}
   34.73 +
   34.74 +void RunRotozoomerFar(int ntime, unsigned short *vram)
   34.75 +{
   34.76 +    float rot = sin(ntime/478.0f) * 280.0f;
   34.77 +    float zoom = 8.0f;
   34.78 +
   34.79 +    RunRotozoomer(rot, zoom, vram);
   34.80 +}
    35.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    35.2 +++ b/src/rotozoomer.h	Wed Jun 05 22:33:37 2013 +0300
    35.3 @@ -0,0 +1,9 @@
    35.4 +#ifndef ROTOZOOMER_H
    35.5 +#define ROTOZOOMER_H
    35.6 +
    35.7 +void InitRotozoomer();
    35.8 +void RunRotozoomerNormal(int ntime, unsigned short *vram);
    35.9 +void RunRotozoomerNear(int ntime, unsigned short *vram);
   35.10 +void RunRotozoomerFar(int ntime, unsigned short *vram);
   35.11 +
   35.12 +#endif
    36.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    36.2 +++ b/src/sky1.cpp	Wed Jun 05 22:33:37 2013 +0300
    36.3 @@ -0,0 +1,4096 @@
    36.4 +unsigned short sky1[] = {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
    36.5 +2080,2048,0,0,0,0,0,32,0,0,0,0,0,0,0,0,
    36.6 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
    36.7 +0,0,32,32,32,0,0,0,0,0,0,32,32,0,0,0,
    36.8 +0,0,0,0,0,0,0,0,0,0,2048,2048,2080,2048,2048,2048,
    36.9 +2080,2080,2080,2080,32,32,32,0,32,32,2080,2080,2080,2080,2080,32,
   36.10 +2080,2080,2080,2080,2080,2080,2080,2080,2080,2080,2080,0,0,0,0,0,
   36.11 +0,0,0,0,0,0,32,32,32,0,0,0,0,0,0,0,
   36.12 +0,0,2080,2080,2080,2080,0,0,0,0,32,32,0,0,0,0,
   36.13 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
   36.14 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
   36.15 +0,0,0,0,0,0,0,0,2048,0,0,2048,2048,2048,2048,2048,
   36.16 +2080,2080,2080,32,32,32,32,2080,0,0,0,32,32,32,32,32,
   36.17 +2048,2048,2048,2048,2048,2048,2080,2080,2080,2048,2048,2048,2048,2048,2048,2080,
   36.18 +2048,2048,2048,2048,2048,2048,2048,2048,2080,2080,2080,2080,2080,2080,2080,2080,
   36.19 +2048,2048,2048,2048,2048,2048,2048,2048,0,0,0,0,0,0,0,0,
   36.20 +0,0,0,0,0,0,0,0,32,32,32,32,32,32,32,32,
   36.21 +2048,2048,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
   36.22 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
   36.23 +0,0,0,32,0,0,0,0,0,0,0,0,32,32,32,32,
   36.24 +0,0,0,0,0,0,0,0,0,0,2048,2048,2048,2048,2048,2048,
   36.25 +2080,2080,2080,2080,32,32,32,0,0,0,0,32,32,2080,2080,32,
   36.26 +2080,2080,2080,2080,2080,2080,2080,2080,2080,2080,0,0,0,0,0,0,
   36.27 +0,0,0,0,0,0,32,32,2080,32,0,0,0,0,0,0,
   36.28 +2048,2048,0,0,0,0,32,32,0,0,32,32,0,0,0,0,
   36.29 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
   36.30 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
   36.31 +0,0,32,0,0,0,0,0,0,0,0,2048,2048,2048,2048,2048,
   36.32 +2080,2080,2080,32,32,32,32,32,32,32,32,32,2080,2080,2080,2080,
   36.33 +2048,2048,2048,2048,2048,2048,2048,2080,2080,2048,2048,2048,2048,2048,2048,2080,
   36.34 +2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,
   36.35 +2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,0,0,0,0,0,0,
   36.36 +0,0,0,0,0,0,0,0,2080,2080,2080,2080,2080,2080,2080,2080,
   36.37 +0,0,2048,2048,2080,0,0,0,32,0,0,0,0,0,0,0,
   36.38 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
   36.39 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,32,32,
   36.40 +32,0,0,0,0,0,0,0,2048,2048,2048,2048,2048,2048,2048,2048,
   36.41 +2080,2080,2080,2048,2048,2048,2048,2048,0,0,0,0,2048,2048,2048,2048,
   36.42 +2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,0,0,0,0,0,
   36.43 +0,0,0,0,0,2048,2048,2048,2048,2080,2080,2080,2080,2048,0,0,
   36.44 +2048,2048,0,0,0,0,0,32,0,0,32,32,0,0,0,32,
   36.45 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
   36.46 +32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
   36.47 +0,32,32,32,0,0,0,0,0,0,0,2048,2048,2048,2048,0,
   36.48 +2080,2080,2048,2048,0,2048,2048,2048,0,0,0,0,2048,2048,2048,2048,
   36.49 +2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,
   36.50 +2080,2048,2048,2048,2048,2048,2048,2080,2048,2048,2048,2048,2048,2048,2048,2048,
   36.51 +2080,2080,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,
   36.52 +2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,
   36.53 +0,0,0,2048,0,0,0,0,32,0,0,0,0,0,0,0,
   36.54 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
   36.55 +0,0,0,0,0,0,32,32,0,0,0,0,0,0,32,32,
   36.56 +32,32,0,0,0,0,0,2080,2080,2080,2048,2048,2048,2048,2048,2048,
   36.57 +2048,2048,2048,2048,2048,2048,2048,2048,0,0,0,2048,2048,2048,0,0,
   36.58 +2048,2048,2048,2048,2048,2048,2048,2048,0,0,0,2048,2048,2048,2048,2048,
   36.59 +0,0,0,0,2048,2048,2048,2048,0,2048,2080,2080,2080,2048,0,0,
   36.60 +2048,2048,2048,0,0,0,0,0,0,32,32,32,0,0,0,0,
   36.61 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
   36.62 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
   36.63 +0,32,32,32,0,0,0,0,0,0,2048,2048,2048,2048,2048,2048,
   36.64 +2048,2080,2048,0,0,0,2048,2048,0,0,0,0,0,0,0,0,
   36.65 +2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,
   36.66 +2080,2080,2048,2048,2048,2048,2080,2080,2048,2048,2048,2048,2048,2048,2048,2048,
   36.67 +2080,2080,2080,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,
   36.68 +2048,2048,2048,2048,2048,2048,2048,2048,0,0,0,0,0,0,0,0,
   36.69 +2048,2048,0,0,0,2048,2080,2080,0,0,0,0,0,0,0,0,
   36.70 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
   36.71 +0,0,0,0,0,0,2080,32,0,0,0,0,0,0,0,32,
   36.72 +32,32,0,0,0,0,0,2080,2080,2080,2048,2048,2048,2048,2048,2048,
   36.73 +2048,0,0,2048,2048,2048,2048,2048,2080,2080,2080,2080,2080,2048,0,0,
   36.74 +2048,2048,2048,2048,2048,2048,2048,2048,0,0,2048,2048,2048,2048,2048,2080,
   36.75 +2048,2048,2048,2048,2048,2048,2048,2080,0,0,2048,2080,2080,2048,0,0,
   36.76 +2048,2048,2048,2080,2080,2048,0,0,32,32,2080,32,0,0,0,0,
   36.77 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
   36.78 +0,0,0,0,0,0,0,0,0,0,0,32,32,0,0,0,
   36.79 +0,32,2080,2080,0,0,0,0,0,0,2048,2080,2080,2048,2048,2048,
   36.80 +2048,2048,2048,0,0,0,0,2048,0,0,0,0,2048,2048,2048,2048,
   36.81 +2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,
   36.82 +2048,2048,2080,2080,2080,2080,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,
   36.83 +2080,2080,2080,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,
   36.84 +2048,2048,2048,2048,2048,2048,2048,2048,0,0,0,0,0,0,0,0,
   36.85 +2048,2048,0,0,0,0,2080,2080,0,0,0,0,0,0,0,0,
   36.86 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
   36.87 +0,0,0,0,0,0,2048,2080,2080,2080,2048,0,2048,2080,2080,2080,
   36.88 +32,32,0,0,0,0,2080,2080,2080,2080,2048,2048,2048,2048,2048,2048,
   36.89 +2048,0,0,0,0,2048,2048,2048,2080,2080,2080,2080,2080,2048,0,0,
   36.90 +0,0,0,0,0,0,0,0,2048,2048,2048,2048,2048,2048,2048,2080,
   36.91 +2080,2080,2080,2080,2080,2080,2080,2080,0,2048,2048,2048,2048,0,0,0,
   36.92 +0,2048,2048,2080,2080,2048,0,0,2080,32,2080,32,0,0,0,0,
   36.93 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
   36.94 +0,0,0,0,0,32,32,2080,0,0,0,32,32,0,0,0,
   36.95 +0,32,32,32,0,0,0,0,0,2048,2048,2080,2048,2048,2048,2048,
   36.96 +2048,2048,0,0,0,0,0,0,2080,2080,2080,2080,2080,2080,2080,2080,
   36.97 +2048,2048,2080,2080,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,
   36.98 +2048,2048,2048,2080,2080,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,
   36.99 +2080,2080,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,
  36.100 +2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,
  36.101 +2048,2048,2048,2048,0,2048,2048,2080,0,0,0,0,0,0,0,0,
  36.102 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
  36.103 +0,0,2048,2048,2048,2048,2048,0,2048,2048,2048,2048,2048,2048,2048,2080,
  36.104 +2080,32,32,32,0,0,2080,2080,2048,2048,2048,2048,2048,2048,2048,2048,
  36.105 +2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,
  36.106 +2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,
  36.107 +2080,2080,2048,2048,2048,2048,2048,2048,2080,2048,2048,2048,2048,2048,2048,2048,
  36.108 +2048,2048,2048,2048,2048,2048,0,0,0,2080,32,32,0,0,0,0,
  36.109 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
  36.110 +0,0,0,0,0,32,32,32,32,32,0,0,0,0,0,0,
  36.111 +0,32,32,32,0,0,0,2080,0,2048,2048,2048,2048,2048,2048,2080,
  36.112 +2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2080,
  36.113 +2048,2080,2080,2080,2048,2048,2048,2048,2048,2048,2048,2080,2080,2048,2048,2048,
  36.114 +2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,
  36.115 +2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,
  36.116 +2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,
  36.117 +2048,2048,2048,2048,2048,2048,0,0,2048,0,0,0,0,0,0,0,
  36.118 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
  36.119 +0,0,2048,2048,2048,2048,2048,2048,0,0,0,2048,2048,2048,2048,2048,
  36.120 +0,32,32,32,2080,2080,2080,0,0,2048,2048,2080,2080,2048,2048,2048,
  36.121 +2048,2048,2048,2048,2048,2048,2048,2048,0,0,0,2048,2048,2048,2048,2048,
  36.122 +2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,
  36.123 +2080,2080,2080,2080,2048,2048,2048,2048,2080,2080,2048,2048,2048,2048,2080,2080,
  36.124 +2048,2048,2048,2048,2048,0,2048,2048,0,0,2080,32,32,0,32,32,
  36.125 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
  36.126 +0,0,0,0,0,0,0,0,2113,2081,0,0,0,0,0,0,
  36.127 +0,32,32,32,0,0,2080,2080,0,0,2048,2048,2048,2048,2048,2080,
  36.128 +2048,2048,2048,2048,2048,2048,2048,2048,0,0,2048,2048,2048,2048,2048,2048,
  36.129 +2048,2080,2080,2080,2080,2048,2048,0,2048,2048,2048,2080,2080,2048,2048,2048,
  36.130 +2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,
  36.131 +2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,
  36.132 +2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,
  36.133 +2080,2080,2048,2048,2048,2048,2048,0,0,0,0,0,0,0,0,0,
  36.134 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
  36.135 +0,0,0,0,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,0,
  36.136 +0,32,0,0,0,0,2080,2080,2048,2048,2048,2048,2048,2048,2048,2048,
  36.137 +2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,
  36.138 +2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,
  36.139 +2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,
  36.140 +2048,2048,2048,2048,2048,2048,2048,2048,0,0,0,0,0,32,32,0,
  36.141 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
  36.142 +0,0,0,0,0,0,0,0,2080,32,32,32,0,0,0,0,
  36.143 +0,0,0,0,0,0,0,0,0,0,2048,2048,2048,2048,2048,2048,
  36.144 +2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,
  36.145 +2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,
  36.146 +2080,2080,2048,2048,2048,2048,2080,2080,2048,2048,2048,2048,2048,2048,2048,2048,
  36.147 +2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,
  36.148 +2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,
  36.149 +2080,2048,2048,2048,2048,2048,2048,2048,2048,2048,0,0,0,0,0,0,
  36.150 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
  36.151 +0,0,0,0,2048,0,2048,2048,2048,2080,2048,2048,2048,0,0,0,
  36.152 +0,0,0,0,0,0,0,0,2048,2048,2048,2048,2048,2048,2048,2048,
  36.153 +2048,2048,2048,2048,2080,2080,2080,2080,2048,2048,2048,2048,2048,2048,2048,2048,
  36.154 +2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,
  36.155 +2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,
  36.156 +2048,2048,2048,2048,2048,2048,2048,2048,0,0,0,0,0,0,0,0,
  36.157 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
  36.158 +0,0,0,0,0,0,0,0,0,0,0,32,32,32,32,32,
  36.159 +0,0,0,0,0,0,0,0,0,0,2048,2048,2048,2048,2048,2048,
  36.160 +2048,2048,2048,2048,2048,2048,2048,2048,2080,2048,2048,2048,2048,2048,2048,2080,
  36.161 +2080,2080,2080,2080,2048,2048,2048,2048,2080,2080,2080,2048,2048,2048,2048,2048,
  36.162 +2048,2048,2048,2048,2048,2048,2080,2080,2080,2080,2080,2048,2048,2048,2048,2048,
  36.163 +2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,
  36.164 +2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,
  36.165 +2048,2048,2048,2048,2048,2048,2048,2048,2080,2048,2048,2048,0,0,0,0,
  36.166 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
  36.167 +0,0,0,0,0,0,0,0,2080,2080,2080,2080,2048,0,0,0,
  36.168 +0,0,0,0,0,0,0,0,2048,2048,2048,2048,2048,2048,2048,2048,
  36.169 +2048,2048,2048,2048,2080,2080,2080,2080,2048,2048,2048,2080,2080,2080,2080,2080,
  36.170 +2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,
  36.171 +2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,
  36.172 +2048,2048,2048,2048,2048,2048,2048,2048,0,0,2048,2048,0,0,0,0,
  36.173 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
  36.174 +0,0,0,0,0,0,0,0,0,0,0,0,32,32,2080,2080,
  36.175 +32,0,0,0,0,0,0,0,0,0,2048,2048,2048,2048,2048,2048,
  36.176 +2048,2048,2048,2048,2048,2048,2048,2048,2080,2080,2080,2048,2048,2080,2080,2080,
  36.177 +2080,2080,2080,2080,2080,2080,2080,2080,2080,2080,2080,2080,2080,2048,2048,2048,
  36.178 +2048,2048,2048,2048,2048,2048,2080,2080,2080,2080,2080,2048,2048,2048,2048,2048,
  36.179 +2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2080,2080,2048,2048,2048,
  36.180 +2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,
  36.181 +2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,0,0,0,0,
  36.182 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
  36.183 +0,0,0,0,0,0,0,0,0,0,0,0,0,32,0,32,
  36.184 +0,0,32,32,2080,0,0,0,2048,2048,2048,2048,2048,2048,2048,2048,
  36.185 +2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2080,2080,2080,2080,2080,2080,
  36.186 +2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,
  36.187 +2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,
  36.188 +2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,0,0,0,0,
  36.189 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
  36.190 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,32,
  36.191 +32,0,0,0,0,0,0,0,0,0,2048,2048,2048,2048,2048,2048,
  36.192 +2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,
  36.193 +2080,2080,2080,2080,2080,2080,2080,2080,2048,2048,2048,2080,2080,2080,2080,2080,
  36.194 +2080,2080,2080,2048,2048,2080,2080,2080,2080,2080,2080,2048,2048,2048,2048,2048,
  36.195 +2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2080,2080,2080,2080,2048,2048,
  36.196 +2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,
  36.197 +2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,0,0,0,0,0,0,
  36.198 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
  36.199 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
  36.200 +0,0,32,32,2080,2080,0,0,2080,2080,2048,2048,2048,2048,2048,2048,
  36.201 +2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2080,2080,2048,2048,2048,2048,
  36.202 +2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,
  36.203 +2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,
  36.204 +2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,0,0,
  36.205 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
  36.206 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
  36.207 +0,0,0,0,0,0,2080,2080,0,0,2048,2048,2048,2048,2048,2048,
  36.208 +2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,
  36.209 +2048,2048,2048,2048,2080,2080,2080,2080,2048,2048,2048,2048,2080,2080,2080,2080,
  36.210 +2080,2080,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,
  36.211 +2048,2048,2048,2048,2048,2048,2048,2048,2080,2080,2048,2048,2048,2048,2080,2080,
  36.212 +2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,
  36.213 +2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,0,0,0,0,0,0,
  36.214 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
  36.215 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
  36.216 +0,0,0,0,0,0,0,0,2080,2080,2048,2048,2048,2048,2048,2048,
  36.217 +2048,2048,2048,2048,2080,2080,2080,2080,2048,2048,2048,2048,2048,2048,2048,2048,
  36.218 +2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,
  36.219 +2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,
  36.220 +2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,0,0,
  36.221 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
  36.222 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
  36.223 +0,0,0,0,0,0,0,0,0,0,2048,2048,2048,2048,2048,2048,
  36.224 +2048,2048,2048,2048,2048,2048,2048,2048,2080,2080,2080,2048,2048,2080,2080,2080,
  36.225 +2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,
  36.226 +2080,2048,2048,0,0,0,0,0,2048,2048,2048,2048,2048,2080,2080,2080,
  36.227 +2048,2048,2048,2048,2048,2048,2048,2048,2080,2048,2048,2048,2048,2048,2048,2080,
  36.228 +2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,
  36.229 +2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,0,2048,2048,0,
  36.230 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
  36.231 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
  36.232 +0,0,0,0,0,0,0,0,2048,2048,2048,2048,2048,2048,2048,2048,
  36.233 +2048,2048,2048,2048,2080,2080,2080,2080,2048,2048,2048,2048,2048,2048,2048,2048,
  36.234 +2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,
  36.235 +2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,
  36.236 +2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,0,
  36.237 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
  36.238 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
  36.239 +0,0,0,0,0,0,0,0,0,0,0,2048,2048,2048,2048,2048,
  36.240 +2048,2048,2048,2048,2048,2048,2048,2048,2080,2048,2048,2048,2048,2048,2048,2080,
  36.241 +2048,2048,2048,2048,2048,2048,2048,2048,2080,2080,2080,2080,2080,2080,2080,2080,
  36.242 +2048,2048,2048,0,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,
  36.243 +2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,
  36.244 +2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,
  36.245 +2048,2048,2048,2048,2048,2048,2048,2048,2080,2080,2048,2048,2048,2048,2048,2048,
  36.246 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
  36.247 +0,0,0,0,0,0,0,0,0,0,0,0,0,32,32,0,
  36.248 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,2048,2048,
  36.249 +2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,
  36.250 +2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,
  36.251 +2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,
  36.252 +4096,4096,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2080,2048,2048,
  36.253 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
  36.254 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
  36.255 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
  36.256 +2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,
  36.257 +2080,2080,2080,2080,2080,2080,2048,2048,2048,2048,2048,2080,2080,2080,4160,4160,
  36.258 +2048,2048,2048,2048,2048,2080,2080,2080,2080,2048,2048,2048,2048,2048,2048,2048,
  36.259 +2080,2080,2080,2080,2080,2080,2080,2080,2048,2048,2048,2048,2048,2048,2048,2048,
  36.260 +2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2080,4128,4128,
  36.261 +2080,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,
  36.262 +2048,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
  36.263 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
  36.264 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
  36.265 +2048,2048,2048,2048,2048,0,0,0,2048,2048,2048,2048,2048,2048,2048,2048,
  36.266 +2048,2048,2048,2080,2080,2080,2080,2080,2080,2080,2048,2048,2048,2048,2048,2080,
  36.267 +2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2080,2080,
  36.268 +4128,4128,4128,2080,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,
  36.269 +2048,2048,2048,2080,2080,2080,2080,2080,2080,2048,2048,0,0,0,0,0,
  36.270 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
  36.271 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
  36.272 +0,0,2048,2048,2048,2048,2048,2048,0,0,0,2048,2048,2048,2048,2048,
  36.273 +2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,
  36.274 +2080,2080,2080,2080,2080,2080,2080,2080,2080,2080,2080,2080,2080,2080,2048,2048,
  36.275 +2048,2048,2048,2048,2048,2048,2080,2080,2048,2048,2048,2048,2048,2048,2048,2048,
  36.276 +2080,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2080,4128,4128,
  36.277 +2080,2080,2080,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,
  36.278 +2048,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
  36.279 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
  36.280 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
  36.281 +0,0,0,0,0,0,0,0,0,0,2048,2048,2048,2048,0,0,
  36.282 +2048,2080,2080,2080,2080,2080,2048,2048,2080,2080,2080,2080,2080,2080,2080,2080,
  36.283 +2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2080,
  36.284 +4128,4128,4128,4128,2080,2080,2080,2080,2048,2048,2048,2048,2048,2048,2048,2048,
  36.285 +2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,0,0,
  36.286 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
  36.287 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
  36.288 +0,0,0,0,0,2048,2048,2048,0,0,0,0,0,2048,2048,2048,
  36.289 +2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,
  36.290 +2048,2048,2048,2080,2080,2080,2080,2080,2048,2048,2080,2080,2048,2048,2048,2048,
  36.291 +2048,2048,2048,2080,2080,2080,4128,4128,2048,2048,2048,2048,2048,2048,2048,2048,
  36.292 +4128,4128,4128,2080,2048,2048,2048,2048,2080,2048,2048,2048,2080,4128,4128,4128,
  36.293 +4128,4128,4128,2080,2080,2080,2080,2048,2080,2048,2048,2048,2048,2048,2048,2048,
  36.294 +2048,2048,2048,2048,2048,2048,2048,0,2048,0,0,0,0,0,0,0,
  36.295 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
  36.296 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
  36.297 +0,0,0,0,0,0,0,0,0,0,0,2048,2048,0,0,0,
  36.298 +2048,2048,2048,0,0,0,0,0,0,2048,2080,2112,2112,2112,2080,2080,
  36.299 +2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,
  36.300 +2080,2080,2080,4128,4128,4128,4128,4128,2048,2048,2048,2048,2048,2048,2048,2048,
  36.301 +2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,0,
  36.302 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
  36.303 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
  36.304 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
  36.305 +2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,
  36.306 +2048,2048,2048,2080,2080,2080,2080,2080,2048,2048,2048,2048,2048,2048,2048,2048,
  36.307 +2080,2080,2080,2080,2080,2080,2080,2080,2048,2048,2048,2048,2080,2080,2080,2080,
  36.308 +4128,4128,4128,2080,2048,2048,2048,2048,2080,2080,2080,2080,2080,4128,4128,4128,
  36.309 +4128,4128,4128,4128,4128,4128,4128,4128,4128,4128,2080,2048,2048,2048,2048,2048,
  36.310 +2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,0,0,0,0,0,
  36.311 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
  36.312 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
  36.313 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
  36.314 +0,0,0,0,0,0,0,0,0,0,2080,2080,2112,2112,2080,2080,
  36.315 +2080,2080,2080,2080,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,
  36.316 +2048,2048,2080,2080,4128,4128,4128,4128,4128,4128,2080,2080,2048,2048,2048,2048,
  36.317 +2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,
  36.318 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
  36.319 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
  36.320 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
  36.321 +2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,
  36.322 +2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,
  36.323 +2048,2048,2048,2080,2080,2080,2080,2080,2080,2080,2080,2080,2080,2080,2080,2080,
  36.324 +2080,2080,2080,2048,2048,2048,2048,2048,2080,2080,2080,2080,2080,2080,2080,2080,
  36.325 +2080,2080,2080,2080,2080,4128,4128,4128,4128,2080,2080,2080,2048,2048,2048,2048,
  36.326 +2080,2080,2080,2080,2080,2048,2048,2048,2080,2080,2080,2048,0,0,0,0,
  36.327 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
  36.328 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
  36.329 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
  36.330 +0,0,0,0,0,0,0,0,0,0,0,0,0,2080,2080,2080,
  36.331 +2080,2080,2080,2080,2080,2080,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,
  36.332 +2048,2048,2048,2080,2080,2080,4128,4128,4128,4128,4128,4128,2080,2080,2080,2080,
  36.333 +2080,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2080,
  36.334 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
  36.335 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
  36.336 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
  36.337 +2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,
  36.338 +2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2080,2048,2048,2048,
  36.339 +2048,2048,2048,2048,2048,2048,2080,2080,2080,2080,2080,2080,2080,2080,2080,2080,
  36.340 +2080,2080,2080,2048,2048,2048,2048,2048,2080,2080,2080,2080,2080,2080,2080,2080,
  36.341 +2080,2080,2080,2080,2080,4128,4128,4128,4128,2080,2080,2080,2080,2080,2048,2048,
  36.342 +2080,2080,2080,2080,2080,2080,2080,2048,2080,2080,2080,2048,0,0,0,0,
  36.343 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
  36.344 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
  36.345 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
  36.346 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2080,
  36.347 +2080,2080,2080,2080,2080,2080,2048,2048,2080,2048,2048,2048,2048,2048,2048,2048,
  36.348 +2048,2048,2048,2048,2048,2080,2080,2080,4160,4160,4128,4128,4128,4128,4128,4128,
  36.349 +2080,2080,2080,2080,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,
  36.350 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
  36.351 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
  36.352 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
  36.353 +0,0,2048,2048,2048,2048,2048,2048,0,0,0,0,2048,2048,2048,2048,
  36.354 +0,0,0,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,
  36.355 +2080,2080,2080,2080,2080,2080,2080,2080,2048,2048,2048,2048,2080,2080,2080,2080,
  36.356 +2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,
  36.357 +2080,2080,2080,2080,2080,2080,2080,4128,2080,2080,2080,2080,2080,2080,2080,2080,
  36.358 +2080,2080,2080,2080,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,0,
  36.359 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
  36.360 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
  36.361 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
  36.362 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
  36.363 +2080,2080,2080,2112,2112,2080,2080,2080,2080,2080,2080,2080,2048,2048,2048,2048,
  36.364 +2048,2048,2048,2048,2048,2048,2048,2048,4128,4128,4128,4128,4128,4128,4128,4128,
  36.365 +2080,2080,2080,2080,2080,2080,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,
  36.366 +2048,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
  36.367 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
  36.368 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
  36.369 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
  36.370 +0,0,0,0,0,0,0,0,0,0,0,2048,2048,2048,2048,2048,
  36.371 +2080,2080,2080,2080,2048,2048,2048,2048,0,0,0,2048,2048,2048,2048,2080,
  36.372 +2080,2080,2080,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,
  36.373 +2048,2048,2048,2080,2080,2080,2080,2080,2080,2080,2080,2080,2080,2080,2080,4128,
  36.374 +2080,2080,2080,2080,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,
  36.375 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
  36.376 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
  36.377 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
  36.378 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
  36.379 +2048,2080,2080,2112,2112,2112,2080,2080,2080,2080,2080,2080,2080,2080,2080,2080,
  36.380 +2048,2048,2048,2048,2048,2048,2048,2048,4128,4128,4128,4128,4128,4128,4128,4128,
  36.381 +2080,2080,2080,2080,2080,2080,2080,2048,2048,2048,2048,2048,2048,2048,2048,2048,
  36.382 +2048,2048,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
  36.383 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
  36.384 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
  36.385 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
  36.386 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
  36.387 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
  36.388 +2048,2048,2048,2048,2048,2048,2048,2048,2080,2080,2048,2048,2048,2048,2048,2048,
  36.389 +2048,2048,2048,2048,2048,2048,2080,2080,2080,2080,2080,2080,4160,4160,4160,4160,
  36.390 +4161,4160,4160,4128,2080,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,
  36.391 +2080,2080,2048,0,0,0,0,0,0,0,0,0,0,0,0,0,
  36.392 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
  36.393 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
  36.394 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
  36.395 +0,0,0,0,2080,2080,2112,2113,2080,2080,2080,2080,2080,2080,2080,2080,
  36.396 +2080,2080,2080,2048,2048,2048,2048,2048,2080,2080,2080,2080,2080,4160,4160,4160,
  36.397 +2080,4160,4160,4160,2080,2080,2080,2080,2048,2048,2048,2048,2048,2048,2048,2048,
  36.398 +2080,2080,2080,2048,2048,0,0,0,0,0,0,0,0,0,0,0,
  36.399 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
  36.400 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
  36.401 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
  36.402 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
  36.403 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
  36.404 +2048,2048,2048,2048,2048,2048,2048,2048,2080,2048,2048,2048,2048,2048,2048,2048,
  36.405 +2048,2048,2048,2048,2048,2048,2080,2080,2080,2080,2080,2080,2080,4160,4160,4160,
  36.406 +4160,4160,4128,4128,2080,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,
  36.407 +2080,2080,2048,2048,2048,0,0,0,0,0,0,0,0,0,0,0,
  36.408 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
  36.409 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
  36.410 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
  36.411 +0,0,0,0,0,2080,2080,2080,2113,2113,2112,2080,2080,2080,2080,2080,
  36.412 +0,2048,2048,2048,2048,2080,2080,2080,2048,2048,2048,2080,2080,2080,2080,2080,
  36.413 +4160,4160,4160,4160,4160,4160,4160,4160,2080,2080,2080,2080,2048,2048,2048,2048,
  36.414 +2080,2080,2080,2080,2048,2048,2048,0,0,0,0,0,0,0,0,0,
  36.415 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
  36.416 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
  36.417 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
  36.418 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
  36.419 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
  36.420 +0,0,0,0,0,0,2048,2048,2048,2048,0,0,0,0,2048,2048,
  36.421 +2048,2080,2080,2080,2080,2080,2080,2080,2048,2080,2080,2080,2080,2080,2080,2080,
  36.422 +4160,4160,4160,4128,4128,2080,2080,2080,2080,2080,2080,2048,2048,2048,2048,2048,
  36.423 +2080,2048,2048,2048,2048,2048,0,0,0,0,0,0,0,0,0,0,
  36.424 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
  36.425 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
  36.426 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
  36.427 +0,0,0,0,0,0,0,0,2081,2081,2081,2080,2080,2080,2080,2080,
  36.428 +2048,2048,2080,2080,2080,2080,2080,2080,2080,2080,2048,2048,2080,2080,2080,2080,
  36.429 +2080,2080,2112,4160,4160,4160,4160,4160,2112,2112,2080,2080,2080,2080,2080,2080,
  36.430 +2080,2080,2080,2080,2080,2080,2080,2080,0,0,0,0,0,0,0,0,
  36.431 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
  36.432 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
  36.433 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
  36.434 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
  36.435 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
  36.436 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,2048,2048,
  36.437 +2080,2080,2080,2080,2080,2080,2080,2080,2048,2048,2080,2080,2080,2080,2080,2080,
  36.438 +4128,4128,4128,4128,4128,4160,4160,4160,2080,2080,2080,2080,2048,2048,2048,2048,
  36.439 +2048,2048,2048,2048,2048,2048,2048,0,0,0,0,0,0,0,0,0,
  36.440 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
  36.441 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
  36.442 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
  36.443 +0,0,0,0,0,0,0,0,0,0,0,0,2080,2081,2113,2112,
  36.444 +2112,2112,2080,2080,2080,2080,2048,2048,2080,2080,2048,2048,2048,2048,2080,2080,
  36.445 +2048,2080,2080,2080,2080,2080,2112,2112,4160,4160,4160,2112,2080,2080,2080,2080,
  36.446 +2048,2048,2080,2080,2080,2080,2080,2080,0,0,0,0,0,0,0,0,
  36.447 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
  36.448 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
  36.449 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
  36.450 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
  36.451 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
  36.452 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
  36.453 +2080,2080,2080,2048,2048,2048,2048,2048,2048,2048,2080,2080,2080,2080,2080,2080,
  36.454 +2080,2080,4128,4128,4128,4128,4160,4160,4128,4128,4128,2080,2048,2048,2048,2048,
  36.455 +4096,4096,4096,2048,2048,2048,2048,2048,0,0,0,0,0,0,0,0,
  36.456 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
  36.457 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
  36.458 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
  36.459 +0,0,0,0,0,0,0,0,0,0,0,0,0,32,32,2080,
  36.460 +2112,2112,2080,2080,2080,2080,2080,2048,2080,2080,2080,2048,2048,2048,2048,2080,
  36.461 +2048,2048,2080,2080,2080,2080,2080,2080,4160,4160,4160,4160,2112,2080,2080,2080,
  36.462 +2048,2048,2048,2048,2048,2080,2080,2080,2080,32,0,0,0,0,0,0,
  36.463 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
  36.464 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
  36.465 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
  36.466 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
  36.467 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
  36.468 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
  36.469 +2048,2048,2048,0,0,0,0,0,2048,2048,2048,2048,2080,2080,2080,2048,
  36.470 +2080,2048,2080,4128,4128,4128,4128,4160,4160,4128,4128,4128,4128,4128,2080,2080,
  36.471 +4096,4096,4096,4096,2048,2048,2048,2080,0,0,0,0,0,0,0,0,
  36.472 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
  36.473 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
  36.474 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
  36.475 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
  36.476 +0,2080,2080,2080,2080,2080,2080,2080,2080,2080,2048,2048,0,2048,2048,2048,
  36.477 +2048,2048,2080,2080,2080,2080,2112,2112,4160,4160,4160,4160,4160,2112,2112,2112,
  36.478 +2048,2048,2048,2048,2080,2080,2080,2080,2080,2080,2080,0,0,0,0,0,
  36.479 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
  36.480 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
  36.481 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
  36.482 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
  36.483 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
  36.484 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
  36.485 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
  36.486 +2048,2048,2048,2048,2080,4128,4128,4128,4160,4160,4160,4160,4128,4128,4128,4128,
  36.487 +4096,4096,4096,4096,2048,2080,2080,2080,0,0,0,0,0,0,0,0,
  36.488 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
  36.489 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
  36.490 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
  36.491 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
  36.492 +0,0,0,0,0,32,32,2080,0,0,0,0,0,0,0,0,
  36.493 +2048,2048,2080,2080,2080,2080,2080,2080,2112,2112,2112,4160,4160,4160,4160,4160,
  36.494 +2080,2080,2080,2080,2080,2080,2080,2080,2080,2080,2080,0,0,0,0,0,
  36.495 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
  36.496 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
  36.497 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
  36.498 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
  36.499 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
  36.500 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
  36.501 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
  36.502 +2048,2048,2048,2080,2080,2080,2080,4128,4160,4160,4160,4160,4160,4160,4160,4160,
  36.503 +2080,4096,4096,4096,2048,2080,2080,2080,2048,0,0,0,0,0,0,0,
  36.504 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
  36.505 +0,0,0,0,0,32,32,32,32,0,0,0,0,0,0,32,
  36.506 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
  36.507 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
  36.508 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
  36.509 +0,0,0,2048,2080,2080,2080,2080,2080,2080,2080,2112,2112,2112,4160,4192,
  36.510 +4160,4160,4160,4128,2112,2080,2080,2080,2080,2080,2080,32,0,0,0,0,
  36.511 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
  36.512 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
  36.513 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
  36.514 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
  36.515 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
  36.516 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
  36.517 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
  36.518 +0,0,0,0,0,0,0,0,0,0,0,2080,2080,2112,2113,2113,
  36.519 +4161,4160,4160,4160,4160,2080,2080,2080,2080,2080,2048,0,0,0,0,0,
  36.520 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
  36.521 +0,0,0,0,2048,2080,2080,2080,2080,2080,0,0,0,0,0,0,
  36.522 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
  36.523 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
  36.524 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
  36.525 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,2080,2080,
  36.526 +2080,2112,4160,4160,4160,4160,4192,4192,2080,2080,2080,2080,2048,0,0,0,
  36.527 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
  36.528 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
  36.529 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
  36.530 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
  36.531 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
  36.532 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
  36.533 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
  36.534 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
  36.535 +2080,2080,2080,2080,2080,2080,2080,2112,2080,2080,2080,2080,2048,0,2048,0,
  36.536 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
  36.537 +0,0,0,2048,2048,2048,2080,2080,2048,2048,2048,2048,2048,2048,2048,0,
  36.538 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
  36.539 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
  36.540 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
  36.541 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
  36.542 +0,0,2048,2080,2048,2080,2080,2080,2080,2112,2080,2080,2080,2080,2080,2080,
  36.543 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
  36.544 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
  36.545 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
  36.546 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
  36.547 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
  36.548 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
  36.549 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
  36.550 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
  36.551 +0,0,0,0,0,32,2080,2080,2080,2080,2080,2080,2048,32,2048,0,
  36.552 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
  36.553 +0,0,2048,2048,2048,2048,2048,2048,2048,2048,2080,2080,2080,2080,2048,2048,
  36.554 +0,0,0,0,0,0,0,0,2080,32,32,32,32,32,32,32,
  36.555 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
  36.556 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
  36.557 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
  36.558 +0,0,0,0,0,0,0,0,0,0,0,32,2048,2080,2080,2080,
  36.559 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
  36.560 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
  36.561 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
  36.562 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
  36.563 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
  36.564 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
  36.565 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
  36.566 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
  36.567 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
  36.568 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
  36.569 +0,2048,2048,2048,2048,2048,2048,2048,2048,2048,2080,2080,2080,2080,2080,2080,
  36.570 +0,0,0,0,0,0,0,0,2048,2080,2080,2080,2080,2112,2112,2112,
  36.571 +2080,2080,2080,2080,2080,2080,2080,2080,0,0,0,0,0,0,0,0,
  36.572 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
  36.573 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
  36.574 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
  36.575 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
  36.576 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
  36.577 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
  36.578 +0,0,2048,0,0,0,0,0,0,0,0,0,0,0,0,0,
  36.579 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
  36.580 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
  36.581 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,2080,2080,
  36.582 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
  36.583 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
  36.584 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
  36.585 +0,2048,2048,2048,2048,2048,0,0,2048,2048,2048,2048,2048,2048,2080,2080,
  36.586 +2048,0,2048,2048,2048,2080,2080,2080,2048,2080,2048,2080,2080,2112,4160,2112,
  36.587 +4160,2112,4160,2112,4160,2112,4160,2112,2048,2048,2048,0,0,0,0,0,
  36.588 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
  36.589 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
  36.590 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
  36.591 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
  36.592 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,2080,2080,
  36.593 +2048,2048,2048,2080,2048,2080,2048,2080,2048,2080,2048,2048,2048,0,2048,2048,
  36.594 +2048,2048,2048,2048,2048,0,0,0,0,0,0,0,0,0,0,0,
  36.595 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
  36.596 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
  36.597 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,2080,2080,
  36.598 +2080,2080,2080,2080,0,0,0,0,0,0,0,0,0,0,0,0,
  36.599 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
  36.600 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
  36.601 +0,0,0,0,0,0,0,0,2048,2048,2048,2048,2048,2048,2080,2080,
  36.602 +2080,2080,2080,2080,2080,2080,4160,4160,2048,2048,2048,2048,2048,2048,2048,2048,
  36.603 +2080,2080,2080,2080,2080,2080,2080,2080,2080,2080,2048,2048,2048,0,2048,0,
  36.604 +2048,2048,2048,2048,2048,2048,2048,2048,2048,0,2048,0,2048,0,0,0,
  36.605 +2080,2080,2080,2080,2080,2080,2080,2080,0,0,0,0,0,0,0,0,
  36.606 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
  36.607 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
  36.608 +0,0,0,0,0,0,0,0,0,0,0,0,2080,2080,2080,2080,
  36.609 +2080,2080,2080,2080,2080,2080,2080,2080,4160,4160,4160,2080,2080,2080,2080,2048,
  36.610 +2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,0,0,0,0,0,0,
  36.611 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
  36.612 +0,0,0,0,0,0,0,0,0,0,0,0,0,2080,2080,2080,
  36.613 +2080,2080,2080,2080,0,0,0,0,0,0,0,0,0,0,0,0,
  36.614 +0,2080,2080,2080,2080,2080,0,0,0,0,0,0,0,0,0,0,
  36.615 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
  36.616 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
  36.617 +0,0,0,0,0,0,0,0,2048,2048,2048,2048,2048,2048,2048,2080,
  36.618 +2048,2048,2080,2080,4128,4128,4160,4160,2048,2048,2048,2048,2048,2048,2048,2048,
  36.619 +2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,
  36.620 +2080,2080,2080,2080,2080,2080,2080,2048,2048,2048,2048,2048,2048,0,2048,0,
  36.621 +0,0,0,2080,2080,2080,2080,2112,0,0,0,0,0,0,0,0,
  36.622 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
  36.623 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
  36.624 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,2080,2048,
  36.625 +2080,2080,2048,2080,2080,2080,4128,4128,4160,4160,4128,4160,4128,4128,4128,4128,
  36.626 +2048,4096,4096,4096,4096,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,0,
  36.627 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
  36.628 +0,0,0,0,0,0,0,0,0,0,0,0,2080,2080,2080,2112,
  36.629 +2080,2080,2080,2080,2080,2080,2080,2080,0,0,0,0,0,0,0,0,
  36.630 +0,0,2080,2112,2113,2113,2080,2080,0,0,0,0,0,0,0,0,
  36.631 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
  36.632 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
  36.633 +0,0,0,0,0,0,0,0,0,2048,2048,2048,2048,2048,2048,2048,
  36.634 +2048,2048,2048,2048,2080,2080,4128,4128,2048,2048,2048,2080,2080,2080,2080,2080,
  36.635 +2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,4128,
  36.636 +4128,4128,4128,2080,2080,2080,2080,2080,2048,2048,2048,2048,2048,2048,0,0,
  36.637 +0,0,0,0,0,2080,2112,2113,2112,2080,2080,0,0,0,0,0,
  36.638 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
  36.639 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
  36.640 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2048,
  36.641 +2048,2048,2048,2048,2048,2080,2080,2080,2080,2080,2080,2080,2080,4128,4128,4128,
  36.642 +4128,4128,4128,4128,4128,4128,4128,4128,2048,2048,2048,2048,2048,2048,2048,2048,
  36.643 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
  36.644 +2048,2048,2080,2080,2080,2080,2080,2080,2080,2080,2080,2080,2080,2080,2080,2080,
  36.645 +2080,2080,2080,2080,2080,2080,2080,2080,2080,2048,0,0,0,0,0,0,
  36.646 +0,0,0,2080,2080,2080,2080,2080,2080,2080,2080,2048,0,0,0,0,
  36.647 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
  36.648 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
  36.649 +0,0,0,0,0,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,
  36.650 +2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,
  36.651 +2048,4096,4128,4128,4128,4096,2048,2048,4096,4096,4096,2048,2048,2048,2048,2048,
  36.652 +2048,2048,2048,2048,2048,4128,4128,4128,2048,2048,2048,2048,2048,2048,2048,2048,
  36.653 +2048,0,0,0,0,0,0,2080,2080,2080,2112,2112,2112,2080,2080,0,
  36.654 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
  36.655 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
  36.656 +0,0,0,0,0,0,0,0,0,0,0,0,2048,2080,2080,2080,
  36.657 +2080,2080,2080,2080,2080,2080,2080,2080,2080,2080,2080,2080,2080,2048,2048,2048,
  36.658 +4128,4128,4128,4128,4128,4128,4128,4128,4128,4128,4128,4128,4128,4096,4096,2048,
  36.659 +2048,2048,2080,2080,2080,2080,2048,0,0,0,2048,2080,2080,2080,2080,2080,
  36.660 +2080,2080,2080,2080,2080,2080,2080,2080,0,2048,2048,2080,2080,2080,2080,2080,
  36.661 +2080,2080,2080,2080,2080,2080,2080,2112,2080,2080,2048,0,0,0,0,0,
  36.662 +0,0,0,0,2048,2080,2080,2080,2080,2080,2080,2080,2048,0,0,0,
  36.663 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
  36.664 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
  36.665 +0,0,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,
  36.666 +2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,
  36.667 +2080,4128,4128,4128,4128,4128,4096,4096,4096,4096,4096,2048,2048,2048,2048,2048,
  36.668 +2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,
  36.669 +2048,0,0,0,0,0,0,0,2080,2080,2080,2112,2112,2080,2080,2080,
  36.670 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
  36.671 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
  36.672 +0,0,0,0,0,0,0,0,0,0,2048,2048,2080,2080,2080,2080,
  36.673 +2080,2080,2048,2080,2048,2080,2048,2080,2048,2048,2048,2048,2048,2048,2048,2048,
  36.674 +2048,2048,2048,2048,4128,4128,4128,4128,4128,4128,4128,4128,4128,4128,4128,4128,
  36.675 +2080,2080,2080,2080,2080,2080,2080,2080,2080,2080,2080,2080,2080,2080,2080,2080,
  36.676 +2080,2080,2080,2080,2080,2080,2080,2080,2080,2080,2080,2080,2048,2048,2048,2048,
  36.677 +2080,2080,2080,2080,2080,2080,4160,4160,2080,2080,2080,2048,2048,2048,0,0,
  36.678 +0,0,0,0,2048,2048,2048,2048,2080,2080,2080,2080,2080,2080,2080,2080,
  36.679 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
  36.680 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
  36.681 +2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,0,0,0,
  36.682 +0,0,0,2048,2048,2048,2048,2048,2048,2048,2080,2080,2080,2080,2080,2048,
  36.683 +2080,2080,2048,2048,2048,2080,4128,4128,4128,4128,4128,2080,2048,2048,2048,2048,
  36.684 +2048,2048,2048,2048,2048,2048,2048,2080,4128,2080,2080,2080,2080,2048,2048,2048,
  36.685 +2048,2048,2048,0,0,0,0,0,2048,2048,2080,2080,2080,2080,2080,2080,
  36.686 +0,32,32,32,0,0,0,0,0,0,0,0,0,0,0,0,
  36.687 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
  36.688 +0,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2080,2080,2080,
  36.689 +2080,2080,2080,2080,2080,2080,2080,2080,2048,2048,2048,2048,2048,2048,0,0,
  36.690 +0,2048,2048,2048,2080,2080,4128,4128,4128,4128,4128,4128,4128,4128,4128,4128,
  36.691 +4128,2080,2080,2080,2080,2080,2080,2080,2080,2080,2080,2080,2080,2080,2080,2080,
  36.692 +2048,2048,2048,2080,2080,2080,2080,4160,4160,4160,4160,2080,2080,2048,2048,2048,
  36.693 +2048,2048,2080,2080,2080,2080,2080,2080,2080,2080,2080,2080,2048,2048,2048,2048,
  36.694 +2048,0,0,0,0,2048,2048,2048,2080,2080,2080,2080,2080,2080,4160,2112,
  36.695 +2080,32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
  36.696 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2048,
  36.697 +2080,2080,2048,2048,2048,2048,2048,2048,2080,2048,2048,2048,2048,0,0,0,
  36.698 +0,0,0,0,2048,2048,2048,2080,2048,2080,2080,2080,2080,2080,2080,2080,
  36.699 +2080,2048,2048,2048,2048,2048,2048,2048,4128,4128,4128,4128,4128,4128,4128,2080,
  36.700 +2048,2080,2048,2080,2048,2080,2080,2080,4128,2080,4128,2080,2080,2080,2080,2080,
  36.701 +2080,2048,2048,2048,0,0,0,0,2048,2048,2048,2080,2080,2080,2080,2080,
  36.702 +2112,2112,2113,2112,32,0,0,0,0,0,0,0,0,0,0,0,
  36.703 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
  36.704 +2080,2048,2048,2048,2080,2080,2080,2080,2080,2080,2080,2080,2080,2080,2080,2080,
  36.705 +2048,2080,2048,2080,2048,2080,2048,2080,2048,2048,2048,0,0,0,0,0,
  36.706 +2048,2048,2048,2048,2048,2048,2048,2048,2080,4128,4128,4128,4128,4128,4128,4128,
  36.707 +4128,2080,2080,2080,2080,2080,2080,4160,2080,2080,2080,2080,2080,2080,2080,2080,
  36.708 +2048,2048,2048,2048,2080,2080,2080,2080,2080,2080,2080,2080,2080,2080,2080,2048,
  36.709 +2048,2048,2048,2080,2080,2080,2080,2080,2080,2080,2080,2080,2080,2048,2048,2048,
  36.710 +2048,2048,2048,0,0,0,2048,2048,2048,2048,2048,2080,2080,2080,2080,2112,
  36.711 +4193,2112,2112,32,0,0,0,0,0,0,0,0,0,0,0,0,
  36.712 +0,0,0,0,0,0,0,2048,0,0,0,2048,2048,2080,2080,2080,
  36.713 +2080,2080,2080,2080,2080,2080,2080,2080,2080,2080,2048,2048,2048,0,0,0,
  36.714 +0,0,0,0,2048,32,2080,2080,0,32,2080,2080,2080,2112,2080,2080,
  36.715 +2080,2080,2048,2048,2048,2048,2048,2048,2048,2048,2080,2080,2080,2080,2080,2080,
  36.716 +2080,2080,2080,2080,2080,2080,2080,2080,2080,2112,2080,2080,2080,2080,2080,2080,
  36.717 +2080,2080,2048,2048,2048,2048,0,0,0,0,2048,2048,2048,2048,2080,2080,
  36.718 +2112,2112,2113,2112,2112,2080,2080,0,0,0,0,0,0,0,0,0,
  36.719 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
  36.720 +2048,2048,2080,2080,2080,2080,2080,2080,2080,2080,2080,2080,2080,2080,2080,2080,
  36.721 +2048,2080,2048,0,2048,0,0,0,0,0,0,0,0,0,0,0,
  36.722 +0,0,0,0,2048,2048,2080,2048,2080,2080,2080,2080,4096,4096,4096,2080,
  36.723 +4160,4160,2080,2080,2080,2080,4160,4160,2080,2080,2080,2080,2080,2080,2080,2080,
  36.724 +2080,2080,2080,2080,2048,2048,2048,2048,2048,2048,2048,2048,2048,2080,2080,2080,
  36.725 +2080,2080,2080,2080,2080,2080,2080,2080,2080,2080,2080,2080,2080,2080,2080,2080,
  36.726 +2080,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2080,2080,2080,2080,
  36.727 +4160,2112,2112,2112,2080,2080,2080,2080,2048,32,2048,2080,2080,2080,2080,2080,
  36.728 +2080,2080,2080,2048,2048,2048,2048,2048,0,0,2048,2048,2080,2080,2080,2080,
  36.729 +2048,2048,2048,2048,2048,2080,2080,2080,2080,2048,2048,2048,2048,2048,0,0,
  36.730 +0,0,0,0,32,32,32,32,0,32,32,32,2080,2080,2080,2112,
  36.731 +2112,2080,2080,2080,2080,2080,2080,2080,2048,2048,2048,2048,2048,2048,2048,2080,
  36.732 +2080,2080,2080,2080,2080,2080,2080,2080,2080,2080,2080,2080,2080,2080,2080,2080,
  36.733 +2080,2080,2080,2080,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,
  36.734 +2080,2080,2080,2112,2112,2112,2112,2112,2080,2080,2080,2080,2048,0,0,0,
  36.735 +2080,2080,2048,2080,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,
  36.736 +2048,2048,2048,2048,2080,2080,2080,2080,2080,2080,2080,2080,2080,2080,2080,2080,
  36.737 +2080,32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
  36.738 +0,0,0,0,2080,2080,2080,2080,2080,2080,2080,2080,4096,4096,4096,2048,
  36.739 +4160,4160,4160,4160,4160,4160,4160,4160,2048,2048,2048,2048,2048,2080,2080,4160,
  36.740 +4128,4128,2080,2080,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,
  36.741 +2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2080,2080,
  36.742 +2080,2080,2080,2080,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2080,
  36.743 +2080,2080,2080,2080,2080,2080,2080,2112,2080,2080,2080,2112,4160,2112,4160,4160,
  36.744 +2080,2080,2080,2080,2080,2080,2080,2080,0,0,0,0,0,0,0,0,
  36.745 +2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,
  36.746 +0,32,0,0,0,0,0,0,32,32,0,0,0,32,2080,2112,
  36.747 +2080,2080,2080,2080,2112,2112,2080,2080,2048,2048,2048,2048,2048,2048,2048,2048,
  36.748 +0,0,0,32,32,32,32,2080,2080,2080,2080,2080,2080,2080,2080,2080,
  36.749 +2080,2080,2080,2080,2080,2080,2080,2080,2048,2048,2048,2048,2048,2048,2048,2048,
  36.750 +2048,2080,2080,2080,2080,2080,2080,2112,2080,2112,2080,2112,2080,2112,2080,2080,
  36.751 +4128,4128,4128,4128,4128,2080,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,
  36.752 +2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2080,2080,2080,
  36.753 +2080,32,0,32,0,0,0,0,0,0,0,0,0,0,0,0,
  36.754 +0,0,0,0,32,2080,2080,2080,2080,2080,2080,2080,2080,4128,4128,4128,
  36.755 +4160,4160,4160,4160,4160,4160,4160,4160,2048,2048,2048,2048,2048,2048,2080,2080,
  36.756 +2080,2080,2080,2080,2080,2080,2080,2080,2048,2080,2048,2048,2048,2048,2048,2048,
  36.757 +2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2080,2080,2080,
  36.758 +4128,2080,4128,4160,2080,2080,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,
  36.759 +2048,2048,2048,2048,2048,2048,2048,2080,2080,2080,2080,2080,2080,2080,2112,2112,
  36.760 +2112,2112,2112,2080,2080,2080,2080,2080,0,0,0,0,0,0,0,0,
  36.761 +2048,2048,2048,2048,2048,2048,2048,2080,2048,2048,2048,2080,2048,2080,2048,2080,
  36.762 +0,0,0,0,0,0,0,0,32,0,0,0,0,32,2080,2112,
  36.763 +0,2048,2080,2080,2112,2112,2112,2112,4128,2080,2080,2080,2048,2048,2048,2048,
  36.764 +0,0,0,0,0,0,0,0,32,0,0,0,2080,2080,2080,2080,
  36.765 +2080,2080,2080,2080,2080,2080,2080,2080,2080,2080,2080,2048,2048,2048,2048,2048,
  36.766 +2080,2080,2080,2048,2048,2048,2048,2048,2048,2048,2080,2080,2080,2080,4128,4128,
  36.767 +4160,4128,4128,4128,4128,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,
  36.768 +2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2080,2080,2080,
  36.769 +2080,32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
  36.770 +0,0,0,0,0,0,0,0,2080,2080,2080,2080,4128,4160,4160,4160,
  36.771 +2080,4128,4160,4160,4160,4160,4128,2080,2048,0,0,0,0,2048,2048,2080,
  36.772 +4128,2080,2048,2048,2048,2080,4128,4160,4128,4128,2080,2048,2048,2048,2048,0,
  36.773 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
  36.774 +2048,0,2048,2080,2080,2080,2080,2080,2080,2080,2080,2080,2080,2080,2080,2080,
  36.775 +2048,2048,2048,2048,2048,2048,2048,0,2048,0,2048,2048,2080,2080,4160,2080,
  36.776 +2080,2112,2112,2112,2112,2112,2112,2112,2112,2112,2080,2080,0,0,0,0,
  36.777 +0,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,
  36.778 +2048,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2048,
  36.779 +2080,4160,4160,2112,2048,2048,2048,2080,2080,2080,4128,4128,4128,4128,4096,2080,
  36.780 +2048,2048,2048,2048,2048,0,0,0,0,0,0,0,0,0,0,0,
  36.781 +0,0,0,0,32,32,32,32,32,32,32,32,32,32,32,2080,
  36.782 +0,2080,2080,2080,2080,2080,2048,2048,2048,2048,0,0,0,0,2048,2048,
  36.783 +4128,4128,4128,4128,4128,4128,4128,4128,4128,4128,4128,4128,2048,2048,2048,2048,
  36.784 +2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,
  36.785 +2048,0,0,2080,2080,2080,2080,2080,0,0,0,0,0,0,0,0,
  36.786 +0,0,0,0,0,0,2048,2048,2080,2080,2080,2080,2080,4129,4129,4160,
  36.787 +4160,4160,4160,4160,4160,4160,4160,4192,0,0,0,0,0,0,32,32,
  36.788 +2048,2048,2048,2080,4128,4128,4128,4128,4128,4128,4128,4128,4128,2080,2048,2048,
  36.789 +2048,2048,2048,0,0,0,0,0,0,0,0,0,0,0,0,0,
  36.790 +2048,2048,2048,2048,2048,2048,2048,2048,2048,0,0,0,0,2048,2080,2080,
  36.791 +4160,4160,2080,2080,2080,2080,2048,2048,2048,2048,0,2048,2048,2048,2048,2048,
  36.792 +2048,32,32,32,32,2080,2080,2080,2112,2080,2080,32,0,0,0,0,
  36.793 +0,0,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,
  36.794 +2048,2048,0,0,0,0,0,0,0,0,0,0,0,0,0,2048,
  36.795 +2080,2080,4160,2080,2048,2048,2048,4128,2080,4128,4128,4128,4128,4128,4128,4128,
  36.796 +2048,2048,2048,2048,2048,2048,0,0,0,0,0,0,0,0,0,0,
  36.797 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
  36.798 +2080,2080,2080,2080,2080,2112,2080,2080,2048,2048,2048,2048,2048,2048,2048,2048,
  36.799 +2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,4128,4128,4128,4128,4128,
  36.800 +4096,4096,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,
  36.801 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
  36.802 +0,0,0,0,0,0,0,2048,0,2048,2048,2080,2080,2081,2081,4160,
  36.803 +4160,4160,4160,4160,4160,4160,4192,4192,2112,2080,0,0,0,0,0,32,
  36.804 +2048,2048,2080,4128,4160,4160,4128,2080,4128,4128,4128,4160,4160,4128,4128,4128,
  36.805 +2080,2080,2080,2048,0,0,0,0,0,0,0,0,0,0,0,0,
  36.806 +2048,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
  36.807 +4160,4160,4160,4160,4160,4160,4160,4160,2080,2080,2080,2080,2080,2048,2048,0,
  36.808 +0,0,0,0,0,0,2048,2048,2112,2112,2112,2080,2080,2048,0,0,
  36.809 +0,0,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,
  36.810 +2048,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
  36.811 +0,2048,2080,2080,2048,2048,4128,4160,4128,4128,4128,4128,4128,4128,4128,4128,
  36.812 +4128,4128,4128,2080,2080,2080,2080,2080,0,0,0,0,0,0,0,0,
  36.813 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
  36.814 +0,0,2048,2080,2112,2112,4160,4160,4160,4128,4160,4128,4128,2048,2048,2048,
  36.815 +2048,2048,2048,2048,2048,2048,2048,2048,2080,2080,2080,4128,4128,4128,4128,4128,
  36.816 +4128,4128,4128,4128,2080,2048,2048,2048,2048,2048,2048,2048,2048,0,0,0,
  36.817 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
  36.818 +0,0,0,0,0,0,0,0,0,0,0,0,2048,2080,2080,2080,
  36.819 +4128,4160,4160,4160,4160,4160,4192,4192,4192,2112,32,0,0,0,0,0,
  36.820 +2048,2048,2048,4128,4160,4160,4128,4128,4128,4128,4128,4128,4128,4128,4128,2080,
  36.821 +2080,2080,2080,2048,0,0,0,0,0,0,0,0,0,0,0,0,
  36.822 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
  36.823 +2048,2048,2080,2080,4160,4160,4160,4161,4161,4160,4160,2080,2080,2080,2048,0,
  36.824 +0,0,0,0,0,0,0,2048,2080,2080,2112,2112,2080,2080,0,0,
  36.825 +2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,0,
  36.826 +2080,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
  36.827 +0,2048,2048,2048,2048,2048,4128,4160,4128,4128,4128,4128,4128,4128,4128,4128,
  36.828 +4160,4160,4128,4128,2080,2080,2080,2080,0,0,0,0,0,0,0,0,
  36.829 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
  36.830 +0,0,0,2048,2080,2080,2080,2080,4160,4160,4160,4160,4160,4128,2080,2048,
  36.831 +4128,4128,4128,4128,4128,4128,4128,4128,4128,4128,4128,4128,4128,4128,4128,4128,
  36.832 +4128,4128,4128,4128,2080,2048,2048,2048,2048,2048,2048,2048,2048,2048,0,0,
  36.833 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
  36.834 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
  36.835 +2080,4160,4160,4160,4160,4160,2112,2112,2144,2112,2080,32,0,0,0,0,
  36.836 +0,2048,2048,2080,2080,4128,4160,4160,4128,4128,4128,4128,2080,2080,2080,2048,
  36.837 +2080,2048,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
  36.838 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
  36.839 +0,2048,2048,2048,2080,2080,4160,4160,4160,2080,2080,2080,2080,2080,2048,0,
  36.840 +0,0,0,0,0,0,0,0,0,0,0,2080,2080,2048,0,0,
  36.841 +2048,2048,2080,2080,2080,2080,2080,2048,2048,2048,2048,2048,2048,2048,2048,0,
  36.842 +2080,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
  36.843 +0,0,2048,2048,2048,2048,2080,4128,2080,4128,4128,4128,4128,4128,4128,4128,
  36.844 +2080,2080,2048,2048,2048,0,0,0,0,0,0,0,0,0,0,0,
  36.845 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
  36.846 +0,0,0,0,2048,2048,2048,2048,2080,2080,4160,4160,4160,4128,4128,4128,
  36.847 +4128,4128,4128,4128,4128,4128,4128,4128,4128,4128,4128,4128,4128,4128,4128,4128,
  36.848 +4128,4128,4128,2080,2048,2048,2048,2048,2048,0,0,0,0,0,0,0,
  36.849 +2080,2080,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
  36.850 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
  36.851 +2048,2048,2080,2112,4160,4160,2112,2112,2112,2112,2112,2112,2080,32,0,0,
  36.852 +2048,2048,2048,2048,2048,2080,4128,4160,4160,4160,4160,4160,4128,2080,2080,2080,
  36.853 +2048,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
  36.854 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
  36.855 +2048,2048,2048,2048,2080,2080,2080,2080,2080,2080,2080,4160,4160,4160,2080,2048,
  36.856 +0,0,0,0,0,0,0,0,0,0,0,2048,2080,2080,2080,2048,
  36.857 +2080,2080,2080,2080,2080,2080,2080,2080,2080,2080,2080,2048,2048,2048,2048,0,
  36.858 +2080,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
  36.859 +0,0,0,2048,2048,2048,2048,2080,2048,2080,4128,4128,4128,4128,4128,4128,
  36.860 +2080,2080,2048,2048,2048,0,0,0,0,0,0,0,0,0,0,0,
  36.861 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
  36.862 +0,0,0,2048,2048,2048,2048,2048,2048,2048,2080,2080,4128,4128,4128,4128,
  36.863 +4128,4160,4128,4160,4128,4160,4128,4160,2080,4128,4128,4128,4160,4160,4160,4160,
  36.864 +4128,4128,4128,2048,2048,0,0,2048,0,0,0,0,0,0,0,0,
  36.865 +2080,2080,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
  36.866 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
  36.867 +0,0,2048,2080,2080,4160,2112,4160,2112,2112,4193,4193,2112,32,0,0,
  36.868 +0,0,0,2048,2048,2048,2048,2080,4128,4128,4128,4128,4128,4128,2080,2080,
  36.869 +2048,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
  36.870 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
  36.871 +2080,2080,2080,2048,2048,2048,2048,2048,2080,2080,4160,4160,4160,4160,2080,2048,
  36.872 +2048,2048,2048,0,0,0,0,2048,2048,2048,2048,2080,2080,2080,2080,2080,
  36.873 +2080,2080,2080,2080,2080,2080,2080,2048,2080,2048,2048,2048,2048,2048,2048,0,
  36.874 +32,32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
  36.875 +0,0,0,0,0,2048,2048,2080,2048,2080,2080,4128,4128,4128,4128,4128,
  36.876 +4160,2080,2080,2080,2080,0,0,0,0,0,0,0,0,0,0,0,
  36.877 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
  36.878 +0,0,0,2048,2080,2080,2048,2048,2048,2048,2048,2048,2048,4128,4128,4128,
  36.879 +4160,4160,4160,4160,4160,4160,4160,4160,4128,4128,4128,4160,4160,4160,4160,4160,
  36.880 +4160,4160,4128,2048,0,0,0,2048,0,0,0,0,0,0,0,0,
  36.881 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
  36.882 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
  36.883 +0,0,0,0,2048,2080,2080,2112,2080,2112,2144,4193,2144,2112,32,0,
  36.884 +0,0,0,2048,2048,2048,2048,2048,2048,2080,2080,2080,4128,4128,4128,2080,
  36.885 +2080,2048,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
  36.886 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
  36.887 +2048,2048,2048,2048,2048,2048,2048,2080,2048,2048,2048,2080,2080,2080,2048,0,
  36.888 +2080,2080,2080,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2080,2080,
  36.889 +2048,2080,2080,2080,2080,2048,2048,2048,2048,2048,2048,2048,2048,2048,0,0,
  36.890 +32,32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
  36.891 +0,0,0,0,0,2080,2080,2080,2048,2048,2048,2080,4128,4128,4128,2080,
  36.892 +2080,2080,2080,2080,2048,0,0,0,0,0,0,0,0,0,0,0,
  36.893 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
  36.894 +0,0,0,0,2048,2080,2048,2048,2048,2048,2048,2048,2048,2080,4128,4160,
  36.895 +4128,4128,4128,4128,4128,4128,4128,4128,4160,4160,4160,4160,4160,4160,4128,4128,
  36.896 +4160,4161,4160,2048,0,0,0,2048,0,0,0,0,0,0,0,0,
  36.897 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
  36.898 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
  36.899 +2080,2048,0,0,0,0,0,0,2080,2080,2112,2112,2144,2112,2112,2112,
  36.900 +2048,0,0,0,2048,2048,2080,2048,2080,2080,2080,2048,2048,2048,2048,2048,
  36.901 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
  36.902 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
  36.903 +2048,2048,2048,2048,2048,2048,2048,2048,2080,2048,2048,2048,2080,2080,2080,2048,
  36.904 +2048,2080,4128,4128,4128,2080,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,
  36.905 +2080,2080,2080,2080,2080,2080,2080,2080,2080,2048,2048,2048,2048,2048,2048,0,
  36.906 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
  36.907 +0,0,0,0,0,0,0,0,2080,2048,2048,2048,2048,2048,4128,4128,
  36.908 +2080,2080,2080,2048,0,0,0,0,0,0,0,0,0,0,0,0,
  36.909 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
  36.910 +0,0,0,0,0,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2080,
  36.911 +2080,2080,4128,4128,4128,4160,4160,4160,4160,4160,4160,4160,4160,4160,4160,4160,
  36.912 +4160,4161,4160,2080,0,0,0,0,0,0,0,0,0,0,0,0,
  36.913 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
  36.914 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
  36.915 +2080,2080,2080,2080,2080,2080,2048,0,0,2048,2080,2080,2080,2112,2112,2112,
  36.916 +4161,2080,2080,2048,2048,2080,2080,2080,2048,2048,2048,2048,0,0,0,0,
  36.917 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
  36.918 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
  36.919 +2048,2048,2048,2048,2048,2048,2048,2048,2080,2080,2080,2080,2080,4160,2080,2080,
  36.920 +4128,4128,4128,4128,4128,4128,2080,2080,2080,2048,2048,2048,2048,2048,2048,2048,
  36.921 +2080,2080,2080,2080,2080,2080,2080,2080,2048,2048,2048,2048,2048,2048,2048,0,
  36.922 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
  36.923 +0,0,0,0,0,0,0,0,2080,2048,2048,2048,2048,2080,2080,2080,
  36.924 +2080,2080,2080,0,0,0,0,0,0,0,0,0,0,0,0,0,
  36.925 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
  36.926 +0,0,0,0,0,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,
  36.927 +2080,2080,2080,4128,4128,4128,4160,4160,4160,4160,4160,4160,4160,4160,4160,4160,
  36.928 +4160,4161,4161,4160,2080,0,0,0,0,0,0,0,0,0,0,0,
  36.929 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
  36.930 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
  36.931 +0,0,0,0,2080,2080,2080,2080,2080,2080,2048,2048,2080,2080,2080,2112,
  36.932 +4193,4161,2112,2080,0,0,2080,2080,0,0,0,0,0,0,0,0,
  36.933 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
  36.934 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
  36.935 +2048,2048,2048,2048,2048,2048,2048,0,2080,2080,2048,2080,2080,2080,2080,2080,
  36.936 +4128,4128,2080,2080,2080,2080,4128,4128,4128,4128,2080,2048,2048,2048,2048,2048,
  36.937 +2048,2048,2048,2048,2048,2048,2048,2048,2080,2048,2048,2048,2080,2080,2080,2048,
  36.938 +2048,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
  36.939 +0,0,0,0,0,0,0,0,2080,2080,2080,2080,2080,2080,2080,2080,
  36.940 +2112,2080,32,0,0,0,0,0,0,0,0,0,0,0,0,0,
  36.941 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
  36.942 +0,0,0,0,0,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,
  36.943 +2048,2080,2048,2080,2080,4128,4128,4128,4128,4128,4128,4128,4128,4160,4160,4160,
  36.944 +4160,4160,4160,4193,4161,2080,0,0,0,0,0,0,0,0,0,0,
  36.945 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
  36.946 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
  36.947 +0,0,0,0,0,2080,2080,2112,2080,2080,2048,2048,2048,2048,2080,2080,
  36.948 +2080,2112,2112,2080,2048,0,2048,2080,2048,2048,0,0,0,0,0,0,
  36.949 +0,0,0,0,0,0,0,0,2048,2048,2048,2048,2048,2048,2048,2048,
  36.950 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
  36.951 +2048,2048,2080,2080,2080,2080,2048,2048,2048,2048,0,2048,2048,2048,2048,2048,
  36.952 +2080,2048,2048,2048,2048,2080,2080,2080,4160,4128,2080,2080,2048,2048,2048,2048,
  36.953 +2048,2048,2048,2048,2048,2048,2048,2048,2080,2048,2048,2080,2080,2080,2080,2080,
  36.954 +2080,2080,2048,2048,2048,0,0,0,0,0,0,0,0,0,2048,0,
  36.955 +0,0,0,0,0,0,0,0,2048,2080,2080,2080,4128,2080,2080,2080,
  36.956 +2112,2112,32,0,0,0,0,0,0,0,0,0,0,0,0,0,
  36.957 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
  36.958 +0,0,0,0,0,0,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,
  36.959 +2048,2048,2048,2048,2048,2048,2080,2080,2080,2080,2080,2080,4128,4128,4128,4160,
  36.960 +4160,2080,2112,4160,4193,2112,0,0,0,0,0,0,0,0,0,0,
  36.961 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
  36.962 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
  36.963 +0,0,0,0,0,0,0,2080,2112,2080,2080,2048,2048,2048,2048,2048,
  36.964 +0,2080,2113,2113,2080,2080,2080,2080,2048,2048,0,0,0,0,0,0,
  36.965 +0,0,0,0,0,2048,2048,2048,2048,2048,2048,2048,2048,2080,2080,2080,
  36.966 +2048,2048,2048,2048,2048,0,0,0,0,0,0,0,0,0,0,0,
  36.967 +2048,2048,2080,2080,2080,2080,2080,2048,2048,2048,0,2048,2048,2048,2048,2048,
  36.968 +2048,2048,2048,4128,4128,2080,2048,2048,4128,4128,2080,2048,2048,2048,2048,2048,
  36.969 +2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2080,2080,2080,2080,
  36.970 +2080,2080,2080,2080,2048,2048,2048,2048,2048,0,2048,2048,2048,2048,2048,2080,
  36.971 +0,0,0,0,0,0,0,0,0,2048,2080,2080,2080,2080,2080,2080,
  36.972 +2112,2112,32,0,0,0,0,0,0,0,0,0,0,0,0,0,
  36.973 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
  36.974 +0,0,0,0,0,0,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,
  36.975 +2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2080,4128,4128,
  36.976 +4160,2112,2112,2112,4193,2113,2112,2080,0,0,0,0,0,0,0,0,
  36.977 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
  36.978 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
  36.979 +0,0,0,0,0,0,0,0,2080,2080,2080,2080,2080,2048,2048,2048,
  36.980 +0,0,2048,2080,2080,2048,2048,2048,0,0,0,0,0,0,0,0,
  36.981 +0,0,0,0,0,2048,2048,2048,2048,2048,2048,2048,2080,2080,2080,2080,
  36.982 +2112,2112,2112,2112,2112,2112,2112,2112,2080,2080,2048,2048,2048,2048,0,0,
  36.983 +2048,2048,2080,2080,4160,4160,2080,2080,2080,2080,2080,2080,2080,2080,2080,2080,
  36.984 +2048,2048,4128,4128,4160,4128,4128,2048,2080,2048,2048,2048,2048,2048,2048,2048,
  36.985 +2048,2048,2048,2048,2048,2048,2048,2048,2048,0,0,2048,2048,2048,2048,2048,
  36.986 +2080,2080,2080,2080,2048,2048,2048,2048,2048,2048,2048,2080,4128,4128,4128,4160,
  36.987 +2080,32,0,0,0,0,0,0,0,0,2048,2080,2080,2080,2080,2080,
  36.988 +2112,2080,32,0,0,0,0,0,0,0,0,0,0,0,0,0,
  36.989 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
  36.990 +0,0,0,0,0,0,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,
  36.991 +2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,
  36.992 +4160,2112,2112,2112,2113,4193,4193,2145,32,0,0,0,0,0,0,0,
  36.993 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
  36.994 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
  36.995 +0,0,0,0,0,0,0,0,2048,2080,2080,2080,4128,2080,2048,2048,
  36.996 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
  36.997 +0,0,0,0,0,0,2048,2048,2048,2048,2048,2048,2080,2080,2080,2080,
  36.998 +2112,2112,2112,2112,2112,2080,2080,2080,2080,2080,2080,2080,2080,2080,2080,2048,
  36.999 +2048,2048,2048,2080,2080,4160,4160,4160,4160,2080,2080,2080,4160,4160,4160,2080,
 36.1000 +2048,2048,2080,4128,4128,4128,4128,4128,2048,2048,2048,2048,2048,2048,2048,2048,
 36.1001 +2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,0,2048,2048,2048,2048,2048,
 36.1002 +2048,2048,4096,2048,4096,2048,4096,2048,4096,2048,4096,2080,4128,4128,4128,4128,
 36.1003 +2081,33,32,0,0,0,0,0,0,0,0,2048,2080,2080,2080,2080,
 36.1004 +2112,2080,32,0,0,0,0,0,0,0,0,0,0,0,0,0,
 36.1005 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
 36.1006 +0,0,0,0,0,0,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,
 36.1007 +2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,
 36.1008 +2048,2080,2112,2112,2112,2112,2112,2145,2112,32,32,0,0,0,0,0,
 36.1009 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
 36.1010 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
 36.1011 +0,0,0,0,0,0,0,0,0,0,2048,2048,2080,2080,2048,2048,
 36.1012 +4129,2048,2048,0,2048,2048,0,0,0,0,0,0,0,0,0,0,
 36.1013 +0,0,0,0,0,0,0,2048,2048,2048,2048,2048,2080,2080,2080,2080,
 36.1014 +2048,2048,2048,2048,2048,2048,2048,2048,2080,2080,2080,2080,2080,2080,2080,2080,
 36.1015 +2048,2048,2048,2048,2080,4128,4160,4160,4128,2080,2080,2080,2080,2112,2112,2080,
 36.1016 +2048,2048,2048,2048,2048,2080,2081,2080,2080,2048,2048,2048,2048,2048,2048,2048,
 36.1017 +2080,32,32,2080,2080,2080,2048,2048,2048,2048,2048,2048,2080,2080,2080,2080,
 36.1018 +2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2080,
 36.1019 +2080,2081,2080,0,0,0,0,0,0,0,0,2048,2048,2080,4128,4128,
 36.1020 +2080,32,2080,32,0,0,0,0,0,0,0,0,0,0,0,0,
 36.1021 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
 36.1022 +0,0,0,0,0,0,0,0,2048,2048,2048,2048,2048,2048,2048,2048,
 36.1023 +2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,0,
 36.1024 +0,0,2080,2080,2080,2080,2080,2112,2145,2113,2080,0,0,0,0,0,
 36.1025 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
 36.1026 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
 36.1027 +0,0,0,0,0,0,0,0,0,0,0,2048,2048,2080,2080,2080,
 36.1028 +4097,4096,4096,2048,2048,2048,2048,2048,2048,0,0,0,0,0,0,0,
 36.1029 +0,1,1,1,33,2048,2048,2048,2048,2048,2048,2048,4096,4096,4096,2048,
 36.1030 +2080,2048,2048,2048,2048,2048,2048,2048,2048,2080,2080,2048,2048,2081,0,0,
 36.1031 +0,0,2048,4128,4096,2048,2048,2048,4096,4096,4128,2080,0,0,32,32,
 36.1032 +0,1,1,1,1,0,1,1,66,2113,2081,2048,2048,4096,4096,2048,
 36.1033 +64,64,64,64,0,2080,2081,0,2049,2049,2049,2049,2048,32,32,32,
 36.1034 +32,2080,2080,2080,2080,2080,2080,2080,2048,2048,2048,2048,2080,2048,2048,2048,
 36.1035 +2048,2080,4128,4160,2080,2048,0,0,0,0,0,2048,2048,2048,4096,2048,
 36.1036 +4161,2113,2080,2080,0,0,0,0,0,0,0,0,0,0,0,0,
 36.1037 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
 36.1038 +0,2048,0,0,0,0,0,0,32,0,0,2080,2048,2048,2048,2048,
 36.1039 +2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,0,
 36.1040 +0,0,0,0,0,2048,2048,2080,4161,4161,4129,2080,2048,0,0,0,
 36.1041 +2048,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
 36.1042 +0,0,0,0,32,32,32,32,32,32,32,32,32,32,0,0,
 36.1043 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,2080,2080,
 36.1044 +2048,2048,2048,2048,2048,2048,0,0,0,0,0,0,0,0,0,0,
 36.1045 +0,33,1,32,2080,2048,2048,2048,2048,2048,2048,2048,2048,4096,4096,2048,
 36.1046 +2048,2048,2048,2048,2048,2048,2048,2048,2048,4128,4128,2048,2048,2081,2049,0,
 36.1047 +2048,4128,4096,2048,2048,4096,6144,6144,4096,2048,2048,2048,32,32,32,32,
 36.1048 +0,0,0,0,0,1,33,65,1,1,32,2080,4128,4096,6144,4128,
 36.1049 +2112,32,0,2209,2145,0,0,2081,1,2049,1,0,0,0,0,0,
 36.1050 +2080,2080,2080,2112,2080,2112,4128,4160,2080,2080,2080,2080,2080,2080,2080,4128,
 36.1051 +4096,4096,4128,4128,2080,2048,0,0,0,0,0,0,2048,2048,2048,2048,
 36.1052 +2048,2080,2081,2081,2080,0,0,0,0,0,0,0,0,0,0,0,
 36.1053 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
 36.1054 +0,2048,0,0,0,0,0,0,0,0,0,0,2048,2048,2048,2048,
 36.1055 +2080,2080,2080,2080,2080,2080,2080,2080,2048,2048,2048,2048,2048,2048,2048,2048,
 36.1056 +2048,0,0,0,0,2048,2048,2048,2080,4128,4128,2080,2048,2048,2048,0,
 36.1057 +2048,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
 36.1058 +0,0,0,0,0,0,0,32,32,32,32,32,0,0,0,0,
 36.1059 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,32,
 36.1060 +0,32,32,32,0,0,0,0,32,32,32,32,32,32,32,32,
 36.1061 +2080,2080,2048,2080,2080,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,
 36.1062 +2048,2048,2048,2048,2048,2048,2048,2048,2048,2080,2080,2048,2048,2048,4129,4129,
 36.1063 +4128,2048,4096,10370,12483,8257,4096,4096,8225,6145,4096,2048,2081,2081,33,32,
 36.1064 +2112,2080,32,0,0,32,32,32,64,64,2144,4192,4160,4096,4096,4096,
 36.1065 +4096,6240,6273,2048,0,0,2177,65,0,0,0,0,2048,2048,4096,2048,
 36.1066 +2048,2080,2080,2080,4128,4128,4128,4128,4096,2048,2048,2048,2048,2048,2048,4096,
 36.1067 +4096,6144,4096,4096,4096,2048,2080,0,0,0,0,0,0,32,32,32,
 36.1068 +0,0,2048,2081,2081,2080,0,0,0,0,0,0,0,0,0,0,
 36.1069 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
 36.1070 +0,2048,0,0,0,0,0,0,0,0,0,0,2048,2048,2048,2048,
 36.1071 +2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,
 36.1072 +2048,2048,2048,2048,2048,0,0,0,2048,2048,2080,2080,2080,2048,2048,0,
 36.1073 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
 36.1074 +2048,2048,2048,2048,0,0,0,0,0,0,0,0,0,0,0,0,
 36.1075 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
 36.1076 +32,32,32,32,32,32,32,32,64,64,64,64,64,64,32,2080,
 36.1077 +4128,4096,4096,4128,4128,4096,2048,2048,2048,2048,2048,2048,2048,2048,0,2048,
 36.1078 +2048,2048,2048,2048,0,0,0,0,0,2080,2080,2080,2048,2048,4096,4096,
 36.1079 +6144,10240,20772,31370,35531,29192,24934,24934,12288,10240,6144,6144,4096,4096,4096,4096,
 36.1080 +4096,2048,4096,2048,2048,2048,2048,2048,2048,4096,4096,6144,8192,10272,12352,14432,
 36.1081 +10240,8192,6144,6144,4128,2048,0,0,32,0,0,2048,2048,4096,6144,4096,
 36.1082 +4096,2048,2048,2048,2048,2048,4096,4096,2048,2048,2048,2048,2048,2048,2048,2048,
 36.1083 +4096,4096,4096,4096,2048,2080,2080,64,0,0,32,32,32,32,64,32,
 36.1084 +0,0,0,2048,2080,2080,0,0,0,0,0,0,0,0,0,0,
 36.1085 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
 36.1086 +0,0,0,0,0,0,0,0,0,0,0,0,0,2048,2048,2048,
 36.1087 +0,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,
 36.1088 +2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2080,2080,2080,2048,2048,
 36.1089 +2048,2048,0,0,0,0,0,0,0,0,0,0,0,0,0,2048,
 36.1090 +2049,2049,2049,2049,2049,1,1,1,1,1,1,1,1,1,2049,0,
 36.1091 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
 36.1092 +32,32,32,32,32,32,32,0,2080,2080,2080,2048,4096,4096,4096,4096,
 36.1093 +6144,6144,6144,4128,4096,4096,4096,2048,2048,2048,2080,2080,0,0,32,0,
 36.1094 +2048,2048,2048,0,0,0,0,0,1,0,0,2080,4096,2048,4096,8192,
 36.1095 +18464,33155,43656,43656,41543,43624,45705,43624,43656,39463,33157,26849,20544,16384,14336,12288,
 36.1096 +16384,16416,16448,14336,10240,8192,10240,10240,10240,10240,10240,12288,18432,26816,33187,37382,
 36.1097 +31077,20512,12288,10240,6144,4096,4160,2112,32,32,32,2048,4096,4096,6144,6144,
 36.1098 +4096,2048,2048,2048,2048,2048,2048,2048,2048,2048,4096,4096,4128,4096,4096,2048,
 36.1099 +2080,2080,2080,2080,2080,32,64,64,32,32,32,32,32,32,32,32,
 36.1100 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
 36.1101 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
 36.1102 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
 36.1103 +2048,2048,2048,2048,2048,2048,2048,2080,2048,2048,2048,2048,2048,2048,2048,2048,
 36.1104 +2048,2048,2048,2048,2080,2048,2048,2048,0,2048,2048,2080,2080,2080,2048,2048,
 36.1105 +2048,2048,2048,0,0,32,0,32,0,0,0,0,0,0,2048,2048,
 36.1106 +2048,2049,2049,1,1,0,0,0,0,0,0,0,0,0,0,0,
 36.1107 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
 36.1108 +32,32,32,0,0,0,2048,2048,2048,2048,4096,4096,4096,6144,6144,6144,
 36.1109 +6144,6144,6144,4096,4128,4096,2080,2048,2080,2080,2080,32,32,0,0,0,
 36.1110 +2048,2048,2048,0,0,1,1,1,33,0,0,2048,4096,4096,8192,16480,
 36.1111 +45735,54024,56072,51847,49766,53927,53895,49702,51847,51847,51879,49799,47718,45670,45670,45703,
 36.1112 +39364,37316,35204,30978,28832,26752,26785,28897,35204,37284,39365,43558,47719,51912,56105,56138,
 36.1113 +51914,49834,39399,22624,10240,6144,6144,2080,32,32,32,2048,4096,4096,6144,4096,
 36.1114 +4096,2080,2080,2080,2048,2048,2048,2048,2048,2048,2048,2048,4096,4096,2048,2048,
 36.1115 +64,64,64,64,32,32,64,64,32,0,0,0,0,32,32,0,
 36.1116 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
 36.1117 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
 36.1118 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
 36.1119 +0,0,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,0,
 36.1120 +0,0,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2080,2080,2080,2080,
 36.1121 +2080,2080,2080,2080,32,32,32,32,32,0,0,0,0,2048,2048,2048,
 36.1122 +2048,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
 36.1123 +0,0,0,0,0,0,0,0,0,0,0,0,2048,2048,2048,0,
 36.1124 +2080,2048,2048,2048,2048,2048,2048,4096,4096,4096,4096,4096,6144,6144,6144,4096,
 36.1125 +4096,4096,4096,4096,2080,2080,2080,2080,32,32,32,32,32,0,0,0,
 36.1126 +2048,2048,0,0,0,1,1,1,1,0,0,2048,4096,8192,18690,35366,
 36.1127 +53991,53828,53763,55909,60070,57989,55876,55844,53763,55844,55908,55941,55974,56006,56038,56039,
 36.1128 +51814,51815,49734,49702,49734,49767,51880,53961,51848,53928,56040,58121,60136,60103,57990,55910,
 36.1129 +58057,55977,56074,51978,35204,14336,8192,6144,4096,2048,2048,2048,2048,2048,2048,2048,
 36.1130 +0,32,32,32,32,32,32,33,0,0,0,0,2048,2048,2048,0,
 36.1131 +64,96,96,64,64,32,32,0,0,0,0,0,0,1,1,1,
 36.1132 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
 36.1133 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
 36.1134 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
 36.1135 +0,0,0,0,0,0,0,0,0,0,2048,2048,2048,2048,0,0,
 36.1136 +0,0,0,0,0,0,2048,2048,2048,2048,2048,2048,2048,2080,2080,2080,
 36.1137 +2080,2080,2080,2080,32,32,32,32,32,32,32,2080,2048,2048,2048,2048,
 36.1138 +2048,0,32,32,32,32,0,32,0,0,0,0,0,0,0,0,
 36.1139 +0,0,0,0,0,0,0,0,0,0,2048,2080,2080,2080,2080,2048,
 36.1140 +4096,4096,4096,4096,4096,4096,4096,4096,4096,4096,4096,4096,4096,4096,4096,4096,
 36.1141 +2048,2048,2048,2080,2080,32,32,33,33,32,32,32,0,0,0,2048,
 36.1142 +2048,2048,0,0,0,1,1,1,1,0,2048,2048,6144,12320,29190,52172,
 36.1143 +53958,60134,62215,60102,60037,60069,62150,62150,62182,60102,60102,60102,60134,58086,58086,56006,
 36.1144 +58087,58055,55975,56007,58056,58088,56007,55943,58088,58055,57990,57958,57957,60070,62151,64231,
 36.1145 +62151,60039,58055,58121,54025,45735,33155,16448,8192,6144,4096,2048,0,0,0,0,
 36.1146 +0,0,32,32,33,65,65,65,65,33,0,0,0,2048,2080,2112,
 36.1147 +64,64,64,64,32,0,2048,2048,2048,2048,2048,2048,2048,2049,1,1,
 36.1148 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
 36.1149 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
 36.1150 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
 36.1151 +0,0,0,0,2048,2048,2048,2080,0,0,0,2048,2048,2048,2048,2048,
 36.1152 +2048,2048,0,0,0,0,2048,2080,2080,2080,2048,2048,2048,2048,2080,2080,
 36.1153 +2048,2080,2080,2080,32,32,32,32,32,32,2080,2080,2048,2048,2048,2048,
 36.1154 +2048,2048,2080,2080,2080,2080,0,0,0,0,0,0,0,0,0,0,
 36.1155 +0,1,0,0,0,0,0,2048,2048,2048,2048,2048,2080,2080,2048,2048,
 36.1156 +6176,6176,6176,4096,4128,4128,4128,2080,2048,0,0,32,64,64,32,0,
 36.1157 +32,33,33,33,1,1,33,65,65,65,32,32,32,0,2048,2048,
 36.1158 +2048,2048,0,0,1,33,34,1,1,0,4096,4096,8192,18592,33318,39461,
 36.1159 +47685,49668,47587,47555,49636,49668,51716,51748,53829,53861,53862,53894,53894,53926,53926,53958,
 36.1160 +51813,53925,56006,53958,53894,51813,53861,53926,55942,55941,55941,55941,57989,60069,60101,62149,
 36.1161 +64165,62117,62117,60102,60135,58120,54025,49962,28995,10240,6144,4096,0,32,260,33,
 36.1162 +32,0,0,0,33,33,33,65,66,66,65,2113,2081,2080,2080,2080,
 36.1163 +4192,4160,4096,2048,4096,4096,4096,6144,6144,6144,4096,2048,2048,2050,2082,1,
 36.1164 +0,0,0,0,0,2080,0,0,0,0,0,0,0,0,0,0,
 36.1165 +0,0,0,0,0,0,0,2080,0,0,0,0,0,0,0,0,
 36.1166 +32,0,0,32,32,0,0,32,0,32,0,0,0,0,32,32,
 36.1167 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
 36.1168 +2080,2080,2080,2080,2080,2080,2080,2080,2080,2080,2080,2080,2080,2080,2080,2080,
 36.1169 +0,2048,0,0,0,0,0,0,32,32,0,2048,2048,4128,4128,4128,
 36.1170 +4096,2048,2048,2048,2048,2048,2048,4096,4096,2048,2048,2048,2048,0,0,0,
 36.1171 +0,0,0,0,0,0,2048,4096,4096,4096,4096,6144,6144,4096,4096,4096,
 36.1172 +8192,8192,8192,6144,6144,6144,4096,2048,2048,2112,2144,64,64,64,96,2177,
 36.1173 +0,0,1,1,33,66,66,33,33,33,32,32,2048,2048,2048,2080,
 36.1174 +2048,2048,2080,32,33,1,1,1,0,2048,6144,8192,10240,26947,39527,39429,
 36.1175 +41379,41314,41314,41314,43395,43395,43395,43394,43394,43394,43394,43426,43426,43459,45539,45571,
 36.1176 +49732,51812,51812,49699,47554,45441,43360,43328,47554,51715,53860,58021,58053,60100,57988,57955,
 36.1177 +62115,64131,62084,62085,62118,60071,58023,53928,54124,31044,8192,4096,4226,32,65,98,
 36.1178 +32,32,65,0,0,65,65,0,1,33,2113,2112,2080,4128,4160,8256,
 36.1179 +6144,8192,14368,18594,22755,24900,27014,29159,16546,8192,4096,4096,2048,0,0,33,
 36.1180 +2113,2048,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
 36.1181 +0,0,0,0,0,0,2080,2080,0,0,0,0,0,0,0,0,
 36.1182 +0,0,0,0,0,0,0,0,0,0,0,32,32,32,0,0,
 36.1183 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
 36.1184 +0,0,0,0,0,0,0,0,0,0,2080,2080,2080,2080,2080,2080,
 36.1185 +2048,2048,0,0,0,0,0,0,32,2080,2048,2048,2048,2048,2048,2048,
 36.1186 +2048,2048,2048,2048,2048,2048,2048,2048,2048,0,0,2048,0,0,0,0,
 36.1187 +0,2081,2048,2048,2048,6176,8192,6144,6144,6144,6144,6144,6144,6144,8192,8192,
 36.1188 +16384,16384,16384,16384,16448,16480,16512,14464,8192,6144,6144,4096,2048,2048,2048,2048,
 36.1189 +4160,4161,2081,0,0,1,1,0,0,0,0,0,0,0,2048,2048,
 36.1190 +2048,0,0,0,0,0,0,0,4128,4096,6144,12288,20673,33221,39494,35170,
 36.1191 +45572,45540,45572,45572,47620,47652,47620,47620,45507,45539,45539,45507,43491,45539,45604,47652,
 36.1192 +51812,53893,53925,55973,53893,53861,53861,53828,53796,53796,55876,57988,60037,60069,62149,62148,
 36.1193 +62147,64163,64163,64164,64133,62086,60038,55943,56042,43592,16384,6144,4096,65,32,97,
 36.1194 +0,2048,2048,0,0,0,0,0,0,2048,4128,6176,6176,4096,4096,8192,
 36.1195 +26786,32996,39302,41415,39367,39366,39399,39496,39593,24867,8192,4096,4160,4225,64,32,
 36.1196 +0,0,0,2080,0,0,0,2080,0,0,0,0,0,0,0,0,
 36.1197 +0,0,0,0,0,0,2080,2080,2080,0,0,0,0,0,0,0,
 36.1198 +0,0,0,0,32,0,0,2080,0,0,0,0,32,32,32,0,
 36.1199 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
 36.1200 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
 36.1201 +2048,2048,0,0,0,0,0,0,0,0,2048,2048,4096,4128,4128,4129,
 36.1202 +2114,33,1,33,2114,2082,1,1,1,1,1,33,33,1,1,33,
 36.1203 +2048,4096,4096,6144,8192,10240,22851,35529,29157,24899,18560,14368,14336,12288,10240,8192,
 36.1204 +47719,47783,47816,49897,49961,49994,47978,45898,37446,29091,18592,12288,10240,10240,8192,8192,
 36.1205 +6144,6144,4096,4096,4096,4096,2048,2048,0,0,2080,0,0,0,2048,2048,
 36.1206 +2048,0,0,0,0,0,2048,4096,6144,6144,14368,31238,43818,47979,49994,49896,
 36.1207 +56170,58217,58217,58217,58217,58217,58217,58217,56136,56136,56136,56136,56103,56104,56136,58184,
 36.1208 +58087,58087,60167,60168,60168,60136,60103,60103,57990,57957,55844,55811,55843,60004,62117,62149,
 36.1209 +62148,62147,62115,64164,64132,62053,60005,57958,51750,51913,41576,24900,6144,4096,2144,0,
 36.1210 +8288,4096,4096,4096,4096,2048,4096,6209,4096,6144,10304,6144,6144,8192,22851,37480,
 36.1211 +49801,53897,53865,51751,45445,41251,37122,35106,35204,33188,24898,14464,4096,0,32,2176,
 36.1212 +0,0,2048,2048,0,0,0,0,0,0,0,0,0,0,0,0,
 36.1213 +0,0,0,0,0,0,2080,2080,2080,2080,0,0,0,0,0,0,
 36.1214 +64,32,0,0,0,0,0,0,2048,0,0,0,0,0,0,32,
 36.1215 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
 36.1216 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
 36.1217 +2048,2048,0,0,0,0,32,32,2080,2048,2048,2048,2048,2048,4096,2048,
 36.1218 +0,0,2113,33,0,0,0,2081,0,0,0,0,0,0,0,0,
 36.1219 +4096,10240,10240,8192,14368,26946,33220,31106,33154,31074,31074,35235,39462,41639,41672,41640,
 36.1220 +64361,64362,64394,62346,62346,62346,60298,58217,58282,56202,54154,54154,52073,47847,39428,33154,
 36.1221 +24832,18560,14336,10240,8192,6144,4096,6208,2048,2048,2080,2080,0,0,2048,2048,
 36.1222 +2081,0,0,0,2048,2048,4096,4096,6144,14368,31206,48044,52205,47914,49929,54090,
 36.1223 +51911,53958,51910,51910,51910,53958,53958,53990,56103,56136,58216,58216,58183,56103,56103,58151,
 36.1224 +58119,60136,60136,60168,62249,62217,62185,62184,64232,64232,64232,64232,64231,64231,64231,64262,
 36.1225 +64262,64262,64262,64262,64230,62150,62150,60103,60201,54025,56268,48011,18496,8192,6144,6144,
 36.1226 +8192,10240,14336,20738,22852,16481,8192,8192,10240,8192,10240,18464,31140,43752,50091,56268,
 36.1227 +58122,62185,62185,62217,64265,64329,64362,62346,58217,56235,56397,50220,33382,10304,4096,4128,
 36.1228 +4160,2080,0,0,0,4193,2081,0,0,0,0,0,0,0,0,0,
 36.1229 +0,0,0,0,0,2048,2048,2048,2080,2080,2048,2048,0,0,0,0,
 36.1230 +0,0,0,0,0,2048,2048,2048,2048,2048,2080,2048,0,0,0,0,
 36.1231 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
 36.1232 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
 36.1233 +2080,0,0,0,0,0,32,32,0,2048,2080,4128,4128,4096,4096,4128,
 36.1234 +4128,4128,4128,4128,6240,8320,6208,2048,6208,4096,2048,2048,2048,0,0,2048,
 36.1235 +8192,14336,24800,43752,54284,54219,54185,58314,56168,56168,56169,58249,58315,58347,58315,56235,
 36.1236 +64294,64295,64295,64294,62247,62247,60198,58118,60199,60199,58151,56103,56071,56103,56136,56168,
 36.1237 +56265,47943,41637,37412,26978,16480,8192,6144,4096,2048,2048,0,0,0,0,0,
 36.1238 +1,1,0,2048,2048,4096,6144,8192,18593,29060,37447,39527,39429,37252,37219,37219,
 36.1239 +39234,39234,39233,37185,37185,37185,39265,39298,41410,41411,43491,43523,43491,43491,43491,43491,
 36.1240 +47587,47588,49668,51781,53895,58056,58056,60136,60104,60136,62184,62216,62216,62215,62183,62183,
 36.1241 +60102,60102,60134,60134,60102,58054,58054,56006,56039,51878,49863,49928,35235,22656,20544,24768,
 36.1242 +26816,33155,39527,45866,47980,41673,31108,20544,16384,22656,35236,45736,49961,52009,52008,54024,
 36.1243 +60200,62215,62183,62182,64230,64230,62149,60069,62247,56038,51942,54185,52203,41703,22752,8192,
 36.1244 +2048,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
 36.1245 +0,0,0,0,0,2048,2048,2048,2080,2080,2080,2048,2048,0,0,0,
 36.1246 +0,0,0,0,2048,2048,2048,2048,2048,2048,2048,0,0,0,0,0,
 36.1247 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
 36.1248 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
 36.1249 +0,0,0,0,0,0,32,32,0,2048,2080,4128,4096,4096,4096,6144,
 36.1250 +8192,12320,18656,27107,37672,43979,41801,35494,27043,24929,20736,20736,20768,18720,18720,20736,
 36.1251 +26912,43654,54219,56266,56201,58281,60296,58182,62343,62311,62311,62311,62279,60231,60264,60264,
 36.1252 +64324,64357,64357,62309,64357,64390,64390,62310,60197,60230,60230,60230,58117,56004,56004,56036,
 36.1253 +51842,51939,54086,54151,47911,33284,18560,6144,6144,4096,2048,0,1,33,0,0,
 36.1254 +1,1,0,2048,2048,6144,14464,20770,29125,35333,33188,30978,33058,37220,37219,35106,
 36.1255 +35140,33124,35204,33124,33124,33124,33124,33156,31010,33091,33123,33123,33123,33091,33122,35170,
 36.1256 +35137,35137,37217,37218,39266,41347,43427,43459,47620,47588,45539,47587,47587,47619,49699,49700,
 36.1257 +51748,53797,53829,53829,51748,49700,49731,49732,49764,49764,47717,45636,49830,47750,47751,49831,
 36.1258 +49831,49896,47784,45670,45671,47817,45736,41510,41445,43525,45638,49799,53959,53926,51813,49699,
 36.1259 +49730,49729,51810,55971,60132,64260,64228,64196,64196,62181,60101,55973,56071,56137,45637,28961,
 36.1260 +8256,2080,0,2081,2080,0,0,2080,0,0,0,32,0,0,0,0,
 36.1261 +0,0,0,0,0,2048,2048,2048,2048,2048,2080,2080,2048,2048,0,0,
 36.1262 +32,32,0,0,0,0,2048,2048,4128,2048,0,0,0,32,0,0,
 36.1263 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
 36.1264 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
 36.1265 +0,0,0,0,0,0,32,32,2112,2080,2048,2048,2048,4096,8288,14464,
 36.1266 +35266,49860,58345,62506,60393,58280,58280,60328,64587,62474,60393,60425,60457,58409,58409,58410,
 36.1267 +60492,58314,58248,60328,60263,58117,58052,62180,57953,57953,57954,57954,57987,60068,62149,62213,
 36.1268 +64421,64421,64421,64389,64422,64422,64422,64422,64455,64423,64391,64423,64424,64424,64424,64391,
 36.1269 +64423,64487,60359,58247,56265,56331,50058,37543,14336,10240,8192,6144,6144,6144,4096,2048,
 36.1270 +2048,2048,4096,6144,6144,12320,27012,39625,33188,37316,37284,37251,39332,39332,39267,37220,
 36.1271 +35205,35238,37318,37318,37318,35237,35237,35237,37317,37349,37349,37317,37317,37317,37317,37316,
 36.1272 +39396,39395,41443,41444,41444,43525,45637,47686,47685,47685,47717,49765,49797,49797,49829,51845,
 36.1273 +53862,55942,55942,53926,53926,53925,51877,51909,53957,49796,53990,51845,53958,51846,58120,56039,
 36.1274 +56072,53992,53992,53992,51912,49799,47719,47719,47718,47653,47588,49701,53894,58087,60167,58118,
 36.1275 +56069,56068,58148,60229,64357,64390,64358,64358,64326,64359,64391,64392,64360,62345,62378,58380,
 36.1276 +35561,14562,4096,2048,4128,2048,0,2048,0,0,0,2080,2048,2048,2048,0,
 36.1277 +0,0,0,0,0,32,2080,2080,2048,2080,2080,2080,2048,2048,2048,2048,
 36.1278 +2048,2048,2048,4096,10336,18723,25062,29256,20804,14529,8192,4096,4096,2048,2048,0,
 36.1279 +0,0,0,0,2048,2048,2048,2048,2048,2048,0,0,0,0,0,0,
 36.1280 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
 36.1281 +0,0,32,0,32,32,2048,2048,4096,4096,4096,6144,14497,25061,37707,50188,
 36.1282 +60393,64423,64390,62245,62245,64358,64358,62245,62245,62213,62213,62278,62310,62342,62342,64423,
 36.1283 +60296,62377,64457,64424,64391,64391,64358,64293,64357,64325,64293,64293,64293,64293,64326,64326,
 36.1284 +64358,64358,64359,64359,64359,64358,62278,62278,62247,62279,64359,64392,64392,64393,64393,64393,
 36.1285 +62344,62376,62409,62441,62441,60394,60362,58314,56299,52106,47913,47946,50092,43818,26914,12288,
 36.1286 +10240,8192,10240,12288,24769,37350,41510,37284,41413,43493,43525,43525,43525,43525,43525,45606,
 36.1287 +47751,49832,51912,51912,49832,47718,45606,45573,43493,43493,43493,43493,43493,43492,41412,41379,
 36.1288 +43460,43460,45540,45573,47653,49766,51879,53960,53992,53959,51846,49765,51878,58184,60330,62410,
 36.1289 +64426,64425,64393,62345,62345,62345,62345,62345,62344,62345,62377,62377,64425,64426,64425,62378,
 36.1290 +62346,62346,62378,62346,58153,56040,53927,53927,49734,49702,49734,51782,51815,53862,51814,51813,
 36.1291 +56005,60262,64456,64456,64423,64391,64391,64391,64391,64391,62311,62311,62312,62344,62377,60361,
 36.1292 +58476,41702,24864,12288,8192,6144,4096,4096,2048,2048,2048,2048,2048,4096,6144,4096,
 36.1293 +0,32,32,64,32,0,32,64,2144,2080,2048,2048,4096,4096,4096,4096,
 36.1294 +6144,8192,12288,26946,45865,56429,58477,56299,58444,54219,37446,18496,8192,6144,6144,2048,
 36.1295 +0,0,2048,2048,4096,6144,10240,14464,18722,14496,6208,2048,32,96,96,32,
 36.1296 +32,0,0,0,0,0,1,1,1,1,1,34,2082,1,0,0,
 36.1297 +32,32,32,32,32,0,2048,4096,6144,6144,12288,31204,50123,58477,56363,58281,
 36.1298 +62376,64391,64392,64392,64391,64391,64391,64424,64392,64391,64391,64391,64359,64326,62246,62246,
 36.1299 +62279,62279,62279,64327,64327,64327,64359,64359,64326,64359,64359,64359,64326,64326,64327,64359,
 36.1300 +58053,58053,58021,58021,58021,58021,55973,55941,55941,55974,58054,58087,58055,55942,53829,51748,
 36.1301 +51781,51813,53893,56006,58119,60232,60232,60264,60297,60297,58282,58282,58348,56268,52010,43623,
 36.1302 +28963,33189,37382,41575,47817,52043,54091,54025,56106,56138,56138,56138,54058,54090,54090,56170,
 36.1303 +56138,58218,60299,60299,58218,58186,56138,56138,58218,58186,58186,56138,56138,56138,56105,56073,
 36.1304 +58154,58154,58122,56041,53896,49734,47621,45540,45475,45475,43395,43394,45507,49733,51846,53926,
 36.1305 +56006,55974,55974,55974,55974,55974,55974,55974,53926,53926,55974,56006,56006,55974,53926,53926,
 36.1306 +51813,51846,53894,51878,51846,51846,51846,51846,51814,49766,49734,49702,47621,45541,45508,43427,
 36.1307 +47652,49764,51845,51845,51845,51877,51877,51845,53958,53957,51877,51845,51845,51877,53925,51909,
 36.1308 +54086,56297,56362,47977,33317,20737,12320,6144,6144,4096,6144,12416,18722,22882,16512,8192,
 36.1309 +4096,0,2048,2048,2048,2048,4096,4128,2048,4096,8256,10304,10272,14432,16577,22818,
 36.1310 +22721,31107,43655,52042,56170,58152,56006,55973,58086,60297,60395,49928,31042,14336,10240,10240,
 36.1311 +10272,10272,10240,14336,20640,31107,41640,47946,45865,45963,37576,16608,4096,2048,2112,32,
 36.1312 +2048,0,0,2048,2081,2081,1,33,33,1,1,1,1,0,0,0,
 36.1313 +0,2080,4192,4160,4096,4096,6144,12288,20641,29028,41607,52041,54024,51877,56038,62312,
 36.1314 +62247,64295,64328,64360,64327,64295,62247,62214,64327,64295,64295,64295,62214,60101,62149,62182,
 36.1315 +60069,60102,60134,60134,60134,58054,57989,57989,60069,60069,60069,60069,60069,60069,60069,60069,
 36.1316 +49667,49667,49635,47587,47587,47555,47555,47555,47587,47587,47587,47587,47555,47555,47555,47555,
 36.1317 +45507,45475,45474,45474,45474,45474,45442,43361,41281,43426,43459,41379,41380,41445,43558,41510,
 36.1318 +41576,41609,43657,43656,43559,43526,43493,45541,45541,45541,45541,43460,43460,43460,43493,43525,
 36.1319 +41380,43428,43460,43460,43428,43428,43460,43493,45541,43461,43460,43460,43461,45541,45573,45573,
 36.1320 +43429,45509,47622,47622,47622,45541,45509,43460,43428,43460,43428,43427,45508,45573,47621,47621,
 36.1321 +47621,47621,47621,47621,47621,47653,47653,47653,47621,47588,47588,45540,45508,43427,43395,41346,
 36.1322 +41379,41378,41379,39330,39330,41379,41411,41443,43492,41444,41444,41444,41444,41444,41412,41379,
 36.1323 +41412,41380,41347,39267,39299,41379,41347,39266,39266,39234,37186,37153,37153,37186,39234,39233,
 36.1324 +47716,51942,56168,54186,54284,50125,37480,22754,12288,18594,29158,39691,48077,48077,43785,37479,
 36.1325 +20641,14433,12288,12288,12288,12288,10240,10240,14336,22689,31141,37447,39528,39496,41576,43656,
 36.1326 +45672,49832,53993,56008,55910,55845,57924,60005,60005,57957,58056,60266,58284,52011,45802,45770,
 36.1327 +45770,45770,49898,54059,58220,60300,60267,60234,58154,58186,58251,54155,41575,24769,14336,10240,
 36.1328 +6144,2048,0,0,0,0,0,0,0,0,0,0,0,2080,4160,4128,
 36.1329 +10272,8192,8192,8192,14336,24771,35303,43658,47818,47720,47622,47556,47523,49506,49505,49505,
 36.1330 +51683,51716,53797,53829,53829,53797,53796,53764,55877,55909,55909,55909,53796,51683,51683,53796,
 36.1331 +51716,51716,51684,51684,51684,51684,51684,51716,51716,51683,49635,51683,51684,51684,51683,49603,
 36.1332 +45572,45540,45540,45508,45508,45508,45508,45508,47621,45573,45508,43427,43395,43395,43427,43428,
 36.1333 +45508,45508,45508,45508,45508,45508,45475,45475,45508,45508,43428,41347,39268,39268,37220,37220,
 36.1334 +33092,30979,30947,33059,37188,37188,39268,41348,39203,39202,39170,37154,37154,37155,37187,37187,
 36.1335 +37154,37155,37187,37155,37154,37122,37154,37187,37187,37187,37155,37155,37187,39235,39267,39268,
 36.1336 +37187,39236,39236,39235,39235,39268,39300,41348,43461,43493,43461,41380,39299,39267,37186,37121,
 36.1337 +39235,39235,39235,39235,39235,39267,39267,39267,41381,41381,41381,41380,41348,39268,39235,37187,
 36.1338 +37186,37186,35138,35105,35105,35105,35138,35138,37154,37154,37186,37218,39299,39331,39332,39332,
 36.1339 +37187,37155,35042,35042,37123,37155,37123,35042,37155,37155,37155,37123,37123,37155,37155,39235,
 36.1340 +43361,47554,45507,43427,43493,45671,43624,37318,37351,41576,43689,41608,39430,37349,39397,39430,
 36.1341 +37350,35237,33125,33124,35205,35205,35204,35172,35172,37252,39300,41381,43461,43462,43461,45477,
 36.1342 +47622,47589,49604,51684,55813,57893,57861,57860,59941,57925,55845,51717,47621,47654,47752,49800,
 36.1343 +53994,53929,53864,53831,53799,53733,51620,49507,55878,60137,62315,62348,60332,56171,45671,33123,
 36.1344 +12288,8192,6144,6144,6144,6144,6144,8224,6144,6144,6144,6144,8192,12384,14464,14432,
 36.1345 +16384,20544,26851,33190,41577,45705,45640,45575,45510,47557,49573,49572,53700,53733,55780,51652,
 36.1346 +51717,49669,49702,51750,51750,51782,53863,53895,51750,51750,51750,51782,51749,49637,49637,49669,
 36.1347 +49637,47589,47589,49637,49670,51750,51782,51782,49670,49669,47589,47589,47589,47557,47557,45508,
 36.1348 +45672,45672,45671,45671,45671,45671,45671,45671,43526,43558,45639,47720,47752,47719,45639,45607,
 36.1349 +41381,43461,45542,45542,45510,45509,45541,45541,45541,43461,41381,41348,39268,37155,32994,30914,
 36.1350 +35173,33060,33061,37254,39334,39269,39236,39236,41316,41348,41349,41381,41381,39333,39333,39301,
 36.1351 +39333,39366,41446,41446,39365,39333,39333,39333,37252,37253,37253,37252,37252,37220,37220,37220,
 36.1352 +39334,39301,37188,35075,32995,30914,32962,32994,32994,33027,35107,35107,35140,37220,37252,37220,
 36.1353 +35140,35109,35109,35108,35108,35108,35108,35108,32995,33028,35076,35108,35108,35108,35108,35108,
 36.1354 +37155,37155,39236,39300,41381,43461,43461,43494,45574,45574,45542,45542,45509,45509,43429,43397,
 36.1355 +43365,43366,43366,45479,45511,45512,45512,45512,45511,45479,45479,45479,45479,45479,45479,45478,
 36.1356 +47492,49604,49604,43363,39170,39170,41316,43462,41381,39301,37155,35010,35010,37123,39235,39268,
 36.1357 +41381,41349,39268,39268,39268,39268,41348,43428,47622,45509,45476,45476,47557,49605,49605,47524,
 36.1358 +45475,47588,49701,53829,53797,53797,53765,55813,51651,53797,53862,51782,47621,45541,45605,47686,
 36.1359 +47589,47525,45411,45378,45378,47458,49539,49571,49571,51684,51717,49669,49701,51848,51912,49833,
 36.1360 +45673,41512,37286,33060,30915,26721,24608,24608,24576,26721,30882,32995,39301,45640,47753,47753,
 36.1361 +41544,43689,45802,47850,47785,49800,49800,53896,51783,55911,55944,55911,53798,53765,51717,49637,
 36.1362 +49703,47655,47655,47655,47655,47655,49736,49736,47655,47623,47655,49736,49736,49703,47623,47622,
 36.1363 +47623,47623,49736,51816,51849,51816,49736,47655,49736,49769,49769,47688,47656,47656,47656,47689,
 36.1364 +28899,28899,28899,28931,28931,30979,30979,30979,28898,30947,33059,35140,35173,37253,37253,37253,
 36.1365 +45641,45641,45641,45608,45576,43527,43495,43495,39269,39269,39301,39334,39301,37188,35172,37254,
 36.1366 +30980,33061,35174,39367,39335,39334,41414,43527,39301,39301,39334,41414,41414,39366,37253,35172,
 36.1367 +35173,37286,37318,37318,37318,35205,35173,35173,33092,35173,35205,35237,37253,35205,35205,35205,
 36.1368 +35206,35206,35206,35173,33093,33093,33093,33125,33060,33125,35206,35238,37318,37351,39431,39399,
 36.1369 +37287,35239,35207,35207,35207,35207,35175,35207,35207,35207,37287,37288,37288,37288,37287,37255,
 36.1370 +35108,39269,43462,45576,47656,47689,49769,49769,49769,49769,49768,49768,49736,49704,49671,47591,
 36.1371 +49640,49673,49705,51786,51786,51786,51786,51786,51818,51818,51786,51786,51754,51754,51754,51753,
 36.1372 +51719,49605,47525,51718,53831,51751,49671,49638,47590,47590,47590,47623,49703,47655,45510,43397,
 36.1373 +47623,45575,45575,45574,45510,43429,43429,45509,43364,45477,49670,53863,53864,53831,53798,51750,
 36.1374 +51847,49831,49798,49734,49701,49701,51782,51847,53895,47589,45476,47686,49799,45605,41379,39331,
 36.1375 +43460,45541,45574,47653,47653,45572,45539,45507,49733,45540,45572,49766,49767,45573,45606,49833,
 36.1376 +49834,47721,47721,47721,47722,45641,45641,45641,45608,45576,45543,43462,45510,45509,43397,41316,
 36.1377 +37285,37318,39398,41446,43493,45541,47589,47556,49637,49572,47491,47492,49637,49734,49703,47622,
 36.1378 +45575,45608,45608,45608,43528,43495,41415,41382,39302,39269,39302,41415,43496,43496,41415,41382,
 36.1379 +41350,39269,37156,37156,37124,35076,35076,32996,30850,30883,30883,30883,28803,28803,28835,30916,
 36.1380 +20578,20611,20643,22691,24771,24772,24771,24771,33191,33158,31078,31045,31045,33126,35238,37319,
 36.1381 +33094,33062,33029,33029,35109,35174,35173,35173,33060,33061,35174,39367,37319,37286,37319,41513,
 36.1382 +37352,37352,37320,35174,30948,30915,30947,33060,37254,37286,37318,39399,39431,37351,35238,33157,
 36.1383 +33190,35271,37384,37384,37351,35239,33158,33126,35238,35271,37352,37384,37384,37384,37384,37384,
 36.1384 +35239,35272,35272,35304,35272,35272,35304,35304,37384,37417,37385,35272,33158,31046,28965,26853,
 36.1385 +31047,28999,28967,28999,28967,28967,28966,28966,28934,28966,28934,28966,28934,26886,26853,26821,
 36.1386 +33062,37222,41416,43496,43496,43464,43464,45544,41318,41350,43430,45511,45511,47591,45511,45479,
 36.1387 +45478,43398,43398,43430,43398,43366,43366,43398,41285,41253,41253,41252,39204,39204,41252,41252,
 36.1388 +43366,43398,47559,49671,49671,47558,47558,49639,49638,49671,49671,47591,45510,45575,47656,47689,
 36.1389 +41382,41414,43527,43591,43559,43526,43558,45639,45671,47719,47687,45574,45509,45477,45509,45541,
 36.1390 +41444,39364,39364,39365,41445,41446,39365,39333,41446,39333,37285,39397,39429,39396,39429,43623,
 36.1391 +37350,37382,37381,37381,37413,37413,37445,37445,35299,37413,37380,33187,35268,39495,39463,35237,
 36.1392 +37415,35335,35302,35302,35302,33254,33254,35303,35302,35269,35237,37317,39429,39429,39397,39397,
 36.1393 +39398,37317,37252,39300,45573,49734,49702,47588,47556,49669,51815,49735,43494,37188,35075,33027,
 36.1394 +30915,30948,30948,30916,28835,28803,26754,26722,33028,30980,30981,33094,35174,35174,35174,35206,
 36.1395 +30915,30882,26689,26657,26689,26690,26690,24642,26723,24675,24675,24643,22595,22595,22595,22627,
 36.1396 +18564,18596,20677,20709,22790,22790,22790,22757,24805,24837,26950,31111,33257,37450,39563,41643,
 36.1397 +31079,26885,24740,24740,26853,28933,28933,26820,28900,26852,28932,33158,33158,31078,31045,33158,
 36.1398 +33159,31079,28966,26852,26787,26787,26787,26786,24706,24738,26819,26851,26884,26884,24771,22691,
 36.1399 +26917,28998,31110,31110,28998,26885,24804,24772,22659,24739,24739,24739,22659,22626,22626,20578,
 36.1400 +22691,22692,22692,22692,22692,22724,24805,26918,24805,26918,28998,26950,28998,26950,28998,26950,
 36.1401 +24806,22758,22758,22758,22758,22758,22726,22726,22726,22758,22758,24838,24839,24839,24838,24806,
 36.1402 +26853,31014,33159,35207,33094,30981,33029,33061,35174,37222,39303,39335,41415,41415,39335,39302,
 36.1403 +35108,33027,32995,33027,35108,35108,35140,37221,35140,35140,35140,37188,37221,37221,37253,37254,
 36.1404 +35109,37190,39303,41383,43430,43430,43430,45510,45510,45478,43430,41350,39269,39270,37222,35173,
 36.1405 +37286,37318,37351,37383,37350,35205,33125,33156,30979,30978,30946,30979,32995,32962,30849,28768,
 36.1406 +26752,26752,26753,24705,24705,26786,28932,31045,28932,33126,33158,31044,28931,30979,28898,24737,
 36.1407 +26851,24803,24835,24867,24932,24932,24931,22882,24963,24931,27044,31206,33287,33222,33223,35336,
 36.1408 +31174,29029,24836,22755,22723,22755,24835,26916,29029,26883,24802,28963,31043,31042,31010,31010,
 36.1409 +35172,37253,39301,41348,43396,47557,49669,49669,53896,51783,47654,45542,39301,35108,30948,30980,
 36.1410 +24674,24674,24642,22594,22594,22626,24707,24739,24674,22626,24675,24739,26820,26820,28933,31014,
 36.1411 +26787,28867,30980,33126,35207,33159,28965,26853,28933,26853,24772,22692,22693,22693,22661,20612,
 36.1412 +18695,18662,16581,16549,16549,16516,16516,16483,20645,20677,22757,22790,24838,22757,22725,20644,
 36.1413 +20644,20677,22725,22757,22757,22757,22725,22724,26918,26950,26950,26950,26949,26917,24836,24804,
 36.1414 +24805,24805,22724,22724,22692,22691,22691,22658,24771,26949,26982,24901,22788,22788,22788,20676,
 36.1415 +20676,22724,22724,20644,20611,20579,20579,20579,18466,18531,20579,18531,20579,20611,20579,16418,
 36.1416 +16418,16418,16418,16450,16451,16450,16418,14338,16451,16451,16451,16451,18499,16451,16451,16451,
 36.1417 +14371,14371,14403,16451,16451,16451,16451,14403,14403,16452,16516,18597,18597,18629,18597,18597,
 36.1418 +16548,16515,16515,16515,16482,18563,18595,20643,20643,20643,22723,24804,24836,26917,28997,29029,
 36.1419 +26916,24868,26948,26948,26981,29061,29061,29093,29061,29061,26981,26948,26948,24867,24835,24836,
 36.1420 +24773,26789,26788,26755,26722,26689,24576,24576,24576,26656,24609,24609,24609,22561,22594,22594,
 36.1421 +20578,20578,20611,22691,24804,24836,24836,24836,24804,24803,24804,26852,26884,26884,28932,28932,
 36.1422 +31013,28900,26788,26820,24773,24741,22693,22693,24774,26822,26822,26853,28933,31013,31013,31013,
 36.1423 +24772,22725,20644,18563,16515,16514,14466,14466,16547,16547,18595,20644,20644,22692,22628,20547,
 36.1424 +20546,24740,24740,22659,22659,24772,28966,28966,28998,31045,31045,33093,35206,37318,39399,39366,
 36.1425 +39269,41318,41317,41285,45413,47558,49606,47493,45412,45413,45478,45544,45609,41481,37321,35207,
 36.1426 +28965,26917,24804,24739,24739,24772,24772,22723,22691,22659,22691,24804,26885,26917,29031,31176,
 36.1427 +33256,35304,35336,35369,35369,35369,35337,33289,31176,27015,24903,24903,27016,27016,24903,20710,
 36.1428 +14502,14501,14469,14469,14436,14436,14404,14404,14403,14404,16484,16484,16484,16484,16451,16451,
 36.1429 +16451,16484,16484,16484,16484,16484,16483,14435,16516,18596,18628,20708,20708,22756,20708,20676,
 36.1430 +20676,20677,20644,18596,18596,18595,18595,18595,20675,24901,27047,27047,24966,22854,18693,16515,
 36.1431 +20709,22757,20709,20644,18532,18531,16483,16451,18532,18564,18564,18564,18564,20644,20645,18596,
 36.1432 +16516,16516,14403,14403,14371,14403,16484,16516,16484,16484,16484,16484,16452,14404,14404,14404,
 36.1433 +14436,14436,14436,14436,14436,14404,14404,14404,12323,12323,14404,14436,14436,14436,14436,14436,
 36.1434 +12387,10339,10339,10338,12386,12419,14499,14499,14467,14467,14434,14401,14369,12321,14369,12321,
 36.1435 +14434,14434,14434,14466,14466,14466,14466,14466,18660,18659,16579,16547,16546,14466,14434,14434,
 36.1436 +12290,16452,20645,22758,24837,24805,24772,24739,24739,24739,24739,24772,22724,22692,20644,20644,
 36.1437 +20644,20644,20644,20645,20677,20709,20709,20677,18564,20677,24903,29096,31177,29064,26951,26886,
 36.1438 +24805,22660,20580,20580,20613,20614,20646,20647,20614,20614,20581,20581,20580,22628,22627,20580,
 36.1439 +20613,18566,18565,16485,14436,14436,14436,12420,12388,12388,14404,16452,16452,18501,18469,18468,
 36.1440 +20515,22660,22693,22660,22660,22693,24806,24773,29031,31112,33192,35272,37320,37352,37320,37255,
 36.1441 +37223,41383,41383,41318,41317,43398,45446,43333,41253,39140,35012,32964,32998,31014,31015,28934,
 36.1442 +31143,31175,31143,29030,24836,22756,22723,20643,24837,20675,20611,20643,20676,20644,20676,22789,
 36.1443 +31176,31175,29095,29062,26950,24837,22756,20676,22789,20709,18629,18661,20710,20710,18661,18597,
 36.1444 +14501,14501,14469,12421,12388,12388,12388,14436,12356,14403,14403,14403,14403,14403,14403,14403,
 36.1445 +14436,14436,14436,14436,12388,12355,12355,12387,12388,14468,14500,16548,16548,16547,16515,16483,
 36.1446 +14435,14468,16516,16548,18628,18693,20773,20773,24967,24999,24999,20838,20774,18726,18693,16581,
 36.1447 +16549,18629,18597,18597,16517,18564,18565,16516,20678,18629,20678,20710,20678,20677,20710,22823,
 36.1448 +20775,20775,20775,20743,18662,16581,16549,16549,16550,16549,16517,14469,14437,14437,14437,14437,
 36.1449 +14437,14436,12388,12356,12356,12356,12356,12356,12355,12355,12356,12356,12356,12355,12355,10307,
 36.1450 +10339,10340,12420,12453,14565,18727,20840,20872,18694,18661,16581,14467,12355,12322,12322,12322,
 36.1451 +10275,10243,10243,10243,10243,10243,10243,10243,10275,10243,10243,10243,10243,10243,8194,8194,
 36.1452 +10275,12389,16582,18662,16549,14435,14370,14338,16483,16483,16515,18596,18629,16549,14468,14436,
 36.1453 +16452,16420,16420,16453,16453,16485,16517,16517,14404,16485,18566,20646,20646,20614,18533,16453,
 36.1454 +18597,14469,14437,14437,14470,14502,14470,14503,16551,16518,14470,16485,16485,16485,18532,18533,
 36.1455 +16486,16486,16454,14405,14437,12389,12389,12389,12389,12389,12357,14405,14373,16422,16454,16421,
 36.1456 +18500,18564,20677,18597,18565,20645,20645,18565,18564,20677,22757,24837,26886,26917,26885,24772,
 36.1457 +31013,35175,35239,35206,35174,37222,37222,37222,35174,33029,28868,24707,24740,24805,24838,26951,
 36.1458 +24837,26949,27014,29094,31175,31208,29127,27014,27047,24901,20708,20708,20708,18628,18628,20676,
 36.1459 +18595,20643,18595,18595,18595,18595,18595,18596,16483,16515,16515,16548,16516,14468,14468,16548,
 36.1460 +14501,14469,12421,12420,14469,14469,14436,14436,14436,14436,14436,14436,14468,14436,16516,16516,
 36.1461 +14468,14468,14468,12420,12420,12420,12420,12420,12420,14500,14500,14500,14500,14467,14434,12354,
 36.1462 +14436,14436,14468,16581,16613,18726,18758,20838,20839,18726,16581,12419,12387,14500,14501,14501,
 36.1463 +14469,16517,16549,16517,16517,16549,16549,16517,16549,16517,16549,18630,16549,16517,16549,20743,
 36.1464 +18694,22888,25066,27147,25034,20808,16614,14469,16582,16550,14469,14469,14437,14437,14437,14437,
 36.1465 +12356,12356,10276,10275,10275,10275,10276,10308,12356,12356,12356,10308,10276,10275,10275,10275,
 36.1466 +10275,10275,8195,8195,10243,10275,10275,10276,12324,10243,10243,10242,10242,10242,10242,10243,
 36.1467 +10244,10244,10244,10244,10244,10244,10244,10244,10244,10244,10244,10244,10244,10244,10244,10244,
 36.1468 +8196,10276,10308,10308,10275,8195,10243,10243,10242,8194,10242,10275,12388,12420,12420,12356,
 36.1469 +12292,14340,14340,12292,12292,12292,12293,12324,16486,14406,14373,12292,12292,12292,12292,12292,
 36.1470 +10276,8228,8228,10341,10373,10374,10374,12422,12454,12454,12421,12421,14469,14469,14501,16517,
 36.1471 +16518,16486,14438,14437,14437,12389,12389,12389,12357,12357,12325,12324,12324,14373,14373,14372,
 36.1472 +14371,16451,16483,14435,14403,14404,14403,12323,16484,16516,18564,18564,20676,22757,24837,24837,
 36.1473 +22691,24836,26917,26917,26884,26917,26885,26885,26853,24804,22724,20676,20644,18628,20741,22821,
 36.1474 +24902,24869,24868,26981,29127,31240,27015,22788,22789,18628,16515,16515,16515,14467,14435,16483,
 36.1475 +16515,16515,16515,16483,16482,16483,16483,14435,14435,16515,16548,14468,14467,14435,14436,14468,
 36.1476 +14436,12355,12355,12355,12388,14436,12355,12355,12323,12355,12355,12356,12356,14436,14436,14404,
 36.1477 +14403,12355,12355,12356,12356,12388,10340,10340,12388,12420,12420,14500,14500,14500,14467,14468,
 36.1478 +14501,14469,14469,14501,14501,14533,14533,14533,12420,12420,12420,12420,14469,14501,14469,14437,
 36.1479 +14469,14469,14469,14437,14436,14437,14436,12356,12324,10243,12324,12356,12324,10243,10243,12356,
 36.1480 +10275,14501,20808,22953,22953,20808,16582,14469,14469,12389,12357,12324,10276,10276,10276,10276,
 36.1481 +10276,10276,10244,8196,10244,10244,10276,10276,10276,10244,10244,8196,8195,8195,10244,10244,
 36.1482 +14405,14373,12292,12292,12292,12292,10243,10244,12292,12292,12292,12292,12292,12292,12293,12293,
 36.1483 +10244,10245,10245,10245,10245,10245,12293,12293,12293,12293,12293,12293,12293,12293,12293,10245,
 36.1484 +10244,8195,8195,8195,8196,8228,10309,10341,8228,8196,8195,10276,12388,12453,14501,14469,
 36.1485 +16486,16454,16453,14373,12293,12292,12292,10244,12325,12325,12325,12293,12293,12292,12292,10244,
 36.1486 +8260,6212,6212,8324,10405,10437,12518,14598,12517,12485,12453,12453,12453,12453,12453,14469,
 36.1487 +14468,16516,14469,14469,14469,14469,14469,14469,12388,12420,14468,14469,14469,14469,14468,16516,
 36.1488 +18564,18563,18564,16515,16515,16516,16515,14435,14402,14403,14403,16450,16483,18595,20643,20675,
 36.1489 +16482,16546,16546,16546,16514,16514,14434,14402,16515,16547,18660,18660,16579,16547,16611,18660,
 36.1490 +24934,24869,22756,22724,22756,22756,18595,14370,18596,18596,18596,18628,16548,16548,16549,18629,
 36.1491 +18629,16548,16548,16515,14435,14435,14435,14436,14468,14468,14468,14468,14468,14436,14436,14403,
 36.1492 +14435,12355,12355,12355,14435,14436,14403,12355,12355,12355,12355,12356,12356,12356,12356,12355,
 36.1493 +14403,14403,14403,12355,12356,12388,12388,10340,12421,12421,12453,14501,14501,14500,16548,14500,
 36.1494 +14469,14469,14469,12421,12421,12420,12452,12452,12452,14468,14469,14501,16550,14502,14438,12357,
 36.1495 +12356,12356,12356,10276,12324,12356,12324,10275,10243,10243,10276,10276,10244,10243,10243,10275,
 36.1496 +8195,10307,12420,14501,14501,12421,12389,12389,12356,10308,10276,10276,10244,10244,10244,10244,
 36.1497 +10244,10244,8196,8196,8196,10244,10276,10276,8196,8196,8196,8196,8196,8196,8196,10244,
 36.1498 +10243,10243,10243,10244,10244,12292,12293,12293,10244,10244,10244,10244,10245,10244,10244,8196,
 36.1499 +10245,10245,10245,10245,10245,10245,10245,10244,10245,10244,10245,10244,10244,10244,10244,8196,
 36.1500 +10244,10243,8195,8195,8196,8196,6148,6148,8261,8228,8196,8196,10308,10340,12388,12356,
 36.1501 +14470,16486,16486,14438,12357,12357,12357,12357,10244,10276,10276,10244,10244,10244,10244,8196,
 36.1502 +10373,8292,8259,8259,8259,10307,12387,14467,14435,14435,14435,14468,16516,16549,16549,16549,
 36.1503 +16515,16515,16515,18563,18564,18596,18596,18596,16548,18628,18628,20709,18693,20741,20741,20741,
 36.1504 +22788,24804,22756,22756,22756,22789,20709,20676,18563,20676,22757,20676,20676,20643,20643,18562,
 36.1505 +18627,18627,18627,18627,18628,16580,16580,16548,14435,14467,16547,16547,16514,16514,16546,18626,
 36.1506 +18562,20643,20643,18563,16450,16483,18563,18564,14370,14403,16484,14436,14436,14436,14436,14468,
 36.1507 +14436,14436,14436,14468,16516,16549,16549,16581,14468,14436,14436,14436,14468,14468,14436,14436,
 36.1508 +16515,16515,16548,16548,16548,16516,16516,16548,16581,16549,16549,14468,14468,14436,14437,14436,
 36.1509 +16516,16484,16516,16516,14469,14469,12421,12421,14501,14501,14501,14501,14468,14468,14468,14436,
 36.1510 +12389,12389,12389,12389,12421,14469,14501,14501,14501,12388,12356,12324,12292,12292,12292,12292,
 36.1511 +12324,10276,10276,10276,10276,12357,12357,10276,10276,12356,12357,10308,12324,12356,12357,10276,
 36.1512 +10308,10307,10275,10275,8195,8227,10275,10275,10276,10276,10276,10276,10276,10276,10276,10276,
 36.1513 +10245,10245,10245,10245,10245,10245,10245,10245,8197,8197,10245,10245,10245,8197,8197,8197,
 36.1514 +10309,10309,10277,10277,8196,8196,8196,8197,10278,10278,8230,8230,8230,8197,8197,8197,
 36.1515 +6147,6179,6147,6147,6147,6146,6147,6146,6147,6179,6147,6147,6147,6147,6147,8195,
 36.1516 +8194,10242,10243,10244,10244,8197,8197,8197,6149,6148,8196,8195,8195,10243,10242,10242,
 36.1517 +10243,10276,10308,10308,10308,10340,10340,10373,10405,10373,10341,8260,8260,8260,10341,10341,
 36.1518 +12356,12324,14371,14371,16418,14337,16385,16385,20514,20514,20547,22660,24741,24774,24774,24805,
 36.1519 +24836,24836,26884,26884,26884,26884,26852,26852,24739,24771,24804,24804,24836,24836,24868,26916,
 36.1520 +28964,28899,28899,28932,28965,28965,26885,26885,22692,24804,26885,26885,26852,24771,24706,22626,
 36.1521 +18497,18497,18497,18498,16418,16418,16451,18532,20677,20612,18531,18498,20546,22626,22625,20577,
 36.1522 +20611,20644,20676,20612,18531,18563,18564,18564,18597,18597,18597,16549,16549,16549,16550,16517,
 36.1523 +14469,14469,14469,14437,14437,14437,14437,14437,16517,14437,14436,16517,16517,16517,16517,16516,
 36.1524 +18562,20675,22788,20708,18595,18563,18595,20708,22789,22756,20676,18563,18563,18531,18531,18531,
 36.1525 +18530,20578,18563,18563,18563,16483,16451,14403,14403,14435,14435,14435,16483,16450,16450,14402,
 36.1526 +14435,14436,14436,14436,12387,12387,14435,14435,14468,14436,14436,14436,14436,14405,16453,16485,
 36.1527 +14437,12421,12388,12356,12356,12356,10276,10243,10244,10276,10276,10244,10244,12325,12325,10244,
 36.1528 +10275,10275,10275,10275,10276,10276,10276,8195,8195,8195,8196,8196,8196,8196,8196,8196,
 36.1529 +8229,8197,8229,8197,8197,8197,8197,8196,8197,8197,8197,8197,8197,8197,8197,8197,
 36.1530 +6148,6148,6148,6148,6180,8229,8229,8229,8229,8229,6181,6149,6149,6181,8230,8229,
 36.1531 +8292,8291,8291,8291,8291,8291,8291,8291,6178,6178,6210,6210,8291,8291,8291,10339,
 36.1532 +14403,16452,16485,16485,12324,10244,10244,8196,8196,10244,10244,10243,10243,12290,12290,12290,
 36.1533 +8194,8195,8227,8227,8227,6179,6179,8260,8260,8292,8292,8292,10341,8292,10308,10308,
 36.1534 +16453,20581,24806,28999,31079,31014,30949,30948,35109,35109,37190,37223,39304,39336,39304,37255,
 36.1535 +39366,39366,39366,39334,37285,37253,37221,35141,37221,37221,35173,35172,33124,33124,35205,37285,
 36.1536 +39301,37221,37221,39334,39367,39367,37287,37286,37286,39367,39432,39399,39367,39367,37318,37286,
 36.1537 +37318,37318,37319,35206,33094,31014,31047,33160,33160,31046,28900,28868,33028,33028,32995,28834,
 36.1538 +28899,24771,24739,24739,26852,26885,24773,22628,22660,20580,18499,16451,16451,16484,16451,14371,
 36.1539 +14403,14403,14404,16451,16451,16484,16484,16483,16483,16484,18532,18532,18531,18531,18531,18531,
 36.1540 +24738,29028,35302,33221,29028,33188,41641,50125,54319,52173,45802,35269,33123,35236,37349,37317,
 36.1541 +33091,33092,33124,33124,31077,33190,35335,37448,31142,29029,26883,24803,24803,24771,24738,20610,
 36.1542 +16481,16513,16513,16513,16514,16513,16482,16482,16482,16450,16482,16482,14402,16483,18564,14403,
 36.1543 +12355,10306,12355,12387,12355,10307,12323,12356,12356,12325,12325,10245,10245,10245,10245,10277,
 36.1544 +10276,10276,10276,10276,10276,8228,8196,8196,8228,8196,8196,8196,8197,8197,8196,8196,
 36.1545 +8229,6180,6180,6148,6180,8229,8229,8229,8229,8229,8229,8229,8229,8197,6148,6148,
 36.1546 +6148,6148,8229,8229,8229,6149,6148,6148,6148,8229,8261,8261,10342,10342,10342,10309,
 36.1547 +10340,12420,12452,12485,12485,12453,12453,10404,10340,10340,12420,12452,12388,10307,14500,18726,
 36.1548 +20742,22823,22855,22823,18629,16516,16484,14404,14371,14403,14403,14403,16451,16451,14337,10241,
 36.1549 +10243,6147,6147,6147,8195,6147,6147,8195,8195,6147,6147,8195,8196,8196,10276,12356,
 36.1550 +18565,24806,33225,41611,45772,45739,45674,47721,47656,47656,49736,49736,51784,49736,49736,51783,
 36.1551 +53863,53830,51750,51750,51783,51783,49670,47590,49671,49703,51783,51783,51751,49703,49703,51751,
 36.1552 +49670,49670,49703,49735,49735,49735,49735,49768,49768,49735,49768,51848,51881,51881,51913,56074,
 36.1553 +53896,53896,53929,53929,53929,51881,51881,51881,49833,49801,49800,49768,49736,49735,49735,49767,
 36.1554 +45670,45670,45671,47720,47720,45608,43463,39302,32996,33029,33093,33158,33158,31110,31110,31142,
 36.1555 +31207,31143,29029,29029,33255,35368,31142,26884,26851,26884,28964,28932,26851,26819,26819,26851,
 36.1556 +37317,37285,39365,41478,43623,47784,47816,47784,47751,49832,49864,51912,51944,51911,49831,49798,
 36.1557 +49863,49864,49864,47783,47783,49864,49929,52042,52010,49929,47816,45704,43623,41542,41510,39462,
 36.1558 +33188,29059,26914,24834,26914,31108,33286,37448,33222,26948,26883,26916,24803,20578,20545,16416,
 36.1559 +16482,16547,16548,16515,14435,12322,12290,10242,12356,12324,12325,12293,10245,10245,10245,8197,
 36.1560 +10244,8228,8196,8228,8196,8196,8196,8196,8196,8196,8196,8196,10277,10277,10277,8229,
 36.1561 +6180,6180,6148,6147,6148,6147,6147,6147,8196,8196,8196,8196,8196,8196,8196,8197,
 36.1562 +8196,6148,6148,6148,6148,8196,8228,8228,8228,10309,12389,10341,10341,12389,12389,10308,
 36.1563 +10275,12355,14468,14501,14501,14501,12421,10340,12421,10308,10307,10307,10275,12323,16549,22855,
 36.1564 +29161,27015,22822,22757,22757,20709,18564,16451,18564,18563,18531,18531,18563,20676,20676,18596,
 36.1565 +10275,8196,8196,10309,10309,8196,8195,8195,8196,8195,8195,6147,8195,10244,12357,14437,
 36.1566 +16452,18499,20580,24773,30981,35174,39367,43527,45575,47623,49703,51783,51751,51751,51751,51750,
 36.1567 +53766,53765,51685,51685,51718,53766,51718,51718,53799,53799,53766,53766,53766,55846,55846,53798,
 36.1568 +53831,53831,53831,53831,53831,51750,51750,53831,51750,51750,51750,53831,53863,53831,53863,55976,
 36.1569 +57991,57959,57959,55911,55879,55879,53831,53831,51750,51750,51750,51750,51750,51750,51750,49701,
 36.1570 +49701,47652,47620,47589,47621,47590,47590,47558,47592,47624,47656,45672,45672,43591,41575,43656,
 36.1571 +39495,41608,43656,41576,43624,43689,43657,43624,41543,43591,43624,43592,43559,41478,41446,41414,
 36.1572 +53929,53929,53961,51848,51816,51783,53896,56009,56009,53896,53895,55976,58089,60169,62282,64427,
 36.1573 +58152,60329,64556,64686,64718,64686,64621,64621,64588,64588,64621,64621,64621,64654,64687,64751,
 36.1574 +64719,64686,62638,62606,62606,60526,60493,60461,60461,60494,60494,58381,56268,56269,52010,39431,
 36.1575 +20545,20611,20611,16418,14337,16450,18564,18597,14371,12356,12356,12356,12324,10277,10276,10276,
 36.1576 +10277,10277,10277,10276,10276,10276,10276,8228,8196,8196,8196,8196,8196,8196,8196,8195,
 36.1577 +8227,8227,10275,10276,10276,10276,10276,10276,10244,10243,10244,10244,10244,10244,12324,10277,
 36.1578 +10309,10276,8228,8196,8196,8196,10244,10276,10308,12389,12421,12389,12356,12356,12356,12324,
 36.1579 +14436,14436,14468,16549,14501,14469,14469,12389,14469,12389,12389,14469,14436,12356,14468,18629,
 36.1580 +18596,16516,16483,14370,14370,16451,18564,18596,22790,24902,24935,27015,27015,24935,22790,18629,
 36.1581 +14437,10276,8195,8195,8195,8195,8195,8195,10244,10276,10244,8195,8195,10276,12357,12356,
 36.1582 +14437,16452,16452,18532,22692,26853,31013,35206,39367,41415,43495,43495,45543,45543,47656,49736,
 36.1583 +49670,49670,49670,49670,49670,49703,51751,51784,51751,49638,49605,49605,49606,51686,51686,51685,
 36.1584 +51750,51718,51718,51718,51717,49605,51685,51718,51685,51685,53734,53766,53766,53733,53733,53733,
 36.1585 +60006,57893,57861,55813,55814,53798,53766,53766,55944,55911,53799,51718,53798,53798,51718,49669,
 36.1586 +49668,47620,47588,47589,49637,49670,51719,51752,51752,49704,49703,49735,47655,45574,45606,45638,
 36.1587 +43493,47654,47687,47654,45574,47654,47687,47687,47687,49735,49768,51848,53929,53961,51881,51848,
 36.1588 +60138,58025,55912,53832,53831,55880,55880,55879,58024,55944,55944,60105,60137,60137,60137,60169,
 36.1589 +58119,58151,60199,58151,58119,56006,56006,55973,56038,56038,56038,56038,56038,56039,58119,58152,
 36.1590 +58217,56136,56104,56103,56104,56136,58217,58217,58185,60331,62444,60331,60299,62476,60363,49832,
 36.1591 +45738,41643,37417,28966,22659,20579,18499,14338,16451,14436,14436,12388,12388,10340,10373,12389,
 36.1592 +10309,10309,12357,10309,12357,10309,12357,10309,10276,10276,10276,10276,10244,8196,10244,10243,
 36.1593 +10243,10243,12291,12291,10242,10242,12291,12291,12291,12291,12291,12291,12291,12291,12291,12291,
 36.1594 +10243,10244,10243,10243,10275,10275,10243,10243,10243,12323,12356,12356,14436,14469,14469,14436,
 36.1595 +16516,16484,14403,12323,12323,12324,12324,12356,12324,10276,12324,12356,12356,12324,12323,12323,
 36.1596 +14403,16483,16484,16451,16451,16516,20710,24903,27048,29194,33355,33387,33355,29161,24935,20710,
 36.1597 +14469,12357,10243,8195,10244,12357,12389,12389,12357,14470,14470,12357,12357,12389,12389,10244,
 36.1598 +12357,12356,14437,16485,18532,18499,20546,22595,26788,28836,28868,30915,30948,35109,39335,43496,
 36.1599 +45608,47655,47688,49768,49769,49769,51850,51849,49736,49736,49704,49703,51719,51719,51718,51718,
 36.1600 +49670,49637,49637,49637,51685,51653,51685,53766,55814,55814,55847,57895,57862,55782,55749,55717,
 36.1601 +55716,55683,53635,55748,55814,55846,55846,53766,53767,51654,47492,47492,49605,51718,53831,53831,
 36.1602 +51717,51749,53798,53798,53799,53799,53799,53799,53799,53799,53799,55879,55879,53831,53831,55911,
 36.1603 +55943,55911,55878,53798,53830,55911,53831,53798,53831,53831,53831,55944,55977,58057,58057,55977,
 36.1604 +51654,51654,53767,55847,55880,55880,53799,53799,51718,53799,53832,55912,55977,58057,55977,53863,
 36.1605 +53894,53926,53926,53926,53926,56006,56006,56038,53925,53925,53925,53925,55973,55973,53925,53925,
 36.1606 +51781,49700,47620,49668,49700,51813,53894,53894,53926,47588,49668,51814,51814,51813,53927,53993,
 36.1607 +47754,47820,45772,41579,41579,39531,35338,29096,22790,20741,16581,14500,12420,10372,10372,10373,
 36.1608 +10309,10277,10277,10277,10244,10244,10276,10276,10244,10276,10276,10276,12356,12356,14469,14469,
 36.1609 +16517,18532,18532,16451,16387,16387,16387,16419,16387,16419,16419,16419,16419,16387,16387,16387,
 36.1610 +14403,12323,12323,12323,12323,12355,12323,12355,14403,14404,14435,16516,20710,22855,24936,22855,
 36.1611 +22823,22790,20678,18598,18630,18630,18631,18631,16583,16518,14438,14470,16550,18631,20743,20775,
 36.1612 +22823,20710,18629,18629,20742,22823,22790,20710,20677,20710,20678,18629,20677,20677,18629,18597,
 36.1613 +16485,16518,16550,18631,20744,20776,18695,16583,18695,20808,20808,16615,16615,16647,16615,12422,
 36.1614 +12389,10309,10309,10276,10243,10242,12290,14338,12288,14336,16385,18433,18434,22595,24773,28933,
 36.1615 +35142,37254,39367,41480,43593,45641,45673,45674,43495,45608,47689,49736,49703,49703,49671,49703,
 36.1616 +51783,51750,51750,53798,53798,53798,55847,57927,57960,60008,60008,59976,59976,59943,59879,57798,
 36.1617 +55683,55683,53635,55716,53669,51588,47395,43202,36896,36864,34816,36928,41154,45380,49574,51654,
 36.1618 +53734,55782,55814,55814,55782,53702,53670,53637,53604,53604,55685,57765,59845,59845,59845,59845,
 36.1619 +59909,57796,55715,55683,55748,55781,55748,53636,57894,55846,55846,55814,53734,53733,53734,53734,
 36.1620 +47526,49639,51719,51752,49671,49703,51784,53897,51817,49736,47590,43397,43429,45575,47655,45575,
 36.1621 +45606,47686,47719,47718,47686,43492,41346,39233,41379,43427,45540,47653,49733,49766,49766,49734,
 36.1622 +51879,49799,49735,49734,49767,49767,47654,47621,49767,45573,47621,49767,49734,47621,47654,47687,
 36.1623 +43528,41514,41514,41514,39499,39531,35370,31209,29161,27048,20839,16645,12484,10404,10404,10372,
 36.1624 +12357,12357,12325,10277,10244,10276,10276,10276,10244,10276,10276,10243,10243,10275,12388,16516,
 36.1625 +22758,24806,24838,24806,24806,24806,26886,26919,26919,26919,28967,28999,28999,28999,28967,26919,
 36.1626 +24903,22823,18661,18596,16548,18564,18564,18564,16483,16483,14402,16451,18564,20709,22789,20709,
 36.1627 +18532,18532,18532,18532,18533,16484,14404,12324,12324,12292,12292,12292,12324,14405,14405,16452,
 36.1628 +14404,16451,16452,16484,16516,16517,16517,16516,16517,16517,16484,14404,16484,18597,18630,18630,
 36.1629 +18630,18631,18663,18631,18631,16550,14470,12357,10276,10276,10244,6146,6146,8195,8195,6147,
 36.1630 +8261,8261,8261,10309,10309,10244,10243,12323,12290,12290,14339,16419,16419,16419,16419,18499,
 36.1631 +18433,22561,24675,26820,28933,31014,31013,31013,33028,35142,39335,41415,43462,43462,45510,47590,
 36.1632 +49702,49669,49670,51718,51686,51685,51686,53766,55815,57863,57863,57863,57863,59911,59879,57830,
 36.1633 +59910,57862,57894,59975,57927,55815,49541,45380,49574,47526,47559,49672,51817,53930,56011,55978,
 36.1634 +55880,57896,57896,55848,57896,55848,55815,55815,59976,59943,61991,64071,64071,64006,63941,63941,
 36.1635 +59844,59876,59876,59876,59877,59909,59942,59974,57862,57895,57895,55847,55847,53767,53799,55879,
 36.1636 +43528,37254,32995,32995,35173,37318,37286,35173,35238,33125,33093,31045,31077,28996,28931,26819,
 36.1637 +28931,26851,26787,26786,26786,28899,31012,33093,37351,39431,41512,41544,41511,39431,39366,37286,
 36.1638 +37319,35173,30948,28867,30947,33093,37254,37319,37286,39399,41512,39399,39367,41512,39399,33028,
 36.1639 +30949,28869,28836,26788,26821,26886,26918,24870,24935,22855,18694,14533,12452,10372,10404,10373,
 36.1640 +12390,12358,12358,12358,14438,14470,14470,16550,14469,14469,14436,12356,12355,12355,14500,18629,
 36.1641 +22757,24837,26950,29031,29063,31112,33224,33257,35305,35305,35305,35305,35305,35305,35305,33257,
 36.1642 +31242,29161,27048,27016,27015,24935,24870,22789,18563,18563,16450,16385,16385,16450,18531,18563,
 36.1643 +22724,22724,22693,20677,20677,18597,16484,14372,14339,12324,14372,14372,14372,12291,12290,10242,
 36.1644 +8193,10242,12291,12291,12290,12290,14372,16485,12291,12323,14371,12323,12323,14372,14372,12324,
 36.1645 +18598,18598,16518,14404,12292,12291,10243,10243,10276,10243,8195,8194,6146,6146,8195,8195,
 36.1646 +4099,4100,6148,8261,8228,6147,8195,8195,14469,14437,14469,16517,16549,18630,16549,18565,
 36.1647 +16418,16386,16386,16386,16386,18466,18466,18434,24707,26820,30981,33061,35141,37221,41382,43494,
 36.1648 +45509,47524,47525,47525,47525,47492,47492,49573,49573,51621,51622,51653,53734,55847,57896,55815,
 36.1649 +57960,57960,57992,60106,60138,58058,53898,51785,47657,47657,47657,47658,47690,45609,45577,45512,
 36.1650 +47559,47559,49639,51752,53897,56010,58090,58090,60105,60072,62088,62087,64103,64038,63973,63973,
 36.1651 +59877,59909,59942,59942,59974,59975,60008,60040,60073,58025,58026,58058,56010,55978,53898,53897,
 36.1652 +18433,20545,20546,18465,16384,14336,16385,16450,16449,12288,14336,18563,18628,16515,14434,16482,
 36.1653 +18532,16484,16451,16451,18532,20612,20644,22725,24806,26918,29031,28998,26885,22691,20579,20546,
 36.1654 +18499,18434,18434,18467,20579,20580,20579,18466,20579,18466,18434,18466,20546,22659,22691,20546,
 36.1655 +20514,20482,18434,18467,18467,16419,16419,16484,14371,12323,12323,10275,10307,10340,10372,12421,
 36.1656 +12357,12358,14438,14470,16551,18663,18696,20776,20776,20775,18695,18662,18662,18726,22887,25000,
 36.1657 +27015,31143,33257,33289,35369,35369,35370,35370,33224,33224,33192,31143,31111,31111,31111,31111,
 36.1658 +29096,29128,31209,33322,33354,33322,31176,29095,29063,29095,29063,26950,24869,26982,31176,33257,
 36.1659 +31143,29063,26950,24902,24870,22790,20677,18597,14403,14371,12290,10242,10241,12290,12290,12290,
 36.1660 +14403,12291,10242,10242,12290,12291,10242,10242,10243,12291,12291,10243,10243,10243,12291,12291,
 36.1661 +12291,14405,16518,16485,14405,14405,12356,12324,10243,8195,8195,8195,8195,6146,6146,6147,
 36.1662 +6148,4100,4099,4099,4099,4099,6147,8195,8195,8195,8195,12356,14502,18727,22888,22889,
 36.1663 +24936,22791,18565,16452,14371,14371,16386,16386,18466,18466,20514,24642,26754,30947,35141,39269,
 36.1664 +45542,47557,47558,49638,49638,47558,47558,49638,47558,49638,49638,49638,53799,55945,56010,56009,
 36.1665 +58090,55978,53864,47591,43398,37124,32898,28705,24577,24577,24578,24578,24578,24610,22530,22529,
 36.1666 +22528,24576,26689,32995,39334,43527,45639,45607,49767,49734,51750,55878,60007,60007,62022,62055,
 36.1667 +62120,60040,57959,57992,60105,58057,56009,55977,51816,49704,45576,43495,41382,37189,32963,28802,
 36.1668 +14403,12322,12322,12322,12322,12355,12355,10307,10307,10307,10340,10340,8291,8259,8291,10372,
 36.1669 +10309,12357,12357,12389,14438,14470,14470,14437,14404,14404,14437,16517,16517,16517,18565,16517,
 36.1670 +16517,14437,14405,14405,14404,12356,12324,12324,12324,12324,12323,12323,12291,12291,12291,12291,
 36.1671 +12290,12290,12290,12290,12290,12291,12291,10243,10243,10243,10243,10275,10275,10276,8227,8196,
 36.1672 +10245,10245,10245,12325,12325,12357,14437,14469,16582,18662,18662,18662,16581,16614,18694,20806,
 36.1673 +27015,26983,29063,29096,29095,26983,24837,22724,22723,24869,29030,26950,22723,18530,18465,18497,
 36.1674 +18498,20644,22789,24902,24902,24869,24837,24837,24869,24869,24869,24869,24837,24837,24804,24804,
 36.1675 +29062,26982,26949,24837,22756,20676,18564,16483,16483,16483,16548,18629,20709,20709,20709,20709,
 36.1676 +20710,18630,18597,16485,14372,12323,12291,12323,12324,12324,10243,10243,10243,10243,12324,12324,
 36.1677 +14405,14373,14373,14405,14405,14405,12357,12357,12357,12356,10308,10308,8228,8227,8227,8195,
 36.1678 +6148,6180,6180,6180,6148,6147,6147,6147,6146,6147,8195,10243,8194,8194,14469,20808,
 36.1679 +20808,20775,16549,12323,12323,12291,12290,12290,16387,16386,18466,20514,20480,20480,24674,33028,
 36.1680 +45543,49671,49703,49671,47591,47623,47623,47623,47655,47687,47720,47688,45607,45574,45639,49833,
 36.1681 +43462,37156,32931,30883,28802,24642,22562,22595,18434,18434,18434,18434,16386,16386,16386,14337,
 36.1682 +16385,14336,14336,14336,18496,20608,22689,26849,26816,28896,37218,45573,51846,53927,55975,56008,
 36.1683 +53961,51881,51881,49801,45575,37188,32995,32995,26689,24641,22561,20513,18433,18433,18433,16385,
 36.1684 +10308,10276,8228,8228,10308,10308,8260,8260,8228,8260,8293,8325,8325,8325,8293,8325,
 36.1685 +8261,10277,8229,10277,10309,12358,12357,12357,12325,12357,12357,12357,12357,12356,12324,12324,
 36.1686 +12357,10309,10277,10309,10309,10341,10341,10309,10276,10276,10276,10276,10276,10276,10276,10276,
 36.1687 +8195,10243,10243,10243,8195,8195,8195,10244,10244,10244,10244,10244,10244,10244,10244,10244,
 36.1688 +10245,10245,10245,10245,12325,12357,14437,14437,12356,14437,14469,14468,14436,12388,14468,14468,
 36.1689 +16548,18596,20676,20709,22789,20708,18563,16450,14336,16417,18530,18530,16450,16417,16417,16449,
 36.1690 +14337,16418,16450,16450,16450,18498,18531,20643,22756,24837,26950,29030,29063,26982,24869,24836,
 36.1691 +22755,22723,20675,20708,20740,22789,20741,20741,24967,27048,27113,29193,29161,29160,29161,29193,
 36.1692 +29162,29194,29195,27114,25001,20808,18695,18662,16582,16582,16582,14502,14469,12389,12357,12357,
 36.1693 +14405,14405,14405,14405,12357,12357,12357,12357,12389,12389,10341,10340,10309,10308,10341,10341,
 36.1694 +10341,10308,8260,8260,8260,8260,10308,10308,8228,8195,8194,8194,10242,10242,8193,8193,
 36.1695 +10242,12291,10243,10243,12356,14404,14372,14404,14339,14338,16418,18499,20546,22627,26884,35206,
 36.1696 +41382,43430,43430,43430,43430,43462,41382,39301,41414,37253,35140,33059,30979,30979,31011,33092,
 36.1697 +30947,26754,24642,22626,22627,20547,18466,16419,16451,16452,14372,14372,14372,14372,14372,14371,
 36.1698 +14402,14434,16514,16514,16513,16481,16448,16416,20544,22592,26720,30912,39331,47719,51880,49832,
 36.1699 +43559,37286,33093,30980,26787,22593,20513,20546,18465,16418,16418,14370,14403,12355,12323,12323,
 36.1700 +10309,10309,10277,10277,10309,10309,10309,10277,8197,8229,10309,10342,10342,10342,10309,10309,
 36.1701 +12390,12357,12357,12325,12357,12357,12357,12356,14437,14437,14437,14404,12356,12324,12324,12323,
 36.1702 +10276,10276,8196,10276,10276,10308,10308,10308,10276,10276,10276,10276,10276,10276,10276,8228,
 36.1703 +8196,6148,6148,6148,8196,8196,8196,8196,8196,8196,8196,8196,8196,10244,10244,10244,
 36.1704 +10244,10244,10244,10244,10244,10276,12324,12356,14437,14501,16582,16582,14501,14469,14468,14468,
 36.1705 +14436,14435,16516,16516,16548,16515,14402,12322,12289,12289,12289,14369,14369,14369,14369,14402,
 36.1706 +14369,14370,14338,14337,14337,14337,16450,18531,18531,20676,24870,27015,29063,26982,24869,22756,
 36.1707 +20675,18595,18563,18595,18660,20741,20741,18661,20741,22887,24999,24967,22854,20773,22821,24902,
 36.1708 +27081,25001,24968,20775,18662,16549,14469,14469,14437,12389,12389,12389,12389,10309,10276,10276,
 36.1709 +10244,12292,10244,10244,10244,10244,10244,10276,10276,10276,10276,10308,10309,10341,10341,10341,
 36.1710 +10341,10340,10308,10276,10308,10308,12389,12421,12421,12421,12388,14468,18662,20774,20742,18661,
 36.1711 +18629,16549,14436,12323,14404,12323,12291,12323,18597,18564,18564,20645,22725,24805,29031,35304,
 36.1712 +43561,43528,43496,41448,41480,41480,37287,33125,31012,28931,26851,26850,24770,22689,22689,22722,
 36.1713 +22658,20579,20546,20579,20612,20645,18597,16517,16549,14501,14470,14469,14469,14502,14502,16582,
 36.1714 +14339,16419,16418,14337,16384,18433,20513,22560,24608,24576,24576,26624,37090,47623,49703,43494,
 36.1715 +28932,22691,18530,18530,18530,16450,14402,14402,14403,12387,12388,12420,10340,10340,10308,8260,
 36.1716 +10310,10309,10310,10310,12358,12358,12325,12325,12325,12325,12325,12325,12325,12325,12325,12325,
 36.1717 +12356,12356,12324,12324,12356,14436,14437,14469,14436,14404,14404,14404,12323,12323,12291,10243,
 36.1718 +12356,10276,10275,10275,10275,10276,10275,10275,10243,10243,10276,10276,10276,10276,10276,10276,
 36.1719 +8228,6213,6181,6181,8229,6181,8229,8197,8197,8196,8196,8196,8196,8196,10244,10244,
 36.1720 +8196,8196,8196,8196,10244,10244,10244,10276,12324,12357,12389,12421,12389,12356,12356,12356,
 36.1721 +14501,14469,14469,16549,16549,16549,14468,14468,20774,20742,18693,20773,22854,22886,22854,20773,
 36.1722 +22822,22822,22822,22822,22790,22790,22822,22822,22822,24903,29096,29128,29128,27015,24870,22757,
 36.1723 +18660,18596,16547,16515,16548,16548,14467,12355,16581,18694,22854,22854,20741,20708,20708,22789,
 36.1724 +18661,16581,14468,12323,10242,10242,10242,10243,8195,8195,8195,8195,8195,8195,8195,8195,
 36.1725 +8195,8195,8196,8195,8196,8195,8196,8196,8196,8196,8196,8196,8228,8228,8261,10309,
 36.1726 +10308,10308,10276,8195,10276,10276,10309,12389,14502,14501,14469,14403,14435,18629,22790,20741,
 36.1727 +24935,24935,22855,22823,22888,22823,20743,22823,20710,18597,18597,20677,24838,26951,29096,33257,
 36.1728 +35207,35174,33061,30981,31013,31013,26852,24706,22625,24771,26917,29062,26949,24836,22755,24836,
 36.1729 +22724,20676,18564,16483,16516,16549,16549,14469,14534,14534,14502,12454,14502,14502,14535,16582,
 36.1730 +24839,26919,26822,22596,22530,24610,26690,28705,28705,32898,39204,45511,51818,51850,45478,32963,
 36.1731 +26917,20708,18595,18596,18628,16580,14500,14500,12420,12421,12421,10373,10373,8325,8325,8293,
 36.1732 +12325,12325,12325,12325,12325,12324,12324,12324,14340,14372,14340,14339,14339,16388,16388,16387,
 36.1733 +14339,12290,12290,12322,14371,16484,16517,18597,16516,16516,16516,16516,16516,16484,14436,14436,
 36.1734 +14436,14436,12355,12355,12356,12356,12324,12323,12324,12324,12324,12324,12324,12324,12324,10276,
 36.1735 +8261,8261,8261,8261,8229,8229,8229,8229,8196,8196,8196,8196,10244,10244,10244,8196,
 36.1736 +10244,10244,10244,10244,10244,10276,10276,10276,8195,8196,8196,8196,8195,8195,8195,8195,
 36.1737 +10276,10308,12357,12389,14469,14502,16550,16582,18662,18662,18694,22888,25033,27113,25033,24968,
 36.1738 +22887,22888,22888,22888,22887,22855,22855,22855,24968,24968,27016,24968,22855,20709,18596,16483,
 36.1739 +14436,14436,12388,14436,14468,14469,12356,10275,10243,12323,14435,14435,16483,16483,16483,16515,
 36.1740 +14435,16516,16548,16549,16581,16581,14501,14469,12421,12388,10308,10276,8228,8196,8196,8195,
 36.1741 +8196,8196,8196,8196,8196,8196,8196,8196,8196,8196,8196,8196,8196,8228,10277,10276,
 36.1742 +10276,10276,10276,10244,10244,10276,10276,10276,12389,14437,14436,14403,16483,20676,20709,20676,
 36.1743 +22757,24870,24903,27048,29194,27081,24968,24969,24936,20743,20678,18597,20645,20645,20677,22725,
 36.1744 +20578,20546,18465,18465,20546,20578,20578,20546,22724,24804,28998,29063,29030,26917,24837,24837,
 36.1745 +24837,22789,20677,18597,18597,16549,14469,12356,12389,12389,12389,12389,12389,12388,12389,14436,
 36.1746 +20581,28870,35177,39337,43498,45578,49674,49641,51722,49641,49640,49673,51753,49673,45511,41416,
 36.1747 +31144,24967,20709,16548,14435,14435,14436,14468,12388,12388,10340,10340,10309,10341,10341,10341,
 36.1748 +10276,10276,12324,12324,12291,12291,14339,14371,14339,18500,18500,18467,18435,18467,20515,18467,
 36.1749 +20677,18629,18597,16516,16484,16484,16516,16549,16549,16549,16549,16581,16582,16582,16549,16549,
 36.1750 +14468,14468,14436,14436,14436,14436,14437,14436,12356,12356,12357,12325,12325,12325,12325,12357,
 36.1751 +10277,8229,8229,8229,8229,8228,8228,8228,8196,8196,10276,10276,10276,10276,10244,8196,
 36.1752 +8196,8196,8196,8196,8196,8196,8196,8196,8196,8196,8196,8196,8196,8228,10276,10276,
 36.1753 +8196,8196,8196,10244,10276,10277,12357,12357,10276,12324,12356,16549,18695,20775,18695,18662,
 36.1754 +16581,16549,16549,16517,14468,14468,16517,16517,16517,16516,16516,14435,14403,12322,12290,10242,
 36.1755 +10243,10244,10276,10309,12357,12389,10309,10276,12389,12388,12356,14404,14435,16483,16483,16451,
 36.1756 +12322,12322,12355,14435,16549,16581,16614,16646,16614,14534,12421,10308,10308,8260,8228,8196,
 36.1757 +8196,8228,8197,8228,8229,8229,8229,8229,8229,8196,8197,8196,8196,8196,8196,8196,
 36.1758 +10244,10244,10244,8196,8196,8196,8196,8196,10244,12292,14404,18597,24903,27016,26983,22789,
 36.1759 +22691,22691,20643,20644,22757,18596,16483,18564,22823,20710,18597,16484,16484,16484,16451,16451,
 36.1760 +16451,16482,18531,18563,20676,24870,26983,29031,26918,24773,22628,20579,22660,22627,20547,20547,
 36.1761 +20579,18563,18564,18597,18629,18597,16517,14437,12324,12356,12356,12356,10276,10275,12323,14371,
 36.1762 +22725,28967,37321,43595,47724,49772,51787,51754,49673,49673,49673,49737,45544,39270,32996,28900,
 36.1763 +24837,20741,20709,18628,18596,16516,16548,16548,18629,16581,14469,14437,12356,12356,12356,12356,
 36.1764 +12420,12420,12419,12387,12355,14402,16483,16483,20676,26950,29063,29031,28966,28933,26853,24772,
 36.1765 +27016,24968,22888,20742,16549,14468,14436,14468,12388,12389,14469,14501,14469,12421,12389,12357,
 36.1766 +14469,12389,12388,12388,12357,12389,12357,12357,12357,12358,12326,12326,12326,12326,12326,12326,
 36.1767 +10245,10245,10245,10245,10244,10244,10244,8196,10244,10276,10276,10308,10308,10308,10308,10308,
 36.1768 +8228,8228,8228,8228,8196,8196,8196,8196,8196,8196,8196,8196,8196,8197,8197,8197,
 36.1769 +10245,10245,8197,8197,8196,8196,8196,10244,10244,10276,12324,12357,14437,14469,14469,14469,
 36.1770 +14437,14437,12356,12356,12356,12356,12356,12356,10243,10243,12290,12290,12290,12323,12323,12324,
 36.1771 +10244,10277,10277,8229,8229,8229,10277,10309,12390,12357,12356,12356,14404,14404,16452,16451,
 36.1772 +14435,12354,10242,10242,12323,14468,14501,16582,14534,12453,12421,10340,10340,10340,8228,6180,
 36.1773 +6148,6148,6148,8196,8197,8196,8197,8197,8197,8196,8197,8196,8196,8196,8196,8196,
 36.1774 +8196,8196,8196,8196,8196,8196,8196,8196,10244,10243,12291,16484,20677,20677,20612,20579,
 36.1775 +22658,22625,18497,20578,20611,18498,16418,18532,14371,14339,14371,14404,18565,20678,20710,20710,
 36.1776 +16548,16580,16580,18660,20742,24903,26984,26983,24806,22693,22628,22596,22596,22563,22564,22596,
 36.1777 +20547,16418,16419,18532,18532,16451,14404,14436,14436,14436,14436,14404,12323,12355,14404,16516,
 36.1778 +16483,16514,20676,28998,35239,37319,41448,45641,43528,41415,37221,33060,28963,26883,24835,22787,
 36.1779 +18530,20611,22724,22757,22789,22757,22757,20677,22790,22790,20710,20678,18565,18533,16453,16452,
 36.1780 +14565,14533,14532,14500,14467,16515,18596,20676,31208,37547,43821,43788,41642,39497,35303,31111,
 36.1781 +24935,22888,22823,18662,16549,14436,14436,14436,16517,16549,16582,16582,16582,14502,14469,12389,
 36.1782 +12389,10308,10308,10308,10276,10276,10244,10244,10277,10277,10277,10278,10245,10245,10245,10245,
 36.1783 +10245,10277,12293,10245,10245,10244,10244,10244,10277,10276,8228,8228,8260,10308,10341,10341,
 36.1784 +10341,10309,10309,10309,10309,10276,10276,10276,10276,10277,8229,10277,10277,8230,8229,8197,
 36.1785 +8197,8198,8197,8197,8197,8197,8197,10245,10245,8196,8196,8195,8195,8196,10244,10276,
 36.1786 +10244,10276,10276,10308,10308,10276,10243,8195,10276,10276,10276,10276,10276,10276,12324,10276,
 36.1787 +10277,10277,10277,8197,8196,8196,10277,12357,10277,12325,12356,14436,16517,18630,20710,22823,
 36.1788 +22855,20806,20774,20774,20775,20774,18694,16646,18695,16614,14534,12453,12453,12421,8260,8196,
 36.1789 +6148,6148,8196,8196,8196,8196,8196,8196,10276,10244,10244,8196,8196,8196,8195,8195,
 36.1790 +10243,8196,8196,8196,10244,10244,10277,12325,14405,14372,16419,16451,18466,18434,22659,28933,
 36.1791 +28867,30947,31013,33191,33224,26918,20612,20612,18564,18564,16484,16484,16484,16484,16452,14403,
 36.1792 +14533,14533,14500,14468,14468,16549,18565,18500,26952,31145,37419,39467,37354,37289,37322,41547,
 36.1793 +33192,26950,24805,22725,20612,16451,16451,18597,16516,16516,16516,14436,14403,14403,16516,18629,
 36.1794 +16580,14434,14434,18595,22723,22658,24706,28899,33125,31077,28964,24803,24900,29158,27110,24965,
 36.1795 +22821,24837,22757,20677,20677,20677,20677,20645,22725,20710,22758,22758,22758,20678,22726,20678,
 36.1796 +14469,14469,14501,14501,16581,18661,22822,24935,29128,31176,33256,33256,33223,33158,28996,26884,
 36.1797 +18531,16484,18564,18596,18532,16451,18564,22757,24870,22757,20677,20710,22791,20743,18630,14469,
 36.1798 +14469,12388,10308,10276,10308,10308,10308,10276,12357,10277,10277,12357,12357,10277,10244,10244,
 36.1799 +8197,8197,8197,8230,8230,8229,8262,10342,8229,8262,10342,10407,12455,12455,10406,10374,
 36.1800 +12389,12357,12357,12357,12357,12357,12357,12324,10277,10277,10277,8229,8229,8197,8197,8197,
 36.1801 +8197,8197,8197,8197,8197,8197,8197,8197,8229,8229,8197,8197,8197,8197,6149,8229,
 36.1802 +6148,8196,8229,8229,8229,8229,8229,8228,8229,8228,8228,8228,8229,10309,10309,10309,
 36.1803 +12324,14372,14404,14405,14405,14404,14404,12323,14436,16484,16516,18596,18596,18629,20709,20741,
 36.1804 +20741,20774,20774,18694,18661,18661,16581,16581,16582,14469,12356,10275,10244,10243,10244,8195,
 36.1805 +8195,8195,6146,8194,10243,10275,10243,10243,10242,10242,10242,12290,12290,12290,12290,12290,
 36.1806 +10242,12291,14404,14437,14437,14437,16485,16517,20645,20580,20547,22594,26755,33028,39302,43527,
 36.1807 +45543,49737,49802,47755,43562,39401,31079,26886,20613,18564,16484,16484,16484,16484,16452,14404,
 36.1808 +14469,12422,12389,12357,12324,16485,20711,24904,31178,31177,35305,37386,37320,33094,33094,35207,
 36.1809 +33192,31176,26950,20611,18563,22757,22790,20709,24968,22887,20742,18662,16581,16581,16581,16581,
 36.1810 +18661,18629,20709,22822,22822,22757,20676,22724,22757,22789,24869,24902,24902,24902,22854,22822,
 36.1811 +20742,20710,18629,16517,16484,16484,16452,16452,16517,16517,16517,16517,16485,14437,16485,16485,
 36.1812 +14469,14469,14469,14436,14436,14436,16483,16483,18531,18563,20611,20578,18497,18465,20512,20545,
 36.1813 +18564,18532,18531,18532,20612,22724,29030,33257,31144,33257,35370,33290,27016,22758,18565,14436,
 36.1814 +16582,16614,14566,14501,12356,10275,12356,12388,12324,12324,12323,12324,12324,12324,12356,12356,
 36.1815 +14438,12357,10245,10277,12357,12389,10309,10276,12422,12422,12454,12454,12454,12454,12422,12422,
 36.1816 +14502,14502,14502,16550,16549,14469,12356,12324,12324,12324,10244,10244,8197,8197,8229,8229,
 36.1817 +8229,8196,8196,8196,6148,6148,6148,6148,6148,6148,6148,6148,6148,6148,6148,6148,
 36.1818 +6148,6148,8196,8196,8196,8196,8196,8196,8228,8196,8196,8228,8229,8261,8261,10276,
 36.1819 +14469,16517,18598,20710,20743,22823,22855,22855,22823,22823,22854,22855,22854,22854,22822,20774,
 36.1820 +20741,20774,20774,18662,16581,16581,16582,16581,14469,12356,10243,10243,8195,10244,10277,12324,
 36.1821 +12356,12421,14501,14469,12356,12323,14404,16516,22823,22822,22758,20677,20644,18564,20612,20644,
 36.1822 +18629,16549,16484,14404,14404,14436,16485,18532,22725,26919,35240,41514,45674,45673,45607,45542,
 36.1823 +51817,47624,41318,37125,30916,28868,26853,26886,20645,18597,18565,16516,16517,16516,16484,14436,
 36.1824 +14437,12357,10276,10244,10244,12292,14404,16484,14339,16386,18467,20547,22594,20481,22561,24707,
 36.1825 +31111,31111,26918,22660,20612,24838,24903,24871,20742,18661,16549,14468,14436,14469,14469,14469,
 36.1826 +14436,14436,16516,18629,18630,18629,18630,20710,18597,18629,20677,20677,20677,18596,18564,16516,
 36.1827 +16517,14469,14437,14405,12356,12356,12356,12356,12356,12356,14405,12356,12356,12356,12356,12356,
 36.1828 +10276,10308,12356,10308,10276,10243,10242,12290,14403,18563,20676,22724,22756,24837,29063,33256,
 36.1829 +29096,29096,29064,29063,26951,26918,26885,26918,26917,29030,29063,26951,22725,18531,16451,16484,
 36.1830 +12355,14436,14468,14436,12355,14403,16516,18629,22855,22823,20742,18597,16484,16484,16484,18532,
 36.1831 +18564,18532,16451,16419,16451,16451,14371,14338,16451,16451,14403,14403,14403,14403,14435,14435,
 36.1832 +14501,14501,16549,16581,18629,18629,16549,16516,14436,14436,14404,12356,12324,10276,10276,10276,
 36.1833 +10244,10244,10244,10244,10244,10244,10276,10277,8196,8196,8228,8228,8228,8228,8228,8196,
 36.1834 +10276,10243,10243,8195,10243,10243,8195,8194,10243,10243,10243,10243,10275,10276,10276,12324,
 36.1835 +12323,14372,14436,16517,18597,18629,18630,18630,22823,20775,20775,22823,22823,20774,18661,18629,
 36.1836 +16581,18662,16581,14501,14436,14436,12389,12388,12324,12356,12357,12357,12390,12422,12422,12390,
 36.1837 +12389,14501,14534,14534,14501,14501,18630,20743,27081,29226,35468,37581,37581,35467,33290,29161,
 36.1838 +22855,20742,16549,14436,14404,14436,14437,16484,20645,26919,31144,37353,41513,43561,41447,39334,
 36.1839 +35108,32995,30980,31045,28965,22724,18531,16483,20774,18726,18726,18726,18727,18759,20807,20807,
 36.1840 +18694,18662,18662,16582,16550,16549,14469,14436,16517,16517,18597,20677,22725,22725,24837,29031,
 36.1841 +28999,28967,24774,20548,18467,20613,22694,20645,16452,16452,14372,12292,12324,12324,12357,12357,
 36.1842 +12356,12324,12324,12356,14404,12356,14404,14436,14436,14436,14436,14404,14403,14371,12291,12291,
 36.1843 +12324,12324,12292,10244,10244,10244,10244,10244,10243,10244,10244,10276,12292,10276,12324,12324,
 36.1844 +8196,8228,10276,10308,10276,10276,10275,12323,12291,14403,16516,16516,16451,16483,20644,22789,
 36.1845 +22790,24870,26983,29064,29063,28998,26885,24804,20578,18498,18466,16418,16418,16418,14338,14338,
 36.1846 +14403,12322,12290,12322,16516,18628,18629,18628,20709,22757,20709,18596,18531,16451,18499,18498,
 36.1847 +26885,28966,28998,26885,24772,22691,22724,24772,20578,18530,18498,18498,16450,16450,18498,16482,
 36.1848 +14435,14435,14403,14403,16483,16515,16515,16515,14402,14402,14403,14403,14403,12323,12323,12323,
 36.1849 +12290,12291,10243,10242,10242,10243,10243,10243,10243,10243,10243,10243,10243,10244,10276,12324,
 36.1850 +12323,12323,12323,14403,14436,16516,14436,14403,14403,14371,12323,12323,14403,14403,14403,14403,
 36.1851 +12323,12323,14404,14404,14436,14436,14404,14404,16549,16517,16517,16549,18630,18629,16549,14468,
 36.1852 +14468,14501,14436,12356,10275,10275,10243,10243,10276,10308,10309,12389,12390,12390,12390,12422,
 36.1853 +14502,12389,10276,10308,12388,12388,12356,12323,12290,14436,20677,22855,24935,22855,22790,20677,
 36.1854 +20742,18662,18630,16582,16582,16549,16517,16485,18597,20678,22725,22660,24739,30981,33093,33061,
 36.1855 +28932,28964,28997,31110,29095,24934,20806,18725,16645,16645,14565,14565,14565,16645,16678,18726,
 36.1856 +18693,18661,18661,18629,16581,14468,14436,12356,12356,12356,14436,14436,14436,14436,16517,20677,
 36.1857 +22726,22694,20549,16387,16387,16387,16388,14340,14340,12292,12292,12292,12292,12325,12325,12357,
 36.1858 +12389,12356,12356,10276,10276,10243,10243,10243,12324,12324,12324,12291,12291,12291,12291,10243,
 36.1859 +10244,10244,10244,10244,10244,8196,8195,8195,8196,10244,10244,10244,10244,10244,10276,10276,
 36.1860 +8261,10309,10309,8261,8228,8228,10244,10276,12356,14437,14437,14436,12356,14404,16517,18629,
 36.1861 +18596,20644,22725,24805,26918,29031,31111,31111,26885,24837,26918,29063,31209,33290,31177,27048,
 36.1862 +24935,22822,20709,20677,20709,22789,22757,22756,24837,26983,31144,31176,31176,33257,35337,35336,
 36.1863 +35304,37417,39497,37384,35271,33223,33223,33256,31143,31143,29063,29062,26982,26982,26950,24902,
 36.1864 +24934,22854,22821,20741,22756,22756,22756,22724,20643,20675,22756,22789,24837,22789,22789,22757,
 36.1865 +20677,20677,20677,20677,18597,18532,16452,16451,14339,12290,12290,12290,12290,12290,12291,14371,
 36.1866 +16483,18531,20611,22757,24870,26983,26950,24902,22757,22724,20644,20643,20611,18563,18531,16483,
 36.1867 +18629,18662,18662,18694,20742,20742,20742,20742,14436,14436,14404,14436,16517,16549,16517,14468,
 36.1868 +12356,12388,10275,10243,10243,10243,10275,8195,10276,8196,8196,6147,6147,6147,8229,10309,
 36.1869 +14567,12453,10341,12421,16647,20808,18728,18662,16550,14436,12290,10242,12290,14371,16484,18564,
 36.1870 +16484,16549,18630,18662,18662,16582,16582,16550,18630,20743,22758,20645,22692,24805,26853,24739,
 36.1871 +26852,29030,29062,24901,22821,22853,20774,18693,14500,14500,12419,12387,12387,12387,14467,14467,
 36.1872 +16515,16514,16514,14434,12354,10274,10242,8194,10275,10308,10341,12389,12389,10308,10308,12356,
 36.1873 +14372,14372,14340,14340,14340,14372,12292,12292,12292,12293,12293,10277,10277,10277,10278,10309,
 36.1874 +10341,10341,10341,10341,12389,12389,10341,10309,10276,10276,10276,10276,12324,12324,12324,10276,
 36.1875 +10276,10277,10277,10277,8196,8196,8196,8196,8196,8196,8196,8196,8196,8196,8196,10277,
 36.1876 +8229,8229,8229,8196,6148,8196,8228,8228,8195,8195,8196,10276,12389,16583,20808,25001,
 36.1877 +24936,24903,24838,22757,22725,22757,24805,24805,33257,31209,31144,26983,24838,22725,20644,20644,
 36.1878 +27048,27048,27048,26983,24902,24870,26982,29063,31143,33289,35369,35369,35337,35336,35304,33191,
 36.1879 +33223,35304,33224,33191,33224,33256,33224,29063,29063,29095,29096,29096,29128,29128,29128,29128,
 36.1880 +29160,29160,31241,31241,31240,31208,31143,29062,31142,31142,33223,33255,33255,33223,31143,31143,
 36.1881 +31176,31176,33225,33257,33257,31177,31144,29064,26919,24870,24838,22757,22725,22725,22758,22757,
 36.1882 +26917,26917,29030,31111,31175,33256,33224,31175,31111,29062,26949,26917,24836,24804,22723,22691,
 36.1883 +16483,16515,16516,16516,16516,16516,16516,16516,16516,16484,14404,14404,14404,14404,14372,12323,
 36.1884 +10243,10243,10243,8194,10243,10276,10276,10275,8195,8196,10276,10309,10244,8196,8196,8196,
 36.1885 +6146,6146,6146,8195,10308,14501,16582,16582,20775,18663,18630,16517,16516,14404,14403,14371,
 36.1886 +12290,12355,14468,14469,14469,14469,14502,14502,16550,18663,20743,20710,20677,20645,20579,16386,
 36.1887 +20611,26950,31176,27015,24902,22854,20741,14467,14435,14467,14468,16516,16548,18596,20677,20709,
 36.1888 +20708,18627,16515,16482,14435,12355,10307,10275,8195,8228,10309,10341,10341,10309,10309,10309,
 36.1889 +10244,10243,10244,12324,12357,12357,10277,10276,10277,10309,10309,10309,10310,8261,8261,8262,
 36.1890 +8261,10341,10342,10341,10341,10342,10341,10309,10309,10309,10277,10277,10277,10245,10245,10277,
 36.1891 +8229,8229,8229,8229,10277,8229,8197,8229,8197,8229,8197,8197,8197,8196,8196,8197,
 36.1892 +6148,6148,6148,6148,6148,6148,6180,8229,8229,8229,8229,8229,10309,12422,14568,18728,
 36.1893 +16549,18597,18597,18564,16451,16451,16419,14338,18531,18531,18499,16419,16419,18532,20709,24903,
 36.1894 +20709,20709,22789,22757,22757,22789,26982,29095,31176,33289,33256,31110,28965,26884,24771,20578,
 36.1895 +22692,22724,20644,20612,20677,22790,20677,16516,14371,14371,14404,14436,14469,14469,16550,16549,
 36.1896 +20709,22789,24902,29063,31175,33223,33223,33190,33222,35270,35270,35238,33190,33158,31077,31078,
 36.1897 +33159,33191,33192,35272,35304,35304,35304,35304,35305,33257,33225,33224,33224,33224,31144,31144,
 36.1898 +31143,33191,33191,33223,33223,33223,33191,33190,33223,33190,31110,31078,29029,28997,28965,26917,
 36.1899 +27014,24967,24935,24934,24934,24934,24902,22854,20709,20709,20677,20677,18597,18565,18532,16484,
 36.1900 +14436,14468,14436,14436,14468,16549,16517,14469,12356,14469,18663,18695,16582,14437,12356,10276,
 36.1901 +10309,10341,10340,10308,10275,8195,10275,12324,14437,18630,22856,22888,20775,16549,12291,10241,
 36.1902 +10242,10242,10242,12323,12356,12356,12389,12389,12389,12389,14437,14437,14404,14403,14371,14339,
 36.1903 +16386,20547,20579,18467,16386,16419,16451,16419,16451,18564,22725,24838,26919,28999,28999,29031,
 36.1904 +24870,20708,16547,16515,16580,16581,14501,12388,10308,10309,10309,10309,10309,10309,10309,10341,
 36.1905 +10308,8228,8228,10308,10341,8260,6180,8228,8261,8293,10374,8326,8325,8293,8293,8293,
 36.1906 +8261,8293,10342,8261,8229,8229,8229,6148,8229,8229,10278,10278,10245,8197,8197,8197,
 36.1907 +8197,8197,8197,8197,8229,8229,8229,8229,8229,8229,8229,8197,8197,6149,6149,6149,
 36.1908 +6148,6148,6149,6149,6149,6148,6148,6148,4100,6148,6149,6148,6148,6148,6149,10277,
 36.1909 +12324,14372,14404,12323,12291,14403,14404,14404,16452,14403,14371,14371,14371,16484,16484,16516,
 36.1910 +18564,16451,14370,16418,18531,20644,20644,20644,20644,22724,22692,20578,20546,20578,20546,16385,
 36.1911 +12289,14371,14404,14371,12291,12323,12324,10243,10244,10244,10244,8196,8196,8196,8196,10244,
 36.1912 +16451,18531,20643,24805,28998,31110,33159,33190,35238,35206,35206,35206,35206,35206,35206,35206,
 36.1913 +35206,33158,33158,33158,33159,33158,33158,33158,33126,33158,33159,33191,33191,33159,31111,31111,
 36.1914 +31110,31110,31110,31110,31110,31110,31142,33190,31142,31110,31110,31110,31110,31110,31110,29062,
 36.1915 +29094,29094,29094,29095,29095,29095,29095,29095,29095,29096,29128,29096,29064,26983,26951,24903,
 36.1916 +24935,24935,24935,22855,24903,24935,22855,20774,20742,20775,20743,18662,16516,14436,14436,16549,
 36.1917 +14502,12453,12421,12421,14469,14502,14501,14469,12356,16517,18662,18630,14436,12291,12291,12291,
 36.1918 +10242,10242,10242,12323,12388,12421,12389,10341,12421,10341,10309,12389,12389,14469,16550,18630,
 36.1919 +20613,22661,22693,22726,22726,22726,22725,22693,24838,26952,31145,35338,37387,37386,35274,35306,
 36.1920 +26983,20742,16548,16581,20775,20808,18695,14502,12421,12389,12357,10244,10244,10244,12324,10308,
 36.1921 +10308,8227,8227,10340,10340,8260,8260,8292,8292,10373,10405,10405,10373,8293,8293,8293,
 36.1922 +8261,10309,10309,8228,8229,8261,8229,8197,8197,8197,8197,8198,8197,8197,8197,8197,
 36.1923 +8197,8197,8197,6149,6149,6149,8197,8197,8229,8229,8229,8229,8197,6149,6149,8197,
 36.1924 +8197,6148,6148,6148,8197,6180,6180,6148,6148,6149,6149,8229,8229,8229,8229,8228,
 36.1925 +10244,12324,12356,14469,14469,14469,14437,14437,14436,12356,12291,12291,12323,12323,14371,12291,
 36.1926 +14338,12290,12289,12290,12290,12289,16418,18531,16451,16450,16450,18531,20643,20611,18466,14337,
 36.1927 +14403,14404,14404,12355,12324,12323,10244,10244,10244,8196,8196,8196,8197,8197,8229,10276,
 36.1928 +14339,18467,20580,22692,24740,24740,26820,28900,33093,33093,33093,35174,35174,35174,35174,35174,
 36.1929 +35206,35173,35174,35206,35206,35206,35206,33158,35207,33158,33126,33126,33159,33191,33191,33159,
 36.1930 +31143,31110,31110,31110,31110,31110,31110,29030,31142,31110,29030,29030,31110,31110,31110,31110,
 36.1931 +29029,29061,31141,31142,31142,31142,31143,31175,31110,31110,29063,29063,31111,31111,31143,31144,
 36.1932 +31144,31176,31209,31209,31209,29128,29096,27015,24870,22789,20677,18596,18531,16483,16483,16484,
 36.1933 +16549,16582,16647,18695,18727,18695,18695,18662,16549,16549,16517,16516,16516,16517,18630,20710,
 36.1934 +18661,18661,16581,14468,12356,10275,10276,10308,10276,8228,8228,10309,12422,14535,16615,16583,
 36.1935 +18566,24807,29065,31210,29098,26985,29097,33291,26919,24806,22693,22661,24709,24709,24709,22661,
 36.1936 +18597,16517,14404,14437,16582,16582,14502,12356,12324,14437,16518,16517,18565,18565,16484,14404,
 36.1937 +12323,12388,12421,14501,14469,14469,12388,12355,14468,14501,14501,14468,12356,12323,12355,12388,
 36.1938 +10276,10276,10276,10309,10341,10309,10309,8229,10277,8229,8197,8197,8197,8197,8198,8197,
 36.1939 +6149,6149,8197,8197,6149,6149,6149,6149,8197,8197,8229,8229,8197,8197,8197,8197,
 36.1940 +6148,8196,8228,8228,8228,8196,8196,8196,8196,8196,8228,8228,8229,8229,8261,10277,
 36.1941 +12389,12357,12357,12356,10308,10276,10244,10244,10243,12324,14437,14436,12323,12290,12291,14371,
 36.1942 +16484,18565,18629,20677,18629,18597,18564,18564,18596,18564,18564,20644,22757,22822,24870,22822,
 36.1943 +18596,18629,18662,20710,18630,16517,12323,10243,10243,10244,10244,10276,10244,10276,10244,10244,
 36.1944 +14339,16387,18467,22660,26853,28966,33094,33126,33126,35174,35174,35174,35174,35174,35174,35174,
 36.1945 +35206,35206,35173,33125,33093,33093,31012,30980,33125,33093,33093,31045,33094,33094,31045,31046,
 36.1946 +31143,31143,31111,29062,31111,31111,29062,29062,29030,29030,29030,29030,29062,31111,29062,29062,
 36.1947 +33222,33190,31141,31109,31109,31109,31109,31077,31077,31077,31110,31110,31110,31111,33159,31143,
 36.1948 +31143,31143,31143,31176,31143,29095,29062,29030,24869,24837,22756,20643,18530,16450,16417,14337,
 36.1949 +12323,12355,12356,14436,14436,14436,14404,14403,14371,14403,14404,16484,16516,18597,20710,20742,
 36.1950 +24967,22887,20774,16581,12388,10275,10275,12356,8195,8195,8196,8196,10276,10309,10309,12389,
 36.1951 +14437,14405,14404,16452,14404,16484,20710,24936,22790,22790,24838,22725,20580,20548,20580,22694,
 36.1952 +20711,16583,14470,14437,14437,14437,12357,12324,18631,20678,20646,18532,18532,20580,20580,20580,
 36.1953 +16484,16484,16484,16484,16452,16452,18532,18564,14338,16387,16419,16451,18499,18499,18499,18499,
 36.1954 +16517,14437,12356,12324,12324,12324,12324,10277,10277,10277,10245,8197,8197,8197,8197,6148,
 36.1955 +8197,8197,8197,8197,8197,8197,8197,8197,8197,8197,8229,8229,8229,8197,8229,8229,
 36.1956 +8196,10276,10276,10276,8196,8195,10244,10276,10309,10309,10309,10309,10309,10309,10309,12356,
 36.1957 +12389,12389,12356,10276,10276,10308,12357,12389,14501,16614,20776,20808,20775,20743,22823,22855,
 36.1958 +27049,27049,26984,22791,20710,22791,22790,20710,22823,22823,22823,22855,24968,27049,29129,29161,
 36.1959 +24902,26983,29095,29096,27015,22790,18564,16451,14338,14338,12290,12290,12290,12290,12290,12291,
 36.1960 +16419,16386,16386,20547,24741,28966,33127,33127,35207,35207,35175,35174,35175,35174,35175,35174,
 36.1961 +35206,35205,33125,33092,31012,28931,28867,26819,26787,26787,26819,26819,26787,24739,24706,24739,
 36.1962 +24804,22756,22756,22756,22756,22756,22756,22724,26917,26950,26982,29063,29095,29095,29063,29030,
 36.1963 +29028,31044,28964,31044,31077,33157,33190,33190,31077,31077,33157,33158,33158,33158,33158,31110,
 36.1964 +31078,29030,31078,31078,28997,28997,28997,26949,28997,28997,26917,26916,24804,22723,20610,18530,
 36.1965 +14402,14403,14403,14403,12322,12322,12290,12290,14371,16451,16516,18597,20677,22790,22822,24871,
 36.1966 +27016,24935,22822,18629,14435,12323,10242,10243,8195,8195,8196,8196,8195,8195,6148,8196,
 36.1967 +8195,8195,8227,10308,10340,10307,10307,10307,12387,14468,14500,14468,14403,14403,16484,16549,
 36.1968 +20744,18696,18696,18696,18664,18664,18664,20711,20711,22759,22758,24774,26854,28934,28934,28934,
 36.1969 +24773,24742,24709,22596,20483,20483,20483,22563,26756,26757,28837,28837,28804,26691,22530,20481,
 36.1970 +18467,16419,14371,14339,14371,14371,14372,12324,12291,10244,10244,10277,10277,10277,10245,8197,
 36.1971 +8197,8197,8197,8197,8197,8229,8197,8197,8197,8229,10277,10309,10277,10309,10310,10310,
 36.1972 +12356,12356,12324,10275,12323,12356,14469,16549,14437,14436,14436,14404,12356,12355,12323,12323,
 36.1973 +10243,12323,12324,12356,12389,14469,14502,16582,20776,20775,20775,22855,24968,27016,27015,24935,
 36.1974 +29097,29097,24871,20613,18532,20678,22791,22790,18629,20678,20710,20743,22823,22855,22856,24903,
 36.1975 +29063,29095,31175,31176,31175,29063,26982,26950,24837,24805,22724,20644,20644,22724,24805,24838,
 36.1976 +26919,24806,22725,24773,28966,31079,33159,33127,33159,35175,35174,35142,35142,33094,33095,33126,
 36.1977 +33158,33125,33093,31045,31045,31012,30980,28932,28900,28932,28965,28965,28932,26852,26852,26852,
 36.1978 +20643,20611,20611,20611,20611,20611,20611,20611,18530,18530,20611,20643,20676,22724,20644,20643,
 36.1979 +22658,22625,22625,24705,26851,28996,31077,31077,31109,33157,33157,33157,33157,31077,31077,31077,
 36.1980 +28997,28997,28997,28997,28965,28997,28965,28997,31110,31110,31110,31142,31110,29062,29029,26981,
 36.1981 +22821,22789,20709,20677,18628,18596,18596,18596,20677,22757,22790,24870,24870,24870,24903,24903,
 36.1982 +24870,24902,24870,22790,18629,16516,14404,14403,12323,12323,10243,8195,8195,8195,8195,6147,
 36.1983 +8228,6147,4098,4098,6146,6145,6145,4097,6145,6144,6145,8193,8194,10274,10274,10243,
 36.1984 +6146,8195,10244,10244,12324,12324,12324,14372,16452,18533,22758,29032,33225,35305,35240,33127,
 36.1985 +33096,33064,33096,35177,37289,39370,39402,41482,41483,43563,45643,45643,43530,41352,37158,32997,
 36.1986 +26788,24772,24773,22725,22693,18564,16419,14339,12291,12291,12291,12324,12356,12357,12325,10276,
 36.1987 +8196,8196,8196,8196,8196,10277,10277,8196,8196,8196,10277,10277,8196,8196,8196,10277,
 36.1988 +14403,12323,12323,14403,16517,18630,20710,20710,20677,20709,20709,20709,20709,20709,20709,20709,
 36.1989 +22790,22823,22855,22888,24968,25001,25001,24969,25001,24968,24935,24935,27015,29095,29063,26950,
 36.1990 +24805,26918,26918,24805,24806,24871,24871,22758,16451,16452,16484,16517,16517,16549,18630,20677,
 36.1991 +24837,26884,26917,28998,29062,31111,31143,31143,31143,31143,31111,29030,29030,31111,31143,31144,
 36.1992 +31176,29096,29063,29031,29031,31079,31078,33126,33094,33094,33093,31046,31046,31046,31046,31046,
 36.1993 +31077,31077,31077,31077,33158,31110,31078,31078,31110,33191,33191,33191,31110,31078,31078,29030,
 36.1994 +26982,26950,26950,24902,26950,26950,26950,26950,26950,26950,26950,26950,26982,26982,26982,26982,
 36.1995 +24804,24771,24739,24771,26884,28964,28997,28997,31110,31110,31077,31077,28997,28997,28997,28997,
 36.1996 +31078,28997,28998,28997,28998,29030,29030,31110,31110,31110,31142,31142,31143,31143,31142,29095,
 36.1997 +29063,27015,26982,26982,26982,26982,26982,26982,26983,26983,26983,26982,26950,26918,26918,26950,
 36.1998 +26950,26983,27015,27015,26983,24902,22822,20742,16549,14436,10243,10243,10243,10243,8195,6147,
 36.1999 +8260,8260,6179,6179,8227,8258,8226,6146,8226,6145,6145,6145,8194,8194,6146,6146,
 36.2000 +8194,8195,10243,10243,10243,10243,12291,12291,12290,14371,20613,24871,29064,31112,28998,26886,
 36.2001 +24709,24677,24709,26822,31015,35208,37289,37289,39369,41450,43562,43562,45610,43530,45578,43562,
 36.2002 +39401,39433,37385,37353,33192,28998,24773,20612,20612,18532,16452,14403,12323,12323,10243,10243,
 36.2003 +10244,10244,8196,10244,10244,10244,10244,10244,10276,10277,12325,12325,10277,10276,10276,10277,
 36.2004 +12290,12290,14371,18564,20742,22822,22822,22757,22789,22789,24902,26983,29063,29095,29095,29095,
 36.2005 +24870,22822,24870,22822,22822,20710,18629,18596,16516,20644,22757,24837,24804,24771,24771,24771,
 36.2006 +26852,26885,28966,28966,26918,28999,24870,22725,18531,16483,16451,14371,14371,14403,14436,16516,
 36.2007 +16450,18530,20643,22756,24837,26950,26950,28998,26917,28998,29030,31079,31111,31111,31078,29030,
 36.2008 +26982,26982,26982,26950,26949,26917,28965,28965,31045,31045,31013,31013,31013,31045,31045,31045,
 36.2009 +28965,28964,28965,28997,28997,29030,28997,28997,28997,29030,29030,29030,28998,28998,26950,26950,
 36.2010 +29095,29063,29063,29063,29063,29095,29095,29063,29063,29030,26982,26950,26982,26982,26982,29030,
 36.2011 +31111,29030,28998,29030,29030,31110,31110,29062,31110,29062,29029,28997,28997,26949,26948,28997,
 36.2012 +28997,28998,28997,28997,28998,29030,29030,29062,29062,29062,29062,29030,29030,29030,26981,26981,
 36.2013 +26949,26949,26950,26982,29030,29062,29062,29063,29063,29063,29063,29030,26950,26918,26918,26950,
 36.2014 +29031,26983,26983,26983,26983,26983,26983,27016,22790,18629,14436,12356,14437,14437,12356,10276,
 36.2015 +8195,10308,12389,12421,14533,14533,14500,12420,12387,12452,14533,12452,10340,10308,12388,12453,
 36.2016 +16549,14468,12355,12323,12355,14436,14468,16517,16516,14404,16451,18532,18564,18531,20579,20579,
 36.2017 +20612,18500,18435,18434,18467,20547,22595,22595,22595,24643,26723,26723,26723,30916,35110,37255,
 36.2018 +41448,41480,41480,41513,39465,39433,35304,33224,29031,26951,22790,20677,18564,14436,14403,12323,
 36.2019 +10243,10244,10244,10243,10243,10243,10244,10276,12292,12324,12324,12324,12324,12324,12324,12324,
 36.2020 +18596,18596,20677,22822,24903,26983,26950,24869,22724,22756,24837,26949,29030,29030,28997,26949,
 36.2021 +26917,24869,24869,22789,22757,20676,20676,20676,20644,22756,26917,26949,28996,28996,31044,31044,
 36.2022 +28932,28900,26852,26852,26852,24772,22692,20612,20611,18531,16451,14371,14371,14371,14403,14403,
 36.2023 +16516,16548,18628,20709,20709,20709,20709,20677,22757,22757,24838,26918,26951,26951,26950,26950,
 36.2024 +24902,26949,26949,26949,26949,28997,28997,28997,28964,28996,28996,31045,28997,28997,28997,28965,
 36.2025 +26916,26884,26884,26917,26917,26949,26949,26917,26949,26950,26949,26950,26950,26950,26950,26950,
 36.2026 +26950,26949,26917,26917,26949,26950,26950,26949,26950,26949,26917,24837,24869,26917,26917,26917,
 36.2027 +26918,26918,26918,26918,26918,26918,26950,26949,26950,26949,26949,26949,26949,26949,26917,26917,
 36.2028 +26917,26917,26917,26885,26917,26917,26918,26950,26950,26950,26982,26950,26949,24901,24901,24869,
 36.2029 +24836,26916,26917,26949,28997,28997,26949,26949,29030,29030,29030,28998,26949,26917,26950,28998,
 36.2030 +26918,26918,26918,26918,26918,24870,24870,24902,24903,22790,20710,18662,18662,18663,18662,16550,
 36.2031 +16518,16486,14373,12291,14372,18597,20710,20742,18597,18662,20742,18662,18630,16582,18663,20776,
 36.2032 +22855,20774,20741,18661,18694,20775,20807,20840,20775,18630,16516,14436,14403,14403,16451,16516,
 36.2033 +16516,14468,14435,14402,12322,14370,14402,16450,16417,16417,18465,18497,20578,22691,26852,30980,
 36.2034 +35108,37156,37221,39334,41448,41512,41513,39497,33192,31143,29063,26983,22854,22822,20742,18662,
 36.2035 +16550,16582,16582,16518,14437,12356,14437,14469,12324,12356,14405,14437,14437,14437,14437,14437,
 36.2036 +31144,29096,29095,29063,29063,29095,31143,31143,28998,29030,31110,31143,31110,29030,28965,26884,
 36.2037 +24836,24836,22756,22756,22756,24837,24870,26950,29063,26950,26917,26917,31077,31109,31077,31044,
 36.2038 +31013,28965,31013,31078,31078,28998,26917,26885,22692,22724,22724,22757,22789,22790,22790,20742,
 36.2039 +22822,22790,22790,20741,20709,20677,18596,18596,18596,18596,18596,18596,20676,20709,22790,22822,
 36.2040 +22821,22820,24868,24868,26949,26949,26949,26948,28997,28997,29029,29029,29029,28997,28997,26917,
 36.2041 +26949,26949,26949,29030,29030,29030,29030,29030,26950,26917,24869,24869,26950,26950,26950,24902,
 36.2042 +26949,26917,26917,26917,26917,26949,26949,26917,26950,26917,24869,24869,24869,24869,24869,24869,
 36.2043 +24870,24870,24870,24870,24870,24869,24870,24869,24869,24869,24901,24901,26949,24901,26949,24869,
 36.2044 +24869,24870,24870,24869,24869,24869,24869,24869,22789,22789,24869,24901,24901,24869,24869,24868,
 36.2045 +24869,26917,26949,26981,26982,26949,26949,24869,24836,26917,26917,26917,26885,26885,26885,26917,
 36.2046 +24869,24869,26950,26950,26950,26950,24870,22790,22790,22790,22790,22823,22855,22856,22856,20775,
 36.2047 +22759,22759,22727,22759,22823,24904,22823,20677,22823,22791,20710,20710,20743,20743,20711,20710,
 36.2048 +22822,22822,22854,22854,22854,20806,20774,20775,22855,20774,20742,20742,20710,18629,20709,20774,
 36.2049 +22952,25032,25032,22887,18661,16515,14434,14434,16482,18563,20676,24869,27014,29095,31175,33190,
 36.2050 +33093,35141,37253,37286,37319,37319,35238,33158,28997,29030,29030,29063,29095,29095,29063,27016,
 36.2051 +26984,27016,27016,24904,22790,20710,20710,22823,24903,24936,24936,27016,27016,27017,27049,27049,
 36.2052 +31078,31078,31078,31110,31110,31110,31110,31078,31110,31110,31110,33191,33191,33191,31110,29030,
 36.2053 +26950,24869,24837,22724,22724,22756,24837,24869,29030,29063,31111,31143,31111,28998,26885,24804,
 36.2054 +26916,26916,28997,28997,28997,31078,31110,31143,31111,31111,29063,29063,29095,29063,27015,26982,
 36.2055 +28998,28998,28998,29030,26950,24870,22789,22756,20676,20708,20709,18628,16547,16547,18628,20741,
 36.2056 +18595,18595,18627,22788,24901,24901,24901,26949,26949,26949,29030,29030,29030,29030,28998,26950,
 36.2057 +26982,26950,26950,26950,26950,26950,26950,26950,24869,24869,24901,24901,26949,26950,26950,26950,
 36.2058 +26982,26950,26918,26950,26950,26950,26950,26982,26950,26917,24869,24837,24837,24869,24869,24869,
 36.2059 +24870,24902,24870,24870,24902,24902,24902,24902,24869,24869,24869,24869,24868,24868,24836,24836,
 36.2060 +22821,22821,22821,22789,22789,22789,22821,22853,24902,24902,22821,22821,22789,22789,22821,22821,
 36.2061 +24902,24869,22789,24837,24869,24869,22789,22756,22789,22789,24869,24902,24870,24870,24869,24869,
 36.2062 +22789,22789,22821,22822,24902,24902,24902,24903,22822,22790,20742,20742,22823,22823,22823,22791,
 36.2063 +22823,22822,22822,22822,22822,22822,22822,20774,20774,22822,22822,22823,24871,22823,24871,22823,
 36.2064 +22822,22822,22822,22822,22822,22854,22854,24902,22822,22822,22822,22789,22789,22789,24869,24870,
 36.2065 +26983,26983,26983,24934,24902,24869,22789,22756,22724,22724,22724,22724,22724,22724,22724,22724,
 36.2066 +22691,22658,20578,20578,22691,26884,28997,31078,28997,28997,28997,31045,28997,31045,31045,31078,
 36.2067 +31111,31111,31111,31111,31111,31111,31111,31111,33224,33192,33192,33192,33192,33192,33191,31111,
 36.2068 +33126,33126,33126,33158,33158,33126,33126,31078,31078,31078,28998,29030,31078,29030,28998,28997,
 36.2069 +29063,29062,29030,26982,26950,26917,24837,24804,24837,26885,26918,28998,28998,28998,28998,28998,
 36.2070 +26917,26949,29029,29062,31110,31110,31110,31110,31111,31110,31078,31078,31078,31111,31111,31111,
 36.2071 +28965,28965,28965,28965,28997,26917,26885,24837,22756,22789,22821,20741,20740,18692,20773,20773,
 36.2072 +20741,20740,20741,22821,24902,24901,24901,24901,26950,26982,26982,26982,28998,26950,26917,26917,
 36.2073 +26950,26950,26950,26950,26982,26982,26950,24902,24902,24901,24901,24869,24901,24901,24901,26950,
 36.2074 +26950,26950,26950,26982,26950,26950,26950,26950,26950,26950,24869,24869,24869,24902,24902,24902,
 36.2075 +22822,22822,22822,22822,22822,24870,22789,22789,22789,24836,24837,24869,24868,26949,26949,24901,
 36.2076 +24902,22854,22854,22853,22821,22821,22789,22789,22821,22821,22789,22788,22788,22788,22788,22788,
 36.2077 +22789,22757,20709,22757,22789,22789,20709,20676,20676,20709,22757,22789,22789,22822,22789,22821,
 36.2078 +22821,22821,22821,22821,22822,22822,22822,22822,24903,22854,22822,22822,24903,24903,24903,24870,
 36.2079 +24838,24870,22822,22822,22822,20774,20773,20773,20773,20773,22822,22822,22822,22822,24838,22790,
 36.2080 +24902,24902,24903,24903,24902,24902,24870,24870,24837,24870,24870,24870,24869,24869,26917,26950,
 36.2081 +26918,26950,26950,26950,26950,24870,24869,24869,24837,24837,24805,22789,24805,22757,24805,22757,
 36.2082 +22756,22756,20676,22756,24869,29030,31143,33223,33223,33190,33190,33157,33125,33125,35205,35238,
 36.2083 +33126,33125,33126,33125,31045,31045,31045,31045,33126,33158,33126,33125,33126,33125,33093,31045,
 36.2084 +31045,31045,31045,31045,31045,31045,31046,31046,33158,31078,31078,29030,29030,29030,29030,29030,
 36.2085 +26917,26949,28997,29029,28997,26917,26884,24804,28998,26950,26917,26917,26917,26917,28966,28998,
 36.2086 +28997,29029,29030,29030,28997,28965,28965,28933,28933,28933,28933,28933,28965,28965,28965,28965,
 36.2087 +33126,33126,33126,33126,33126,31078,31078,29030,26885,24869,24869,24902,24902,24902,24902,24902,
 36.2088 +22821,22788,22821,24869,24901,24869,26949,26982,26950,26949,26949,26949,26917,26885,26884,24837,
 36.2089 +26917,26918,26950,28998,26982,26950,26950,24869,24869,24869,24836,22788,22789,24837,24837,24869,
 36.2090 +24869,24837,24869,24870,24870,24869,24837,24869,24902,24870,24869,24869,24902,24902,24869,24869,
 36.2091 +24870,24870,24870,24870,24870,24870,22789,22789,24869,24869,22789,22789,22788,22788,24836,22788,
 36.2092 +22821,22821,22822,24902,24902,24901,24901,24901,24869,24869,24869,24869,24869,24868,24868,24869,
 36.2093 +22789,22757,22757,22789,22789,22789,22757,20709,20676,20676,20676,20676,20676,20676,20676,20708,
 36.2094 +20741,22789,22821,22821,22822,22822,22854,22822,24902,24902,22822,22822,24902,24903,24902,24870,
 36.2095 +24870,24870,22822,22821,22821,20773,20773,20773,20774,22854,22854,22854,24902,24902,24870,22822,
 36.2096 +22822,22822,24902,24902,22822,22790,22789,22757,22789,24869,24902,26950,26950,26950,26918,26918,
 36.2097 +24869,24869,24869,24869,24870,24902,26950,26982,26982,26982,26982,26982,26950,26982,26950,26950,
 36.2098 +27015,26983,26983,29063,29095,31176,33224,33256,33158,33190,35239,35239,35238,35206,35206,35206,
 36.2099 +35206,35206,33158,33157,33126,33125,33125,33125,35238,35238,35206,35206,33158,33125,33125,33125,
 36.2100 +33159,33158,33158,33158,33159,33191,33191,33191,33159,31111,31110,31110,31110,31110,31110,31110,
 36.2101 +29062,29030,29030,29030,29030,29030,31110,31110,31143,31111,29030,28965,26885,26885,26885,26885,
 36.2102 +26917,26917,28965,28965,28933,28901,28901,28901,28901,30981,31013,33094,33094,31046,31013,31013,
 36.2103 +33094,33094,33094,33126,33094,31046,31013,28965,28965,28966,26917,26918,28998,28998,26950,26950,
 36.2104 +24869,26917,26949,26982,26949,26917,26949,29030,28998,28997,26917,26917,26885,26885,26885,26884,
 36.2105 +26917,26917,26917,28997,28998,28998,26950,26917,26917,24837,24836,22756,22756,22756,22756,22789,
 36.2106 +24902,24902,24902,24902,26950,24902,24902,26950,24837,24837,24837,24837,24869,24869,24837,22757,
 36.2107 +22789,22789,22757,22757,22757,22789,22789,22789,24869,22789,22789,22757,22756,20676,20676,20676,
 36.2108 +20708,22788,22789,24869,24902,24902,24901,24869,24902,24901,26949,26949,26949,26949,26949,24901,
 36.2109 +22789,22789,22822,24870,24902,24902,22822,22789,18596,18563,18563,16483,16450,16418,16418,16418,
 36.2110 +18563,18595,18596,18628,20676,20708,20709,22789,22789,22789,20709,20709,22789,22789,22789,20709,
 36.2111 +22757,22757,22789,22789,20741,20741,20741,20741,22854,22854,22854,22886,24902,22854,22822,22790,
 36.2112 +20709,20709,22789,20709,20709,20709,22757,22757,24837,24869,24902,26950,26950,24902,24869,24869,
 36.2113 +24869,24869,24869,24869,24869,24902,26950,26982,26982,26982,26982,26982,26982,26982,26982,26983,
 36.2114 +26982,26950,26950,26918,26917,26885,26853,26852,26852,28933,31046,33158,35206,33126,33093,33093,
 36.2115 +33158,33158,33158,33158,33158,35238,35238,35238,35271,35270,35238,35238,33158,33157,33158,33158,
 36.2116 +33159,31110,31078,31078,31078,31111,31111,31111,28998,29030,29030,29030,29030,29030,29030,29030,
 36.2117 +31142,31110,31110,29029,29030,29030,29030,31110,29030,29030,28998,28997,28966,28966,28998,28998,
 36.2118 +26885,26885,26885,28933,28933,31014,33127,35207,37287,37288,37288,37288,37288,37287,37287,37287,
 36.2119 +33126,35174,35174,35206,35207,35174,33094,31014,31046,31013,28933,28933,28965,28966,28965,28933,
 36.2120 +28998,31046,31078,31110,31078,28965,26885,28965,28997,28997,28965,26917,28965,26917,26917,28965,
 36.2121 +28965,28965,28965,28965,28965,28998,28998,28997,28998,26917,24869,24837,22757,22756,22756,22757,
 36.2122 +22757,20676,20677,20709,22757,22757,22789,24869,22789,22789,24837,24837,24869,24869,24837,22756,
 36.2123 +20676,20644,20612,20611,20612,20644,20676,22757,22757,22789,22789,22790,22822,22822,22822,22822,
 36.2124 +22789,22789,22789,24869,24869,24869,22789,22789,24869,24869,26917,26949,26949,26949,26949,26917,
 36.2125 +22789,22789,22822,24870,24902,24902,24870,22822,24935,24902,24870,22822,22789,22789,22789,22789,
 36.2126 +20677,20677,20677,20677,20676,20709,22757,22757,20676,20676,20676,20676,20676,20676,20676,20676,
 36.2127 +20644,20644,20676,20676,20709,20709,20708,20740,20741,20773,20773,20773,20773,20741,20708,20676,
 36.2128 +20709,22757,22757,20709,20709,22789,22822,24902,24902,24902,26950,26950,26950,26950,24902,24902,
 36.2129 +24902,24902,24902,24902,24902,24934,26982,26983,24902,24902,24902,24902,24902,24902,24902,24902,
 36.2130 +24870,24870,24838,24837,24773,22692,22659,22627,24772,26853,28965,31046,31078,33126,33094,33094,
 36.2131 +31045,31077,31077,31077,33126,33157,33158,33158,33126,33157,33126,31077,31045,31045,31045,31077,
 36.2132 +28998,28966,28966,26917,26885,26885,26885,26885,26917,26917,28997,26949,26949,26917,26917,26917,
 36.2133 +26884,26917,26949,28997,28997,28997,26949,26949,26949,26950,28998,28998,29030,29031,29031,29031,
 36.2134 +29031,28999,28999,28998,28998,31047,35208,35240,35240,35207,35142,33061,30981,33061,33094,35206,
 36.2135 +35206,35206,35207,35239,37288,37288,35239,35207,31046,31013,28933,28933,28933,30981,30981,28933,
 36.2136 +28933,28965,31045,33126,31078,28965,28933,28933,28997,28997,28965,28997,28997,28997,29030,29030,
 36.2137 +31045,31013,28965,28965,28965,31045,28998,28998,26950,26918,26917,24837,22757,22724,20676,20644,
 36.2138 +16483,16483,16483,18563,18596,18596,20644,20676,24869,24837,24869,24869,24870,24869,24869,24837,
 36.2139 +22724,22724,22692,20644,22692,22725,22790,24870,24870,22822,22822,22822,22822,22854,22855,22822,
 36.2140 +20709,22757,22757,22789,24870,24870,24870,24902,24870,24869,24869,24869,24869,24869,24869,24869,
 36.2141 +24869,22822,24870,24870,24870,24870,24870,24870,22789,22789,22789,22789,22789,22822,24870,24902,
 36.2142 +26983,24935,24902,24870,24838,22789,22789,22789,22757,22757,20708,20708,20708,22756,22756,22756,
 36.2143 +22725,22757,22757,22789,22789,22789,22789,20741,20741,20741,20741,20741,20740,20708,18660,18660,
 36.2144 +20741,22790,22789,22757,22757,22790,24903,27015,27015,27015,26982,26982,26982,26982,26982,24902,
 36.2145 +24902,24902,24902,24934,24935,27015,27015,27015,24934,24934,24934,24934,24934,24934,24934,24902,
 36.2146 +24903,26951,26983,26983,26951,26950,26950,28998,28998,29030,28998,31046,31046,31078,33159,33191,
 36.2147 +31110,31110,31110,31110,31110,31110,31110,31110,31078,31078,31078,28997,28965,28965,28997,31078,
 36.2148 +29031,29031,29031,29030,28998,28998,26950,26950,26917,26917,26917,26917,24836,24836,24836,24869,
 36.2149 +22756,24836,24869,26950,26982,26982,26950,24870,24869,24870,24870,24870,24870,24870,24870,24870,
 36.2150 +26951,26951,26951,26918,26886,28966,31047,31047,31014,30981,28868,26787,26755,26755,28868,28900,
 36.2151 +28965,28965,28933,28965,31045,31046,33094,33094,31014,31014,31013,31013,31013,31013,31013,30981,
 36.2152 +28868,28900,30980,31045,33094,31046,31013,31045,31013,31045,28997,28998,31078,31078,29030,31078,
 36.2153 +31013,31013,31013,31013,31046,31046,31046,28998,26918,26918,26950,24870,22790,20677,20612,18563,
 36.2154 +16516,16516,18596,20709,20741,22789,22789,22822,24870,24837,24869,24869,26918,26918,26917,24837,
 36.2155 +24837,24837,24805,24837,24837,24870,24903,26951,24935,24903,22790,20710,18629,18597,16581,18629,
 36.2156 +18597,18596,18596,18629,20677,22790,24871,24903,24870,24870,24870,24870,24870,24870,24870,24870,
 36.2157 +24870,24870,24870,24870,22822,24870,24870,24902,22822,22822,22822,24870,24902,24902,24935,24935,
 36.2158 +24870,24870,22790,22757,22757,22757,22757,22757,24869,24869,22821,22821,22821,22821,24869,24869,
 36.2159 +24870,24870,24870,24870,24870,22822,22822,22822,20773,20773,20773,20773,20773,20773,20773,20773,
 36.2160 +20741,22790,22789,20709,20709,22757,24870,24935,24935,24902,24902,24902,24902,24902,24902,24902,
 36.2161 +22821,22822,24902,24935,24967,24935,24934,24902,24935,24935,24935,24934,24934,24902,22854,22854,
 36.2162 +22790,22822,24870,24902,24903,26951,27015,29064,29096,29096,29063,29063,29031,29063,31143,33224,
 36.2163 +31143,31143,31111,29063,29030,29030,29030,29030,29030,29030,29030,29030,26950,26950,29030,29063,
 36.2164 +26950,26950,29030,29031,29031,29031,29030,26982,26950,26949,24869,24836,22756,22756,24804,24836,
 36.2165 +20676,20676,22756,22756,20676,20676,20644,18596,20677,20677,20677,20677,20677,20677,20677,20677,
 36.2166 +18597,18597,20677,20677,22725,24805,26886,28966,31015,31014,31014,28933,28901,28900,28900,28933,
 36.2167 +28965,26917,26852,26852,26852,28933,28965,28997,31046,31046,31078,33126,33126,33094,33094,33094,
 36.2168 +33062,33029,31013,33094,35174,33126,33094,31046,31046,31046,31046,31078,31078,31079,31079,31078,
 36.2169 +28965,31013,31045,31046,31078,31078,28998,28998,29031,29031,26983,26983,24903,22758,20645,18564,
 36.2170 +14403,14435,16548,20709,20742,20741,20741,22789,22790,22789,22789,24837,24837,24837,24837,24805,
 36.2171 +24804,24805,24805,24837,24837,24837,24838,24838,24870,20742,18597,16484,14403,12323,14403,14404,
 36.2172 +14436,14404,14403,14371,14404,16484,18565,18597,22823,22823,22790,20742,22790,22790,22790,22822,
 36.2173 +22822,22822,22789,22789,22789,22789,22822,24870,22822,22822,22822,22822,22789,22789,22789,22789,
 36.2174 +24838,24838,24838,24838,24870,24870,24903,26983,24870,24902,24902,24902,24902,24902,24902,24934,
 36.2175 +24870,24870,24870,24870,22822,22789,22789,22789,20773,20773,20773,20773,20773,22853,22885,22886,
 36.2176 +20741,22790,22790,22789,20709,20709,22790,24870,22790,22789,22789,22789,22822,22821,22789,22789,
 36.2177 +20741,22821,22854,24934,24934,22854,22821,20741,20773,20773,20741,20741,20708,18660,18628,18628,
 36.2178 +20741,20742,22822,22822,22822,22854,24935,27016,26983,27015,29096,29095,29095,29063,27015,27015,
 36.2179 +26951,24902,24902,24870,24870,22789,24837,22789,24870,24902,26950,24902,24870,24870,24902,26983,
 36.2180 +22757,24870,26982,27015,27015,26982,26982,26982,26950,24902,24869,24837,24837,24869,26949,26982,
 36.2181 +27015,24935,22854,20742,18661,16548,14435,12323,14403,12323,12323,12356,14404,14436,12356,12324,
 36.2182 +12323,12355,14403,14404,16452,18564,22725,24838,24838,26918,26918,26885,26885,26917,26917,26917,
 36.2183 +24837,24869,24869,24869,24869,26950,29030,31111,29030,29030,31078,33159,33191,33159,33159,33159,
 36.2184 +37320,37287,35207,35207,35207,33127,33094,31014,28966,26885,26853,26885,26885,24805,26917,28998,
 36.2185 +28998,31014,31046,28998,31046,29031,29031,29064,29031,26983,26951,24903,22823,22823,22791,22823,
 36.2186 +18662,18661,18661,18661,18661,20709,20709,20709,20709,22757,22757,24837,24869,26918,26950,28998,
 36.2187 +28998,28998,28966,26918,26918,26886,24838,24838,24903,22823,20710,16517,14403,12323,12323,12324,
 36.2188 +14437,14437,14437,14437,14437,14469,16550,18630,18630,18630,18630,18662,20711,20711,20743,20742,
 36.2189 +22822,22822,22822,22789,22789,22789,22757,22757,22757,22757,22789,22789,22789,22789,22757,22757,
 36.2190 +22758,22757,22757,24838,24838,22757,22789,24870,22822,22822,22822,22821,22789,22821,22789,22821,
 36.2191 +20677,20612,18531,18531,18564,20644,20709,20709,20709,22854,24934,22854,20773,20805,20805,20773,
 36.2192 +20741,20709,20677,20677,20709,22789,22789,22789,22822,22822,22790,22789,22789,22789,22821,22822,
 36.2193 +22822,22854,22854,22822,20773,20741,20741,20773,20741,20741,20741,20709,20709,20709,20709,20709,
 36.2194 +20774,20774,20741,20742,20774,22854,22887,22919,20774,20806,22822,22821,22821,22821,20741,18628,
 36.2195 +18629,18596,16516,16516,16483,16483,16484,16516,18596,18597,18629,18629,20677,20710,22790,22823,
 36.2196 +20644,20676,22757,22789,22789,24869,24902,24902,24902,26982,26982,26950,24901,24901,24901,24901,
 36.2197 +22822,20774,18694,18661,18629,16549,14468,14468,14469,14437,12356,10276,10244,8195,8195,8195,
 36.2198 +8195,10275,10275,10275,12323,14403,16484,18597,22758,24838,24838,22757,22757,22757,24837,22789,
 36.2199 +24902,24902,22821,22821,24870,24902,26950,26918,26950,26918,26885,26885,26918,28966,28998,31078,
 36.2200 +33127,33094,31014,31014,31014,31014,28934,28901,26853,24773,24805,26918,26951,26951,29031,29064,
 36.2201 +26886,26885,26853,24805,24773,22725,22725,20677,22726,20678,20678,18630,18630,18630,18630,18662,
 36.2202 +20775,20775,20775,20807,22855,22855,22855,22822,24903,24902,24902,26950,26918,26918,26918,26918,
 36.2203 +28966,28933,26885,26853,26853,26885,24838,24870,24871,24871,22758,18597,16484,14403,14372,14404,
 36.2204 +10276,10276,12324,12324,12324,12324,12324,12324,12356,14404,14405,14437,16517,16550,18662,20710,
 36.2205 +22822,24870,24870,24870,24870,22789,22789,22757,22789,22789,22789,22789,22789,22789,22789,22789,
 36.2206 +24870,22790,22790,24838,24838,22757,22790,22822,24870,22822,22822,22789,20741,20741,20741,20741,
 36.2207 +18596,18564,16484,16419,16418,16451,18531,18564,18563,20677,20741,20741,20741,20773,22853,22822,
 36.2208 +24871,22823,22790,22790,22822,22822,22790,22790,22757,22789,20709,20709,22789,20741,22789,22821,
 36.2209 +22821,22821,22821,20773,20741,20709,20709,20741,20741,20741,20741,20741,20773,22821,22821,22822,
 36.2210 +20774,20774,20774,20806,20806,20806,18693,18661,16612,18660,18660,16580,16580,16612,16580,14499,
 36.2211 +14468,14436,14436,14436,14436,14468,16517,16549,16549,16549,16549,16516,14468,14468,16549,16549,
 36.2212 +20709,20709,20709,22789,22790,22821,22789,22789,22821,24901,26982,27014,27014,26982,26950,24902,
 36.2213 +22822,20774,18661,16581,16549,14469,14469,12389,10275,10276,10276,10276,10276,10309,12422,12454,
 36.2214 +10308,10340,12388,12388,12388,14436,16517,18597,18629,20710,20710,20677,18597,18629,20677,18629,
 36.2215 +18661,16548,16515,16515,16515,16515,16483,16450,18563,18531,18531,20612,22692,22725,24805,26885,
 36.2216 +26853,26821,26821,26821,26853,26821,24741,22660,26886,24806,24773,24806,22758,22725,20613,20612,
 36.2217 +20580,18532,18532,18499,16419,14338,14338,12290,14371,12323,12323,12324,12356,12356,14437,12389,
 36.2218 +16614,16614,18694,18727,20807,20807,22823,22823,22822,24870,24870,24870,26918,26918,26918,26918,
 36.2219 +28966,28966,28933,26853,24773,24740,22660,20612,18531,18532,18500,16451,14339,12290,12290,10242,
 36.2220 +10243,10244,10277,12324,10276,10276,10244,10244,10244,10243,10243,10243,10243,10243,12324,14403,
 36.2221 +18564,18596,20676,22789,22822,22822,22789,22789,22789,22789,22789,22789,22789,22789,22789,22789,
 36.2222 +24870,24838,24838,24870,24838,22790,22790,22822,22855,22822,20742,20709,18661,18629,18661,18661,
 36.2223 +20710,20710,20710,18629,18597,18597,20677,22790,20677,22757,22790,22789,20741,20741,20773,20741,
 36.2224 +22790,22790,22758,22758,22790,22790,20709,20709,20741,20741,20741,20741,20741,20741,20741,20773,
 36.2225 +20741,20741,22822,20741,20741,20741,20741,20741,20741,20741,20741,20741,22822,22822,22822,22822,
 36.2226 +20774,20774,20774,20806,20774,18725,18661,16580,16580,16580,16580,14499,14499,14499,14467,12387,
 36.2227 +14436,14436,14436,14468,14469,16581,16582,18662,18694,18694,18662,16581,16549,14501,16549,16549,
 36.2228 +22855,22855,22855,24935,24935,24935,22854,22822,24902,24902,26982,27015,27046,27014,26982,24934,
 36.2229 +24967,22887,20775,18694,18662,16581,16549,14469,12389,12389,12421,12389,10309,10341,12390,12454,
 36.2230 +12454,12454,14502,14502,14501,14502,16550,16582,16549,18630,18630,18630,18630,18662,18630,16549,
 36.2231 +16516,14436,12323,12323,14371,14371,14371,14338,12289,14337,16418,18564,20645,20677,20645,22693,
 36.2232 +24741,24741,24773,24773,24806,24773,22692,20580,16387,16387,14338,14339,14339,14339,12290,12290,
 36.2233 +12291,12290,12291,12291,10242,10242,10242,8194,8194,8194,8194,8195,8195,8195,10244,10276,
 36.2234 +10340,12388,12421,14533,16614,18694,20742,20742,22790,22790,24870,24870,26918,26918,28998,28998,
 36.2235 +31046,31046,31046,28966,26885,24740,20579,18466,18467,18499,18532,18532,18532,18532,18532,16484,
 36.2236 +12356,12357,14437,14437,14437,14469,14469,14469,14469,14437,12356,12323,12291,12291,12291,12291,
 36.2237 +16450,16483,18563,20676,22757,22789,22789,22789,22789,22789,22789,22789,22789,22789,22789,22789,
 36.2238 +24870,24870,22790,22822,22822,22822,22822,22823,22823,20742,18630,16549,16549,16517,16517,16517,
 36.2239 +18630,18630,18630,18630,18597,20645,20646,20678,22790,24870,24871,22822,22790,20741,20741,20741,
 36.2240 +22790,22790,22790,22823,22822,22822,22790,22790,22822,22822,22822,22822,22822,22822,22821,22821,
 36.2241 +20741,20741,22822,22822,22822,22822,22822,22854,22822,22822,22822,22822,22822,22822,22790,22822,
 36.2242 +20741,20741,18661,18661,20741,20774,20806,22886,20806,20806,20774,18693,18661,16613,16612,16548,
 36.2243 +16581,16581,16581,16613,18662,18694,20775,20807,20807,20807,20807,20807,20775,20775,20742,20775,
 36.2244 +20742,20742,20742,20742,22855,24935,24935,24934,27015,27015,27014,24966,24934,24934,24933,24934,
 36.2245 +24967,24935,24935,22887,22887,22887,20807,20775,16549,16582,16582,14502,12389,10309,10309,10309,
 36.2246 +10309,10341,10341,12357,12357,12357,12357,14405,14437,16518,16550,16550,16550,16550,14502,14437,
 36.2247 +12356,12323,12291,12323,12323,12291,14339,14404,16452,16452,18565,20678,22758,22726,20645,20645,
 36.2248 +22725,22693,20613,20645,22725,22726,22726,20678,16452,16420,14339,14339,14340,14340,12291,12291,
 36.2249 +10243,10243,10244,10244,10244,8196,8196,8196,8195,8195,8195,6147,8195,6148,8196,8196,
 36.2250 +8228,10308,10308,12420,14501,16614,18694,20774,22823,22822,24870,26918,26918,26918,26918,28966,
 36.2251 +28966,31014,28966,28966,28966,26853,24772,22692,22692,22724,22725,24805,24838,24870,24870,24871,
 36.2252 +18597,16550,16549,16549,16549,18629,18662,20743,20742,20710,20710,20742,20710,20710,20710,20710,
 36.2253 +20676,20676,20709,22757,22789,22789,22789,22789,24870,24870,22822,22822,22822,22822,24870,24870,
 36.2254 +24902,24870,22822,22822,22822,22823,22823,20743,20710,18629,16517,14436,14404,14405,12356,12356,
 36.2255 +14469,14437,16485,16517,18565,18565,18533,18500,22726,22726,22758,22758,22790,22790,22790,22822,
 36.2256 +22790,24839,22823,24871,22823,22822,22822,22790,22822,22822,22822,22854,22854,22854,22854,22854,
 36.2257 +22790,22822,24902,24903,24902,22854,24902,24903,24870,22854,24870,22822,22822,22822,22822,22822,
 36.2258 +22790,22789,20709,20709,20741,22854,24935,27048,27048,27048,24967,22887,22886,22887,22886,22854,
 36.2259 +22854,22854,22822,22854,22855,22855,22887,22887,22855,22887,24935,24967,24935,22887,22855,22855,
 36.2260 +20710,18661,16549,16516,16548,18629,20741,20741,22854,22854,22821,22821,22821,24901,24933,24934,
 36.2261 +24934,24934,24934,24935,24967,24967,24935,22887,18694,18694,18695,18695,16582,14502,14469,12389,
 36.2262 +10276,10276,10244,10244,10244,10244,10244,10244,12292,12325,12325,12325,12325,12357,10276,10244,
 36.2263 +10244,10243,12291,14372,14372,12292,14372,16453,18598,18565,18533,18598,20646,20678,22726,22758,
 36.2264 +18597,18532,16419,14339,16420,16485,18598,20678,20679,18598,16518,14405,14373,14373,12293,10244,
 36.2265 +10277,8229,8197,8196,8196,6148,6148,6148,6148,6148,6148,6148,6148,6148,6148,6148,
 36.2266 +8228,8227,8227,10308,12388,14469,16581,18629,18597,20645,20677,22725,24805,24805,26885,26885,
 36.2267 +31014,28933,26853,26820,26821,26853,26853,26853,24773,24773,24773,24805,24838,24838,24838,24838,
 36.2268 +20677,18629,18629,18597,18597,18629,20709,22790,22822,24870,24903,24935,24935,24935,24903,24902,
 36.2269 +22822,22822,22789,22789,22822,22822,24870,24870,24902,24870,24870,22822,22822,24870,24870,24902,
 36.2270 +24870,24902,22822,22822,22822,22823,20742,18630,16517,14437,12356,12324,12324,12324,10244,10244,
 36.2271 +12324,12324,12356,14437,18598,18598,20646,20613,22726,20646,20645,22725,22726,20709,22758,22790,
 36.2272 +22790,22791,22790,22790,22790,22790,22790,22790,20742,20741,20774,22822,22854,22854,22886,22854,
 36.2273 +22822,22822,24903,24903,24902,22822,22822,22822,22790,22790,22790,22790,22790,22790,22790,22790,
 36.2274 +24838,24870,24870,24870,24870,24902,26951,26983,26983,24935,24935,24902,24935,24967,24967,24935,
 36.2275 +24967,24967,27015,24967,24934,24934,24934,24934,24902,24934,27015,24967,24935,24934,24902,22854,
 36.2276 +22855,20775,20742,18661,18629,18628,18661,20709,20741,20741,20741,22821,22821,24901,24933,24934,
 36.2277 +26982,26981,24901,24934,24934,24934,24902,22854,27081,27049,25000,22920,20807,18662,16549,14437,
 36.2278 +14437,12390,12357,12325,12293,12292,12292,12292,10244,10244,10244,10244,10244,10245,10245,10244,
 36.2279 +14373,14373,16454,18599,20712,18599,18566,18599,18566,16453,16388,16420,18501,18533,20646,22759,
 36.2280 +16484,14403,12291,12290,12291,14339,14372,14372,14372,14405,14373,12292,12292,12293,12293,10245,
 36.2281 +8229,6181,6149,6149,6149,6149,6149,6181,6181,6181,6181,6181,6181,6181,6181,8261,
 36.2282 +10341,10340,10308,10308,10308,12356,12388,14435,14403,16451,18531,20612,22724,24805,24805,26885,
 36.2283 +31047,28934,26853,26820,26820,26820,24740,24740,26885,26885,26853,26885,26886,26885,24805,22757,
 36.2284 +20644,20676,20677,20709,20709,22757,22757,22789,24869,24870,24902,26950,26950,24870,24869,24837,
 36.2285 +24869,22822,22822,22789,22822,22822,22822,24870,20709,20709,20676,20676,20676,20676,20709,20709,
 36.2286 +20708,20709,20709,20709,20742,22790,20710,16549,14404,12324,10244,10244,10244,10244,10244,8196,
 36.2287 +6147,8195,8195,10243,14372,16453,18533,20614,22694,20613,20581,20613,20613,18532,18532,20612,
 36.2288 +22726,22758,22790,22790,22790,22790,22823,22855,20742,20742,20741,20741,20741,20774,20774,22822,
 36.2289 +20741,22790,24870,24902,24870,24870,22822,22822,22790,22790,22790,22790,22790,22790,22790,24838,
 36.2290 +26918,28966,28999,28999,28998,26918,26918,26950,26918,26950,24902,24870,24902,24935,24935,24902,
 36.2291 +27014,27014,27014,27014,26982,26982,26982,26982,26982,27014,27014,27014,26982,24901,24901,24901,
 36.2292 +22888,24968,25001,25000,24968,24935,22855,22887,24935,24935,24935,24967,24967,24934,24902,24901,
 36.2293 +27014,26982,26982,26982,26982,27015,27047,27015,24935,24935,24935,24935,24967,24935,24903,22822,
 36.2294 +18597,18533,16453,16420,14340,14340,14340,14340,14340,12292,12292,12292,12293,14438,16518,16518,
 36.2295 +16453,16421,18566,22792,24905,22792,20647,18598,18566,16453,14340,14340,14340,14372,16453,18566,
 36.2296 +16517,16485,14404,14404,14404,12324,10243,10242,20711,20711,20679,16518,14405,14372,14340,10244,
 36.2297 +8197,6149,6149,6149,6181,8261,10342,10342,10309,10309,10309,10341,10341,12389,12421,12421,
 36.2298 +14534,14501,14501,14468,14436,14435,14403,14403,20644,20644,22724,24804,24805,26885,26885,28933,
 36.2299 +31046,31014,31014,31014,31014,28934,26821,24740,26853,24805,24805,24805,24805,24805,24772,22692,
 36.2300 +18531,20644,22757,24870,24870,24870,24838,24837,24837,24869,24870,26950,26950,26950,26950,26950,
 36.2301 +26950,26950,24870,24870,24837,22757,22757,22757,18531,18531,16451,16451,16451,16483,16483,16483,
 36.2302 +16483,16516,18596,18629,20710,20742,18630,16517,12324,10243,10243,10243,10243,10244,10243,8195,
 36.2303 +8195,8195,8195,8195,10243,10243,14340,16421,18534,16421,16388,16420,14372,14339,14371,14372,
 36.2304 +14339,14339,16419,16452,16452,16516,18597,20710,22823,22822,20742,20742,18661,18693,18693,20741,
 36.2305 +20677,22757,22790,24870,24870,24870,24903,24903,24903,24903,24903,24903,24903,24871,22823,24870,
 36.2306 +26918,26918,28966,28966,26918,26918,28998,29031,29031,29031,29031,26983,26983,26983,26983,26950,
 36.2307 +26982,26982,26982,26982,26982,27014,27014,27014,26982,27014,26982,26981,24901,24901,26949,26981,
 36.2308 +24903,24903,22855,22855,22855,22855,22855,22855,24903,24903,22854,22854,22822,22822,22822,22822,
 36.2309 +22886,22854,22853,20773,22821,22853,22853,22853,22821,22756,20643,20643,24804,26884,26884,24772,
 36.2310 +26788,26822,28934,28902,24773,22661,22629,22661,24839,22759,20646,18565,18533,16485,14404,14372,
 36.2311 +18532,18565,18533,16452,16452,16485,14372,12291,14340,12292,12292,12292,12325,14405,14437,14438,
 36.2312 +12292,14373,14373,12291,10243,12291,12291,12291,18565,20645,22758,24839,24871,24838,20612,14371,
 36.2313 +8195,6149,6180,8228,8196,10244,10244,12324,14405,16517,20645,20645,20645,22725,24806,24838,
 36.2314 +24838,22790,22757,22757,20644,20611,20611,20676,22724,24772,26884,28965,28965,28932,28932,30981,
 36.2315 +35143,33063,33063,33095,33127,33160,31079,31047,31079,29031,28999,26918,26886,26854,24805,24805,
 36.2316 +24838,24838,24870,24870,24870,24838,22757,20677,20677,22758,22790,24838,24839,24871,26952,29032,
 36.2317 +29032,31079,29031,28999,28999,26951,26919,26918,20644,20645,20644,18564,16451,14402,16451,16483,
 36.2318 +14436,12356,12323,12355,14436,16549,16581,18629,16549,16549,18597,16517,16484,14371,12290,10242,
 36.2319 +10243,8195,8195,8195,10244,8196,10244,8196,10245,10245,10244,10244,8196,8196,8196,10243,
 36.2320 +10243,12291,12292,12291,10243,10243,12291,12292,16517,16582,18662,18694,18662,18662,18694,20774,
 36.2321 +24870,24838,24838,24838,22758,24838,24871,24936,22823,22791,22791,22791,22791,22824,22856,24904,
 36.2322 +24903,24902,24870,26918,26918,26918,26918,28966,26886,26918,28998,26950,26918,26918,26950,26982,
 36.2323 +26982,26982,26950,26982,26982,26982,24902,24869,26950,24902,24902,24902,24902,24902,24902,24902,
 36.2324 +26983,26951,24903,24903,24871,24871,22822,22822,22822,22822,22822,22822,22822,22790,22790,20742,
 36.2325 +20774,20774,20774,20774,20806,22854,22853,22853,22788,22788,24836,26917,31077,31077,31045,31013,
 36.2326 +37288,37288,37256,35176,33095,33095,31079,31112,31080,28999,24806,22726,22726,20645,18565,18564,
 36.2327 +20612,20677,22758,22758,22790,22823,24872,22824,16452,14404,12324,12292,10244,10244,10244,10244,
 36.2328 +12325,14438,16518,16518,16486,16485,16485,16452,14339,16452,22725,24870,26951,24838,24773,20645,
 36.2329 +12389,10341,10277,8196,10243,12323,14372,14404,20678,24806,26918,28966,28966,31079,33160,33160,
 36.2330 +28967,28967,28999,29031,28999,26918,26917,26917,26917,28965,28997,31078,33126,33126,35174,37255,
 36.2331 +35176,35143,33031,30982,30982,28934,26854,24805,28967,26919,26918,24838,24806,24773,22693,22693,
 36.2332 +20645,20645,20677,20710,22758,22758,20678,20646,18565,18565,18565,18565,18565,20646,20646,22726,
 36.2333 +24774,24773,26821,26854,26854,24806,24838,24838,24838,24871,24871,22790,20677,18596,16516,16517,
 36.2334 +14469,12389,12356,12356,14437,16582,18630,18662,20775,22823,22822,22822,22790,22757,20677,18597,
 36.2335 +12356,10276,10243,8195,8195,8196,8196,8197,8196,8197,8197,8196,8197,8196,8196,8196,
 36.2336 +10245,12293,12325,12325,12292,10244,12324,12324,12324,12356,12356,14437,14469,14501,14501,16549,
 36.2337 +20677,20645,18564,18531,16419,14339,14339,14371,16484,16484,16485,16485,16517,18598,18663,20743,
 36.2338 +22822,22854,24870,24870,24870,24838,26885,26885,26918,26918,26918,26918,24870,24870,24870,24902,
 36.2339 +27015,26983,24934,26983,27015,27015,24934,24934,24902,24902,24902,24902,24934,24934,26983,26983,
 36.2340 +24871,24871,24871,22822,22822,22790,22790,22790,22790,22790,22790,22790,22790,22790,20774,20774,
 36.2341 +20742,20742,22822,22822,22822,22822,22821,22821,22724,24869,29062,33223,35271,35239,35207,35207,
 36.2342 +37256,35175,33095,30982,30949,30982,31047,33128,31112,29032,26919,26919,26951,26919,24838,22758,
 36.2343 +22790,24838,24839,24871,22791,22791,22823,24904,20711,18631,16550,14470,14437,14437,12357,12325,
 36.2344 +12325,14406,16519,18632,18631,18598,16485,16485,14372,18565,24871,29064,26984,22758,22725,22758,
 36.2345 +18663,14534,12421,12388,14437,16517,16517,18565,22758,26918,28999,31079,31047,33127,33095,31047,
 36.2346 +28935,26887,26919,28999,29031,29031,28999,29031,29031,31079,31079,33159,33127,33094,33062,33094,
 36.2347 +33095,30983,28870,26789,24709,22660,22628,20580,20613,20612,20613,20612,18532,18532,18500,18500,
 36.2348 +16484,16484,18564,18597,20645,20645,18597,18565,18533,16452,14339,14339,14340,16420,16420,16420,
 36.2349 +18500,20547,20580,20580,20612,20645,20645,20645,22758,22790,22823,22823,20743,20710,18629,16549,
 36.2350 +16550,14469,12389,12389,14469,16549,16582,18630,18662,20710,20710,22790,24871,24903,24871,22822,
 36.2351 +18695,16614,14469,10308,10244,8196,8196,8196,8196,8196,8196,8196,8196,8195,8195,8195,
 36.2352 +10277,12325,12358,12357,12325,10277,12325,12357,10276,10244,10244,12356,12421,14469,12389,12356,
 36.2353 +14404,14403,12323,12291,12290,10242,10242,10242,10243,10243,10243,10243,10276,12357,14437,14469,
 36.2354 +16516,18628,20709,22790,22790,24870,24870,26919,26951,26951,26983,26951,24903,24902,24903,24935,
 36.2355 +24935,24934,22854,22854,22854,22854,22854,22854,20741,20741,20773,22821,22822,22854,22854,22886,
 36.2356 +22790,22790,22790,22790,22790,22790,22790,20742,22790,22790,22790,22790,22790,22822,22822,22822,
 36.2357 +20742,22790,22790,22790,22790,22790,22822,24869,24837,26950,31143,33224,35240,35207,33127,35207,
 36.2358 +35175,33095,33062,28901,26821,26821,28934,31047,31079,28999,28999,29031,29032,29031,24838,22725,
 36.2359 +24871,22790,22758,22758,20677,18565,18565,18630,20743,20678,16550,16517,14437,14437,12357,12325,
 36.2360 +12293,12292,14373,16519,16551,14405,14372,14372,14372,16485,20711,22823,20678,14371,14338,16452,
 36.2361 +18663,16583,16550,16582,18663,20743,20711,22758,22725,26919,31112,33160,33159,33127,31014,28901,
 36.2362 +24774,22661,22629,22661,22693,22725,24806,26886,26886,26886,28999,31079,31047,28934,28869,26789,
 36.2363 +28870,24709,22596,20516,18435,18435,18467,16419,14339,14339,14339,14339,14339,14339,14339,14371,
 36.2364 +16484,16484,16484,16484,16484,16484,16484,16452,16485,16452,14372,14340,14340,14340,14340,14339,
 36.2365 +16419,16419,16419,16451,16451,16452,16452,16452,14372,16484,18565,18597,18598,18630,18630,18630,
 36.2366 +16582,16582,16550,16582,16582,16582,18630,16582,18629,18597,18597,20677,20710,22790,22790,20710,
 36.2367 +22856,20808,18695,16582,14470,12357,10244,10244,10244,10244,10245,10244,10244,10244,10244,10244,
 36.2368 +10276,10277,12357,12357,12357,10277,10277,10309,12357,10277,10276,10277,12389,12389,12357,10276,
 36.2369 +10276,10275,10243,10276,10308,12356,10276,10276,8195,8195,8195,8195,8195,8228,10308,12356,
 36.2370 +12323,12355,16516,18629,20709,22790,24871,24903,26984,26984,26984,26984,24935,24935,22855,22887,
 36.2371 +22854,20773,20773,20741,20741,20741,20741,18693,18660,18660,18661,18693,20741,20741,20773,20773,
 36.2372 +22790,22790,22790,22790,22790,22790,22790,22822,20742,20742,20742,20742,20742,20774,20774,22790,
 36.2373 +22790,22790,22790,22790,22790,24870,24903,26983,29064,31112,31111,31079,31047,31014,31014,31015,
 36.2374 +31015,33095,33127,31047,28934,26853,28966,31079,29031,28967,26918,26918,26918,24870,24805,20645,
 36.2375 +22790,20677,18597,20645,20645,18565,18565,18597,18598,16517,14437,14404,14372,12324,10244,10243,
 36.2376 +12292,10244,10244,12325,12357,12292,12292,12324,12324,12324,16485,18598,16485,12291,10242,12324,
 36.2377 +16550,14469,16517,18598,20743,22823,24904,24871,22725,26886,28999,31079,31014,28934,28901,26789,
 36.2378 +22629,18468,18436,18468,18468,18500,20548,20613,20548,20580,22693,26854,28935,28902,26789,26789,
 36.2379 +24709,22629,20516,16387,14339,14338,14339,12291,12290,12291,12291,12291,12291,12291,14340,14340,
 36.2380 +14404,14404,14404,14404,12324,12323,12291,12291,14405,14405,14405,14404,12324,12292,12292,12324,
 36.2381 +14404,14372,14372,14371,12323,12291,12291,12291,12291,12291,12292,12324,14404,14437,16550,16583,
 36.2382 +16583,16615,18663,18695,18695,18695,18663,18662,20743,20711,20710,20710,20710,20742,20710,20710,
 36.2383 +20742,18694,18695,18695,18663,16583,16550,14470,14438,14438,14470,16550,16551,16550,16550,16550,
 36.2384 +12389,12390,12390,12389,10309,10309,10277,10277,10277,10277,8196,8196,8197,10277,10277,10277,
 36.2385 +10341,8261,8260,8260,8260,8260,8228,6147,8195,8195,6147,6147,6147,8195,8228,10275,
 36.2386 +10275,12355,14436,14468,16549,18629,20710,22791,22823,22855,22855,24903,22855,22854,20774,20742,
 36.2387 +20774,20773,18725,18693,18693,18693,18693,18693,20773,20773,18725,20773,20773,20773,20774,20806,
 36.2388 +22790,22790,22790,22790,22790,22790,20742,20742,20742,20742,20742,20742,20742,20742,20742,20742,
 36.2389 +22758,22758,22758,20710,22758,22791,24936,29064,29097,29064,26919,26886,26854,26821,26822,26822,
 36.2390 +24741,26854,26887,26886,24806,24741,24773,24773,24838,22725,20644,20612,20644,22725,22790,24838,
 36.2391 +22790,20710,20645,18597,18597,16485,16452,14404,16485,14372,12324,14372,14404,14405,12356,12324,
 36.2392 +10244,10244,10243,10244,10244,10244,10244,12292,12357,12325,12357,14437,12357,10244,10244,12325,
 36.2393 +12389,12356,12324,14405,16518,20679,22791,24871,24838,26919,26886,24806,24740,22660,22627,22596,
 36.2394 +18436,16388,16388,16388,16420,14340,14339,14339,16388,16387,18435,20548,22661,22661,24709,24742,
 36.2395 +22662,20582,18501,16388,14339,12291,12291,10243,10243,10243,10243,10243,10243,10244,10244,10243,
 36.2396 +10243,10243,10243,10243,10243,10243,10243,10243,10243,10244,10244,10244,10243,10243,10244,10244,
 36.2397 +12356,12324,12324,12324,10243,10243,10243,10243,12292,10244,10243,10243,10244,10244,12325,14405,
 36.2398 +12357,14437,14470,16582,16583,16582,16550,16550,16550,18630,18630,18630,20710,20710,20743,20775,
 36.2399 +20742,18694,18694,20743,18695,18695,18696,18696,18664,18663,18663,18696,20711,18663,18663,18663,
 36.2400 +16583,14535,14502,12422,12389,10309,10276,10244,10244,10276,10277,10277,10245,10277,12325,12390,
 36.2401 +10374,10374,10341,8293,8261,8260,6180,6148,6147,6147,8195,8195,8195,8227,10275,10308,
 36.2402 +10275,12323,12356,14468,16549,18662,20743,22823,22823,22823,22823,22855,22855,20806,20774,18693,
 36.2403 +18693,18693,18693,18693,18693,18725,20774,20806,20806,20806,20806,20806,20774,20806,20774,20806,
 36.2404 +22758,22758,22758,22790,20742,20742,20742,20742,20742,20742,20742,20742,20742,20741,20741,20710,
 36.2405 +20710,20678,20678,18597,18597,18629,20742,22823,22790,22758,22726,22693,22661,22628,22628,20580,
 36.2406 +20549,20613,20614,20646,20645,18565,18532,18500,16452,16420,14371,14339,16419,18532,20677,20742,
 36.2407 +20710,20742,20710,18597,18565,16517,14404,12323,14372,12291,12291,12291,12324,14404,12324,12292,
 36.2408 +10244,10244,10244,8195,8195,8195,10244,10244,10244,8196,8196,8196,8196,8196,6147,8195,
 36.2409 +10244,10244,10244,10244,12324,14405,16485,18565,22791,24839,24839,22726,20580,20548,18467,18468,
 36.2410 +12291,12292,12292,14341,12292,10243,10243,12291,14340,12291,12291,14339,14340,16388,16388,16420,
 36.2411 +18502,16454,16453,14373,12292,10244,10244,10244,8196,8196,8196,8196,8196,8196,8196,8196,
 36.2412 +8195,8195,8195,8195,8195,8195,10244,10244,8196,8196,8196,8196,8196,10244,10244,10276,
 36.2413 +10309,10308,10308,10308,10276,8196,8196,8196,10244,10244,8196,8196,8196,10244,10244,10244,
 36.2414 +8196,10244,10276,12324,12325,12325,12325,12324,12324,12324,14404,14404,14436,14437,16549,18630,
 36.2415 +18662,18662,18662,18662,18662,18663,18663,18663,20744,20711,18663,18663,18662,18630,18630,16582,
 36.2416 +18662,16614,14502,14469,12356,12356,10276,10244,10244,12325,12357,12357,12357,12357,14406,12390,
 36.2417 +10342,10374,10374,10342,10341,10341,10341,10341,10276,10276,10276,10276,12356,14436,14469,16549,
 36.2418 +14436,14436,14468,16581,20775,22888,22888,22887,22855,22822,22822,22854,22854,22854,22854,20774,
 36.2419 +18693,20774,20774,20774,20774,20774,20774,20774,20807,20806,20774,20774,20742,20774,20742,20774,
 36.2420 +22758,22758,22790,22790,22822,22822,22855,22855,22822,22822,22822,20774,20742,20742,20741,20742,
 36.2421 +18662,18630,18629,16517,14436,14436,14469,16549,14404,16484,16517,18565,18532,16420,16387,16388,
 36.2422 +14372,12292,12292,14372,14405,14404,12292,10243,12291,12291,12291,12291,10243,12291,12324,14404,
 36.2423 +14436,18630,20711,18663,20711,20743,20775,20743,18662,16550,16517,14436,14437,14404,12292,10243,
 36.2424 +10244,12357,12357,10244,8196,8196,8196,8196,8196,8197,8197,6148,6148,8197,8197,6148,
 36.2425 +8196,8196,10245,10277,10244,10244,10244,10244,12292,14372,16485,16485,16452,14340,14339,12291,
 36.2426 +10244,10244,10244,10244,8196,8195,8196,10276,10244,10243,10243,10244,12292,12292,12292,12292,
 36.2427 +12292,12293,12325,12325,12325,10277,10309,10309,8197,8197,8197,8197,8197,8197,8197,8197,
 36.2428 +8196,8196,8196,8196,8196,8196,10277,10309,12422,10341,10277,10309,12390,12422,12422,12454,
 36.2429 +10341,10341,10341,8261,8260,8228,8196,6148,8196,8196,8196,8197,10245,10245,8197,8196,
 36.2430 +8196,8196,10244,10244,8196,8195,8196,8195,12324,12356,12356,10276,10243,8194,10243,10275,
 36.2431 +12355,12387,14468,16549,16549,16550,16550,16550,16518,16550,16550,18598,18630,18662,20742,20743,
 36.2432 +16581,16549,14468,12355,12323,12323,12291,12291,10243,12291,12324,12324,14373,12292,12292,10244,
 36.2433 +10277,10309,10309,10309,10276,10276,12324,12356,16517,16517,16517,16517,18597,18629,20710,20742,
 36.2434 +18662,18662,18694,20775,24936,25000,24968,24935,22854,22822,22822,20773,22822,22854,22854,22854,
 36.2435 +22854,22855,22887,22887,22855,20774,20774,20774,22822,20774,20742,20742,20742,20742,20742,20742,
 36.2436 +20709,20742,22822,22855,24935,22855,22822,20742,20742,20742,20774,20774,20774,20774,20774,18694,
 36.2437 +18694,16614,14533,14469,12420,12388,10308,10307,10275,12356,14469,16549,16549,16517,16517,16518,
 36.2438 +12325,10277,10245,8196,8196,8196,8196,8195,8196,8195,8195,8195,8195,8195,8195,8195,
 36.2439 +10244,12324,12356,14469,16550,16582,18663,18663,20743,20743,20743,18663,16582,16550,16517,16518,
 36.2440 +16615,16616,16583,14503,12390,10309,8197,6148,6148,6149,6149,6149,6148,6148,6149,6149,
 36.2441 +6149,6149,8197,8197,8197,8197,8196,8196,8196,8196,10244,10244,10244,10244,10244,10244,
 36.2442 +8196,8196,8196,8196,6148,6148,6148,6148,6148,6148,8196,8196,8196,8196,10244,10244,
 36.2443 +10244,10245,10245,8197,8197,8229,8230,8262,8229,6181,6149,6149,6149,6149,8197,8197,
 36.2444 +8229,10309,10342,10342,12422,12422,12455,12487,12455,12454,12422,10374,10342,12422,12422,12454,
 36.2445 +10406,10406,10374,8293,8261,8261,8229,6149,8229,8197,8197,8197,10245,10278,10278,10245,
 36.2446 +10245,10244,8196,8196,8196,8196,8196,8195,6147,8195,8195,8195,8196,10276,10276,10308,
 36.2447 +10275,10275,10242,10243,10243,10243,12324,12357,10243,12292,12324,14404,16485,16517,18630,18662,
 36.2448 +20742,20742,20741,18629,16548,18597,18597,16516,18565,16484,16452,18565,18598,18533,16420,14340,
 36.2449 +16485,14405,12324,12292,12292,14372,16485,20678,22823,24871,24871,24870,26983,29032,29031,24902,
 36.2450 +24903,24936,24936,24935,24935,24935,22854,22822,22822,22854,24902,24902,24869,24901,24934,27015,
 36.2451 +24903,22823,22822,22822,22823,22823,22823,22822,22823,22822,22790,22790,22790,22790,22790,22790,
 36.2452 +20742,20742,22790,22822,22822,22822,20742,20709,20709,20741,20742,20742,20742,20741,18693,18693,
 36.2453 +16581,14533,12453,12452,12420,10372,10372,10340,10372,12421,12453,14501,14469,12389,12389,12389,
 36.2454 +8229,8197,6149,6149,6149,6149,6149,6149,6148,6148,6148,6148,6148,6148,6148,6148,
 36.2455 +8195,8195,10244,10276,12357,12389,14437,14469,14470,16550,16550,16582,16582,16582,18663,18695,
 36.2456 +16583,14503,14503,12390,10310,10277,8229,8197,6148,6148,6149,6149,4101,4101,4101,6149,
 36.2457 +6149,6149,6149,6149,6149,6149,6149,6149,6149,8197,8197,8197,8197,8197,8197,8197,
 36.2458 +6149,6149,6149,6149,6149,4100,4100,4100,4100,4100,6148,6148,6148,8196,8197,8197,
 36.2459 +8197,8197,8197,8197,6149,6149,6149,6149,6149,6149,6149,4101,6149,6149,6149,6149,
 36.2460 +6148,6148,8197,6149,8197,8229,8229,8261,8229,8229,8229,8261,10309,10342,10374,10374,
 36.2461 +10374,8326,8326,8326,8293,8261,8229,8229,8262,8262,10310,10310,10310,10310,10310,10310,
 36.2462 +10277,10245,10245,8196,8196,8196,6147,6147,8196,8196,8196,8196,8228,8228,10309,10308,
 36.2463 +10340,12356,10276,10275,10243,10243,10243,10243,10243,10243,10243,10243,12291,14436,18629,20710,
 36.2464 +20741,22822,22854,22822,22822,22822,22822,22790,20678,20678,20678,24839,24872,24839,22694,20613,
 36.2465 +16453,16453,16453,18533,18533,18565,20645,22758,26919,26919,28999,29031,31111,31111,31079,26918,
 36.2466 +26983,24936,24903,22822,22790,22822,22822,22822,24902,24934,27014,27014,26982,24901,24901,24869,
 36.2467 +24870,22790,22758,22790,22790,22790,22758,22757,22790,22790,22758,22790,24838,22790,22790,22790,
 36.2468 +22822,22822,20742,20742,20742,20742,20741,20709,20742,20742,20774,20774,20774,20774,20741,18694,
 36.2469 +14533,14533,12485,12485,12485,12485,10405,10405,10372,10373,10373,10373,10341,10276,8228,8228,
 36.2470 +6149,4101,4101,4101,6149,6149,6149,4101,4101,4101,4101,4101,4101,4101,4101,6149,
 36.2471 +6148,8196,8196,8196,10276,10277,10277,10277,14502,14502,14502,14502,14502,16550,16550,16582,
 36.2472 +12422,10342,10310,8229,8197,6148,8197,6149,6148,6148,6149,4101,4100,4100,4101,6149,
 36.2473 +4101,4101,4101,4101,4101,4101,4101,6149,6149,6149,6149,6149,6149,6149,6149,6149,
 36.2474 +6149,6149,6181,6181,6181,4133,4133,4133,4133,4133,4100,4100,4100,4100,6148,6148,
 36.2475 +6148,6148,6148,6148,6148,4100,4101,4101,4101,4101,4101,4101,4101,6149,6149,6149,
 36.2476 +6149,6149,6149,6149,6148,6148,6148,6149,6148,6148,6180,8229,8261,10341,10374,10374,
 36.2477 +8293,8325,8326,8326,8293,8293,8261,8261,8229,8261,10310,10310,10310,10310,10310,10310,
 36.2478 +10310,10309,10277,10277,8197,8196,6148,6148,6148,6148,6148,6148,6148,6148,6180,6180,
 36.2479 +10308,10308,10308,10308,10276,8196,8196,8195,10244,10244,10243,10243,10243,12356,16517,18629,
 36.2480 +18628,20709,20741,22822,22822,22822,22822,22790,22758,22726,22758,24839,24872,24839,24839,24807,
 36.2481 +20614,20646,22726,22759,24807,22726,22726,24774,26854,26886,28999,31047,31079,31047,28933,24740,
 36.2482 +20645,20710,22791,22823,22822,22854,22822,20741,22821,22853,24902,24902,24901,24901,24901,24869,
 36.2483 +26983,26951,24903,24903,24903,24903,24871,24870,24838,22790,24838,24870,24871,24870,24870,24838,
 36.2484 +24903,22855,22822,20742,20742,20742,20742,20742,20742,20742,20774,20774,20774,20774,20774,18726,
 36.2485 +16678,16678,14630,14598,14598,12518,12485,10437,8324,8324,8293,8292,8260,8228,8228,8228,
 36.2486 +6181,6182,6182,6182,6182,6182,4101,4101,4102,4101,4101,4101,4101,4101,4101,4101,
 36.2487 +6181,8229,8229,8229,8229,8229,10277,10309,14503,14502,14502,14502,14469,12389,12357,12357,
 36.2488 +10309,8229,8197,6148,6148,6148,6148,6149,6149,6149,6181,6181,6149,4101,6149,6181,
 36.2489 +6149,6149,6149,4101,4101,4101,6149,6149,4101,4101,4101,4101,6149,6149,6182,6182,
 36.2490 +8229,8261,8261,8262,6213,6213,6213,6213,4133,4133,4133,4100,4100,4100,6148,6149,
 36.2491 +6148,6148,6148,6148,6148,4100,4101,4101,4101,4101,4101,4101,4101,6149,6150,6149,
 36.2492 +8230,8229,8261,8261,8229,6181,6181,6181,6181,6181,8229,8261,8293,8293,10374,10374,
 36.2493 +8325,8325,10373,10374,10373,10341,8293,8261,6180,8229,8261,8229,8229,8229,10277,10277,
 36.2494 +10310,10310,10310,10310,8261,8229,6149,6148,4100,4100,4100,4100,4100,4100,4100,4100,
 36.2495 +6148,6180,8228,8260,8261,10309,10309,10277,10309,12389,12390,14470,14469,14469,14469,14469,
 36.2496 +14436,16516,16516,16516,16516,18564,18564,18564,18565,18532,18532,18532,18532,18533,20645,22726,
 36.2497 +20646,20646,22726,22759,22759,22726,22693,22693,24806,26886,26919,28966,28934,26853,24708,20547,
 36.2498 +16387,16452,18597,20710,22791,22887,24935,22854,22886,22854,22854,22821,24869,24901,26982,26982,
 36.2499 +24870,24870,24870,24870,24870,24870,24870,24870,24838,22790,22790,22790,24870,24870,24870,24838,
 36.2500 +24903,22855,22822,22822,22822,22822,22822,22822,18661,20741,20741,20742,20774,20774,20774,18726,
 36.2501 +18791,18791,18759,16710,14630,14598,12518,12485,10405,10405,10373,10341,10341,10341,10341,10341,
 36.2502 +10342,10374,10375,10375,10375,8294,6182,6149,6149,6149,4101,4101,4101,4101,4101,4101,
 36.2503 +6149,6149,6149,6149,6149,8229,8229,8229,10309,10309,12389,12389,12389,12357,10276,10244,
 36.2504 +8229,8229,6149,6149,6149,6148,6148,6149,6181,6181,8229,8261,6181,6181,6181,6181,
 36.2505 +6181,8229,6181,6181,6149,6149,6181,6181,6181,6181,6181,6214,8294,8295,8294,8262,
 36.2506 +8262,8262,8262,8294,8294,8294,8294,8294,4133,6181,6149,6149,6149,6181,8229,8229,
 36.2507 +8197,8197,6149,6148,6148,4100,4100,4100,4100,4100,4101,4101,4101,6149,6149,6150,
 36.2508 +6181,6181,8229,8262,8262,8261,6181,6148,6180,6180,6180,6180,8261,8293,8293,8325,
 36.2509 +10373,10406,10406,10406,10406,10373,8293,8261,8228,8229,8261,8229,8229,8197,8229,8229,
 36.2510 +8229,8229,8229,8229,8261,6181,6181,6181,4101,4101,4100,4100,2052,2052,2052,2052,
 36.2511 +4099,4099,4100,6148,6181,8229,8262,10310,10342,12422,14503,14535,14535,14534,14502,14501,
 36.2512 +14469,14436,12356,12323,12323,14404,14436,16485,14404,14372,14371,14371,14371,14371,16452,18565,
 36.2513 +16452,16420,16452,18532,18565,20613,20645,22726,24838,24839,24838,24838,24773,22693,20580,18467,
 36.2514 +16420,14372,14340,12324,14437,18662,22888,25001,25033,25000,25000,24967,24935,24935,26983,26983,
 36.2515 +24902,24902,24902,24902,24902,24902,24902,24902,24902,22822,22789,22789,22789,22789,22822,22821,
 36.2516 +22855,22855,22822,22822,22854,22854,22822,20774,20742,20742,20774,20774,20774,20774,20774,20806,
 36.2517 +18759,18759,16678,16678,14598,14598,12517,12485,10405,10405,10373,10341,10341,10341,10341,10341,
 36.2518 +10341,10341,10342,10374,10374,10342,8261,6181,6149,4101,4101,4101,4101,4101,4101,4101,
 36.2519 +4101,4101,4101,4101,4101,6149,6149,6149,6148,6148,8196,10276,10309,10276,8196,8195,
 36.2520 +6148,6149,6149,6149,6149,6148,6148,6148,8229,8261,8294,8294,8261,8261,8261,8261,
 36.2521 +6180,8229,8261,8229,6180,6148,6148,6148,6181,6181,6181,8294,8326,8327,8326,8294,
 36.2522 +8229,10309,10277,10310,8262,8262,8262,8294,8262,8261,6181,6149,6148,6148,6148,6148,
 36.2523 +6148,6148,6148,6148,4100,4100,4100,4100,4100,4100,4100,4101,4101,6149,6149,6149,
 36.2524 +6149,6181,6181,8262,8262,8262,6181,6181,6180,6180,6180,6212,8261,8293,10374,10406,
 36.2525 +12486,12486,12486,12454,12454,10374,10341,10341,8260,8260,8260,8229,8228,8196,8196,8229,
 36.2526 +6148,6148,6149,6149,6149,6149,4101,4101,4100,2052,2052,2052,2052,2052,4,2052,
 36.2527 +2052,2052,2052,4100,4100,4101,6149,6149,8229,8230,10310,10342,12422,12454,14502,14534,
 36.2528 +14502,12421,12357,12357,12357,14437,14470,16582,14437,14437,16485,16517,16517,16485,16452,16453,
 36.2529 +16452,14372,12291,14372,14372,16452,16484,18565,20710,20710,20678,18597,18532,16484,16419,14339,
 36.2530 +14340,12293,10244,10243,10244,12389,16582,16614,18727,20840,22952,25033,25000,24968,24935,24935,
 36.2531 +24967,24967,24967,24967,24934,24934,24934,24935,24967,24934,22854,22854,22854,22854,22886,22886,
 36.2532 +24935,24903,22855,22854,22854,22854,22854,20774,22854,20806,20806,20806,20806,20806,20806,20806,
 36.2533 +18726,18694,16645,14565,14533,12485,12453,12453,10373,10341,10309,8261,10309,10309,10309,10277,
 36.2534 +10276,8228,8196,8228,8228,8228,8228,6148,6148,6148,6148,4100,4101,4100,4101,4101,
 36.2535 +4102,4102,4101,4101,4101,4101,4101,6149,6149,6148,6148,8196,8196,8196,8195,6147,
 36.2536 +6148,4101,6149,6149,6149,6149,6149,6149,8262,8294,10374,10374,10374,10374,10374,10373,
 36.2537 +10309,10341,12421,10341,10308,8228,8228,8228,8228,6180,6180,8261,8293,8326,8293,8261,
 36.2538 +10277,10245,10277,10277,10277,10309,10309,8261,10342,10310,8229,8197,8197,8197,8197,8197,
 36.2539 +8229,8229,8261,8229,6180,6148,4100,4100,4100,4100,4100,4100,6149,6149,6181,8229,
 36.2540 +8294,8262,8262,8262,8294,8294,8294,8261,8261,8261,8261,8260,8293,10373,12486,12519,
 36.2541 +14566,14534,14534,12486,12486,12454,12454,12421,10341,10309,10309,8261,8228,8228,8228,8196,
 36.2542 +6149,6149,6149,4101,4101,4101,4101,4101,2052,2052,4,4,4,4,4,4,
 36.2543 +2052,2052,2052,2052,2052,2052,4101,4101,4101,6149,6149,6148,8196,8229,10309,10341,
 36.2544 +10342,10310,10309,10342,12422,12390,12422,14503,14470,14470,16550,18631,18631,16550,14437,14405,
 36.2545 +14469,12356,12324,12324,12324,12324,12356,12356,14469,16517,16517,14404,12323,12291,12291,10243,
 36.2546 +8196,10245,10245,10245,8197,10277,8228,8196,10308,12421,16647,18727,20775,20775,20775,22855,
 36.2547 +20806,20838,22886,20838,20805,20805,22886,22886,24999,24999,24999,22951,24999,24999,24999,22951,
 36.2548 +27016,26983,24903,22822,22822,22822,22822,22854,22854,22854,20774,20774,20773,20773,20773,20773,
 36.2549 +20741,18661,18628,16548,14468,12420,12420,10340,10340,10308,10308,10308,10341,10341,10341,10309,
 36.2550 +10308,8227,8195,6146,6147,6147,6147,6148,6148,6148,6149,6148,6148,4100,4100,4101,
 36.2551 +4101,2054,2053,2053,2053,4101,4101,4100,6149,6148,6148,6148,6148,8196,6148,6148,
 36.2552 +6149,6149,6149,6181,6181,8261,8261,8261,10342,10374,10406,12486,12486,12486,12486,12486,
 36.2553 +14501,16549,16582,16582,14501,12389,12389,12389,12356,10308,10275,10276,10308,12388,10340,10308,
 36.2554 +12292,12292,12324,12324,12325,12325,10277,10277,10276,10277,10277,10309,12390,14503,16584,16616,
 36.2555 +18696,16648,16616,14535,10374,8261,6180,6148,4100,4132,4132,4132,6181,6213,6214,8261,
 36.2556 +10375,10342,8262,8262,10342,10374,10374,10374,8293,8261,8260,8260,8293,10373,12454,12486,
 36.2557 +14566,14534,14534,14534,14534,14502,14502,14502,12454,12422,12421,12389,12389,10341,10309,8228,
 36.2558 +8229,6181,6149,4100,4100,4100,4100,2052,2052,2052,2052,2052,4,4,5,2053,
 36.2559 +2052,2052,2052,2052,2053,2053,4101,4101,2052,4100,4100,4100,4100,4100,4100,4100,
 36.2560 +6148,6148,6149,8261,10342,8261,8261,10309,12422,12390,12422,14503,16551,14470,14437,12357,
 36.2561 +10277,10244,8196,10244,10276,10276,10276,10276,12357,12357,12357,10276,10243,10243,10243,8195,
 36.2562 +8197,8197,8197,6148,6148,6149,6149,6148,6147,8260,12422,14502,14502,14501,16582,18694,
 36.2563 +20806,20806,22886,22918,22918,22919,22951,25032,22918,22918,22951,24999,25031,24999,24999,22918,
 36.2564 +28999,28999,28999,28999,29031,26983,26950,24902,24902,24902,22854,20773,18692,18692,18725,22853,
 36.2565 +22789,22757,22757,20709,20709,18661,16580,14500,14532,14533,14565,14533,14533,12453,12453,12421,
 36.2566 +10341,10309,10277,8228,8228,8196,6148,6148,6148,6149,6181,6181,6181,6149,6149,6149,
 36.2567 +4101,2085,4101,2053,2052,2052,4101,6181,6213,6181,6181,6180,6180,6180,6180,6148,
 36.2568 +6148,6180,6181,8261,8293,10341,10373,10373,12486,12518,14599,14599,14566,14566,14599,16647,
 36.2569 +18694,22822,22823,20677,18564,16484,16484,16451,18532,16483,16451,14370,16483,18596,18596,18564,
 36.2570 +16452,14372,14371,14404,16517,16550,16549,14469,14437,14469,16550,14502,14470,16550,16583,18696,
 36.2571 +20809,18664,16519,12357,12389,12454,12454,10374,8260,6212,6212,4164,4196,4229,6310,8390,
 36.2572 +14535,14470,12389,10341,10341,12422,12422,10374,10341,10341,10341,10341,12389,12454,14502,14535,
 36.2573 +14502,14502,16550,14502,16582,16582,16582,14534,14502,14502,14502,14470,14469,12421,12421,12389,
 36.2574 +10341,8293,8261,6181,6149,6149,4100,4101,4100,4100,2052,2052,2053,2053,2053,2052,
 36.2575 +4101,4101,4101,4101,2053,2053,2053,2053,2053,2053,2052,2052,2052,2052,2052,2052,
 36.2576 +2052,2052,4100,4100,4100,6181,6181,6181,6148,8229,8261,10342,10342,10342,12422,12390,
 36.2577 +10277,8229,8197,8197,8197,8229,10277,10309,8197,10277,10309,10309,10309,10277,8196,8196,
 36.2578 +6149,6149,6149,6149,6149,6149,6149,6149,6149,6149,6149,6149,6148,6148,8229,10276,
 36.2579 +16549,20774,22887,22887,20806,22887,20838,20806,22886,22886,22918,24967,24967,24967,24966,24966,
 36.2580 +24805,26885,28998,26950,26918,24869,24837,24869,24902,24934,24934,24902,24901,22853,24934,27014,
 36.2581 +31176,31144,29031,26951,24902,22822,20741,18661,18693,16645,14565,14533,14533,12453,10340,10308,
 36.2582 +8228,8229,8229,10309,10309,10342,10374,10374,8262,8262,8262,8261,6181,6181,6149,4101,
 36.2583 +2052,2053,4133,4133,4101,4133,6213,6246,8326,6246,8293,8293,8294,8294,8293,8293,
 36.2584 +8293,8325,10373,10373,10373,10373,10373,10373,10373,10373,12421,12453,10373,12420,12453,14501,
 36.2585 +20742,24902,26983,26951,24871,24871,24871,24838,24806,24805,22725,20644,22724,22757,22757,20677,
 36.2586 +20677,20645,18597,18597,18630,18597,16484,14371,20775,20743,18663,18630,16518,14437,12324,12292,
 36.2587 +14373,14341,12292,12292,12325,12390,14470,12422,10341,8293,8325,6245,6277,6277,6309,8357,
 36.2588 +12422,14470,14470,12422,14502,14534,12486,12486,12486,12486,12454,12454,14502,14502,14502,16550,
 36.2589 +16550,16550,16550,14502,16550,16550,16550,16582,14502,14502,14502,14502,14501,14469,14469,14502,
 36.2590 +12422,10374,10342,8293,8261,6181,6148,6149,6149,6149,4101,4101,4101,4133,4101,4101,
 36.2591 +4101,4101,4101,4101,4101,4101,2053,2053,2053,2053,2053,2053,5,5,5,4,
 36.2592 +2052,2051,2052,2052,4100,4100,4100,4100,4100,4100,6149,6181,8229,8229,8229,8197,
 36.2593 +8197,8197,8197,6149,6149,8197,8197,8197,8229,8197,8197,8197,8197,8196,8196,6148,
 36.2594 +6148,6149,6149,6181,6181,6149,6149,6149,4100,4100,6148,4100,4100,4100,6148,8196,
 36.2595 +14501,20742,22887,22887,22919,25000,25032,22919,24999,22919,22886,22821,20773,22821,22821,24901,
 36.2596 +24935,27047,29128,29128,27015,26983,26983,29063,26950,29030,29031,31111,31079,31079,31111,33192,
 36.2597 +31145,29065,26984,24903,22855,22855,20807,20807,18759,18695,16614,16614,16615,14566,14502,12389,
 36.2598 +10341,10341,10341,10341,10341,10341,10341,10342,8261,8261,8261,8229,6181,6181,6181,6181,
 36.2599 +4101,4133,6214,6214,6214,6246,8327,10439,10407,10407,10407,10406,10439,10439,12487,12487,
 36.2600 +10406,10406,10406,10406,10406,10374,10373,10373,12421,12421,12453,12453,14501,14501,14501,14500,
 36.2601 +20742,24871,26984,26984,26984,26984,26984,26952,26952,26952,26952,26951,26951,26983,26983,24903,
 36.2602 +22823,22823,22823,22823,22791,20678,16485,14371,14372,14372,14404,14437,16517,16485,14372,12292,
 36.2603 +12292,12292,12292,12292,12324,12357,12389,12389,12389,12421,12422,12421,10373,10341,10341,10341,
 36.2604 +10308,12357,14470,14502,14502,14534,12486,12486,12486,12454,12454,12422,12422,12422,14470,14470,
 36.2605 +14470,14469,14469,14437,14437,14469,14469,14470,14437,12421,12421,12421,14469,14469,14469,12422,
 36.2606 +12454,12454,12454,10406,10374,10342,8261,8261,8261,6181,6181,6181,6181,6181,6149,4101,
 36.2607 +4101,4101,4101,4101,4101,4101,4101,4101,2053,2053,2053,2053,2053,5,5,4,
 36.2608 +2052,2051,2052,2052,2052,2052,4100,4100,4100,4100,4100,6149,6148,4100,4100,4100,
 36.2609 +6149,6149,6149,6148,6149,6149,8197,8229,8229,8196,6148,6148,6148,8196,8196,6148,
 36.2610 +6148,6148,8197,8229,8196,6148,6147,6147,6148,8196,8228,8196,6148,8196,8228,8228,
 36.2611 +16549,18694,20807,20806,20806,20807,20807,20774,20838,20806,20774,20741,20741,22821,24870,24902,
 36.2612 +22919,24967,24967,24935,22854,24902,24903,26951,26951,28999,31080,33128,33128,33128,33096,33096,
 36.2613 +24807,22759,20678,18597,18597,18630,18662,16615,16614,14534,14534,14535,16615,16616,14567,14535,
 36.2614 +14535,12454,12454,10374,10309,8261,8228,8228,8261,8261,8261,8229,6181,6181,6181,6181,
 36.2615 +6181,6246,6246,8326,8326,8326,10407,10471,10407,10406,10406,10438,12487,12519,12519,12487,
 36.2616 +10406,10406,10406,10374,10374,10373,12421,12421,14501,14534,16614,18727,18727,18726,18662,16581,
 36.2617 +20742,22790,22791,22791,22790,22758,22726,20646,20646,22726,22759,22758,22758,22759,22791,20710,
 36.2618 +22791,22791,22791,22791,20743,20710,18565,16453,14372,14372,14404,16485,18566,16518,16453,12324,
 36.2619 +14405,14438,14438,14405,12325,12325,12325,12324,14437,14470,16518,16550,14470,14437,12357,12325,
 36.2620 +10276,10309,12421,12454,12454,12454,12454,12454,12454,12454,12454,12454,12422,12422,12422,14470,
 36.2621 +14470,14469,14469,14470,14470,14469,14469,14469,12389,12389,12389,12389,12389,12421,12421,12421,
 36.2622 +12454,12454,12454,12454,12454,12454,10406,10374,10374,10342,8294,8261,8262,6213,6181,6149,
 36.2623 +6182,6149,6150,4101,4101,4101,4101,4101,2053,2053,2053,2053,2053,2053,2053,4,
 36.2624 +2052,2052,2052,2052,2052,2052,4100,4100,4100,4100,4101,4101,4101,4100,4100,4100,
 36.2625 +6148,6148,6148,6148,6149,8229,8229,8261,8261,8228,8196,8196,8229,8261,8228,8228,
 36.2626 +10309,10341,10341,10341,10341,10308,10308,8228,10308,10308,10340,10340,12421,12421,12453,14501,
 36.2627 +16581,18662,18694,16613,16581,16581,16581,16580,18693,18694,22854,22887,24935,24935,24903,24902,
 36.2628 +22854,20741,18661,18628,20677,22757,24838,24838,26886,28935,28967,30983,30983,28870,28838,26790,
 36.2629 +20614,18566,16485,14372,12324,12324,12324,10309,10309,10309,10341,10342,12390,12390,12391,12422,
 36.2630 +12422,12422,12422,10341,10341,10341,8293,8293,10374,10342,8294,8261,8261,6181,6181,6181,
 36.2631 +6213,6246,8294,8326,8294,8294,8326,8358,8326,8294,8294,10374,10374,10406,10406,10406,
 36.2632 +10374,10374,10374,10374,10374,12422,12454,14502,14534,16582,18662,18726,20807,20775,20774,20742,
 36.2633 +20742,20678,18630,18597,18565,18533,18500,16452,18533,20614,18566,18566,18533,18566,16518,16517,
 36.2634 +16485,14404,14404,14371,14372,14339,14339,12291,16453,16453,16485,16485,16453,14373,14340,12292,
 36.2635 +12324,14437,14437,12324,12292,12324,14372,14372,16453,16486,18566,18566,18534,16421,16388,12292,
 36.2636 +12324,10309,12389,12421,10341,10373,10374,10406,12486,12486,12486,12486,14535,14535,14535,14535,
 36.2637 +14502,14502,14535,16583,16583,14535,14534,14502,14502,14502,14502,14502,14502,14502,14502,14502,
 36.2638 +12454,12454,12454,12454,12454,12454,12486,12487,12487,12487,12455,10406,10374,10374,8294,8261,
 36.2639 +8262,6182,6182,6149,4101,4101,4101,4101,2053,2052,2053,2052,2053,2052,2052,2052,
 36.2640 +2052,2052,2052,2052,2052,2052,2052,2052,2052,4100,4101,4101,4101,4101,4101,4101,
 36.2641 +6148,6148,6148,6148,6180,8261,8261,8261,8261,8261,8261,10309,10341,10341,10341,10308,
 36.2642 +10308,12356,12356,12356,12356,12356,12388,12388,12388,12420,14501,14533,16581,16614,16646,18726,
 36.2643 +18662,18662,18662,16581,16581,16613,18694,18694,18694,20774,22887,24967,24935,24903,22790,22757,
 36.2644 +22790,20677,18596,18564,20645,22758,22758,22758,22693,22693,22693,22661,22629,22596,20516,18468,
 36.2645 +16453,14405,12325,10244,10244,8196,8196,8196,8196,8197,8197,8197,8197,8197,8197,8197,
 36.2646 +10309,10309,10309,10309,10341,10341,10341,10341,8261,8261,8261,8229,6181,8261,8261,8261,
 36.2647 +6213,8293,8326,8293,8293,6213,6213,8293,8293,8261,8261,8293,8293,8325,10341,8293,
 36.2648 +10374,10374,10374,10342,12422,12454,14534,14534,16582,16581,16581,18629,18661,20741,22822,22822,
 36.2649 +18629,18597,16516,18564,18565,18532,18500,18501,16420,18501,16453,16421,16453,16486,16518,16486,
 36.2650 +16485,14405,14372,12291,10243,12291,12291,14340,14340,14372,16453,14373,14340,12291,14340,14340,
 36.2651 +12292,12324,12324,12292,12291,12292,14340,14340,16485,18534,18534,20582,18501,16389,16388,14340,
 36.2652 +10244,8228,8228,8228,8228,8260,8293,10373,10374,10373,10374,10373,10374,12422,12422,12422,
 36.2653 +12454,12454,14535,14535,14567,14535,14535,14534,14535,14534,14535,14534,14535,14534,14502,14502,
 36.2654 +14534,14534,12454,12454,12454,12454,12454,12486,14535,12487,12486,12454,12454,10374,10341,8261,
 36.2655 +8262,8262,6181,6181,4101,4100,4101,4100,4101,4100,2052,2052,2052,2052,2052,2052,
 36.2656 +4100,4100,4100,2052,2052,2052,2052,2052,2052,2052,2052,2052,4100,4100,4101,4100,
 36.2657 +4100,6148,6148,6180,6180,8228,8260,8260,8260,8260,10341,10341,10341,10341,10308,10308,
 36.2658 +10308,12355,12355,12355,12388,12420,14500,14501,14533,16613,16646,18726,18726,18758,20839,20839,
 36.2659 +20807,20775,18727,18694,18694,18726,18727,20807,18694,20774,20774,22822,22790,22790,22758,22726,
 36.2660 +22661,22661,22629,22661,22661,20613,20580,18500,16452,16452,16452,14403,14403,14371,12323,12291,
 36.2661 +10243,10244,10276,10276,10244,8196,8228,8261,8229,8229,8229,8197,8197,8197,8197,8197,
 36.2662 +10308,10308,10308,10308,10341,10341,10373,10374,8261,8260,8260,8261,8261,8261,8293,8293,
 36.2663 +8293,8326,10406,10406,10374,10374,10374,10373,10374,10373,10373,10373,10373,10374,10373,10373,
 36.2664 +10407,10374,10342,10341,10341,12389,12422,14469,14469,16549,16549,18597,18596,18629,20709,22790,
 36.2665 +18596,16484,16484,18564,20645,20645,20613,20613,18468,16388,14339,12291,14340,14341,14373,12293,
 36.2666 +18631,16582,16550,16517,14437,14437,16517,18566,18598,18599,18599,18534,16421,14340,14340,14340,
 36.2667 +14372,12356,12356,12292,12291,12292,12292,12291,16453,16453,18533,18533,18501,16420,16388,14340,
 36.2668 +10276,8228,6148,6147,6148,6148,6180,6180,6180,6180,6180,6180,6148,8228,8229,8261,
 36.2669 +10341,10341,10373,10373,12422,12422,12422,12454,12454,12454,14502,14502,14502,14502,12454,12454,
 36.2670 +14502,14502,12454,12454,12454,12454,12454,12454,12454,12422,12422,12454,12454,12422,10341,10309,
 36.2671 +8261,8229,6181,6149,6149,4100,6149,4101,4101,4100,4101,4100,4100,4100,4100,4100,
 36.2672 +4101,4101,4101,4101,4101,4101,4101,4101,4133,4133,4101,4101,4101,4100,4100,4100,
 36.2673 +4099,6179,6180,8260,8292,10340,10341,10373,10373,12453,12486,14534,14533,12453,14501,14501,
 36.2674 +18694,18694,18694,18726,18727,20775,20807,20807,18726,20806,20807,20839,20839,20839,22887,22919,
 36.2675 +22888,20807,20807,20807,20807,18727,18694,18694,18662,18662,18662,20677,20678,20678,22758,22758,
 36.2676 +24742,26822,26855,26855,24774,20613,18500,14371,14371,12323,12323,10275,10275,10307,8259,10308,
 36.2677 +10308,12356,12389,12389,10309,10308,8261,10309,8261,8228,8196,8228,10309,12390,12358,10309,
 36.2678 +10341,10341,10373,12421,12454,12486,12519,14567,12519,12487,10406,10374,8325,8293,8293,8293,
 36.2679 +10406,12486,12519,14567,12519,12487,12487,12519,12519,12486,12486,12486,12486,12486,12486,12486,
 36.2680 +10407,10375,8294,8261,8229,8228,10276,12324,12324,14436,16549,18597,18597,18564,18564,20644,
 36.2681 +18596,18563,18564,22725,24806,24774,24741,22693,26887,24774,20581,16388,14340,14341,14341,12292,
 36.2682 +10244,10244,12324,10244,10244,10244,12292,14373,14373,14405,16486,16486,16453,16421,16453,16454,
 36.2683 +14340,14372,14372,12324,12324,14372,12324,12292,14372,14372,16453,16453,16453,16453,16453,14437,
 36.2684 +10341,8261,6148,6148,6148,4100,4100,4099,4132,4132,4100,6148,6148,6180,8261,8261,
 36.2685 +10341,8293,8293,8261,8293,10342,10374,12454,12455,12455,12455,12455,12455,12455,14503,14502,
 36.2686 +12421,12421,12454,14502,14534,14534,14502,14502,12421,12421,12454,12454,12454,12454,12454,10374,
 36.2687 +8229,6181,6149,6148,6149,6148,6149,6181,6149,6180,6181,4132,4133,4132,4133,4133,
 36.2688 +4101,4101,6149,6181,6182,8262,8294,8294,8326,8326,8294,6213,6213,6181,6181,6180,
 36.2689 +6147,6179,8260,10340,12453,12485,14566,14566,16679,18759,20840,20840,18727,18727,18759,20839,
 36.2690 +20840,20840,22888,20840,20839,20839,20807,20807,20807,20839,22887,22887,20839,20839,20838,20807,
 36.2691 +20807,20775,20807,22888,22888,20807,18727,18694,18694,18662,20710,20710,20678,20678,22726,22726,
 36.2692 +24807,26887,26888,26920,24839,20646,16485,14404,10243,8194,8195,10307,8292,8259,8292,10405,
 36.2693 +12453,14501,14534,14534,12486,12485,12453,12485,12486,12454,12453,12454,12454,14502,14502,14534,
 36.2694 +12454,12486,14566,14567,14567,14599,14599,14632,14599,14632,14632,14600,14599,12551,12519,12487,
 36.2695 +14631,14599,14599,14599,14599,14599,14599,14599,14599,14631,16680,14631,14599,14599,12486,10373,
 36.2696 +8294,6181,6149,8229,8228,8195,8196,12356,16550,14469,16517,18597,20710,20678,20645,20645,
 36.2697 +22725,22757,20644,20612,24773,26853,26886,31048,31080,29000,26920,22694,18501,14340,12292,12292,
 36.2698 +10244,8196,10244,8196,10244,10244,10244,10244,10244,10244,10244,12292,12292,12292,14341,14373,
 36.2699 +14372,14372,14405,14405,14405,12324,10243,8195,10243,10244,10243,10243,10276,10308,10308,8228,
 36.2700 +8228,6181,6180,6180,4100,4100,2051,2051,4100,4100,4100,4100,4100,6148,6148,6180,
 36.2701 +6180,6180,6180,6180,6181,8261,8261,8261,8261,10342,10342,10342,10309,10309,10342,10342,
 36.2702 +8260,10341,10373,12454,12454,12454,12453,12453,12454,12454,14502,14502,12454,12454,12421,12422,
 36.2703 +12422,10374,10342,8293,8261,8261,8294,8294,8294,8293,8261,6213,6181,6213,6213,6213,
 36.2704 +6181,6181,6149,8229,8262,10342,10375,10407,12487,12487,12487,12454,10341,8260,8260,8293,
 36.2705 +10308,12421,14565,16646,16678,16679,18727,18759,20807,20807,20775,20775,20807,20807,22855,20807,
 36.2706 +20775,20775,20775,20807,20807,18726,18726,20775,20775,20807,20839,22887,22919,22920,22920,22887,
 36.2707 +24969,24936,22855,22855,22888,22888,22888,22888,20775,22855,22855,22823,22791,22791,22759,22726,
 36.2708 +18597,20645,18598,18630,18598,16549,16549,14501,14469,12388,10340,10340,10340,10405,12486,14599,
 36.2709 +14533,14566,16646,16646,14599,14598,14598,14599,12518,14566,14566,14598,16647,16647,16647,16647,
 36.2710 +16679,16712,18760,16712,16679,14599,14567,14567,14599,14599,14600,14632,14632,14632,14632,14600,
 36.2711 +14567,16647,18760,16712,16712,16712,18760,18792,16647,16679,16680,14599,14599,14599,14534,12454,
 36.2712 +8294,6181,6148,6148,6148,6148,10309,14534,20808,20744,20711,20743,22823,22791,20711,22758,
 36.2713 +24838,24870,24805,24805,26918,28967,28934,28967,28934,26887,24806,20613,16420,14340,12291,10244,
 36.2714 +8196,8196,8196,8196,8196,8196,8196,8196,10244,10244,10244,12325,12357,14405,14438,16486,
 36.2715 +18599,18599,18599,18631,16550,14437,12357,10276,8195,8195,6147,6147,6147,6179,6179,4099,
 36.2716 +4099,4100,4100,4100,4100,4100,2052,2051,2052,2051,2052,4099,4100,4100,4100,6148,
 36.2717 +4100,4100,4100,4100,4100,4100,6149,6181,6149,6148,6149,6148,6148,6148,6149,8196,
 36.2718 +8228,8260,10341,10373,10373,10373,10373,12421,12454,12454,12453,12453,12453,12453,12453,12454,
 36.2719 +12454,12454,10406,10406,10374,10406,12455,12454,10374,10374,10342,8293,8293,8293,8293,8293,
 36.2720 +8261,8229,8261,10309,10342,12422,12455,12454,12454,12454,12454,12454,12454,12454,14534,14566,
 36.2721 +16646,18726,18726,18726,18726,20775,20807,22887,22855,20774,20774,20742,22790,22790,22790,22790,
 36.2722 +20743,18662,18662,18662,18662,18662,20742,22855,20775,20807,20807,20774,20774,22855,22887,22887,
 36.2723 +24936,24904,24904,24936,24968,22888,22855,20742,20743,22823,22856,24936,24936,24872,24871,24872,
 36.2724 +12419,10339,10307,10307,10307,12420,14501,16614,14469,16582,18663,18695,18696,20776,20809,20808,
 36.2725 +18760,18791,18792,18791,16711,16711,16679,14631,14630,14631,16711,16711,18759,18759,18759,18727,
 36.2726 +18760,18760,16712,16679,14598,12486,12485,10405,8292,10340,10373,10373,10405,10405,10406,12454,
 36.2727 +14566,16679,20840,20873,20873,20872,20873,20873,18760,16712,16647,14566,12486,12454,10373,8293,
 36.2728 +8261,6181,6148,6148,6148,6147,10309,14535,18728,16615,16550,16550,18630,18598,18598,18630,
 36.2729 +22791,22823,22758,24838,28999,28966,26821,24773,22660,22660,20580,18500,14340,12291,10243,10244,
 36.2730 +6148,6148,6148,6148,6148,6148,6148,6148,8196,8196,8196,8228,10309,10309,12389,12390,
 36.2731 +12292,12292,12325,12325,12325,10244,8196,6147,6147,4099,4099,4098,2051,4131,4131,2051,
 36.2732 +2051,2051,2052,2051,2052,2052,2052,2052,2052,2052,2052,2052,4100,4100,4100,4100,
 36.2733 +2052,2052,2052,2052,2052,4100,4100,4100,4100,4100,4100,6148,4100,4100,6148,6148,
 36.2734 +6148,6180,8260,8293,10341,10341,10373,10373,10373,10373,10373,10341,12421,12421,12421,12453,
 36.2735 +12454,12454,12422,10406,12422,10406,12422,10406,10374,10406,10374,10374,10374,10373,10374,10341,
 36.2736 +10341,10341,12389,12421,12422,12454,14502,14534,14502,14469,14469,14469,14501,16582,18662,18662,
 36.2737 +18694,20775,22855,22887,22855,22823,22790,20709,20709,22725,20677,20644,20612,20612,22660,20644,
 36.2738 +20678,20710,20743,22823,22855,22823,22790,22822,20742,22822,22855,22822,22790,22822,22822,22822,
 36.2739 +20645,20645,20645,20677,20710,20677,18597,16516,16516,16516,18597,20710,20678,18533,18532,20613,
 36.2740 +10404,10371,8291,8259,10339,12452,14566,18695,16582,20776,22889,22857,22792,22825,22825,20776,
 36.2741 +20808,20840,20840,18792,18759,16679,16679,14631,16711,16711,16711,16743,18792,18791,18760,18760,
 36.2742 +16711,16679,16679,14566,12485,10373,10340,8292,8260,8260,8292,8292,8293,8325,10373,10373,
 36.2743 +12420,14533,16646,18727,18727,16679,16646,16614,16647,14566,14534,10373,10340,10308,8260,6179,
 36.2744 +6180,6181,6181,6181,6148,6148,8196,10309,10341,10277,10244,10244,10244,12324,12324,12357,
 36.2745 +18598,20678,20646,20646,24806,22725,22660,22660,20547,18499,18500,16420,12324,10243,8196,8196,
 36.2746 +6148,4100,4100,4100,4100,4100,4100,6148,4099,4100,6148,6147,6148,6147,6148,8196,
 36.2747 +8195,8195,8195,8195,8195,6147,6147,6147,4099,4099,4099,2050,2051,4131,2083,2051,
 36.2748 +2051,2052,2052,2052,2052,2052,4,4,4,2052,2052,2084,4100,4100,4100,4100,
 36.2749 +2052,2052,2052,2052,2052,2052,4100,4100,4100,4100,4101,6149,6149,6149,6149,8229,
 36.2750 +6148,6180,8260,8261,8293,10341,10373,10373,10373,10341,10341,10341,10341,12421,12421,12421,
 36.2751 +10373,10373,10374,10374,10374,10373,10341,10341,10374,10373,10374,10374,10374,10373,10373,10341,
 36.2752 +12422,12421,12421,12421,12421,14469,14501,16549,16549,16549,16517,16516,18597,18629,20710,20710,
 36.2753 +20742,22790,22822,24870,24870,24838,22757,22693,20580,20612,22660,22660,22627,22627,22627,22660,
 36.2754 +20580,18532,20612,20645,20645,20612,18532,18499,16451,18564,20644,20644,20644,20611,18563,18531,
 36.2755 +20547,18467,16386,16386,14338,14338,14338,14338,14338,14338,14339,14371,14371,14339,14339,14339,
 36.2756 +14532,12452,12419,10339,12420,14500,16614,18695,20776,22856,22824,18566,14373,16421,18535,18599,
 36.2757 +16550,16550,16582,16614,14566,14566,14598,14598,14599,14598,14599,16679,16711,18759,18792,18792,
 36.2758 +18824,18792,16679,14566,12485,12453,10373,10372,10372,10372,8292,8292,8292,8292,8292,8292,
 36.2759 +12452,14501,16581,16646,18727,18727,16646,14534,12420,12420,10340,8227,8227,10308,10308,8260,
 36.2760 +6180,4132,6180,6181,6181,6148,6148,6148,8196,6148,6148,8196,8196,8196,8196,10244,
 36.2761 +12357,14438,14437,14405,16485,18500,18500,20613,18532,18532,16485,14405,12324,8228,8196,6148,
 36.2762 +4101,4100,4100,4100,4100,4100,4100,4100,4100,4100,4100,4099,4099,4099,4099,4099,
 36.2763 +6148,8196,8196,8196,6147,6147,4099,4099,4099,4099,4099,4099,4099,4099,4099,2051,
 36.2764 +2052,2052,2052,2052,2052,4,4,4,4,4,2052,2052,2052,4100,2052,2052,
 36.2765 +2052,2052,2052,2052,2052,2052,2052,4100,2052,4100,4101,4101,6149,6149,6182,8262,
 36.2766 +6213,8261,8293,8261,8261,8260,8261,8293,10341,10373,10373,10373,10373,10373,10373,10341,
 36.2767 +10373,10373,10374,12421,12422,12421,10373,10373,10341,10373,10373,12421,12422,12421,12422,12421,
 36.2768 +12421,14469,14469,12420,14436,14468,16549,18629,18597,20677,22790,22789,22790,24870,26951,26983,
 36.2769 +29031,26918,22725,22692,22692,24773,26853,26886,24740,26821,28901,30982,30982,30982,30982,30982,
 36.2770 +28934,24773,22628,22595,20547,22627,22660,24740,22659,24772,26853,24772,24772,24772,24740,24740,
 36.2771 +26821,24709,22595,18434,16386,16386,14338,14338,14338,16419,14371,14338,16451,18597,18565,16452,
 36.2772 +12323,12323,12322,12322,12323,14403,14404,14404,16518,16550,16486,12292,10243,10243,12292,14373,
 36.2773 +12324,12324,12356,12356,10308,10340,10341,10373,10373,10405,12453,12453,14534,14599,16679,16679,
 36.2774 +16679,16678,14598,14598,14598,14630,14631,14631,10405,10373,8292,8292,8260,8260,8260,8260,
 36.2775 +16614,16613,16614,18726,20807,20839,18727,16646,12420,12421,12388,10340,10340,12421,10373,10341,
 36.2776 +8293,6213,4132,6180,6181,6181,6181,6148,6149,6149,6149,6149,8197,6149,6148,8197,
 36.2777 +6148,10245,10245,10244,12292,12291,14340,16485,16485,16453,14405,10277,8229,6181,4101,4101,
 36.2778 +4133,4101,4101,4101,4101,4100,4100,4100,2052,2052,2052,2051,2051,2051,2051,2051,
 36.2779 +4099,4099,4100,4099,4099,4099,4099,6148,6180,6180,6148,6147,6147,6147,4099,2050,
 36.2780 +2051,3,2052,4,4,4,4,4,4,4,4,4,2052,2052,2052,2052,
 36.2781 +2052,2052,2052,2052,2052,2052,2052,2052,2052,2052,4101,4101,6149,6149,8230,8262,
 36.2782 +8326,8326,8293,8261,6213,6180,6180,6212,8261,8293,10341,10373,10373,10373,10341,10341,
 36.2783 +10373,10373,12454,12454,12454,12454,12454,12454,12421,12421,12422,12422,12454,12454,12454,14501,
 36.2784 +14469,14501,14501,16549,16548,18629,20709,22790,22790,24903,26983,26950,26918,28998,29031,29031,
 36.2785 +28999,26886,24741,24740,24741,26821,26821,26821,31014,33095,35208,37288,37289,37256,39304,37289,
 36.2786 +39434,37321,35208,35207,35207,35208,35240,35240,37320,37320,35240,35207,35207,35272,37320,37320,
 36.2787 +35241,35208,31047,28935,26854,24773,20612,18531,18531,16484,16419,14370,16451,18564,18565,16452,
 36.2788 +20515,20516,20548,20580,20581,18533,18501,16452,14404,12324,12292,10276,10276,10244,8196,10244,
 36.2789 +12325,12293,12325,12325,10244,8196,8228,8228,10309,10341,10341,10341,10373,12454,12454,12486,
 36.2790 +12485,12485,14565,14598,16711,16743,16744,16744,14631,14599,12518,12486,10437,12485,12486,12486,
 36.2791 +16613,16581,16581,16581,16613,16646,16646,16614,16614,16646,16614,14534,14534,14566,14534,12453,
 36.2792 +8358,8326,6277,6245,6245,8294,8294,8262,6181,6181,6149,6181,6149,6149,6149,6149,
 36.2793 +4101,6150,8198,8197,10245,10244,10244,12292,14405,12325,10277,8229,6149,4101,2053,2053,
 36.2794 +4133,4133,4101,4101,2053,2052,2052,2052,2052,2052,4,3,3,35,35,35,
 36.2795 +2051,2051,4100,4100,4100,4100,8229,8261,10342,10342,10278,10245,10245,10245,10245,8196,
 36.2796 +4100,2052,2052,2052,4,4,4,4,4,4,4,4,4,2052,2052,2052,
 36.2797 +2052,5,4,4,4,2052,2052,2052,2053,4101,4101,4101,6149,6149,6182,8262,
 36.2798 +8326,8294,6246,6245,6213,6213,8293,8293,8325,10373,10373,10405,12454,12486,12486,12486,
 36.2799 +14534,14534,14534,14534,12486,12486,12454,12454,12454,12454,12454,12454,14502,14534,14534,14566,
 36.2800 +16581,18661,18694,20774,20742,20741,22822,24902,26983,29063,29063,26918,26885,28966,28966,28933,
 36.2801 +26788,26788,26789,26821,28934,28902,28837,26724,33030,35110,35143,37159,35111,35078,35078,37158,
 36.2802 +37191,35142,35175,37288,39368,39368,37255,37255,37287,37287,37254,37254,37287,39367,39400,39336,
 36.2803 +37256,35208,33128,33128,31080,28999,26918,24838,22757,20644,18564,18596,18564,16451,16419,18532,
 36.2804 +33064,33096,33128,33129,33129,31081,26952,26920,22791,16485,12291,10243,12356,12356,10308,10308,
 36.2805 +12324,12325,12325,12325,12324,12357,12357,12389,12389,12421,12421,12421,12421,12421,12389,12388,
 36.2806 +14533,14566,14566,16679,16711,16711,14631,14599,16712,16679,14599,14567,14566,14567,14599,16647,
 36.2807 +18727,18726,18694,18661,16613,18662,18662,18694,18694,18695,18727,18695,18727,18727,18695,16614,
 36.2808 +12453,12486,12486,10438,10374,10374,8294,8293,8261,6213,6181,8261,8229,6181,6181,8262,
 36.2809 +6182,8263,8262,8230,12358,12325,10244,10244,12357,12357,10277,8229,6181,4166,4166,4166,
 36.2810 +4133,4133,4132,2084,2052,2052,2052,2084,2084,2084,2084,36,36,36,35,35,
 36.2811 +4,2052,2084,2052,2051,4099,4100,6181,12455,12423,14439,14406,14406,14439,14407,12358,
 36.2812 +6149,4133,4133,2052,2052,4,4,3,36,4,4,4,4,4,2052,2052,
 36.2813 +2084,5,4,4,4,4,4,2052,2053,2053,4101,4101,4101,4101,6182,6214,
 36.2814 +6214,6246,6245,6245,8293,8326,10438,12519,12519,12519,12519,12519,14599,16679,16712,18792,
 36.2815 +16712,16680,16679,14599,14567,14534,12486,14502,14502,14534,14502,14501,14502,14534,16614,16614,
 36.2816 +18726,20807,22887,22919,22887,22854,24902,24902,26983,29031,28998,26885,26885,31046,31078,28966,
 36.2817 +26789,24708,24740,26821,28934,31015,30982,28869,26788,28836,28804,26724,26691,24578,26659,26691,
 36.2818 +26723,24643,26723,28836,30949,30981,30981,30981,33029,33029,33062,35142,37223,37255,35142,33029,
 36.2819 +28868,28869,28869,30949,31014,33095,31047,31047,31079,26886,28934,31080,28967,22660,22660,28999,
 36.2820 +35176,35144,33063,31015,31015,31015,28999,28999,26919,24839,22758,20678,20677,18662,18630,16581,
 36.2821 +16582,16550,16550,16582,18630,18663,18662,18662,20743,18662,18629,18629,18629,18629,18662,18694,
 36.2822 +16679,18760,16679,16679,18792,16679,14566,14566,14534,14534,14502,14470,12421,14437,14470,14470,
 36.2823 +14501,16549,16549,16516,16516,16516,18597,20678,22758,20677,20709,22790,22823,22855,22822,22855,
 36.2824 +18693,18694,16646,16614,14501,12421,10373,10341,10341,10373,10373,10405,10406,10373,10373,10373,
 36.2825 +8357,8358,10406,10374,10341,10341,12357,12357,16551,14471,10310,8229,6149,6181,6214,6214,
 36.2826 +6244,4164,4131,4131,4131,2083,2083,2051,4164,2084,2052,2052,2084,2084,4,4,
 36.2827 +2084,36,2084,4,2052,4132,6213,8294,12455,12423,12391,12391,12358,12326,12294,10245,
 36.2828 +8197,6148,6149,4100,4100,2052,2051,2051,3,3,3,3,3,3,3,3,
 36.2829 +4,4,4,4,4,4,4,4,4,4,2052,2052,2085,2085,2085,4133,
 36.2830 +4133,4165,6213,6246,8326,10439,12519,12551,12551,12551,12518,12518,14566,14598,14598,14598,
 36.2831 +12518,12518,12486,12486,12486,12486,12453,12486,12453,12453,12453,14534,14534,16647,18727,18759,
 36.2832 +20807,22854,22887,22887,24903,22855,22822,22790,24838,22725,22693,22725,24805,24806,26919,31080,
 36.2833 +31080,28935,26822,26822,28967,28999,28967,26854,24741,22693,22660,20547,18434,16386,18434,18434,
 36.2834 +18467,18500,18500,20548,20581,22693,24741,24773,24741,26821,26789,26789,26757,28837,28837,26756,
 36.2835 +24642,24674,26722,26722,28771,30884,35045,37126,39206,39207,39239,39239,39239,39239,39239,39239,
 36.2836 +28902,28869,26789,26789,26789,24741,24773,24773,24806,22758,22758,22790,22823,24903,24936,24968,
 36.2837 +20840,20840,20807,20808,22888,22888,24969,24969,22856,22823,22855,22855,20774,20742,18661,18694,
 36.2838 +18727,18760,16679,16711,18792,16679,14566,12486,12454,12421,12357,10308,12325,12357,14405,14437,
 36.2839 +14436,14468,16549,16549,18597,20645,22758,24871,24871,24806,22758,24838,24870,24902,24902,24902,
 36.2840 +22854,22854,20774,18694,16614,16614,14566,14566,12518,12518,14599,14631,16679,16679,16646,14598,
 36.2841 +12582,12550,12518,10405,10373,12421,14470,14502,16551,14471,12390,10310,10310,8294,10374,10406,
 36.2842 +10438,8357,8324,6244,6244,6244,6212,4164,4132,2084,2052,2052,2052,2084,2084,2052,
 36.2843 +4,36,36,2052,2052,2052,4100,6149,8229,8229,8197,8197,8197,8197,8196,8196,
 36.2844 +6148,4100,4100,4100,2052,2052,2051,2051,3,3,3,3,3,3,3,3,
 36.2845 +4,4,4,4,4,4,4,4,4,4,4,4,4,2084,2085,2085,
 36.2846 +4133,4165,6213,6246,8326,8358,10438,10438,10405,10406,12486,12518,12518,12518,12486,12486,
 36.2847 +12486,12486,12486,12518,14566,14567,14567,14566,14534,12453,12453,14534,16614,18695,18727,18727,
 36.2848 +20774,20774,20774,22822,20742,20742,20710,20677,20677,20677,20645,22725,22693,22693,22693,24806,
 36.2849 +24839,24806,22694,22693,22693,22726,20645,20613,18500,18564,20645,18597,18532,16419,14339,14339,
 36.2850 +12324,12324,12324,14372,14372,16452,16452,18500,20581,20613,20581,20548,22596,22629,24709,24676,
 36.2851 +24707,26787,28868,30948,33029,37158,37158,39174,41255,41287,43368,43367,41255,39174,39174,39206,
 36.2852 +22661,22628,20548,20548,20548,20580,18532,18532,18533,16485,16517,18598,20743,20808,22889,22921,
 36.2853 +22953,22921,20840,20808,20775,20775,22856,22824,22824,22856,22888,24968,22888,20775,18694,18727,
 36.2854 +16646,14566,12453,12453,12486,12518,12518,14566,14534,12454,12389,12389,14470,16551,18631,18663,
 36.2855 +18663,18695,20743,20743,20743,22791,24904,26984,24871,22758,22758,22758,22823,22822,22822,22822,
 36.2856 +24903,22854,20774,18662,18662,16646,16647,16647,14599,14599,16679,16711,16711,16711,16679,16679,
 36.2857 +14662,14630,14598,14566,14534,16582,18631,18663,16551,16551,16551,14470,12390,10374,10406,12486,
 36.2858 +12486,10437,10405,8325,8325,8293,6212,6212,6245,6213,4165,4133,4133,4133,4133,4133,
 36.2859 +2052,2052,2052,4100,2052,2052,4100,4100,4100,4100,4100,4100,4100,4100,6148,4100,
 36.2860 +2052,2052,2052,2052,2052,2052,4,4,4,4,4,4,4,4,4,4,
 36.2861 +4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,
 36.2862 +2052,2052,4100,4133,4133,6213,6213,6213,6180,8260,8293,10373,10405,12453,12453,12454,
 36.2863 +12518,12519,14599,14599,14599,14567,14566,14534,14566,14534,12421,14501,14566,16647,16614,16582,
 36.2864 +18662,18661,18662,18661,18662,18661,20677,20677,18565,18597,20677,22725,20645,18532,18500,18500,
 36.2865 +18533,18533,18533,16452,16420,14371,14372,14372,12291,14372,16484,16517,14436,12323,12291,10243,
 36.2866 +10243,10243,10243,10243,10243,12291,12291,12291,14339,14339,16387,16387,18468,20581,22694,24741,
 36.2867 +26821,28901,30982,33095,35176,37224,35111,32998,32933,32998,32998,32998,30885,28804,28804,28837,
 36.2868 +16452,16420,16420,14339,14340,14372,14372,14372,12292,12292,12324,12324,12357,14470,14502,14534,
 36.2869 +18695,16614,14501,14469,14437,14436,14404,14404,16517,16549,18662,18695,18663,16582,16614,16647,
 36.2870 +14566,12486,12485,12486,12518,14598,14599,14599,14599,14534,12454,14502,16615,18696,20777,20777,
 36.2871 +20776,20808,20776,20776,22824,22824,24904,24904,22759,20678,20645,20678,22758,22790,22791,22823,
 36.2872 +22855,22822,18694,18662,16614,16614,14566,14534,14567,14567,14567,14566,14566,14534,14566,14566,
 36.2873 +14565,14597,16678,18726,18694,18695,20743,20743,20711,20711,18695,16583,14502,12454,12486,12487,
 36.2874 +12486,10406,10374,10373,10374,10373,8293,8293,10407,10407,8326,8294,6214,6181,4133,4101,
 36.2875 +4100,4100,4101,4101,4101,4100,4100,4100,4101,4100,4100,2052,2052,4100,4100,4101,
 36.2876 +5,5,5,5,5,5,5,5,5,5,4,4,4,4,4,4,
 36.2877 +4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,
 36.2878 +4,2052,2052,2052,4100,4100,4100,4099,4100,4099,4099,6147,6180,8293,10405,12486,
 36.2879 +12519,12519,12519,12519,12518,12486,12486,12486,12486,12453,12421,12421,14501,14501,14501,14469,
 36.2880 +16581,16581,16581,16581,18662,18662,20742,20743,20710,22791,22823,22791,20678,16452,14339,14338,
 36.2881 +12292,12324,12324,12292,10243,10243,10243,10243,10243,10243,10244,10244,10243,8195,8195,8195,
 36.2882 +8195,8195,8195,8195,8195,8195,8195,10243,10242,10243,12291,12291,14372,16485,18597,20646,
 36.2883 +24741,26822,28903,28935,30983,28903,26757,24644,20483,20483,20515,20515,18435,18434,16386,18467,
 36.2884 +10244,10244,10243,10243,10244,10244,10244,10244,10244,8196,8196,8196,8196,8196,8229,10277,
 36.2885 +10276,10275,8195,8195,10243,10243,10243,10243,10243,10243,10244,10276,10276,10276,10341,12453,
 36.2886 +12453,12453,14599,16711,14598,12518,12486,8292,12454,10373,10341,10341,14470,14502,16551,14470,
 36.2887 +14437,14437,14469,16518,18598,18630,20711,22759,20646,18565,16485,18597,20678,20711,20743,22823,
 36.2888 +22823,22823,20775,18695,18695,16614,14534,14534,14567,14567,14566,14534,12453,14501,14534,14533,
 36.2889 +14501,16581,16613,18662,18662,18662,20710,20710,18630,20711,18695,16615,14534,14534,14566,14599,
 36.2890 +14567,14567,12487,12487,12487,12487,12487,12455,12487,12455,10375,8294,8262,6182,6149,4101,
 36.2891 +6149,6149,6149,6149,4101,4101,4101,4133,6213,4133,4133,2053,2052,2052,2052,2085,
 36.2892 +37,37,37,37,37,5,5,5,5,5,5,5,5,5,2053,5,
 36.2893 +4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,
 36.2894 +2052,2052,2053,2052,2052,4100,4100,2052,4100,4100,4100,6148,6180,8261,10374,10406,
 36.2895 +10406,10406,10374,10406,10406,12454,12486,14534,12454,12454,14502,12453,12453,12421,12421,14501,
 36.2896 +14501,14533,16549,16581,16582,18662,20743,20775,22856,22888,24904,22824,20678,16517,14372,12292,
 36.2897 +10244,10244,8196,8196,8196,8196,8196,8196,8196,6148,6148,6147,6147,6147,6147,6148,
 36.2898 +4099,4099,4099,4099,6147,6147,6147,6147,8195,8195,8195,10243,10243,12323,12324,14372,
 36.2899 +20549,22630,22662,22630,20549,20517,18436,16387,14339,14339,12291,12291,12291,12323,10275,10275,
 36.2900 +8196,8196,8196,8196,8196,8196,8196,8196,8197,8197,8197,8197,8197,8197,8229,8229,
 36.2901 +8228,8196,8195,8195,8195,8195,8196,8195,10244,8196,8196,8196,6147,6147,8196,8293,
 36.2902 +12453,10405,14599,14631,12485,12485,12518,10405,10373,10308,8228,8196,10244,10244,10244,10244,
 36.2903 +10243,10243,10244,10244,12292,14372,14405,16453,14405,14340,14340,14404,16517,16550,16550,18630,
 36.2904 +20743,20743,20775,20775,18695,16582,14534,14502,14535,14567,14567,14534,14534,14534,14534,16614,
 36.2905 +16581,16581,16549,16549,16516,16516,16517,18597,14404,14436,14469,14469,12421,12453,12486,12519,
 36.2906 +14600,14600,14567,14568,14568,12488,12487,12455,10375,8294,8262,8230,6182,6149,6149,4101,
 36.2907 +4101,4101,6149,4101,4100,4101,4133,4133,4133,2085,2053,2052,4,4,4,4,
 36.2908 +37,37,37,37,5,5,5,5,5,5,5,5,5,2053,2053,5,
 36.2909 +4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,
 36.2910 +4,2053,2053,2052,2052,2052,2052,2052,4100,4100,6181,6213,8293,8294,10342,8294,
 36.2911 +8326,8325,8293,8293,8293,10373,10406,12454,12454,14534,14567,14534,14502,12453,14534,14534,
 36.2912 +14534,14534,14502,14502,14502,16582,16582,16582,16550,16550,16582,16550,16550,18598,16550,16518,
 36.2913 +12390,10309,8197,6148,6148,6148,6148,6148,6148,6148,6149,6181,8229,8229,8229,6181,
 36.2914 +6212,6212,6212,6180,6180,6147,6147,6147,6147,6147,6147,8195,8195,8195,8195,10243,
 36.2915 +14340,16389,18469,16389,14340,14340,12292,12292,12292,10244,8195,8196,8228,8260,6212,6179,
 36.2916 +6148,6148,6148,6148,6181,6181,6181,6149,6149,6149,6149,8197,8197,8197,8229,8261,
 36.2917 +10341,10309,8228,8196,8195,8195,8195,6147,10277,8196,8196,8196,6148,6148,6148,8228,
 36.2918 +12486,12485,16744,18825,14598,14631,18825,16744,10373,10341,8260,8196,8196,8196,10244,10244,
 36.2919 +10244,10244,10244,10244,10244,10244,10244,10244,10244,10243,10243,10244,12292,12324,12324,12356,
 36.2920 +14437,16549,16582,16582,14502,14469,12421,12422,14502,14534,16615,16583,14502,14502,14502,14502,
 36.2921 +16582,16582,16549,14468,14404,12324,12324,14372,10243,10243,10243,8227,8228,8260,8292,8293,
 36.2922 +10406,10374,10374,10374,10374,10374,8294,8262,6181,6149,6149,4101,4101,4101,4101,4101,
 36.2923 +4100,4101,4101,4101,2052,2053,2053,2053,2052,2052,2052,4,4,4,4,4,
 36.2924 +2053,2053,2053,2053,2053,2053,2053,2053,5,5,5,5,5,5,5,5,
 36.2925 +4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,
 36.2926 +4,4,4,4,2052,2053,2053,2053,4101,4133,6213,8262,8294,8262,8262,8261,
 36.2927 +8326,8325,8293,8293,8261,8293,8293,10341,10406,12454,14535,14534,14502,12454,14534,14534,
 36.2928 +14502,14534,12453,12453,12421,12421,12421,12421,12356,12356,12356,12356,14437,16550,16582,16583,
 36.2929 +12454,10374,8294,8261,8229,8261,8261,8261,8261,8294,8294,10374,10374,10374,10374,8326,
 36.2930 +8358,8358,8326,8325,6245,6245,6213,6212,6147,4099,4099,6147,6148,6147,6148,8228,
 36.2931 +10244,12292,12292,10244,10244,10244,10244,8196,8196,6148,6147,4099,4100,4100,4099,2051,
 36.2932 +4100,4100,4100,4100,6148,6181,6181,6149,6148,6149,8229,8197,8196,8196,8197,8229,
 36.2933 +10341,10309,8196,8195,8195,8196,8196,8196,8196,6147,6148,6148,6149,6149,6148,6148,
 36.2934 +6147,8259,16744,20970,14631,12518,12551,10373,10341,10308,8228,8195,8195,8196,10244,12325,
 36.2935 +12293,10244,10244,10244,10244,10244,10244,10244,10244,8195,8195,8196,10244,10244,8196,8196,
 36.2936 +8195,10276,12389,12421,12389,10309,12389,12421,12422,14502,16615,16615,14534,12422,12389,12389,
 36.2937 +14502,16550,16550,14469,14405,12324,10244,8195,10276,8196,8196,6148,6148,6180,6180,4132,
 36.2938 +6181,6180,6181,6181,6213,6213,6181,6149,4101,4101,4101,4101,4101,4101,4101,2052,
 36.2939 +2052,2052,2053,2053,2052,2052,2052,2052,2052,2052,2052,2053,2053,2053,2053,4101,
 36.2940 +4100,4100,4100,4100,4100,4100,4100,2052,2052,2052,2052,4,4,4,4,4,
 36.2941 +4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,
 36.2942 +5,5,5,2053,2053,2053,2053,4133,6214,6214,6182,6181,6181,6181,6182,6213,
 36.2943 +6213,6213,6213,8293,8293,8294,10374,10374,10374,10374,10374,12422,12454,12454,12454,12454,
 36.2944 +12454,12453,12454,12421,12421,12389,10341,10341,14535,14534,12421,12389,12389,14502,14502,12422,
 36.2945 +12487,12487,10374,8294,8294,10342,10406,12487,12487,12455,10406,10406,10406,10407,10407,10439,
 36.2946 +10406,8358,8358,8358,8326,8326,8293,8293,6181,6148,4099,4100,4099,4099,4099,6148,
 36.2947 +6148,8196,8196,8196,8196,8197,8196,4099,4099,4100,4100,4100,2051,2051,4132,4132,
 36.2948 +4100,4100,4100,4100,4100,4100,6148,6148,6148,6148,8196,8197,8229,8229,8196,8196,
 36.2949 +8228,8228,8196,8196,8196,8196,8196,8196,10277,10277,8197,6148,6148,6149,6149,6148,
 36.2950 +8260,10340,10405,12486,14598,14598,12518,12518,12454,10373,8260,8195,8196,10244,12357,14438,
 36.2951 +12325,12357,12325,10244,8196,10244,10245,10244,8196,8196,8196,8196,8196,8196,8196,8196,
 36.2952 +8196,8196,8196,8196,10276,10309,10309,10309,12422,12389,12389,12389,12389,12389,12389,12422,
 36.2953 +10277,10277,10277,10309,10277,10277,8196,8196,8196,8196,6148,6148,4100,4100,4100,4100,
 36.2954 +4133,4132,4100,2052,2052,2052,4100,4100,4101,4100,4100,2052,2052,2052,2052,2052,
 36.2955 +2052,2084,2052,4,4,4,2052,2053,2052,2052,4101,4101,6149,6149,6149,6149,
 36.2956 +12358,14406,12325,8195,6147,6147,6148,4099,4100,2052,2051,3,3,4,4,3,
 36.2957 +4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,
 36.2958 +5,5,5,5,2053,2053,2053,2053,4101,4101,4101,4101,4101,4101,6181,6181,
 36.2959 +6213,6213,8294,8326,10406,10374,10374,10374,10407,10406,10406,12454,12422,12422,12422,12422,
 36.2960 +10341,10341,10341,10308,8261,8260,10309,10341,10341,10373,12422,12454,14502,14534,14534,12486,
 36.2961 +12486,10406,10374,10374,10374,10374,10374,10374,10374,10374,10374,10374,10406,12454,12454,12487,
 36.2962 +10407,10407,10407,10407,10407,10374,10374,8294,8261,6181,6148,4100,6148,6148,6148,6148,
 36.2963 +6148,4100,4100,4100,4100,4100,4100,4100,4100,4100,4100,4100,6148,6180,6180,6180,
 36.2964 +4100,4100,4100,4100,4100,6148,6148,6148,8196,8196,8196,6147,8196,8195,8196,8196,
 36.2965 +6148,8196,8228,8228,8197,8196,8196,8196,12390,12390,12390,8229,8197,8229,10342,10374,
 36.2966 +10340,10340,10373,12486,14631,16712,18792,18825,16712,16680,16615,14534,14470,14470,14470,14438,
 36.2967 +16519,16519,14438,10277,10245,8197,8196,6148,6148,6148,6148,6148,6148,6148,6148,6148,
 36.2968 +6148,6148,8196,8261,12390,12422,14502,14502,12422,12389,10309,10309,10277,10309,12389,12422,
 36.2969 +10277,10277,8229,8197,8197,8197,6149,6149,4100,4100,4100,4100,4100,4101,4101,2052,
 36.2970 +2052,2052,2052,2052,2052,2052,4100,4100,2052,2052,2052,2052,2052,2052,2052,2052,
 36.2971 +4,36,36,4,2052,2052,2053,4100,4100,4100,6149,6149,6149,8197,8197,8196,
 36.2972 +14341,16453,16454,14373,14373,14437,10341,8228,6180,4132,2051,3,3,3,3,3,
 36.2973 +4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,
 36.2974 +5,5,5,5,2053,2053,2053,2053,2053,4101,4101,4101,4101,6150,6182,6214,
 36.2975 +4101,4133,4133,6213,6213,6213,6213,6213,8294,8293,10342,10374,10374,12422,12455,12455,
 36.2976 +10341,10341,10341,8293,8293,8293,8293,8293,10341,10341,10373,10374,12454,12454,12486,12486,
 36.2977 +12454,10405,10373,10373,10373,10373,12422,10373,10373,12421,12422,12421,12422,12454,12454,12486,
 36.2978 +12487,12487,12455,10407,10375,10374,10342,8294,8294,8262,6181,6149,6149,6148,6148,4100,
 36.2979 +4100,4100,4100,2052,4100,4100,4100,4100,4100,4100,4100,6148,6148,6148,6148,8196,
 36.2980 +4100,4100,4100,4100,4100,6148,6147,6147,8228,8228,10277,10276,8196,8196,8196,8196,
 36.2981 +8196,8196,8229,8229,8197,10277,10277,12357,14503,14503,14470,10309,8196,10309,12422,12486,
 36.2982 +12453,12485,14534,14598,16679,16744,18825,18825,16680,16680,16615,16583,16583,16551,16551,16583,
 36.2983 +16551,16551,14471,12358,10277,8197,8196,6148,6148,6148,6148,6148,6149,6149,6149,6149,
 36.2984 +6149,6181,8261,10342,12455,14535,14535,14535,12422,12422,12390,12390,12390,10309,10309,10310,
 36.2985 +8229,8197,6149,6149,6149,6149,6149,6149,4100,4100,4100,4100,2052,2052,2052,2052,
 36.2986 +2052,2052,2052,2052,2052,2052,2052,2052,2052,2052,4100,4100,4100,4100,4100,4100,
 36.2987 +4,4,4,2084,2084,2084,4133,4100,6149,6149,8229,8230,10278,10278,10278,12293,
 36.2988 +16421,18501,18566,18566,18566,16550,14502,12421,8260,6212,2083,2083,35,35,35,3,
 36.2989 +4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,
 36.2990 +4,5,5,5,5,2053,2053,2053,2053,4101,4101,4101,4102,4134,6182,6182,
 36.2991 +4101,2052,2052,4100,4101,4100,4101,6149,6181,6181,8261,8262,10342,10374,12455,12487,
 36.2992 +10374,10374,10374,10373,10373,10373,10374,10374,10374,10374,10374,10374,10374,10374,10374,10374,
 36.2993 +12421,10373,10341,10340,10341,10341,10341,10340,10341,10341,12389,12421,12421,12453,14502,12454,
 36.2994 +12454,12422,10374,10342,10310,8261,8230,8229,8262,8262,8262,8230,6181,6149,6149,6149,
 36.2995 +4100,2084,2052,2084,2051,2051,2051,2052,4100,4100,6148,6148,6148,8196,8196,8196,
 36.2996 +4100,4100,4100,4100,4100,4100,6148,6147,6148,8261,12422,12422,12389,10277,8196,8196,
 36.2997 +10309,8261,8229,8196,8196,10277,14470,16583,16583,16583,14470,12356,10276,12356,14469,14501,
 36.2998 +14501,14533,14534,14566,14599,14599,14599,14567,16647,14567,12422,12357,12324,12292,12325,12325,
 36.2999 +12357,12358,12358,10277,10277,8229,8229,6149,6148,6149,4101,6149,6149,6181,6149,6149,
 36.3000 +6182,6214,6214,8294,10374,12455,12422,12422,12422,12422,14535,14535,14503,12390,8229,6148,
 36.3001 +8197,6149,6149,6149,6149,6149,6149,6149,4101,4100,4100,4100,4100,4100,4101,2052,
 36.3002 +2052,2052,2052,2052,2052,2052,4100,4100,4101,6180,6181,6181,6181,6181,6148,4132,
 36.3003 +4132,4132,4133,4165,6213,6213,6181,6181,6149,8197,8229,10277,10278,12358,12391,14438,
 36.3004 +16486,18533,16485,14405,14405,14437,12422,10373,8260,6212,4132,2083,3,35,35,4,
 36.3005 +4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,
 36.3006 +4,4,5,5,5,5,2053,2053,2053,2053,4101,4101,4101,4102,4102,4134,
 36.3007 +4101,4101,4101,2052,4100,4101,4101,4100,4101,6149,6181,8229,8262,10342,10342,10374,
 36.3008 +10374,10374,10373,10373,10373,10373,10374,10374,10406,10406,10406,10406,10374,10374,10374,10374,
 36.3009 +12454,10405,10373,10341,10341,10341,10308,10308,10341,10341,12389,12389,12421,12421,12422,12422,
 36.3010 +10342,10342,10310,8229,8229,8229,8229,8262,8230,8262,8294,8262,8262,6182,6182,6214,
 36.3011 +2084,2084,2052,2052,4,4,2052,2052,2052,4100,4100,6148,6148,6148,8196,8196,
 36.3012 +4100,4100,4100,4100,4100,4100,4100,4100,4099,6148,10309,10342,10309,8228,8196,6148,
 36.3013 +10342,10310,8229,8229,10245,12357,16551,18664,20744,20711,18598,16517,16517,18630,18630,16582,
 36.3014 +14501,12453,12421,12421,12421,12453,12421,12421,10309,10308,10276,10244,12292,12325,14373,14406,
 36.3015 +10244,10244,10244,8197,8197,8197,6181,6181,4101,4101,4133,4133,4101,4133,6149,4133,
 36.3016 +4134,4134,4134,6214,8262,8261,8229,8196,10277,10341,12422,12454,12422,10310,8197,6148,
 36.3017 +6149,6149,6149,6149,6149,6149,6149,6149,6148,6148,6149,6149,6149,6149,6149,6181,
 36.3018 +4100,4099,4100,4099,4100,4099,4100,6148,8229,8229,8261,8261,10309,10309,8261,8261,
 36.3019 +8294,8293,8294,8294,10342,10342,8262,8261,8196,6148,8196,8196,8197,10277,10310,12390,
 36.3020 +14437,14437,12356,10244,8195,8196,8228,6180,6180,4132,2052,3,4,4,4,4,
 36.3021 +4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,
 36.3022 +4,4,5,4,5,5,2053,2053,2053,2053,2053,2053,4101,4101,4101,4101,
 36.3023 +4101,2053,2053,2053,4101,4101,4101,4100,4101,4100,6149,6181,8229,8262,8294,8294,
 36.3024 +8293,8261,8261,8261,8261,8261,8293,8293,10374,10374,10406,10406,10406,10438,12486,12486,
 36.3025 +12486,12454,10406,10406,10406,10374,10373,10341,10373,12422,12422,12422,12422,12422,12422,12422,
 36.3026 +12422,10374,10342,10309,8261,8261,8294,10374,8229,8262,8294,8294,6214,6182,6214,6214,
 36.3027 +2052,2052,2052,2052,4,4,4,4,2052,2052,2052,4100,4100,4100,6148,6148,
 36.3028 +2053,2053,2053,2053,2053,4101,4101,4100,4100,4100,6149,6149,6148,6148,6148,6149,
 36.3029 +8229,8261,10309,10309,12357,12389,16518,18631,22824,20743,20678,18630,20710,22823,22855,20775,
 36.3030 +20775,16647,14501,12388,10308,10340,12389,12389,8195,10276,12357,16518,18599,18599,18599,18599,
 36.3031 +12293,10244,10244,8196,8196,6148,4100,4100,4100,4100,4101,4101,4101,4101,4101,4101,
 36.3032 +2053,2053,2053,4101,4101,6148,6148,6147,6147,8196,8196,8196,8197,8197,6149,6149,
 36.3033 +6148,6148,8197,8229,8229,8229,8229,6149,8262,8261,8261,8229,8229,8196,8197,8196,
 36.3034 +6147,6148,6148,6148,6148,6148,6148,8196,8196,8228,10277,10309,12357,12389,12390,12390,
 36.3035 +12358,10309,10277,10309,10309,10309,10277,8228,8229,8196,8196,6148,6148,8196,8197,8229,
 36.3036 +8228,8228,6180,6147,6147,4099,4099,2051,4100,2052,2052,2052,4,2052,4,4,
 36.3037 +4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,
 36.3038 +4,4,4,4,4,4,2053,2053,2053,2053,2053,2053,2053,2053,2053,2053,
 36.3039 +2053,2053,2053,2053,2053,2053,2053,2052,4100,4101,6149,6181,8229,8262,8294,10342,
 36.3040 +8261,8261,8260,8260,8261,8293,8293,10341,12486,12486,12486,12486,10438,10406,10406,10374,
 36.3041 +10406,10374,8326,10374,10374,10374,10374,10374,10374,10406,12454,12454,12454,12422,12422,12422,
 36.3042 +12455,12455,10406,10342,8261,8261,8294,8294,8294,8294,8294,6246,6214,4133,4101,4101,
 36.3043 +2053,2053,2053,2052,4,4,4,4,4,4,2052,2052,2052,2052,4101,4101,
 36.3044 +2054,2053,2053,2053,2053,2053,2053,2053,4101,4101,4101,4100,4101,4101,6149,6181,
 36.3045 +6148,8229,10309,10309,10277,12325,14405,16517,20679,20678,18597,18564,18597,20709,22789,20710,
 36.3046 +20775,18695,14534,12421,12388,10308,10308,10308,14470,14502,16583,18631,18599,16486,14373,12292,
 36.3047 +12293,10244,8196,8196,6148,4099,4100,4100,4100,2052,2053,2052,2052,2052,2053,2053,
 36.3048 +2053,5,5,2053,4100,4100,4100,4099,6147,6147,6147,6147,6148,6148,6148,6149,
 36.3049 +6148,8196,8196,8196,8228,8196,8196,6148,12390,12389,10341,10309,10276,10244,8196,8196,
 36.3050 +8196,10277,10309,10309,10277,8196,8196,10244,8196,10244,10244,10244,12325,12325,12357,14405,
 36.3051 +12325,12292,10244,10244,10244,10244,10244,8195,8196,8196,8196,6148,6148,6147,6148,4100,
 36.3052 +2051,2051,2051,2084,2084,2052,2052,2052,2052,2052,2052,2052,2053,2053,2053,4,
 36.3053 +4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,
 36.3054 +4,4,4,4,4,4,2053,2053,2053,2053,2053,2053,2053,2053,2053,2053,
 36.3055 +2053,2053,2053,2053,2053,2053,4101,4101,4101,6149,6181,6182,8262,8294,10342,10342,
 36.3056 +10341,10341,8293,8293,10341,10373,10374,10406,12519,12551,12551,12519,12519,10438,10406,8325,
 36.3057 +10406,8326,8326,8326,8326,8326,8294,8294,8294,10342,10374,10374,12423,10374,10374,10374,
 36.3058 +10374,10406,10374,8293,6213,6181,6213,6246,6246,6246,6213,4165,4133,2085,2052,2052,
 36.3059 +4101,4101,2053,2053,2053,5,5,5,5,5,5,5,5,2053,2053,2053,
 36.3060 +2053,2053,2053,2053,2053,2053,2053,2053,4101,4101,4101,4101,4102,4133,4101,4101,
 36.3061 +6149,6149,8197,8196,8196,10244,12325,14437,16485,16485,14404,14339,12290,14371,16452,16484,
 36.3062 +14437,12421,12389,12389,12389,10309,10276,8196,10244,10277,12357,14438,14438,14438,14406,12326,
 36.3063 +10245,8196,6148,6148,6148,4099,4100,4133,4132,4133,2053,2053,2052,2052,2052,2052,
 36.3064 +2085,2053,2053,2052,2052,4100,4100,4099,6148,6148,6148,6148,6148,6148,4100,4100,
 36.3065 +6148,8196,8196,8196,8196,8196,8196,6147,10276,10276,10276,10276,10277,12324,12324,12325,
 36.3066 +14405,14438,16551,16551,12390,10277,10244,8196,8196,8196,8196,10244,10244,10244,12292,12292,
 36.3067 +12293,12292,10244,10244,10244,10244,10244,8196,6147,6147,6148,6148,4099,4099,2051,2051,
 36.3068 +3,3,3,4,4,4,2052,2085,4,4,4,2053,2053,2053,2053,5,
 36.3069 +4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,
 36.3070 +4,4,4,4,4,4,2053,2053,2052,2053,2053,2053,2053,2053,2053,2053,
 36.3071 +2053,2053,2053,2053,2053,4101,4133,6182,6214,6214,6214,8262,8262,8294,10342,10342,
 36.3072 +10341,10341,8293,8293,10373,10373,10374,10406,12486,12519,12519,14599,14600,12551,12519,12519,
 36.3073 +12519,10439,10439,10407,10407,8326,8294,8262,6213,8262,8262,8294,10342,10342,8294,8294,
 36.3074 +8293,10374,10374,8294,8261,6213,6213,8326,6246,4165,4133,4133,4133,2085,2053,2052,
 36.3075 +2053,2053,2053,2053,2053,5,5,5,37,37,37,37,37,2053,2053,2053,
 36.3076 +2053,2052,2052,2052,2053,4101,4101,4134,4101,4101,2053,2053,4101,4101,4101,4101,
 36.3077 +6149,6149,6149,6148,6148,8197,10309,12390,14470,14438,14438,12357,12325,12292,12292,10244,
 36.3078 +8229,8229,8229,8229,8228,8196,8196,8196,8196,8196,8196,8196,8197,6149,6149,6149,
 36.3079 +6149,6149,6149,6148,4100,4100,4100,4100,2052,2052,2052,2052,2052,2052,2052,2052,
 36.3080 +2053,2053,2053,2053,4101,4100,4100,4100,4100,4100,4100,4100,4100,4100,4100,4100,
 36.3081 +6148,6148,6148,8229,6148,6147,6147,6147,6147,8195,8196,10244,10244,10244,10244,12292,
 36.3082 +18501,20582,20614,18566,14405,10244,8196,8196,6148,6148,6148,6148,8196,8196,8196,8195,
 36.3083 +10276,10244,10244,8196,10244,10244,10244,8196,8196,6147,6147,4099,2051,2051,3,2052,
 36.3084 +4,2052,2052,2052,2052,2052,4,4,4,4,4,5,5,5,5,5,
 36.3085 +4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,
 36.3086 +4,4,4,4,4,5,2053,2053,2085,2085,2085,2053,2053,2085,4134,4134,
 36.3087 +4102,4102,4101,4134,6214,6214,6214,6214,6213,8294,8326,10374,8326,8326,10374,10374,
 36.3088 +10374,10341,8293,8293,8293,10341,10374,10374,10341,10373,10406,12486,12519,12551,14600,14600,
 36.3089 +12519,12519,12487,12487,10406,10374,8326,8294,6181,6213,8294,8294,10375,10375,10407,10407,
 36.3090 +12487,12455,10407,10407,10374,8294,8294,6214,6181,4133,4101,2053,2053,2053,2053,2053,
 36.3091 +2053,2053,2053,2053,5,4,4,4,2053,2053,2053,2053,2052,2052,2053,4133,
 36.3092 +4133,4133,4133,4133,6214,6213,4133,4101,4101,4101,4101,4101,4101,4101,4102,4102,
 36.3093 +6149,6149,6149,6149,6149,8197,8229,10310,10310,10310,10278,10277,10245,10245,10244,8197,
 36.3094 +6149,6149,6149,8197,8197,8196,8196,8196,8196,6148,6148,6148,6148,4100,6149,6149,
 36.3095 +6149,6149,4101,4101,4101,4101,4101,4101,2052,2052,2052,2052,2052,2052,2052,2052,
 36.3096 +2052,2053,2053,2053,4101,4101,4101,4100,4100,4100,4100,4100,4100,4100,4100,4100,
 36.3097 +6181,6149,8229,8229,8229,6148,6148,8196,8196,8196,10244,10244,10244,12292,12325,14340,
 36.3098 +16388,18436,18469,16420,12292,8196,6148,6148,4099,4099,4100,6180,10309,10309,10309,10277,
 36.3099 +10341,10341,10309,10277,10277,12325,10245,10244,12325,10277,8197,6148,4100,2051,3,3,
 36.3100 +2052,2052,2052,2052,2052,4,4,4,4,4,4,4,4,4,4,4,
 36.3101 +4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,
 36.3102 +4,4,4,4,4,5,5,5,2053,2053,2053,2053,2053,4133,4134,4134,
 36.3103 +6214,6214,6214,6247,8295,8295,6246,6213,6181,6213,8294,8326,8326,8325,10373,10374,
 36.3104 +10341,10341,8293,8293,8293,8293,10374,10374,10374,10374,10406,10406,10406,10406,10406,10406,
 36.3105 +10406,10406,10374,10341,8293,8293,8261,8261,6181,6213,8293,8294,8326,8327,8359,10407,
 36.3106 +10374,10374,10374,10374,8294,8294,6214,6213,4133,4133,4101,4101,2053,2053,2053,2053,
 36.3107 +2053,4,5,5,2053,2053,2053,2053,4133,4133,4165,4165,4133,4133,4133,4165,
 36.3108 +6246,6246,6246,8327,8327,6246,6182,4101,4101,4101,4101,2053,2053,4101,4101,4101,
 36.3109 +4101,6149,6181,6149,6149,6149,6149,8197,8197,8197,8197,8197,8196,8196,8196,8196,
 36.3110 +6148,6148,6148,8196,8196,8196,8196,8196,8196,8196,8196,6148,6148,4100,6148,6149,
 36.3111 +4101,4101,4101,4101,4101,4101,4101,2053,2053,2085,2053,2052,2052,2052,2052,2052,
 36.3112 +2053,2053,2053,2053,4101,4101,4101,4101,4100,4100,4100,4100,4101,4101,4101,6148,
 36.3113 +6148,6148,8196,8229,8197,8196,8196,10244,8196,10244,10244,10244,10244,12292,12292,12292,
 36.3114 +14340,14339,14339,12291,10244,8196,6148,4100,4100,4100,6180,8293,12454,14502,14470,12389,
 36.3115 +10309,10309,12357,12389,14438,14405,14373,12325,12325,10277,10277,8229,6180,4132,4132,4132,
 36.3116 +2052,2052,2052,2052,2052,4,4,4,4,4,4,4,4,4,4,4,
 36.3117 +4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,
 36.3118 +4,4,4,4,4,4,4,2052,2052,2052,2052,2053,2053,4133,4133,4134,
 36.3119 +6247,6247,6247,8295,8327,8327,8327,8294,6213,8293,8326,8326,8326,8325,10373,10374,
 36.3120 +10374,10374,10341,10341,10341,10341,10341,10341,10374,10374,10374,10341,10341,10341,10374,10374,
 36.3121 +10374,10341,8293,8261,8261,8261,8261,8261,8261,8261,8294,8294,8294,8294,8326,8326,
 36.3122 +8294,8294,8294,8294,8262,6213,6213,6181,4133,4101,4101,4101,4101,4101,2053,2053,
 36.3123 +2053,2052,2052,2052,2052,2053,4133,4133,6214,6213,6214,6213,6213,6213,6213,6213,
 36.3124 +8327,8326,8327,8327,8327,8326,6214,6182,4134,4101,4101,2053,2053,2053,2053,4101,
 36.3125 +4101,4101,6149,6149,6149,6148,6148,6148,6148,6148,6148,8196,8196,8196,8196,8196,
 36.3126 +8196,8196,8196,8196,8196,8196,10244,10276,10244,10244,8196,8196,8196,8197,6149,6148,
 36.3127 +4101,4101,4101,4101,4101,4101,4101,2053,4133,2085,2053,2052,2052,2052,2052,2052,
 36.3128 +2052,2052,2053,2053,4101,4101,4100,4100,4100,4100,4100,4101,4101,4101,4101,6149,
 36.3129 +6148,6148,8196,10245,10277,10244,10245,12325,12325,12325,12325,14373,12293,12293,12293,14340,
 36.3130 +14372,14340,12292,10244,10244,8196,6148,4100,4099,4099,4099,6148,8228,10276,10244,8195,
 36.3131 +8195,10244,12292,14405,16486,16486,16486,14406,12293,10245,10245,8229,8229,6181,6213,6213,
 36.3132 +4133,4133,4101,2053,2053,2052,4,4,4,4,4,4,4,4,4,4,
 36.3133 +4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,
 36.3134 +4,4,4,4,4,2052,2053,2052,2052,2052,2052,2052,2052,2052,4101,4101,
 36.3135 +4133,4133,6182,6214,6246,8326,8327,8359,8326,10406,10406,10406,10406,10406,10373,10373,
 36.3136 +10374,10374,10374,10374,10374,10374,10374,10341,8293,8293,8261,8261,8293,8293,10374,10374,
 36.3137 +10406,10374,8293,8261,8261,8261,8293,8294,8294,8294,8294,8294,6214,6213,6213,6213,
 36.3138 +8262,8261,8261,8261,6181,6181,6181,6149,4101,4101,4101,4101,4101,4101,4101,4101,
 36.3139 +2053,2053,2052,2052,2052,4133,4133,6213,6214,6246,6246,8294,8294,8294,8294,8293,
 36.3140 +8359,8326,6246,6214,6214,6246,6246,6246,6214,6214,4134,4101,4101,4101,4101,4101,
 36.3141 +4101,4100,4101,4101,4100,4100,4100,6148,6148,6148,6148,6148,6148,6148,6148,8196,
 36.3142 +8196,8196,8196,8195,10244,10244,12357,14437,12357,12325,12325,12325,12357,10310,10245,6148,
 36.3143 +4101,4133,4133,4101,4101,4101,4101,4133,4133,2052,4100,2052,2052,2052,2052,2052,
 36.3144 +2052,2052,2052,2052,2052,2052,2052,2052,4100,4100,4100,4101,4101,4101,4101,6149,
 36.3145 +8196,8196,10244,12357,12358,12358,12390,14470,16583,18631,18631,18599,16518,16518,16518,16518,
 36.3146 +14405,12325,10244,8196,8197,6180,6148,4100,4100,4099,4099,6147,8195,8195,8195,8194,
 36.3147 +8195,8195,10244,14373,16453,16486,16486,16486,14406,14405,12325,10277,8228,6148,6148,4100,
 36.3148 +4133,4133,4133,4133,2053,2053,2052,4,4,4,4,4,4,4,4,4,
 36.3149 +4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,
 36.3150 +2052,2052,2052,2052,2053,2084,4133,4133,2052,2052,2052,2052,2052,2052,2052,2052,
 36.3151 +4100,2052,4100,4100,4133,6213,8326,8358,10406,10406,10406,10438,10438,10406,10406,10406,
 36.3152 +10406,10406,10406,10406,10406,10374,10374,10374,8261,8228,6180,8228,8261,8293,10374,10406,
 36.3153 +12487,10406,10374,8293,8261,8261,8294,8294,8261,8261,6214,6214,6214,6214,6213,6213,
 36.3154 +8262,8262,8229,6181,6181,6149,4101,4100,4101,4101,4101,4101,4101,4101,4133,4133,
 36.3155 +4133,4133,4133,4101,4133,4133,6213,6245,8326,8326,8326,10406,10406,10406,10406,10406,
 36.3156 +8327,8294,6213,6181,6181,6214,6246,8294,6214,6182,4134,4101,4101,4101,4101,4101,
 36.3157 +4101,2052,4100,4100,4100,4100,4100,6149,4100,6148,6148,6148,6148,6148,6148,6148,
 36.3158 +6148,8195,8195,8195,10244,14405,16518,18598,16550,16518,14438,14470,14470,14470,12357,10277,
 36.3159 +6213,6213,4133,4133,4133,4101,4101,6149,4101,4101,4101,4101,4100,4100,4100,2052,
 36.3160 +2052,2052,2052,2052,2052,2052,2052,2052,4100,4100,4100,4100,4101,4101,4101,6148,
 36.3161 +8196,8196,10244,10277,12357,12357,12390,14470,16583,16583,16583,16551,16518,16486,14437,14438,
 36.3162 +12325,10245,8196,6148,6148,4100,2052,2051,4100,4100,6148,8196,10244,10244,12292,12292,
 36.3163 +10243,10243,10244,12292,14373,14405,14405,14405,14406,14406,12357,10277,8229,8196,6148,4100,
 36.3164 +4133,4133,2053,2053,2053,2052,4,4,4,4,4,4,4,4,4,4,
 36.3165 +4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,2052,
 36.3166 +2052,2052,2052,2084,4133,4165,4165,6213,4133,4133,4100,4100,2052,2052,2052,2052,
 36.3167 +4100,4100,4100,2052,4100,4132,6213,6245,8326,8325,8325,10406,10406,10438,10406,10406,
 36.3168 +10374,10374,10374,10374,10374,10374,10374,10374,8261,8228,6180,6180,8261,8293,10341,10374,
 36.3169 +10406,10374,10341,8261,8261,8261,8261,8261,6181,6181,6214,8294,8294,8294,8294,8294,
 36.3170 +8294,8262,6213,6181,6149,6149,4101,4100,6149,4101,4101,4101,4101,4134,6214,6214,
 36.3171 +4133,4133,6181,6213,6213,8294,8326,8326,8326,8325,8326,10406,10406,10438,10406,10406,
 36.3172 +8294,8294,6213,6213,6213,6214,6214,6214,4101,6149,6149,6149,4101,4101,4101,4101,
 36.3173 +4101,4101,4101,4101,4100,4100,4101,4101,4100,4100,6149,6149,8229,8197,6148,6148,
 36.3174 +8195,8196,10244,10244,14373,16486,18598,18631,20679,20679,18631,16550,16518,14438,14438,12390,
 36.3175 +10342,8261,6181,6181,6148,6148,6149,6149,6149,6149,6181,6181,6149,6149,4100,4100,
 36.3176 +2052,2052,2052,4100,4100,2052,2052,2052,4100,4100,4100,4100,4100,4100,4100,4100,
 36.3177 +6148,6147,6148,8196,8196,8196,8228,10309,10309,12357,12357,12324,10244,10244,10243,8196,
 36.3178 +6148,6148,6148,4100,4100,2052,2052,2051,2051,4099,6148,8196,10244,12324,12324,14372,
 36.3179 +12324,10244,10244,10244,10244,12292,12292,12292,12292,10277,10277,10277,8229,6180,6180,6180,
 36.3180 +4100,2053,2053,2053,2052,4,4,4,4,4,4,4,4,4,4,4,
 36.3181 +4,4,4,4,4,4,4,4,4,4,4,4,2052,2052,2053,2052,
 36.3182 +2052,2052,2052,4132,4133,4165,6213,6245,6246,6245,6213,4133,4133,4100,4100,4100,
 36.3183 +4133,4165,4165,4133,4132,4132,6213,6245,8325,8325,8325,8325,10406,10406,10405,10406,
 36.3184 +10341,8293,8293,8293,8293,8293,10341,10374,8293,8261,8261,8261,8261,8293,8293,10341,
 36.3185 +10374,10374,10342,8261,8261,8261,6181,6181,6213,8262,8294,8326,8327,8327,8327,8294,
 36.3186 +8262,6214,6213,6181,6181,6149,6149,6149,6181,6149,4101,4101,4133,6214,6246,8327,
 36.3187 +6246,6245,8293,8293,8294,8326,10374,10406,8326,8325,10374,10374,10406,10406,10373,8293,
 36.3188 +6214,6213,6213,8294,8262,6214,6181,6181,4101,6149,6182,6182,6214,6182,6182,4134,
 36.3189 +4101,4133,4133,4133,4101,4101,4101,4101,4100,4100,6181,8262,8262,8262,6149,6148,
 36.3190 +8196,10244,12325,14405,16486,16518,18598,18598,20711,22792,20711,18598,16486,14405,16486,16551,
 36.3191 +12390,10341,8229,8196,8196,8196,8196,8197,8196,8197,8197,8229,8197,8197,6149,4100,
 36.3192 +4100,4100,4100,4101,4101,4100,4100,2052,4100,4100,4100,4100,4100,4100,4100,4100,
 36.3193 +4100,4099,4099,6148,6147,4099,6147,6148,8228,8228,8228,8195,8195,6147,6147,6147,
 36.3194 +4099,4100,4100,2052,2052,2052,2052,2052,2052,6181,10342,12454,14502,14502,16550,16583,
 36.3195 +10309,10276,8195,8195,8195,8195,8195,8195,8196,8196,8228,8228,6180,6148,4100,4100,
 36.3196 +2052,2053,2053,2052,2052,4,4,4,4,4,4,4,4,4,4,4,
 36.3197 +4,4,4,4,4,4,4,4,4,4,4,4,2052,2052,2053,2052,
 36.3198 +2052,2052,4100,4132,4133,6213,6245,6245,8326,8326,6246,6245,6213,6181,6181,6213,
 36.3199 +6213,6245,6245,6245,6245,6213,6245,6245,8358,8325,8325,8325,10405,10405,10373,10373,
 36.3200 +8261,8261,8261,8261,8261,8261,8293,8293,10341,10341,8293,8293,8293,10341,10374,10374,
 36.3201 +10374,10374,10374,10342,8294,8261,8261,8261,8294,8326,10375,10407,10407,8327,8294,6246,
 36.3202 +8262,6214,6213,6181,6181,6181,6181,6181,6181,6149,4101,4101,4133,6214,8294,8327,
 36.3203 +8326,8326,8326,8326,8326,8326,10374,10374,10406,10406,10406,10406,12454,12454,10373,8293,
 36.3204 +8294,8294,8294,8294,8294,8294,8262,6214,6149,6181,6181,6181,6182,6182,6149,4101,
 36.3205 +4133,4133,4101,4101,4101,4101,4101,4101,4100,4100,6149,6181,8229,8262,8262,10310,
 36.3206 +8197,12293,14406,16518,18599,18598,16485,16453,18566,18598,16453,16453,14340,12292,14437,14437,
 36.3207 +14502,12422,12357,10245,10244,8196,10244,10244,12293,14439,16519,16519,14439,12391,10278,8197,
 36.3208 +6181,6181,4133,4101,4101,4101,4101,4101,2052,4100,4101,4101,4101,2052,2052,2052,
 36.3209 +2051,2051,2051,2051,2051,2051,4099,4099,4099,4099,4099,4099,4099,4099,4099,4099,
 36.3210 +2051,2052,2052,2052,2052,2052,2053,2052,4100,4133,6213,8293,12389,12389,14437,12389,
 36.3211 +10341,8260,6180,6147,6147,4099,6147,6147,6148,4099,4100,4100,2051,2051,2051,2052,
 36.3212 +2052,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,
 36.3213 +2052,2052,2052,2052,2052,2052,2052,2052,2053,2053,2053,2052,2052,2052,2052,2052,
 36.3214 +2084,2084,4132,4132,4133,4165,6213,6213,6245,6246,8326,8326,8326,8326,10406,10407,
 36.3215 +10471,10439,8358,6277,6245,6245,8325,8325,10406,8325,8293,8293,8325,10405,10373,10373,
 36.3216 +8293,8261,8261,8228,8261,8261,8293,8293,10374,10374,10406,12454,12487,12487,12487,12454,
 36.3217 +12487,12455,10407,10407,10374,10374,8262,8229,8294,8294,8327,10407,10407,8327,8294,6246,
 36.3218 +6246,6246,6246,6246,6214,6181,6149,4101,6214,6214,6213,6213,6213,6214,8262,8294,
 36.3219 +8326,8326,8326,8326,10374,10374,10374,8325,10373,10406,12454,10406,10374,10405,10373,10341,
 36.3220 +6213,6213,6214,8294,8294,8294,8294,8294,6181,6181,6181,6181,6149,4101,4101,4101,
 36.3221 +4101,2053,4101,4101,4101,4101,4101,4101,4100,4100,6149,6149,6181,8229,8262,8230,
 36.3222 +8197,10245,12357,14438,16518,16518,16485,16485,16517,18566,14372,14372,12292,12292,16518,16518,
 36.3223 +14470,16551,16518,14406,14341,12293,12292,12292,16455,18568,18568,16487,14407,12326,10246,8197,
 36.3224 +8230,6214,6181,4133,4101,4101,4101,4101,4101,4101,4101,4101,4101,4101,2052,2052,
 36.3225 +2052,2052,2052,2052,2052,2051,2051,2051,2051,2051,2051,2051,2051,2051,2051,2051,
 36.3226 +2052,2052,2052,4,4,4,4,2052,2052,2052,4100,6180,8228,8228,10244,8228,
 36.3227 +6180,4132,4099,4099,2051,2051,2051,4099,2051,2051,2052,2052,4,4,4,4,
 36.3228 +4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,2053,
 36.3229 +2053,2053,2053,2053,2053,2053,2053,2053,2053,2053,2053,2053,2052,2052,2053,2052,
 36.3230 +2052,2052,2084,4132,4133,4133,4165,6213,4100,4133,6213,8294,8359,10439,12520,12552,
 36.3231 +12584,12552,10471,8358,8358,8326,8358,8358,8358,8325,8326,8325,8325,8325,10374,10406,
 36.3232 +10374,8293,8293,8261,8293,8293,10341,10341,10374,10374,10406,10406,12454,12454,10406,10406,
 36.3233 +12487,10407,10374,10374,8294,8294,8262,8261,6181,6214,8294,8295,8295,8294,6246,6246,
 36.3234 +6214,6214,6214,6214,6214,6182,6181,6181,8294,8294,8294,8294,8294,8294,8294,8294,
 36.3235 +8294,8293,8293,8293,8293,8293,8293,8325,8293,10373,10373,10373,10373,10373,10373,10341,
 36.3236 +8261,8293,8294,8294,8294,8326,8326,8326,6181,6181,6181,6149,4101,4101,4101,4101,
 36.3237 +4101,4101,4101,4101,4101,4101,4101,4100,4100,4101,6149,6149,6149,8229,8229,8229,
 36.3238 +8197,8197,10245,12325,14405,14438,16485,16453,18566,18598,14372,14404,14372,12292,14437,14405,
 36.3239 +14405,18631,20712,18567,16454,16422,16389,14341,18535,18535,16487,14374,12294,12294,10245,8197,
 36.3240 +8230,6214,6182,6181,6181,4101,4101,4100,4101,4101,4101,4101,4101,4101,2052,2052,
 36.3241 +2052,4,4,4,4,4,4,4,2052,2052,2052,2051,2051,2051,2051,2051,
 36.3242 +2084,2084,2052,2052,2053,4,5,4,4,2052,2052,4100,4100,4099,6147,4099,
 36.3243 +2051,2051,2051,2051,2051,2051,3,2052,3,3,4,4,4,4,4,4,
 36.3244 +4,4,4,4,4,4,4,4,4,4,4,4,4,4,2053,2053,
 36.3245 +2053,2053,4133,4133,4133,4133,4133,2085,2085,2085,2053,2053,2053,2053,2053,2052,
 36.3246 +2052,2052,2052,2084,4133,4133,4133,4133,4133,4133,6213,6213,6246,8326,10439,10472,
 36.3247 +10471,10471,10439,8358,8293,6245,8326,8326,8326,8326,10374,8326,8293,8293,10374,10406,
 36.3248 +10374,10374,10374,10374,10374,10374,10374,10374,10374,10406,10406,10406,10406,10406,10406,10406,
 36.3249 +10407,10374,8294,8262,8262,8262,8262,8262,6181,6181,6182,6214,6214,6214,6214,6182,
 36.3250 +4101,4133,4134,6182,6214,6214,6181,6181,6213,6213,6213,8262,8262,8262,8262,8262,
 36.3251 +6213,6213,6213,6213,6213,8293,8293,8293,8293,8325,10373,10373,10373,10374,10374,10373,
 36.3252 +10406,10406,10374,10374,10374,8326,8326,8326,8262,6214,6181,6149,4101,4101,4101,4101,
 36.3253 +4101,4101,4101,4101,4101,4101,4101,4101,4101,6149,6149,6149,6149,6149,6149,8197,
 36.3254 +6149,8196,8197,10245,10277,12325,12324,12324,14405,16517,14405,16550,16518,14405,14437,12324,
 36.3255 +14405,20679,22792,20647,18534,20583,18502,16389,16422,16422,14341,12293,10245,8197,8197,8229,
 36.3256 +6181,6181,6181,6181,6181,4101,4101,4101,4101,4101,4101,4101,2052,2052,2052,2052,
 36.3257 +2053,5,2053,4,2052,4,2052,4,4,4,4,36,36,2084,2084,2084,
 36.3258 +2052,2052,2052,2052,2052,4,5,5,5,4,2052,2052,2052,2051,4099,2051,
 36.3259 +3,3,3,3,4,4,4,4,3,3,4,4,4,4,4,4,
 36.3260 +4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,2053,
 36.3261 +2085,4133,4166,4166,4166,4166,4133,2085,4133,2085,2085,2053,2053,2053,2053,2053,
 36.3262 +2052,2052,2052,2052,2052,2052,2053,2052,4133,4133,4133,4133,4133,6213,6246,8326,
 36.3263 +6245,8326,8326,6245,6213,6180,6213,8293,8294,8326,8294,8294,8294,8293,8294,10374,
 36.3264 +10374,10374,10374,10374,10374,10406,10374,10374,10406,10406,10406,10406,10406,10406,10406,10374,
 36.3265 +10374,8294,8262,8262,8262,8262,8262,8229,6182,6182,6181,6181,6149,4101,4101,4101,
 36.3266 +4101,4101,4101,4133,6182,6182,6181,6181,6149,6181,6181,6213,6213,6213,8229,6181,
 36.3267 +6181,6181,6181,6180,6213,6213,8261,8261,8293,10373,10374,10374,10374,12454,12454,10406,
 36.3268 +10407,10407,10406,10374,10374,8294,8294,8294,8294,8262,8229,6181,6149,6149,6149,6149,
 36.3269 +4101,4102,4102,4102,4101,4101,4101,4101,6149,6149,6149,6149,8197,8197,8197,8197,
 36.3270 +6148,6149,8197,10245,10277,10244,10244,10243,10243,12292,12292,16550,16583,14437,16518,14437,
 36.3271 +14405,20711,22792,20647,18534,20615,20647,18534,14341,12293,10244,10244,8196,6148,6148,6149,
 36.3272 +4101,4101,6149,6149,6149,4101,4101,4101,4101,4101,4101,4101,2052,2052,2052,2052,
 36.3273 +2053,2053,2053,2053,2053,2053,2053,2052,4,4,2052,2052,2052,2084,2084,2084,
 36.3274 +2052,2052,2052,4,4,4,5,5,5,5,5,4,2052,2052,2052,2052,
 36.3275 +4,4,4,4,4,4,4,4,4,4,4,4,4,5,5,5,
 36.3276 +4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,
 36.3277 +2053,4133,4166,6246,6246,6246,6246,4166,4133,4133,4133,4133,2053,2053,2053,2052,
 36.3278 +4,4,2052,2052,2052,2052,2053,2052,2052,2052,2053,2052,2053,4101,6214,6246,
 36.3279 +6213,6246,6278,6245,6181,4132,6213,6245,8326,8294,8262,8294,8294,8294,8294,8294,
 36.3280 +10342,8293,8293,10341,10374,10374,10374,10374,10374,10374,10374,10374,10374,10374,10374,10342,
 36.3281 +8262,8262,8262,8262,8262,8262,6181,6149,6182,6181,6182,6149,4101,4101,4101,4101,
 36.3282 +4101,4101,4101,4101,4101,4133,4133,4133,6149,6181,6181,6213,8261,8261,8229,8261,
 36.3283 +6213,6213,6213,6213,6213,6213,6213,8261,8293,8326,10374,10374,10406,12486,12486,10438,
 36.3284 +10374,10374,8294,8293,8261,8261,8261,8261,8294,8262,8262,8262,6181,6181,6181,6182,
 36.3285 +6182,4134,6182,4134,6150,6150,6149,6149,6149,6149,6149,6149,8197,8197,8197,6149,
 36.3286 +6149,6149,8229,10310,10310,10277,10244,8195,10243,10243,10243,14437,14437,12356,14470,14470,
 36.3287 +16485,18631,20711,18566,16453,18566,20615,18567,14341,12292,10244,8196,6148,4100,4100,4100,
 36.3288 +4100,4100,4101,4101,4101,4101,4101,4101,4133,4133,4101,4101,2053,2053,2053,2053,
 36.3289 +2053,2053,2053,2053,2053,2053,2053,2053,2053,2053,2053,2052,2052,2052,2052,2052,
 36.3290 +2051,2051,2051,4,4,4,4,5,5,5,5,4,4,4,4,2052,
 36.3291 +4,4,4,4,4,4,4,4,4,4,4,5,5,5,5,5,
 36.3292 +5,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,
 36.3293 +2052,2053,4133,6246,6279,6279,8359,8359,4166,4166,4166,4133,4133,2053,2052,2052,
 36.3294 +4,4,4,4,4,4,4,4,2052,2052,2052,2052,2052,2053,4133,4133,
 36.3295 +6213,6245,6246,6245,6213,4132,4133,6181,8294,8294,6213,8262,8294,8326,8294,8262,
 36.3296 +8261,8261,8261,8261,8261,8293,8293,8293,8293,10341,10374,10374,10374,10374,8293,8293,
 36.3297 +8261,8262,8262,8262,8262,8262,6181,6149,6149,6149,6149,4101,4101,4101,4101,4101,
 36.3298 +4101,4101,4101,4101,4101,4101,4101,4101,4100,4101,6149,6181,6181,6181,6181,6181,
 36.3299 +6213,6213,6246,6246,6246,6245,8293,8293,8294,8326,8326,8293,10374,10406,10406,10406,
 36.3300 +10374,8294,8293,8261,8261,8261,8261,8261,8262,8262,8262,8262,8262,8262,8230,6182,
 36.3301 +6182,6182,6182,6182,6150,6150,6149,6149,6149,6149,6149,6149,8197,6149,8197,6149,
 36.3302 +6149,6182,8262,8262,10342,10309,8196,8195,10244,12324,10243,12389,12357,10243,12357,12357,
 36.3303 +14437,16517,16517,14404,14372,14373,16453,16454,14373,10244,8196,8196,6148,4100,2052,2052,
 36.3304 +4100,4100,4100,4100,4101,4101,4101,4101,4133,4133,4101,4101,2053,2053,2053,2053,
 36.3305 +4101,4101,4102,4101,4101,4101,4101,4101,2053,2053,2053,2053,2053,2052,2053,2052,
 36.3306 +2051,2051,2051,2052,2052,4,4,5,5,5,5,5,5,4,4,4,
 36.3307 +4,2052,2052,4,4,4,4,4,5,5,5,5,5,5,5,5,
 36.3308 +5,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,
 36.3309 +2052,2052,2053,4166,6246,6279,8359,8359,6246,6246,6246,4166,4133,4133,2053,2052,
 36.3310 +5,5,5,5,5,4,4,4,2053,2053,2053,2053,2053,2052,2053,2053,
 36.3311 +4133,4133,4133,4133,4133,4133,4133,4133,6213,6213,6213,6214,8262,8262,8262,8229,
 36.3312 +8229,6180,6148,6148,6180,8261,8261,8261,10341,10374,10406,10406,10406,10406,10374,10342,
 36.3313 +8262,8262,8262,8261,8262,8262,6182,6181,6149,6149,6149,6149,6150,4101,4101,4101,
 36.3314 +4101,4101,4101,4101,4101,4101,4101,4101,4100,4100,4100,6148,6148,6148,6148,6181,
 36.3315 +6246,6246,8326,8326,8326,8326,8326,8326,8294,8326,8326,8293,8294,10374,10406,8326,
 36.3316 +10407,10406,10374,8294,8294,8261,8261,8261,8229,8261,8262,8262,8262,8262,8230,6182,
 36.3317 +6182,6182,6182,6182,6150,6149,4101,6149,6149,6149,6149,6149,6149,6149,6149,6149,
 36.3318 +6150,6150,8230,8262,10310,10309,10244,8196,8195,10244,10244,14469,14437,10243,12324,12357,
 36.3319 +12389,12356,12324,12292,10243,10243,12292,12325,12357,10244,8196,6148,6148,4100,2052,4133,
 36.3320 +4101,4101,4101,4100,4101,4101,4101,4101,4101,4101,4101,4101,2053,2052,2053,2053,
 36.3321 +4101,4101,4101,4101,4101,4101,4101,4101,4101,4101,4101,4101,2053,2053,2053,2052,
 36.3322 +4100,4132,4100,2052,2052,4,4,4,5,5,5,5,5,4,4,4,
 36.3323 +2052,2052,4,4,5,5,5,5,5,5,5,5,5,5,5,5,
 36.3324 +5,4,4,4,4,4,4,4,4,4,4,4,4,4,4,2052,
 36.3325 +2052,2052,2053,4101,4133,6214,6246,6246,6279,6279,6246,6246,4166,4133,4101,2053,
 36.3326 +5,5,5,5,4,4,4,4,4,4,5,5,2053,2052,2053,2053,
 36.3327 +2052,2052,4100,4133,6213,6213,6213,6213,4101,4133,6181,6181,6149,4101,6181,6181,
 36.3328 +6181,6148,6148,6148,6148,6180,6181,8229,10374,10406,12487,12519,12519,12487,10406,10374,
 36.3329 +10342,8294,8261,8229,8229,8229,8230,6182,6149,6149,6181,6181,6150,4101,4101,4101,
 36.3330 +4101,4101,4101,4101,4101,4101,4101,4133,4101,4101,6149,6149,6149,6181,8261,6213,
 36.3331 +6246,6278,8326,8359,10439,10439,10407,8359,8294,8326,8326,8294,8294,8326,10374,8326,
 36.3332 +10438,10406,8325,6213,6181,6213,8294,8326,8294,8294,8295,8294,8294,8262,6182,6182,
 36.3333 +6182,6182,4134,4101,4101,4101,4101,4101,4101,4101,4101,4101,4101,6149,6149,6149,
 36.3334 +6149,6150,8230,10310,8230,8197,8196,8196,10244,12324,14405,14437,16485,14405,12291,10243,
 36.3335 +8227,8228,8228,8196,8196,8196,8196,8196,8197,8197,8197,8197,6149,6148,4100,4101,
 36.3336 +4101,4101,4101,4101,4101,2053,4101,4101,4101,4101,4101,4101,4101,4101,4101,4101,
 36.3337 +4101,4101,4101,4101,4101,4101,4101,4101,4101,4101,4101,4100,4100,4100,4100,4101,
 36.3338 +4101,4101,4101,4101,4101,2053,2052,2052,2052,4,4,4,4,4,4,4,
 36.3339 +4,4,4,4,4,4,4,4,5,5,5,5,5,5,5,5,
 36.3340 +4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,
 36.3341 +2052,2053,4101,4101,4101,4101,4133,4133,4133,6214,6246,6214,4134,4101,4101,4133,
 36.3342 +5,5,5,5,5,5,5,5,5,5,2053,2053,2053,2053,2053,2053,
 36.3343 +2052,2052,2053,4133,4133,4133,4133,2053,2053,2053,2053,2053,2053,2053,4101,4101,
 36.3344 +6149,6149,4101,4100,4100,4100,6148,6181,10374,10374,10374,10374,10406,10406,10406,10406,
 36.3345 +8294,8294,8294,8294,8262,6213,6181,6181,6182,6181,6149,6149,4101,4101,4101,4101,
 36.3346 +4101,4101,4101,4101,6149,4101,4101,4101,4101,4101,4101,4101,4101,4101,4133,4133,
 36.3347 +6246,6278,8326,6278,6246,6245,6246,8294,6214,6213,6181,6181,6181,8262,8294,8326,
 36.3348 +10438,10438,8326,8293,6213,6213,8261,8294,8294,8294,8262,8262,8230,6182,6150,6150,
 36.3349 +6150,4102,4102,4101,4101,4101,4101,4101,4101,4101,4101,4101,4101,4101,4101,4101,
 36.3350 +6149,6150,8230,8230,8230,8197,8197,8196,10245,10244,12292,14373,16485,16453,14340,10243,
 36.3351 +8195,6147,6147,8196,8196,8196,8196,8196,8196,8197,10278,8229,8197,6149,6149,4101,
 36.3352 +4101,4101,4101,4101,2053,2053,4101,4101,4101,4101,4101,4101,4101,4101,4101,4101,
 36.3353 +4101,4101,4101,4101,4101,4101,4100,4100,4101,4101,4101,4100,4101,4101,4101,4101,
 36.3354 +4101,4101,4101,4101,4101,2053,2052,2052,2052,2052,2052,2052,2052,2052,4,4,
 36.3355 +4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,
 36.3356 +4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,
 36.3357 +2052,2053,4101,4101,4101,4101,4101,4101,4101,6182,6214,6214,4133,4101,4101,2053,
 36.3358 +5,5,5,5,5,5,5,5,5,5,2053,2053,2053,2053,2053,2053,
 36.3359 +2053,2053,2053,2085,2085,2053,2053,2053,2053,2053,2053,2053,2053,2053,2053,2053,
 36.3360 +4101,4101,4101,4101,4101,4100,4101,6149,6213,8261,8293,10373,10374,10405,10406,10406,
 36.3361 +8294,8294,8294,8262,6213,6181,6181,6149,6149,6149,6149,6149,4101,4101,6149,6149,
 36.3362 +6149,6149,4101,4101,4101,4101,4101,4101,4101,4101,4101,4101,4101,4101,4101,4133,
 36.3363 +4133,4164,4165,4133,4132,4132,4133,4133,6181,6181,6181,6213,6214,8294,8295,8327,
 36.3364 +10438,10438,8326,8293,6213,6213,6213,8294,8262,6214,6182,6181,6149,6149,6149,4101,
 36.3365 +4101,4101,4101,4101,4101,4101,4101,4101,4101,4101,4101,4101,4101,4101,4101,4101,
 36.3366 +6149,6150,6150,6150,8198,8197,8197,8197,10277,10244,12292,14373,16485,16485,16421,12292,
 36.3367 +10276,8195,8195,8195,8195,8196,8196,8196,8196,10245,10310,10310,8230,6149,6149,4100,
 36.3368 +4101,4101,4101,4101,4101,2052,4101,4101,4101,4101,4101,4101,4101,4101,4101,4101,
 36.3369 +4101,4101,4101,4101,4100,4100,4100,4100,4101,4101,4101,4101,4101,4101,4101,4133,
 36.3370 +4101,4101,4101,4101,2053,2053,2052,2052,2053,2053,2053,2052,2052,4,4,4,
 36.3371 +4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,
 36.3372 +4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,
 36.3373 +2052,2052,2053,2053,4101,4101,4101,4101,4101,4133,6182,4134,4101,4101,4101,2053,
 36.3374 +5,5,5,5,5,5,5,5,5,5,5,5,2053,2053,2053,2053,
 36.3375 +2053,2053,2053,2053,2053,2053,2053,2052,2052,2052,2052,2052,2052,2052,2052,2052,
 36.3376 +4101,4101,4101,4101,4101,4101,4100,4100,4100,6180,6213,8293,10374,10406,10406,10406,
 36.3377 +8294,8294,8294,8262,6213,6181,6181,6149,4101,4101,4101,4101,6149,6149,6149,6149,
 36.3378 +6149,6149,4101,4101,4101,4101,4101,4101,4101,4101,4101,4101,4101,4101,4101,4101,
 36.3379 +4100,4100,4100,4100,4100,4100,4100,4133,4100,6181,6213,8262,8262,8294,10342,10375,
 36.3380 +10406,10406,8326,8293,6213,6213,6213,8261,6214,6181,6181,6149,6149,6149,6149,4101,
 36.3381 +4101,4101,4101,4101,4101,4101,4101,4101,4101,4101,4101,4101,4101,4101,4101,4101,
 36.3382 +4101,4101,6149,6149,6149,6149,8197,8197,12325,12325,12325,14406,16518,18566,16485,14405,
 36.3383 +14437,12356,10243,10243,8195,8195,10243,10244,10244,10245,10310,10310,8230,6149,6149,4100,
 36.3384 +4101,4101,4101,4101,4101,4101,4101,4101,4101,4101,4101,4101,4101,4101,4101,4101,
 36.3385 +2052,2052,2052,2052,2052,2052,2052,2052,2053,2053,2052,2053,2053,2053,4133,4133,
 36.3386 +2053,4101,4101,4101,2053,2053,2052,2052,2053,2053,2053,2053,2053,2052,2052,4,
 36.3387 +4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,
 36.3388 +4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,
 36.3389 +2052,2052,2052,2053,2053,2053,2053,2053,2053,2053,4133,4133,2053,2053,2053,2053,
 36.3390 +5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,2053,
 36.3391 +2052,2052,2053,2053,2053,2053,2052,2052,2052,2052,2052,2052,2052,2052,2052,2053,
 36.3392 +2053,2053,2053,2053,2053,4101,4101,4100,4100,4100,6181,6245,8325,8326,10406,10406,
 36.3393 +8294,8294,8294,8294,8262,6213,6181,6181,4101,4101,4101,4101,4101,6149,6149,6149,
 36.3394 +8230,6150,6149,4101,6149,6149,4101,4101,4101,4101,4101,4101,4101,4101,4101,4101,
 36.3395 +4101,4100,4101,4101,4100,4100,4133,6213,4100,6181,6213,8261,6213,8261,8294,10374,
 36.3396 +8325,8325,8326,8293,8261,6213,6213,8261,8262,6181,6149,4101,4101,4101,4101,4101,
 36.3397 +4101,4101,4101,4101,4101,4101,4101,4101,4101,4101,4101,4101,4101,4101,4101,4101,
 36.3398 +4101,4101,4101,4101,4101,6149,8197,8197,10245,12357,14438,16518,16518,16485,16453,16453,
 36.3399 +16452,16484,16452,14372,12291,12291,12291,10244,10244,10245,10277,10277,8197,6149,6149,6149,
 36.3400 +4101,4101,4101,4101,4101,4101,4101,4100,4100,4100,4100,4101,4101,4101,4101,4101,
 36.3401 +2052,2052,2052,2052,2052,2052,2052,2052,2052,2052,2052,2052,2052,2052,2052,2085,
 36.3402 +2053,2053,2053,2053,2052,2053,2053,2053,2053,2053,2053,2053,2053,2052,2052,4,
 36.3403 +4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,
 36.3404 +4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,
 36.3405 +4,2052,2052,2052,2053,2053,2053,2053,2052,2053,2053,2053,2053,2052,2052,4,
 36.3406 +5,5,5,5,4,4,4,4,4,4,4,4,4,5,5,5,
 36.3407 +2052,2052,2052,2052,2052,2052,4,4,2052,2052,2052,4,4,4,4,2052,
 36.3408 +2053,2053,2053,2053,2053,2053,2053,4101,4101,4100,4101,4133,6213,6213,8293,8326,
 36.3409 +8294,8294,8294,8262,6213,6213,6181,6181,6149,4101,4101,4101,4101,4101,6149,6149,
 36.3410 +8230,6150,6149,6149,6149,6149,6149,4101,4101,4101,4101,4101,4101,4101,4101,4101,
 36.3411 +4101,4101,4101,4101,4101,4101,6181,6213,6181,6181,6213,6213,6181,8261,8293,8294,
 36.3412 +10373,8325,8326,8326,8293,8293,8261,8261,6214,6213,6181,6149,4101,4101,4101,4101,
 36.3413 +4101,4101,4101,4101,4101,4101,4101,4101,4101,4101,4101,4101,4101,4101,4101,4101,
 36.3414 +4101,4101,4101,4101,4101,6149,6149,8197,8196,12325,14438,16518,16454,14373,14373,16453,
 36.3415 +14339,16452,20613,20646,18566,16453,14340,12292,12292,10244,10245,8197,8197,6149,6149,6149,
 36.3416 +6149,6149,6149,6149,6181,6181,6149,6149,6149,6149,4101,4101,4101,4101,4101,4101,
 36.3417 +2052,2052,2052,2052,2052,2052,2052,2052,2052,2052,2052,2052,2052,2052,2052,2052,
 36.3418 +2052,2052,2052,2052,2052,2052,2053,2053,2053,2053,2053,2053,2053,2052,2052,4,
 36.3419 +4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,
 36.3420 +4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,
 36.3421 +4,4,4,4,2052,4,2053,2053,2052,4,2052,4,2052,4,4,4,
 36.3422 +5,5,5,5,4,4,4,4,4,4,4,4,4,4,5,5,
 36.3423 +4,2052,2052,2052,2052,2052,2052,2052,2053,2053,2052,2052,4,4,4,4,
 36.3424 +5,2053,2053,2053,2053,2053,2053,2053,4101,2052,2052,2052,4100,4133,6181,6213,
 36.3425 +6214,6213,6213,6181,6181,6181,6181,6181,6149,6149,4101,4101,4101,4101,4101,4101,
 36.3426 +6149,6149,4101,4101,6149,6149,4101,4101,4101,4101,4101,4101,4101,4101,4101,4101,
 36.3427 +4101,4101,4101,4101,4101,4133,6213,8294,8294,8261,8261,6213,8261,8293,8293,8293,
 36.3428 +10374,10406,10406,10406,10374,8293,8261,8261,6213,6181,6181,6149,4101,4101,4101,4101,
 36.3429 +4101,4101,4101,4101,4101,4101,4101,4101,4101,4101,4101,4101,4101,4101,4101,4101,
 36.3430 +2053,2053,2053,4101,4101,4101,6149,8197,8196,10245,12357,14405,14373,14341,14341,16421,
 36.3431 +16420,18500,20613,22726,22759,20646,18501,14340,12292,12292,10245,8197,8197,6149,6149,6149,
 36.3432 +6149,6149,6149,8229,8230,8230,8229,6149,6149,6149,6149,6148,6148,6148,6148,4100,
 36.3433 +4100,4100,4100,4100,4100,4100,4100,4100,4101,4100,4100,4100,4100,4100,4100,4100,
 36.3434 +2052,2052,2052,2052,2052,2052,2053,2053,2053,2053,2053,2053,2053,4,4,4,
 36.3435 +4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,
 36.3436 +4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,
 36.3437 +4,4,4,4,4,4,4,4,2053,4,4,4,4,4,4,4,
 36.3438 +4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,
 36.3439 +4,4,4,4,4,2053,2053,2053,2053,2053,2053,4,4,4,4,4,
 36.3440 +5,5,2053,2053,2053,2053,2053,2053,2053,2052,2052,2052,2052,2052,4101,4133,
 36.3441 +6181,6181,6149,6149,6149,6149,6149,6149,4101,4101,4101,4101,4101,4101,4101,6149,
 36.3442 +6149,6149,4101,4101,6149,6149,4101,4101,4101,4101,4101,4101,4101,4101,4101,4101,
 36.3443 +4102,4102,4102,4102,6181,6182,8294,8326,10375,8294,8294,8293,10374,10406,10373,10341,
 36.3444 +12454,12486,12487,10406,10374,8294,8294,8261,6181,6181,6181,6149,4101,4101,4101,4101,
 36.3445 +4101,4101,4101,4101,4101,4101,4101,4101,4101,4101,4101,4101,4101,4101,4101,4101,
 36.3446 +2053,2085,2085,4101,4101,4101,6149,8197,8197,8197,10245,12293,12293,14373,14373,16421,
 36.3447 +20613,20580,20581,22694,24807,22727,18533,14340,12291,12292,10244,10245,8197,6149,6149,6149,
 36.3448 +6149,8197,8197,8229,8262,10310,8230,8229,6149,6149,6149,6148,6148,6148,6148,6148,
 36.3449 +4100,4100,4100,4100,4100,4101,4101,4101,6149,6149,4101,4100,4100,4100,4100,4100,
 36.3450 +2052,2052,2052,2052,2052,2052,2053,2053,2052,2052,2052,4,4,4,4,2053,
 36.3451 +4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,
 36.3452 +4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,
 36.3453 +4,4,4,4,4,4,4,4,5,4,4,4,4,4,4,4,
 36.3454 +4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,
 36.3455 +4,4,4,4,4,2053,2053,2085,2053,2053,2053,2053,4,4,4,4,
 36.3456 +5,5,5,2053,2053,2053,2053,2053,2053,2053,2053,2053,2053,4101,4101,4101,
 36.3457 +6149,6149,6149,4100,4100,6149,6149,6181,4101,4101,4101,4101,4101,4101,6149,6149,
 36.3458 +6149,6149,4101,6149,6181,6181,6149,4101,4101,4101,4101,4101,4101,4101,4101,4101,
 36.3459 +4101,4102,4102,4101,6150,6182,8294,8326,10407,10374,10374,10406,12487,12519,10406,10373,
 36.3460 +12454,12487,12487,10374,10342,10374,10374,8294,8294,8262,6214,6181,6149,4101,4101,4101,
 36.3461 +4134,4102,4102,4101,4101,4101,4101,4101,4101,4101,4101,4101,4101,4101,4101,4101,
 36.3462 +2053,2053,2053,2053,4101,4101,4100,6148,6149,8196,8196,10244,10245,12293,12293,14340,
 36.3463 +18500,22694,22726,22662,22694,22759,20647,16421,12292,12292,10244,10245,8197,8229,8229,8229,
 36.3464 +6148,6148,6149,8229,8229,8197,8197,8196,8197,8197,8197,8197,6148,6148,6148,6149,
 36.3465 +6148,6148,6148,6148,6149,6149,8197,8197,8197,8197,8197,8197,6149,6148,6148,4100,
 36.3466 +2052,2052,2052,2052,2052,2053,2052,4,4,4,4,4,4,4,4,4,
 36.3467 +4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,
 36.3468 +4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,
 36.3469 +4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,
 36.3470 +4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,
 36.3471 +4,4,4,4,4,4,4,4,2053,2053,4,4,4,4,4,5,
 36.3472 +5,5,5,5,5,5,2053,2053,2053,2053,2053,2053,2053,2053,2053,4101,
 36.3473 +6149,6181,6181,6181,6181,6149,6181,6181,6149,6149,6149,4101,4101,4101,4101,4101,
 36.3474 +6149,6149,6149,6149,6149,6149,4101,4101,4101,4101,4100,4100,4100,4101,4101,4133,
 36.3475 +4102,4102,4101,6150,6182,6182,8262,8326,10375,10406,10407,12486,12486,12486,12454,12454,
 36.3476 +12486,12487,12454,10374,8294,10374,10374,8294,8294,8294,8262,6214,6214,6182,6182,4134,
 36.3477 +4102,4101,4101,4101,4101,4101,4101,4101,4101,4101,4101,4101,4101,4101,4101,4101,
 36.3478 +2053,2053,2053,2053,4101,4101,4100,6148,6149,6149,8197,8197,10245,10245,12293,12292,
 36.3479 +16420,18532,18501,16420,16452,20614,20646,16486,12292,12292,10245,10245,8197,8229,8229,8229,
 36.3480 +8197,8196,8196,8197,8197,8197,8196,8197,8196,8197,10245,10277,8197,8197,8197,8197,
 36.3481 +8197,8197,8197,8197,8197,8197,8197,8197,8197,8197,8197,8197,8197,8196,6148,6148,
 36.3482 +4100,2052,2052,2052,2052,2052,2052,4,4,4,4,4,4,4,4,4,
 36.3483 +2052,2052,2052,2052,2052,2052,4,4,4,4,4,4,4,4,4,4,
 36.3484 +4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,
 36.3485 +4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,
 36.3486 +4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,
 36.3487 +4,4,4,4,4,4,4,4,2053,4,4,4,4,4,2053,2053,
 36.3488 +5,5,5,5,5,5,2053,2053,2053,2053,2053,2053,2053,2053,2053,2053,
 36.3489 +6181,6181,6213,6213,6181,6181,6181,6181,6149,6149,6149,6149,4101,4101,4101,4101,
 36.3490 +6149,6149,6149,6149,6181,6181,6149,6149,4101,4101,4101,4101,4101,4101,4101,4133,
 36.3491 +4101,4101,4101,6150,6182,6182,8262,8294,10342,10374,10374,12454,12487,12519,12519,12519,
 36.3492 +12422,10374,10374,8261,8261,8261,8261,6181,8262,8262,8262,6214,6214,6214,6182,4134,
 36.3493 +4101,4101,4101,4101,4101,4101,4101,4101,4101,4101,4101,4101,4101,4101,4101,4101,
 36.3494 +2053,2053,2053,2053,4101,4101,4101,6148,6148,6148,8197,8197,8197,10245,10245,10244,
 36.3495 +12292,12291,12291,12291,12292,14373,16485,16486,12293,12325,10277,10277,8229,8229,6149,8197,
 36.3496 +8197,8196,6148,8196,8196,8196,8196,10245,8197,10277,10309,12358,12358,10310,10309,10309,
 36.3497 +10277,10245,10245,10245,8197,10245,10245,10245,10245,10245,10245,10245,10245,8196,8196,6148,
 36.3498 +4100,2052,2052,2052,2052,2052,2052,4,4,4,4,4,4,4,4,4,
 36.3499 +2052,2052,2052,2052,2052,2052,2052,2052,2052,4,4,4,4,4,4,4,
 36.3500 +4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,
 36.3501 +4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,
 36.3502 +4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,
 36.3503 +4,4,4,4,4,4,4,4,4,4,4,4,4,5,2085,2053,
 36.3504 +2053,2053,2053,2053,2053,2053,2053,2053,2053,2053,2053,2053,2053,2053,2053,4101,
 36.3505 +6181,6213,8262,6213,6213,6181,6181,6181,6181,6181,6149,6149,4101,4101,4101,4101,
 36.3506 +6149,6148,6149,6181,6181,6181,6181,6181,4133,4133,4133,4133,4133,4133,4133,4133,
 36.3507 +4101,4101,6150,6149,6182,6182,8262,8262,8261,8261,8261,8293,10342,10374,10406,12454,
 36.3508 +10341,10341,10341,8261,8261,8229,6181,6148,6181,6181,6214,6214,6214,6182,4134,4134,
 36.3509 +4101,4101,4101,4101,4101,4101,4101,4101,4101,4101,4101,4101,4101,4101,4101,4101,
 36.3510 +2053,2053,2053,4101,4101,4101,4101,4101,4100,6148,6149,8197,8197,8197,8197,8196,
 36.3511 +10244,8195,8195,10244,10244,10244,10244,12292,12325,10277,12357,10309,10277,8229,8229,8197,
 36.3512 +8196,8196,8196,8196,10245,10245,10245,10277,12358,12358,12390,12390,12390,12358,12358,12358,
 36.3513 +12326,10278,10245,10245,10245,10245,10245,10245,10245,10245,10245,10245,10245,10245,8196,8197,
 36.3514 +4101,2053,2052,2052,2052,2052,2052,4,4,4,4,4,4,4,4,4,
 36.3515 +2052,4100,4100,2052,2052,2052,2052,2052,2052,2052,4,4,4,4,4,4,
 36.3516 +4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,
 36.3517 +4,4,4,4,4,4,4,4,2053,4,4,4,4,4,4,2053,
 36.3518 +2052,2052,2052,2052,2052,4,4,4,4,4,4,4,4,4,4,4,
 36.3519 +4,4,4,4,4,4,4,4,4,4,4,4,4,4,5,5,
 36.3520 +2053,2053,2085,2085,2086,2085,2053,2053,2053,2053,2053,2053,2053,4101,4102,4134,
 36.3521 +6213,6213,8262,8262,8262,6213,6181,6181,6182,6181,6149,6149,4101,4101,4101,4101,
 36.3522 +6148,6148,6149,6181,6181,6181,6181,6181,6181,6181,6181,6213,4133,4133,4133,4133,
 36.3523 +6149,6181,6181,6181,6182,8262,8262,8229,8229,6181,6181,6148,6180,8229,8261,8261,
 36.3524 +10341,10341,10342,10374,10342,8261,6181,6148,6149,6149,4133,4133,4133,4133,4133,4101,
 36.3525 +4101,4101,4101,4101,4101,4101,4101,4101,4101,4101,4101,4101,4101,4101,4101,4101,
 36.3526 +2053,2053,2053,4101,4101,4101,4101,4101,4100,4100,6149,6149,6149,6149,6149,6148,
 36.3527 +6148,6147,6148,8228,8196,8195,8195,8196,10244,10277,10309,10309,8261,8229,8229,8261,
 36.3528 +10244,10244,10244,12325,12358,12358,12357,12358,14471,14470,14438,12358,12357,12357,12325,12325,
 36.3529 +12326,10278,10245,10245,10245,8197,10245,8197,10245,8197,10245,8197,10245,8197,8197,8197,
 36.3530 +4101,2053,4,4,4,2052,4,4,4,4,4,4,4,4,4,2052,
 36.3531 +2052,4100,4100,4100,4100,4100,4100,2052,2052,2052,2052,2052,2052,4,4,4,
 36.3532 +4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,
 36.3533 +4,4,4,4,4,4,4,4,2053,2053,2052,4,2052,4,2053,2053,
 36.3534 +2052,2052,2052,2052,2052,2052,2052,2052,2052,4,4,4,4,4,4,4,
 36.3535 +4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,
 36.3536 +4,2053,2085,4133,4166,4133,2053,2053,2053,2053,2053,2053,4101,4101,4134,6182,
 36.3537 +6213,6213,8262,8262,8262,6213,6181,6181,6181,6181,6149,6149,4101,4101,4101,4101,
 36.3538 +6148,6148,6149,6149,6181,6181,6181,6181,6213,6213,6213,6213,6213,6213,6213,6213,
 36.3539 +6181,6213,6181,6181,8262,8294,8294,8229,8261,8229,6149,6148,6148,6148,8197,8197,
 36.3540 +8228,8228,10309,10342,10342,8229,6148,4100,6149,4101,4101,4133,4133,4133,4101,4101,
 36.3541 +4101,4101,4101,4101,4101,4101,4101,4101,4101,4101,4101,4101,4101,4101,4101,4101,
 36.3542 +4101,4101,4101,4101,4101,4101,4101,4101,4100,4100,4100,6148,6148,6148,6148,4100,
 36.3543 +4100,2051,4099,4100,4100,4099,6148,8196,8196,8196,10277,8229,8228,8228,8229,10309,
 36.3544 +10277,10245,12325,14438,14438,14438,14406,14406,16519,14438,12358,12325,12293,10245,10245,10244,
 36.3545 +10245,10245,8197,8197,8197,8196,8196,8196,8196,8196,8196,8196,8197,8197,8197,6149,
 36.3546 +4133,2053,2052,4,4,2052,4,4,4,4,4,4,4,4,4,2052,
 36.3547 +4100,4100,6148,6149,6149,6149,4100,4100,4100,4100,2052,2052,2052,2052,2052,2052,
 36.3548 +4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,
 36.3549 +4,4,4,4,4,4,4,4,2053,2053,2052,2052,2052,2052,2053,2052,
 36.3550 +2052,4100,4100,4100,4100,2052,2052,2052,2052,2052,2052,4,4,4,4,4,
 36.3551 +4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,5,
 36.3552 +4,2052,2053,4133,4133,4133,2053,2052,2053,2053,4101,4101,4101,4101,4101,4133,
 36.3553 +6213,6213,6213,8262,8262,6213,6181,6149,6181,6149,6149,4101,4101,4101,4101,4101,
 36.3554 +6148,6148,4100,6149,6149,6181,6181,6181,6213,6213,6246,6246,8326,8326,8326,8326,
 36.3555 +8294,8294,8262,6181,8229,8294,8294,6181,6181,6149,6149,6148,6148,6148,6149,8197,
 36.3556 +8196,6147,8196,8229,8229,6148,6148,4100,6149,4101,4101,4101,4101,4101,4101,4101,
 36.3557 +4101,4101,4101,4101,4101,4101,4101,4101,4101,4101,4101,4101,4101,4101,4101,4101,
 36.3558 +4101,4101,4101,4101,4101,4101,4101,4101,4100,4100,4100,4100,4100,4100,4100,4100,
 36.3559 +2052,2052,2052,2052,2051,4100,6148,6148,6148,6148,8196,8196,6148,6148,8228,10276,
 36.3560 +10244,10244,12293,12357,14406,12357,12325,12325,14406,12325,12293,10244,10244,10244,10244,8196,
 36.3561 +8196,6148,6148,6148,6148,6148,6148,6148,6148,6148,6148,6148,6148,6148,6148,6181,
 36.3562 +4133,2085,2052,4,4,2052,4,4,4,4,4,4,4,4,4,2052,
 36.3563 +4100,6148,6149,8229,8261,6181,6149,6149,4101,4100,4100,2052,2052,2052,2052,2052,
 36.3564 +4,4,4,4,4,5,5,2085,4,4,4,4,4,4,4,4,
 36.3565 +4,2052,2052,2052,2052,2052,2052,2052,2053,2053,2053,2052,2052,2053,2053,2052,
 36.3566 +4101,4100,4101,4101,4101,4100,2052,2052,2052,2052,2052,2052,2052,4,4,4,
 36.3567 +4,4,4,4,4,4,4,4,4,4,4,4,5,37,2085,2085,
 36.3568 +2052,2052,2053,2053,2053,4101,4133,4133,4101,4133,4133,6182,6182,4133,4101,4101,
 36.3569 +6181,6181,6181,6213,6213,6181,6149,4100,6149,6149,4101,4101,4101,4101,4101,4101,
 36.3570 +6148,6148,4100,6149,6149,6149,4101,4100,6181,6213,6246,8326,8359,8359,8359,10407,
 36.3571 +8326,10374,8294,6181,6181,8294,8261,6148,6149,6148,6148,6148,6148,6148,6149,6148,
 36.3572 +6148,6148,6148,6149,6181,6148,4100,6181,4101,4101,4101,2052,2053,2053,2053,2053,
 36.3573 +2053,2053,4101,4101,4101,4101,4101,4101,4101,4101,4101,4101,4101,4101,4101,4101,
 36.3574 +4101,4101,4101,4101,4101,4101,4101,4101,4100,4100,2052,2052,2052,2052,2052,2052,
 36.3575 +4,2085,2085,2052,2052,2052,4100,4099,4100,6148,6148,6148,4099,6147,6148,8228,
 36.3576 +10244,10244,10244,10245,10277,10244,8196,8196,10277,10244,8196,8196,10244,8196,8196,6147,
 36.3577 +6147,4100,6148,6148,6148,6148,4100,4099,6148,6148,6148,6148,6148,6148,6148,6180,
 36.3578 +4133,2085,2052,4,4,2052,4,4,4,4,4,4,4,4,4,2052,
 36.3579 +4100,6148,8229,8261,10310,8261,8229,6149,6149,6148,4100,4100,2051,2051,2052,2052,
 36.3580 +4,4,4,4,2053,2053,2085,2085,2053,2053,2053,4,4,4,4,4,
 36.3581 +2052,2052,2052,4101,4101,4101,4101,4101,4100,2052,2052,2052,2052,2052,2052,2052,
 36.3582 +4100,4100,6180,6181,4101,4100,4100,2052,2052,2052,2052,2052,2052,2052,2052,4,
 36.3583 +4,4,4,4,4,4,4,4,4,4,4,36,2085,2117,2118,4197,
 36.3584 +4165,4133,2084,2052,2052,4133,4165,6214,6214,6246,6246,6246,6214,6214,6181,4101,
 36.3585 +6181,6181,6181,6213,6214,6181,4101,4100,4101,4101,4101,4101,4101,4101,4101,4101,
 36.3586 +4100,4100,4101,4100,4101,4100,4100,4100,6181,6213,6246,8326,8359,10439,10439,10439,
 36.3587 +10407,10407,8294,6181,6149,8261,6181,4100,6149,6149,6149,6149,6149,6149,6149,6148,
 36.3588 +4101,4101,4101,4101,4101,4101,4101,4101,4101,4101,4101,4101,4101,4101,2053,2053,
 36.3589 +2053,2053,2053,2053,2053,2053,2053,2053,4101,4101,4101,4101,4101,4101,4100,4100,
 36.3590 +4101,4101,4101,4101,4101,4101,4101,4101,2053,2053,2053,2052,2052,4,4,4,
 36.3591 +2052,2052,2052,2052,2052,2052,2052,2052,2052,4100,4100,4100,6148,6148,6148,6148,
 36.3592 +8196,8196,8196,8196,8196,6148,6149,6149,6148,6148,6148,6148,6148,6148,6148,6148,
 36.3593 +4100,4100,4100,4100,4100,4100,4100,4100,4100,4100,4100,4100,4100,4100,4100,4100,
 36.3594 +2084,2052,2052,4,4,4,4,4,4,4,4,4,4,4,4,4,
 36.3595 +4100,6148,8229,8261,10309,10277,10245,10277,8197,8196,6148,4099,4099,4099,2051,2052,
 36.3596 +2052,2053,2053,2053,2053,2053,2053,2053,2053,2053,2053,2053,2053,2053,2053,2052,
 36.3597 +4100,4100,4101,4101,6149,6149,6149,6149,8229,6149,6148,4100,4100,2052,2052,2052,
 36.3598 +4099,4099,4099,4100,4100,4099,4099,2051,2052,2052,2052,2052,2052,2052,2052,2052,
 36.3599 +2052,4,4,2052,4,4,4,4,4,4,4,36,37,2149,2150,4230,
 36.3600 +4230,4229,4197,4197,4197,4230,6278,6246,6278,6278,6246,8327,8327,6246,4133,2052,
 36.3601 +4101,4133,4133,6214,6214,4133,4133,4101,4101,4101,4101,4101,4101,4101,4101,4101,
 36.3602 +4101,4101,4101,4101,4101,6149,6149,6149,4101,6181,6214,8294,8327,10407,10408,10440,
 36.3603 +10407,10375,8262,8230,6149,6149,6149,6149,4101,4101,4101,4101,4101,4101,4101,4101,
 36.3604 +4101,4101,4101,4101,4101,4101,4101,4101,4101,4101,4101,4101,4101,4101,2053,2053,
 36.3605 +2053,2053,2053,2053,2053,2053,2053,2053,4101,4101,4101,4133,4133,4101,4133,4101,
 36.3606 +4101,4101,4101,4101,4101,4101,4101,2053,2053,2053,2053,4,4,4,4,4,
 36.3607 +2052,2052,2052,2052,2052,2052,2052,2052,2052,2052,2052,4100,4100,6148,6148,6148,
 36.3608 +6148,6148,6148,6148,6149,6149,6149,4133,4100,4100,4100,4100,4100,4100,4100,4100,
 36.3609 +4100,4100,4100,4100,4100,4100,4100,4100,4100,4100,4100,4100,2052,2052,2052,2052,
 36.3610 +2052,2052,2052,4,3,3,3,3,4,4,4,4,4,4,4,2052,
 36.3611 +4100,6180,8261,8261,10277,10277,10245,12293,10244,8196,8196,6147,6147,4099,2051,2051,
 36.3612 +4100,4101,4101,4101,2053,2053,2053,2053,2053,2053,2053,2053,2053,2053,2053,2052,
 36.3613 +4100,4100,4100,4100,6149,6149,8197,8197,8197,8197,6148,6148,4100,4100,4100,4100,
 36.3614 +6147,6147,6147,6147,6148,6147,4100,4099,4100,4100,4100,4100,2052,2052,2052,2052,
 36.3615 +2052,2052,2052,2052,2052,2052,2052,4,4,4,4,4,2084,2117,2149,4197,
 36.3616 +6375,6342,4262,4230,6310,6310,8391,8391,8359,6278,6246,6246,6246,6214,4133,4101,
 36.3617 +2053,2053,4133,4133,4133,4101,4101,4101,4101,4101,4101,4101,4101,4101,4101,4101,
 36.3618 +4101,4101,4101,4101,4101,4101,4101,4101,6181,6181,6181,6214,8262,8294,8327,10375,
 36.3619 +8295,8262,8230,6150,6149,6149,6149,4101,4101,4101,4101,4101,4101,4101,4101,4101,
 36.3620 +4101,4101,4101,4101,4101,4101,4101,4101,4101,4101,4101,4101,4101,4101,4101,2053,
 36.3621 +2053,2053,2053,2053,2053,2053,2053,2053,2053,4101,4133,6181,6181,6181,6181,6181,
 36.3622 +6149,4101,4101,4101,4101,4101,4101,2053,2053,2053,2053,4,4,4,4,4,
 36.3623 +2052,2052,2052,2052,2052,2052,2052,2052,2052,2052,2052,4100,4100,4100,6148,6148,
 36.3624 +6148,6148,6148,6148,6148,4100,4100,4100,4100,4100,4100,4100,4100,4100,4100,4100,
 36.3625 +4100,4100,4100,4100,2052,2052,2052,2052,2052,2052,2052,2052,2052,2052,2052,2052,
 36.3626 +2052,2052,2052,2052,3,3,3,3,3,3,4,4,4,4,4,2052,
 36.3627 +4100,6148,6180,8229,10277,10277,10245,10245,10244,10244,8196,8196,6148,6148,4099,4100,
 36.3628 +4100,4101,4101,2052,2052,2052,2052,2052,2053,2052,2052,2052,2052,2052,2052,2052,
 36.3629 +2052,4100,4100,4100,6148,6149,6149,8197,8197,6149,6149,6148,4100,6181,4133,6181,
 36.3630 +6148,6148,6148,6148,6148,6148,6148,6148,6148,4100,4100,4100,4100,4100,4100,4100,
 36.3631 +2052,2052,2052,2052,2052,2052,2052,4,2052,4,4,4,2052,2084,2117,4165,
 36.3632 +6342,6310,4229,4197,4197,6278,8359,8391,6278,6246,4165,4133,4133,4133,4133,4101,
 36.3633 +2052,2052,2053,2053,2053,2053,4101,2053,4101,4101,4101,4101,4101,4101,4101,4101,
 36.3634 +4101,4101,4101,4101,4101,4101,4101,4101,6181,6181,4101,4101,6149,6181,6214,8262,
 36.3635 +6149,6149,6149,6149,6149,4101,4101,4101,4101,4101,4101,4101,4101,4101,4101,4101,
 36.3636 +4101,4101,4101,4101,4101,4101,4101,4101,4101,4101,4101,2053,2053,4101,4101,4101,
 36.3637 +2053,2053,2053,2053,2053,2053,4101,4101,4101,4133,6214,6214,6214,6214,6181,6181,
 36.3638 +6181,6149,6149,4101,4101,4101,2053,2053,2053,2053,2053,4,4,4,4,4,
 36.3639 +2052,2052,2052,2052,2052,2052,2052,2052,2052,2052,2052,4100,4100,4100,6148,6149,
 36.3640 +6149,6148,6148,6148,6148,4100,4100,4100,2052,2052,2052,2052,2052,2052,4100,2052,
 36.3641 +2052,2052,2052,2052,2052,2052,2052,2052,2052,2052,2052,2052,2052,2052,2052,2052,
 36.3642 +2052,2052,2052,2052,4,3,3,3,3,3,4,4,2052,2052,2052,2052,
 36.3643 +4099,4099,6148,8196,8196,10244,10244,10244,10244,10244,10244,8228,8228,6180,6180,4100,
 36.3644 +4100,4101,4101,4101,2052,2052,2052,2052,2053,2053,2053,2052,2052,2052,2052,2052,
 36.3645 +2052,2052,4100,4100,4100,6149,6149,6149,6181,6149,6149,6149,4101,4133,4133,6181,
 36.3646 +8196,8196,8196,8195,8196,8196,8196,8196,6148,6148,6148,6148,6148,6148,4100,4100,
 36.3647 +2052,2052,2052,2052,2052,2052,2052,2051,2052,2052,2052,2052,2052,2052,2052,2084,
 36.3648 +4165,4164,2084,2052,2084,4132,4165,4197,6246,4165,4133,2052,2053,2053,2053,2053,
 36.3649 +2053,2053,2052,2052,2053,2053,4101,4101,4101,4101,4101,4101,4101,4101,4101,4101,
 36.3650 +4101,4101,4101,4101,4101,4101,4101,4101,4101,4101,4101,4101,4101,4101,4101,6149,
 36.3651 +4101,4101,4101,4101,4101,4101,4101,4101,4101,4101,4101,4101,4101,4101,2053,2053,
 36.3652 +2053,2053,2053,2053,2053,4101,4101,4101,4101,4101,2053,2053,2053,2053,4101,4101,
 36.3653 +2053,2053,2053,2053,2053,4101,4101,4101,6182,6182,6214,8262,8262,6214,6181,6149,
 36.3654 +6181,4133,4133,4101,4101,4101,2053,2053,2053,2053,2053,4,4,4,4,4,
 36.3655 +2053,2053,2052,2052,2052,2052,2052,2052,2052,2052,4100,4100,4100,6149,8229,8262,
 36.3656 +8197,8197,6148,4100,4100,4100,4100,2052,2052,2052,2052,2052,2052,2052,2052,2052,
 36.3657 +2052,2052,2052,2052,2052,2052,2052,2052,2052,2052,2052,2052,2052,2052,4100,2052,
 36.3658 +2052,2052,2052,2052,2052,2052,2052,2052,3,3,2052,4,2052,2052,2052,2052,
 36.3659 +4100,4099,6148,8196,8196,10244,10244,10244,10244,10244,10277,10277,8229,8228,6180,6180,
 36.3660 +4100,4100,4100,4100,4100,4100,2052,2052,2052,2052,2052,2052,2052,2052,2052,2052,
 36.3661 +2052,2052,2052,4100,4100,4101,6149,6149,6149,6149,4101,4100,4100,4100,4132,4132,
 36.3662 +6148,8195,8195,8195,8195,8196,8196,8196,8196,8196,8196,6148,6148,6148,6148,4100,
 36.3663 +4100,2052,2052,2052,2052,2052,2052,2052,2052,2052,2051,2051,2051,2052,2052,4100,
 36.3664 +2052,2051,2052,2052,2051,2052,2052,2052,4133,2052,2052,2052,2052,2052,2052,2052,
 36.3665 +2053,2052,2052,2052,2052,2053,4101,4101,4101,4101,4101,4101,4101,4101,4101,4101,
 36.3666 +4101,4101,4101,4101,4101,4101,4101,4101,4101,4101,4101,4101,4101,4101,4101,4101,
 36.3667 +4101,4101,4101,4101,4101,4101,2052,2052,2053,2053,2053,2053,2053,2053,2053,2053,
 36.3668 +2053,2053,2053,2053,2053,2053,2053,2053,4101,4101,2053,2053,2053,2053,4101,4101,
 36.3669 +4101,4101,4101,4101,4101,4101,4101,6149,6214,6214,8262,8262,8262,6181,6181,6149,
 36.3670 +4133,4101,4101,4101,4101,2053,2053,2052,2053,2053,2053,2052,4,4,4,4,
 36.3671 +2053,2053,2052,2052,2052,2052,2052,2052,2052,2052,4100,4100,4100,6149,8261,8294,
 36.3672 +8197,8197,6148,4100,4100,4100,2052,2052,2052,2052,2052,2052,2052,2052,2052,2052,
 36.3673 +2052,2052,2052,2052,2052,2052,2052,2052,2052,2052,2052,2052,2052,2052,4100,4100,
 36.3674 +2052,2052,2052,2052,2052,2052,2052,2052,2052,2052,2052,2052,2052,2052,2052,2052,
 36.3675 +6148,6148,6148,8196,8196,10245,10245,10245,10244,10244,10277,10277,8229,8228,6180,6148,
 36.3676 +4100,4100,4100,4100,4100,4100,4100,4133,2052,2052,2052,2052,2052,2084,2084,2052,
 36.3677 +2052,2052,2052,4100,4100,4100,4101,4101,4100,4100,4100,4100,4100,2052,2052,4100,
 36.3678 +6147,6147,6147,8195,8195,8195,8196,8196,8196,6148,6148,6148,6148,6148,6148,4100,
 36.3679 +4100,4100,4100,4132,4100,4132,4133,6180,4100,4100,4100,4099,4100,4099,4100,4100,
 36.3680 +2051,2051,2052,2051,2051,2051,2051,2052,2052,2052,2052,2052,2052,2052,4,2052,
 36.3681 +2052,2052,2052,2052,2052,2052,2053,4101,4101,4101,4101,4101,4101,4101,4101,6149,
 36.3682 +4101,4101,4101,4101,4101,4101,4101,4101,4100,4100,4101,4101,4101,4101,4101,4101,
 36.3683 +4101,4101,4101,4101,4101,2053,2052,2052,2052,2053,2053,2053,2053,2053,2053,2052,
 36.3684 +2052,2052,2052,2053,2053,2053,2053,2053,2053,2053,2053,2053,2053,2053,2053,4101,
 36.3685 +4101,4101,4101,4101,4101,6149,6181,6181,6214,8262,8262,6214,6213,6181,6149,6149,
 36.3686 +4101,4101,4101,4101,4101,2053,2052,2052,2053,2053,2053,2052,2052,4,4,2052,
 36.3687 +2053,2053,2053,2053,2053,2052,4,4,2052,2052,4100,4100,4100,4101,6181,8294,
 36.3688 +8229,8197,6149,4100,4100,2052,2052,2052,2052,2052,2052,2052,2052,2052,2052,2084,
 36.3689 +36,36,36,2052,4,2052,2052,2052,2052,2052,2052,2052,4100,4100,4100,4100,
 36.3690 +2052,2052,2052,2052,2052,2052,2052,2052,2052,2052,2052,2052,2052,2052,2052,4100,
 36.3691 +6180,6148,6148,6148,8196,10245,10277,10245,10244,10244,10244,8196,8196,8196,6148,6148,
 36.3692 +4100,4100,4100,2052,2052,2052,2052,2052,2052,2052,2052,2052,2052,2084,2084,2084,
 36.3693 +2052,2052,2052,2052,4100,4100,4100,4100,2052,2052,2052,2052,2052,2052,2052,2051,
 36.3694 +4099,6147,6147,6148,6148,6148,6148,6147,6148,6148,6148,6148,6148,6148,6147,4099,
 36.3695 +4100,4100,4100,4100,4132,6180,6181,6213,6148,6148,6148,6148,4100,6147,6148,4099,
 36.3696 +4099,4099,4100,2051,2051,2051,2051,2052,2052,2052,2052,2052,4,4,2052,2052,
 36.3697 +2052,4100,4100,4100,4101,4101,4101,4101,6181,6149,6149,6149,6149,6149,6149,6149,
 36.3698 +6149,6149,6149,4101,4101,4101,4101,4101,4101,4101,4101,4101,4101,4101,4101,4101,
 36.3699 +4101,4101,4101,4101,2053,2053,2052,2052,2052,2052,2053,2053,2053,2053,2052,4,
 36.3700 +2052,2052,2052,2052,2052,2053,2053,2053,2053,2053,2053,2053,2053,2053,2053,4101,
 36.3701 +4101,4101,4101,4101,6149,6149,6181,6181,6214,6214,6182,6182,6181,6181,6181,6149,
 36.3702 +4101,4101,4101,2053,2053,2053,2052,2052,2053,2053,2053,2052,2052,2052,2052,2052,
 36.3703 +2053,2053,2053,2053,2053,2053,4,4,2053,2053,2053,2052,2052,4100,6181,8262,
 36.3704 +8230,8229,6149,4100,4100,2052,2052,2052,2052,2052,2052,2052,2052,2052,2052,2084,
 36.3705 +2052,36,36,4,4,2052,2052,2052,2052,2052,2052,2052,4100,4100,4100,4100,
 36.3706 +2052,2052,2052,2052,2052,2052,2052,2052,2052,2052,2052,2052,2052,2052,2052,4100,
 36.3707 +6148,6148,6147,6148,8196,8196,10245,10244,8196,8196,8196,8196,8196,8196,6148,6148,
 36.3708 +4100,4100,4100,2052,2052,2051,2052,2051,2052,2052,2052,2052,4100,2084,4132,4132,
 36.3709 +2052,2052,2052,2052,2052,2052,4100,2084,2052,2052,2052,2052,2052,2052,2052,2051,
 36.3710 +4099,4099,6147,6148,6148,6148,6147,4099,6147,4099,4100,4100,4100,4099,4099,4099,
 36.3711 +4099,4099,4099,4100,6148,6180,6181,8229,8229,8229,8196,6148,6148,6148,6148,6148,
 36.3712 +6148,6148,4100,4100,2051,2051,2052,4100,2052,2052,2052,2052,4,4,2085,2085,
 36.3713 +4101,4101,4133,4133,4133,4133,4101,4101,6181,6181,6181,6149,6149,6181,6181,6181,
 36.3714 +6181,6181,6181,6149,4101,4101,4101,4101,4101,4101,4100,4100,4100,4100,4100,4101,
 36.3715 +4101,2053,2053,2053,2053,2053,2053,2053,2052,2052,2053,2053,2053,2053,4,4,
 36.3716 +4,4,4,4,4,4,2052,2052,2052,2052,2053,2053,2052,2053,4101,4101,
 36.3717 +4101,4101,6149,6181,6213,6213,6213,6213,8294,6213,6181,6149,4101,4101,4101,4101,
 36.3718 +4101,4101,4101,4101,4101,2053,2053,2053,2053,2053,2053,2053,2053,2053,2053,2053,
 36.3719 +2053,2053,2053,2053,2053,2053,2053,2053,2053,2052,2053,2053,4101,4101,4101,4101,
 36.3720 +6149,6149,6149,4101,4101,4100,2052,2052,2052,2052,2053,2053,2053,2052,2052,2052,
 36.3721 +2084,2084,2052,2052,4,2052,2052,2052,2051,2052,2052,4100,4100,4100,4100,4100,
 36.3722 +2052,2052,2052,2052,2052,2052,2052,2052,4100,4100,4100,4100,4100,4100,4100,4100,
 36.3723 +4100,6148,6148,6148,6148,8196,8196,8196,8196,8196,8196,8196,8196,8196,8196,8196,
 36.3724 +6148,6148,4100,4099,2051,2051,2051,4099,4100,2051,4100,4100,4100,4100,4100,4100,
 36.3725 +2052,2052,2052,2052,2052,2052,2052,2052,2052,2052,2052,2052,2052,2052,2052,2052,
 36.3726 +4100,4100,4100,4100,4099,4100,4099,4099,4099,2051,4099,2051,4099,4099,4099,4099,
 36.3727 +4099,4099,4099,4099,4099,6148,6180,6180,8229,8228,8228,8196,8196,8196,8196,8196,
 36.3728 +6181,6181,6181,6180,4100,4100,2052,2052,2051,2052,2052,2052,2085,2085,2085,2085,
 36.3729 +4133,4133,4133,4133,6181,6213,6214,6214,6213,6214,8262,8262,8262,8262,8262,6213,
 36.3730 +6214,6214,6182,6181,6181,4101,4101,4101,4100,4100,4100,4100,4100,4100,4100,4100,
 36.3731 +4101,2053,2053,2053,2053,2053,2053,2053,2052,4,4,4,4,4,4,4,
 36.3732 +4,4,4,4,4,4,2052,2052,2052,2052,2053,2053,2052,2053,4101,4101,
 36.3733 +4101,6149,6181,8262,8294,8294,8262,6214,8262,6181,6149,4101,4101,4101,4101,4101,
 36.3734 +4101,4101,4101,4101,2053,2053,2053,2053,2053,2053,2053,2053,2053,2053,2053,2053,
 36.3735 +2053,2053,2053,2053,2053,2053,2053,2053,2053,2053,2053,2085,2053,4101,4101,4101,
 36.3736 +6149,4101,4101,4101,4101,2052,2052,2053,2085,2085,4133,4133,4133,4133,4101,4101,
 36.3737 +2052,2052,2052,2052,2052,2052,2052,2052,2052,2052,4100,4100,4100,4100,4100,4100,
 36.3738 +2052,2052,2052,2052,2052,4100,4100,4100,4100,4100,4100,4100,4100,4100,4100,4100,
 36.3739 +4100,4100,6148,6148,6148,6148,6148,8196,8196,8196,8196,8196,8196,8196,8196,8228,
 36.3740 +8229,6180,6148,6148,4100,4099,4099,4099,4100,4100,4100,4100,4100,4100,4100,4100,
 36.3741 +2052,2052,2052,2052,2052,2052,2052,2052,2052,2052,2052,2052,2052,2052,2052,2052,
 36.3742 +2052,2052,2051,2051,2051,2051,2051,2051,2051,2051,2051,2051,2051,2051,2051,2051,
 36.3743 +4099,4099,4099,4099,4099,6147,6148,6148,8228,8228,8196,8196,8196,8196,8196,8196,
 36.3744 +6148,6180,6181,6181,6180,4132,4100,4100,4100,4100,4133,2085,4133,4165,4133,4133,
 36.3745 +4165,4133,6181,6213,6213,6214,8294,8294,6214,6214,8262,8262,8262,8262,8262,8262,
 36.3746 +8262,8262,6214,6182,6181,4101,4101,4101,4101,4101,4101,4100,4100,4100,4100,4100,
 36.3747 +2053,2053,2053,2053,2053,2053,2053,2052,2052,4,4,4,4,4,4,4,
 36.3748 +4,4,4,4,4,4,4,4,2052,2052,2053,2053,2053,2053,4101,4101,
 36.3749 +6181,6181,8294,8326,10375,8326,8294,8294,6214,6181,4101,4100,4101,4101,4101,4101,
 36.3750 +4101,2053,2053,2053,2053,2053,2053,2053,2053,2053,2053,2053,2053,2053,2053,2053,
 36.3751 +2053,2053,2053,2053,2053,2053,2053,5,5,2053,2053,2053,2053,4101,4101,4101,
 36.3752 +4101,4101,4101,4101,4101,4101,2053,2053,2053,4101,4101,4101,4101,6149,6149,4101,
 36.3753 +4100,4100,4100,4100,4100,4100,4100,4100,2052,4100,4100,4100,4100,4100,4100,4100,
 36.3754 +2052,2052,2052,2084,4100,4100,4100,4100,4100,4100,4100,4100,4100,6148,4100,4100,
 36.3755 +4100,4099,4100,4100,6148,6148,6148,6148,6147,6147,6147,6147,6148,6148,8196,8228,
 36.3756 +8196,8228,8229,8229,8228,8196,6148,6147,6148,6148,6148,6148,4099,4099,4099,4100,
 36.3757 +4100,2052,2052,2052,2052,2052,2052,2052,4,2052,2052,2052,2052,2052,2052,2052,
 36.3758 +2052,2052,2052,3,2051,2051,2051,2051,2051,2051,2051,2051,2051,2051,2051,2051,
 36.3759 +4099,4098,4099,4099,4099,6147,6147,6147,8196,8196,8196,8196,8196,8196,8196,8196,
 36.3760 +6148,4100,6180,6181,6181,6213,6213,6213,4133,4165,6213,4165,4166,4165,4165,4133,
 36.3761 +6213,6213,6213,6246,8294,8294,8294,8294,6213,6213,8261,8261,8262,8294,10342,10375,
 36.3762 +8294,8294,8262,6214,6181,4101,4101,4101,4101,4101,4101,4101,4101,4100,4100,4100,
 36.3763 +2053,2053,4101,2053,2053,2053,2053,2052,2052,2052,4,4,4,4,4,4,
 36.3764 +4,4,4,4,4,4,4,4,2052,2052,2053,2053,2053,4101,4101,4101,
 36.3765 +6213,8294,10374,10407,10439,10407,8326,8294,6181,4133,4100,4100,4101,4101,4101,2052,
 36.3766 +2053,2053,2053,2053,2053,2053,2053,2053,2053,2053,2053,2053,2053,2053,2053,2053,
 36.3767 +2053,2053,2053,2053,2053,2053,2053,5,5,5,2053,2053,2053,2053,4101,4101,
 36.3768 +4101,4101,4101,2053,2053,4101,2053,4101,4101,4101,4101,6149,6149,6149,6149,6149,
 36.3769 +6149,6181,6181,6181,4101,4100,4100,4100,4100,4100,4100,4100,4100,4100,4100,2052,
 36.3770 +2052,2052,2084,2084,4132,4100,4100,4100,4100,4100,6149,6149,6149,6148,6148,6148,
 36.3771 +4100,4099,4099,4099,4100,4100,4100,4100,4099,4099,4099,4099,6147,6148,8196,8196,
 36.3772 +8196,8196,8228,10277,10309,10277,8228,8228,8196,8196,6148,6148,6148,6148,6147,4100,
 36.3773 +4100,4100,2052,2052,2052,2052,2052,2052,4,2052,2052,2052,2052,2052,4100,2052,
 36.3774 +2051,3,3,3,2051,2051,2051,2051,2051,2051,2051,2051,2051,2051,2051,4099,
 36.3775 +4099,6147,6147,6147,6147,6147,6147,6147,6147,6147,6147,6147,6147,6147,6147,6148,
 36.3776 +4099,4100,4132,4133,6213,6213,6213,6213,6213,6213,6246,8326,6246,6246,6246,6246,
 36.3777 +6246,8294,8294,8294,8294,6214,6213,6181,6181,6181,6181,6181,8261,8294,10342,10375,
 36.3778 +8294,8294,6214,6214,6181,6149,4101,4101,4101,4101,4101,4101,4101,4101,4100,4100,
 36.3779 +4101,4101,4101,4133,4133,4133,2053,2052,2053,2052,2052,4,4,4,4,4,
 36.3780 +4,4,4,4,4,4,4,2052,2052,2052,2053,2053,2053,4101,4101,4133,
 36.3781 +6213,8326,10439,12519,12519,10439,8326,6246,4133,4132,4100,2052,2052,2052,2053,2052,
 36.3782 +2053,2053,2053,2053,2053,2053,2053,2053,2053,2053,2053,2053,2053,2053,2053,2053,
 36.3783 +2053,4101,2053,2053,2053,2053,2053,5,5,5,2053,2053,2053,2053,2053,2053,
 36.3784 +2053,2053,2053,2053,2053,2053,4101,4101,4133,6181,6149,6150,8198,8198,10246,10278,
 36.3785 +8197,6181,6149,6149,6149,6149,6148,4100,4100,4100,4100,4100,4100,4100,2052,2052,
 36.3786 +2052,2052,2084,2084,4132,4100,4100,4100,4100,6149,6149,6149,6149,6149,6148,6148,
 36.3787 +4100,2051,2051,2051,4099,4099,4099,4099,4099,4099,4099,4099,4099,6147,6148,8196,
 36.3788 +8196,8196,8196,10276,10276,10276,10276,10276,10276,8228,8228,8196,8196,8196,6148,6148,
 36.3789 +4100,4100,4100,2052,2052,2052,2052,2052,2052,2052,2052,2052,2052,4100,4100,4100,
 36.3790 +2052,2052,2052,2051,2051,2052,2051,2051,4099,4099,4099,4099,4099,4099,4099,6147,
 36.3791 +6147,6147,6147,6147,6147,6147,6147,6147,6147,6147,6147,6147,6147,6147,6147,4099,
 36.3792 +4099,4100,4132,4132,4133,4165,4133,4133,6214,6214,8294,8359,8359,8327,8327,10439,
 36.3793 +10375,8327,8326,8326,8294,6213,6181,6149,6149,6149,6149,6149,6181,8261,8262,8294,
 36.3794 +6214,6214,6182,6181,6181,6181,6149,6149,4101,4101,4101,4101,4101,4101,4101,4101,
 36.3795 +4101,4101,4133,4134,4133,4133,4101,2053,2053,2052,2052,2052,2052,4,2052,2052,
 36.3796 +4,4,4,4,4,4,4,4,2052,2052,2053,2053,4101,4101,4101,4133,
 36.3797 +6245,8325,10406,10439,10439,8358,6246,6213,4132,2052,2052,2052,2052,2052,2052,2052,
 36.3798 +2053,2053,2053,2053,2053,2053,2053,2053,2053,2053,2053,2053,2053,2053,2053,2053,
 36.3799 +4101,4101,2054,2053,2053,2053,2053,5,5,5,2053,2053,2053,2053,2053,2052,
 36.3800 +2053,2052,2052,2052,2053,2053,2053,4101,4101,6149,6149,8197,8198,10246,10246,10278,
 36.3801 +8197,8197,8197,8197,6149,6149,6149,6181,4100,4100,4100,4100,4100,2052,2052,2052,
 36.3802 +2052,2052,2052,4100,4100,4100,4100,4100,4100,6149,6149,6149,6149,6149,6148,6148,
 36.3803 +2051,2051,2051,2051,2051,2051,2051,2051,4099,4099,4099,4099,4099,6147,6148,8196,
 36.3804 +10244,10244,10244,10244,10244,10244,10244,8196,10276,10276,10276,8228,8196,8196,8196,8196,
 36.3805 +6148,4100,4100,4100,2052,2052,2052,2052,2052,2052,2052,2052,4100,4100,4100,4100,
 36.3806 +2052,2052,2052,2052,2052,2052,4100,4100,4100,4100,4099,6147,6147,6147,6147,6147,
 36.3807 +8228,8228,8196,8195,8195,8195,8195,8228,6147,6147,6147,6147,6147,6147,6147,4099,
 36.3808 +4100,4132,4132,4132,4132,4132,4133,4133,6213,6213,8294,10407,10407,10375,10375,12488,
 36.3809 +10407,10407,8326,8294,6214,6181,6149,4100,6149,6149,6148,6149,6149,6181,6181,8229,
 36.3810 +6149,6181,6181,6181,6149,6149,6149,6149,4101,4101,4101,4101,4101,4101,4101,4101,
 36.3811 +4101,4101,4133,4133,4133,4133,4101,4101,2053,2053,2052,2052,2052,2052,2052,2052,
 36.3812 +36,36,4,4,4,4,4,4,2052,2052,2053,2053,4101,4101,4101,4133,
 36.3813 +6213,6245,8358,8358,8358,6245,4165,4100,2052,2052,2052,2052,2052,4,4,4,
 36.3814 +2052,2052,2052,2052,2052,2053,2053,2053,2053,2053,2053,2053,2053,4101,4101,4101,
 36.3815 +4102,4102,2054,2054,2053,2053,2053,5,5,5,5,2053,2053,2053,2052,2052,
 36.3816 +2053,2052,2052,2052,2052,2053,2053,4101,4101,6149,6149,8197,8197,10246,12294,12294,
 36.3817 +10278,10245,8197,8197,8197,6149,6149,6149,4100,4100,4100,4100,4100,2052,2052,2052,
 36.3818 +2052,2052,2052,4100,4100,4100,4100,4100,4100,6148,6149,6149,8197,6149,6148,6148,
 36.3819 +2051,2051,2051,2051,2051,2051,2051,2051,2051,2051,4099,4099,6148,6148,6148,8196,
 36.3820 +10244,10244,10244,10244,10244,10244,10244,10244,10244,10244,10244,8196,8196,8196,8196,8196,
 36.3821 +6148,6148,4100,4100,2052,2052,2052,2052,2052,2052,2052,2052,4100,4100,4100,4100,
 36.3822 +4100,4100,4100,4100,4100,4100,6148,6148,6148,6148,6148,6148,6148,8196,8195,8228,
 36.3823 +10276,10276,10276,8228,8228,8228,8228,8228,6147,6147,6179,6179,6147,6147,4099,4099,
 36.3824 +4132,4132,4132,4132,4132,4132,4100,4100,4101,4101,6213,8327,8295,8230,8262,10375,
 36.3825 +8294,8294,6214,6213,6181,6181,6149,6149,6149,6149,6148,6148,6148,6148,6148,6148,
 36.3826 +4101,4101,4101,4101,4101,4101,4101,4101,4101,4101,4101,4101,4101,4101,4101,6149,
 36.3827 +4101,4101,4101,4101,4101,4101,4101,4101,2053,2053,2052,2052,2052,2052,2052,2052,
 36.3828 +4,4,4,4,4,4,2052,2052,2052,2052,2053,2053,4101,4101,4101,6181,
 36.3829 +6181,6213,8294,8326,6278,6213,4100,2052,2052,2052,4,4,4,4,4,4,
 36.3830 +2052,2052,2053,2053,2053,2053,2053,2052,2053,2053,2053,2053,2053,2053,4101,4101,
 36.3831 +4101,4101,4101,2053,2053,2053,2053,5,5,5,5,2053,2053,2052,2052,2052,
 36.3832 +2053,2052,2052,2052,2052,2052,2052,4100,6149,6149,8197,8197,10245,12294,12294,12326,
 36.3833 +14406,12358,10245,8196,6148,6148,6148,4100,4100,4100,4100,2052,2052,2052,2052,2052,
 36.3834 +2052,2052,4100,4100,4100,4100,4100,4100,6148,6148,6148,8197,8197,6148,6148,4100,
 36.3835 +2052,2052,2052,3,2051,2051,2051,2051,2051,2051,4100,4100,6148,6180,6180,8228,
 36.3836 +8196,10244,10244,10244,10244,10244,10244,10244,10244,8196,8196,8196,8196,8196,8196,8196,
 36.3837 +6148,6149,4100,4100,4100,2052,2052,2052,2052,2052,2052,2052,4100,4100,4100,4100,
 36.3838 +4100,4100,4100,4100,4100,4100,6148,6148,6148,6148,6148,8196,8196,8196,8228,8196,
 36.3839 +10276,10276,10276,10276,10244,8196,8196,8228,6147,6147,6179,6179,6147,4099,4099,2051,
 36.3840 +4132,4132,4133,4133,4133,4133,4101,4101,4100,2052,4101,6214,6182,4101,4101,6181,
 36.3841 +6181,6149,4101,4101,4100,4101,6149,6149,6149,6149,6149,6149,6149,4100,4100,4100,
 36.3842 +4100,4100,4101,4100,4101,4100,4101,4100,4101,4100,4101,4101,4101,4133,6149,4133,
 36.3843 +4101,4101,4101,4101,4101,4101,4101,4101,2052,2053,2052,2052,2052,2052,2052,2052,
 36.3844 +2052,2053,4133,2053,2053,4133,2053,4,2052,2053,4101,4101,4101,4133,4133,4101,
 36.3845 +4101,4133,6214,6214,6214,4133,4101,2052,2052,2052,4,4,4,4,4,4,
 36.3846 +2053,2053,2053,2053,2053,2053,2053,2053,2053,2053,2053,2053,2052,2053,2053,2053,
 36.3847 +4133,4133,4133,4133,2053,2053,2053,2052,4,4,5,5,4,4,4,4,
 36.3848 +2053,2053,2052,2052,2052,2052,4100,4100,4100,6149,8196,8196,10245,12293,14406,16486,
 36.3849 +16518,14438,12325,10244,8196,6148,4100,4100,4101,4101,2053,2052,2052,2052,2052,2052,
 36.3850 +2052,4100,4100,6148,6148,6148,6148,8196,8196,8196,8196,8196,8196,6148,6148,4100,
 36.3851 +2052,36,4,4,4,4,2052,2052,2051,2051,2052,4099,4100,6148,6180,6180,
 36.3852 +8228,8228,8196,8196,8196,8196,8196,6147,6148,6148,8196,6148,6148,6147,6148,6147,
 36.3853 +4100,4100,4100,4100,2052,2052,2051,2051,2051,2051,2051,2051,2051,2051,2051,2051,
 36.3854 +4100,4100,4100,4100,4100,4100,4100,6148,6147,6147,6147,6147,8195,8196,8196,10244,
 36.3855 +10244,12292,12292,12292,12292,12292,12324,10276,10244,10276,8228,8228,6180,4099,4099,4099,
 36.3856 +4100,4101,4133,4133,4133,4133,4101,4100,4101,4101,4101,4101,4101,4101,4101,4101,
 36.3857 +4101,4101,4101,4101,4101,4101,4101,4101,4101,6149,6149,6149,4101,4101,4101,4101,
 36.3858 +4100,4100,4100,4100,4100,4100,4100,4100,4100,4100,4100,2052,4100,4100,4100,4100,
 36.3859 +2052,2052,2052,2052,2052,2052,2052,2052,2052,2052,2052,2052,2053,2053,2053,2053,
 36.3860 +4101,4133,4133,4101,4101,4133,4101,4101,4101,4101,4133,4133,4133,4133,4101,4101,
 36.3861 +4101,4101,4134,4134,4134,4101,2053,2053,2053,2053,5,5,4,4,4,5,
 36.3862 +2053,2053,2053,2053,2053,2053,2053,2053,2053,2053,2053,2053,2052,2053,2053,2053,
 36.3863 +4101,4165,4165,4133,2053,2053,2052,2052,2052,2052,5,5,4,4,5,5,
 36.3864 +2053,2053,2052,2052,2052,2052,2052,4100,4100,6148,6148,8196,10244,12325,14438,16518,
 36.3865 +16550,14470,12357,10244,8196,6148,6148,4101,4101,4101,2053,2053,2052,2052,2052,2052,
 36.3866 +4100,4100,6148,6149,8197,8197,8197,10245,8196,8196,8196,8196,8196,6148,6147,4100,
 36.3867 +2052,5,4,4,4,4,2052,2052,2051,2052,2051,4100,4100,4100,6148,6148,
 36.3868 +8196,8196,8196,8196,8196,6148,6148,6148,6148,6148,6148,6148,6148,4099,6147,4099,
 36.3869 +4100,4100,4100,2052,2052,2051,2051,2051,2051,2051,2051,2051,2051,2051,2051,2051,
 36.3870 +2052,2052,2051,2051,2051,4100,4099,4100,6148,6147,6147,6147,8195,8196,8196,10244,
 36.3871 +12292,12292,12292,12292,12292,12292,12292,12292,10244,10244,8228,8228,6148,4099,4099,4099,
 36.3872 +6149,4101,6149,6149,6149,4101,4101,4101,4101,4101,4101,4101,4101,4101,4101,4101,
 36.3873 +4101,4101,4101,4101,4101,4101,4101,4101,4101,4101,4101,4101,4101,4101,4101,4101,
 36.3874 +4100,4100,4100,4100,4100,4100,4100,4100,4100,4100,4100,2052,2052,4100,4100,4100,
 36.3875 +2052,2052,2052,2052,2052,2052,2052,2052,2052,2052,2053,2053,2053,2053,2053,2053,
 36.3876 +4166,6214,4166,4101,4101,4133,4166,6214,6214,6214,6214,6214,6214,4133,4101,4101,
 36.3877 +4101,4101,4101,4101,4101,4101,2053,2053,2053,2053,2053,2053,5,5,5,5,
 36.3878 +2053,2053,2053,2053,2053,2053,2053,2053,2053,2053,2053,2052,2052,2053,2053,2053,
 36.3879 +4101,4165,6246,4165,4101,2052,2052,2052,2052,2052,5,5,5,4,5,5,
 36.3880 +2053,4,4,4,2052,2052,2052,2052,4100,4100,6148,8196,8197,10277,12390,14470,
 36.3881 +16551,14470,12357,8196,8196,6148,6149,6149,4101,4101,2053,2052,2052,2052,2052,2052,
 36.3882 +4100,6148,6148,8229,8229,10277,10277,10277,8196,8196,8196,8196,6148,6148,6147,4100,
 36.3883 +2052,4,4,4,4,4,2052,2052,2051,2051,2051,2051,4099,4100,4100,6148,
 36.3884 +6148,6148,6148,6148,6148,6148,6148,6147,6147,4099,6147,4099,4099,4099,4099,4099,
 36.3885 +4100,2052,2052,2052,2052,2051,2051,2051,2051,2051,2051,3,3,3,3,3,
 36.3886 +3,3,2051,2051,2051,2051,4099,4099,6148,6148,6148,6148,6148,8196,8196,8196,
 36.3887 +10244,10244,10244,10244,10244,10244,10244,10244,10244,8196,8196,8196,6147,6147,4099,4099,
 36.3888 +6181,6149,6149,6149,6149,6149,6149,6181,6181,4133,4133,4133,4101,4101,4101,4101,
 36.3889 +4101,4101,4101,4101,4101,4101,4101,4101,4101,4101,4101,4101,4101,4101,4101,4101,
 36.3890 +4100,4100,4100,4100,4100,4100,4100,4100,4100,4100,4100,4100,4100,4100,4100,2052,
 36.3891 +2052,2052,2052,2052,2052,2052,2052,2052,2053,2053,4133,4133,4133,4133,4133,4133,
 36.3892 +6214,6246,6214,4166,4134,6214,6246,6247,6246,6246,6247,6246,6214,4133,4101,2053,
 36.3893 +4101,4101,4101,4101,2053,2053,2053,2053,2053,2053,5,5,5,5,5,5,
 36.3894 +2053,2053,2053,2053,2053,2053,2053,2053,2053,2053,2052,2052,2052,2053,2053,2053,
 36.3895 +4100,6213,6246,6213,4101,2052,2052,2052,2052,2052,2053,5,5,5,5,4,
 36.3896 +2053,4,4,4,2052,2052,2052,2052,2052,4100,6148,6149,8197,10277,12358,12390,
 36.3897 +14470,12390,10309,8228,8197,6149,6149,6149,4101,4101,4101,2052,2052,2052,4100,4100,
 36.3898 +6148,6148,6148,8196,8229,10277,10277,10245,8196,8196,8196,8196,6148,6148,4099,4100,
 36.3899 +4,4,4,4,4,4,2052,2052,2051,2051,2051,2051,4099,4099,4100,4100,
 36.3900 +6147,6148,6148,6148,6148,6147,6147,4099,4099,4099,4099,4099,4099,4099,4099,2051,
 36.3901 +2052,2052,2052,2052,2051,2051,2051,2051,3,3,3,3,3,3,3,3,
 36.3902 +3,3,3,2051,2051,2051,2051,4100,4100,4100,6147,6147,6148,6148,6148,8196,
 36.3903 +8196,8196,8196,8196,8196,8196,8196,8196,8196,8196,8196,8196,6148,6147,6147,6147,
 36.3904 +8229,6149,6149,6148,6149,6149,6149,6149,6181,6181,6181,6181,6149,4101,4101,4101,
 36.3905 +6149,4101,4101,4101,4101,4101,4101,4101,4101,4101,4101,4101,4101,4101,4101,4101,
 36.3906 +4100,2052,4100,4100,4100,4100,4100,4100,4100,4101,4133,4133,4133,4133,4101,4100,
 36.3907 +2052,2052,2052,2052,2052,2052,2053,2052,2052,2053,4133,4133,4166,4166,6246,6246,
 36.3908 +8327,8327,8327,8327,8327,8327,8327,8359,6247,6247,6247,6246,6214,4133,4101,2052,
 36.3909 +4101,4101,2053,2053,2053,2053,2053,2053,2053,2053,2053,2053,5,5,5,5,
 36.3910 +2053,2053,2053,2053,2053,2053,2053,2053,2053,2053,2052,2052,2052,2052,2053,2053,
 36.3911 +4133,6246,8326,6214,4101,2052,2052,2052,2052,2052,2053,2053,5,5,5,5,
 36.3912 +5,4,4,4,4,2052,2052,2052,2052,4100,4100,6148,6149,8197,8197,10278,
 36.3913 +10309,10309,10277,8229,8229,6149,6149,4101,4101,4101,4100,4100,4100,4100,6149,6148,
 36.3914 +8196,8196,8196,8196,8196,10245,10244,8196,8196,8196,6148,6148,4099,4099,4099,2051,
 36.3915 +4,4,4,4,4,4,2052,2052,2052,2051,2051,2051,2051,2051,4099,4099,
 36.3916 +4099,4100,4100,4100,4100,4100,4100,4099,4100,4100,4100,4100,4100,4100,4099,2051,
 36.3917 +2052,2052,2052,2051,2051,3,2051,3,3,3,3,3,3,3,3,3,
 36.3918 +4,4,3,3,3,2052,2052,2052,4100,4100,4099,4099,4099,6147,6147,6147,
 36.3919 +6180,6147,6147,6147,6147,6147,6147,8195,8195,8196,8196,8228,8196,8196,6148,6148,
 36.3920 +8196,8196,8196,8196,8196,8196,6148,6148,8229,8229,8229,6181,6149,6149,6149,6149,
 36.3921 +6149,6149,6149,6149,6149,6149,6149,6149,4101,4101,4101,4101,4101,4101,4101,4101,
 36.3922 +2052,2052,4100,4100,4101,4101,4101,4133,4133,6181,6181,6214,6214,6181,6181,4133,
 36.3923 +4101,2053,2053,2053,2053,2052,2053,2053,2052,2053,4133,4166,4166,6246,6278,8359,
 36.3924 +10440,8359,8359,10440,10440,8392,8359,8359,6246,6246,6214,6214,4133,4101,2053,2053,
 36.3925 +2053,2053,2053,2053,2053,2053,2053,2053,2053,2053,2053,2053,2053,2053,2053,2053,
 36.3926 +2053,2053,2053,2053,2053,2053,2053,2053,2053,2053,2052,2053,2052,2053,4133,4133,
 36.3927 +6246,8326,8327,6214,4133,4101,2052,2052,2053,2052,2053,2053,2053,5,5,5,
 36.3928 +4,4,4,4,4,2052,2052,2052,2053,2053,4101,4101,4101,6149,6149,8197,
 36.3929 +8196,8196,8196,8196,6149,6149,6149,4100,6149,4101,4100,6148,6148,8197,8229,10277,
 36.3930 +10277,10244,10244,8196,10244,10245,10244,8196,8196,6148,6148,4099,4099,2051,2051,2051,
 36.3931 +4,4,4,4,2052,2052,2052,2052,2052,2052,2052,2052,2051,2051,4099,4099,
 36.3932 +4099,4099,4100,4100,4100,4100,4099,4099,4100,4100,4100,4100,4100,2051,2051,2051,
 36.3933 +2051,2051,2051,3,3,3,3,3,3,3,3,3,3,3,3,3,
 36.3934 +4,4,3,3,4,2052,2084,2052,2052,4099,4099,4099,4099,4099,4099,4099,
 36.3935 +4131,4131,4099,4099,4099,4099,6147,6147,8195,8196,8196,8196,8196,8196,8196,8196,
 36.3936 +8196,8196,8196,8196,8196,8196,8196,6148,8229,8229,8229,8229,6148,6148,6148,6149,
 36.3937 +6149,6149,6149,6181,6181,6181,6182,6182,6149,6149,6149,6149,4101,4101,4101,4101,
 36.3938 +2052,2052,4100,4101,4101,4101,4133,4133,6181,6181,6181,6181,6181,6181,6181,4134,
 36.3939 +4101,2053,2053,2053,2053,2053,2053,2053,2053,2053,4133,4133,4133,4166,6278,8359,
 36.3940 +8392,6279,6246,8359,8392,8359,6279,6279,4166,4133,4133,4133,2053,2053,2053,2053,
 36.3941 +2053,2053,2053,2053,2053,2053,2053,2053,2053,2053,2053,2053,2053,2053,2053,2053,
 36.3942 +4134,4102,4101,4101,4101,4101,4101,4101,2053,2053,4101,4101,4101,4133,4165,6213,
 36.3943 +8359,10407,8327,6214,4133,4101,4101,2052,2053,2053,2053,2053,2053,2053,2053,5,
 36.3944 +4,4,4,4,4,5,2085,2053,2053,2053,4101,4101,4101,4101,6149,6149,
 36.3945 +6148,6148,6148,6148,6149,6149,6149,6148,6148,6148,6148,6148,8196,10277,12357,12357,
 36.3946 +12357,12325,10244,10244,10244,10244,10244,8196,8196,6148,6148,4099,4099,2051,2051,2051,
 36.3947 +2052,2052,2052,2052,2052,2052,2052,4100,4100,4100,4100,2052,2052,2052,4100,4100,
 36.3948 +4099,4100,4100,4100,4100,2051,2051,2051,2051,2051,2051,2051,2051,2051,2051,2051,
 36.3949 +2051,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,
 36.3950 +3,3,3,4,3,2052,2084,2084,2052,2052,2051,2051,2051,2051,2051,2051,
 36.3951 +2051,2083,2051,2051,4099,4099,4099,6147,6147,8195,8196,8196,8196,8196,8196,8196,
 36.3952 +8196,8196,8196,8196,8196,8196,8196,8196,8196,8229,8229,8229,6148,6148,6148,6149,
 36.3953 +6149,4133,4133,4133,6182,6182,6182,6214,6182,6182,6182,6182,4133,4101,4101,4101,
 36.3954 +4101,4101,4101,4101,4101,4101,6149,6149,6181,6181,6149,6149,6149,6149,6181,4134,
 36.3955 +4102,4102,4102,4101,2053,2053,2053,2053,2053,4101,4101,4101,2052,4133,6246,8327,
 36.3956 +6279,4166,4133,4166,6246,6246,4166,4133,4133,2053,2053,2053,2053,2053,2053,2053,
 36.3957 +2053,2053,2053,2053,2053,2053,2053,2052,2053,2053,2053,2053,2085,2085,4133,4133,
 36.3958 +4134,4134,4134,4102,4101,4101,4101,4101,4101,4101,4101,4133,4133,6214,6246,6246,
 36.3959 +10439,10439,8359,6214,4133,4133,4101,2052,2053,2053,2053,2053,2053,2053,2053,2053,
 36.3960 +2052,4,4,4,4,5,2085,2053,2053,2053,4101,4101,4101,4101,6149,6149,
 36.3961 +6148,6147,6147,6148,6148,6149,6149,8197,6148,6148,8196,8196,10244,12325,14405,16486,
 36.3962 +14405,12292,10244,10243,10244,10244,10244,8196,6148,6148,4100,4099,2051,2051,2051,2052,
 36.3963 +2051,2051,2052,2052,2052,4100,4100,4132,4132,4132,4100,4100,4100,4100,4100,4100,
 36.3964 +4100,4100,4100,4100,4100,2051,2051,2051,2051,2051,2051,2051,2051,2051,3,3,
 36.3965 +3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,
 36.3966 +3,3,3,3,4,4,2084,2084,2084,2052,2051,2051,2051,2051,2051,2051,
 36.3967 +35,35,3,3,2051,4099,4099,4099,6147,6147,8195,8196,8196,8196,8196,8196,
 36.3968 +10244,8196,8195,8195,8195,8195,8196,8196,8196,8228,8228,8228,8196,6148,6148,6149,
 36.3969 +6149,4101,4133,4133,6182,6214,6214,6214,6214,6214,6214,6182,4133,4101,4101,4101,
 36.3970 +4101,4101,4101,4101,4101,4101,4101,4101,4101,4101,4101,4101,4101,4101,4101,4101,
 36.3971 +4102,4102,4102,4102,4101,2053,2053,4101,2053,4101,2053,2052,2052,2052,4165,6246,
 36.3972 +2053,2053,2053,2053,2053,2053,2053,2053,2053,2053,2053,2053,2053,2053,2053,2053,
 36.3973 +2053,2053,2053,2053,2053,2053,2053,2053,2053,2053,2053,4101,4134,4134,4166,4166,
 36.3974 +4166,6182,4134,4134,4101,4101,4101,4101,4133,4133,4133,6213,6213,6213,8326,10472,
 36.3975 +12585,12520,8327,6214,4133,4101,4101,4101,4101,4101,2053,2053,2053,2053,2053,2053,
 36.3976 +2052,4,2053,2053,2085,2085,2052,2052,2052,2052,4100,4101,6149,6149,6149,6148,
 36.3977 +8196,6147,8196,6148,8196,10277,6148,8197,10245,10244,8195,12293,14405,14340,16453,16453,
 36.3978 +16453,16421,14340,12291,10243,10244,10244,8196,6147,6147,4099,4099,4099,2051,2051,2052,
 36.3979 +4100,4100,4100,4100,4100,4132,6180,6180,4100,4100,4100,4100,4100,4100,4100,4100,
 36.3980 +4100,4100,4100,4100,4100,2052,2052,2051,2051,2051,2051,3,3,3,3,3,
 36.3981 +3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,
 36.3982 +4,4,4,4,4,4,4,3,3,3,3,2051,2051,2051,2051,2051,
 36.3983 +35,35,35,3,2051,2051,4099,4099,6147,6147,8195,8196,8196,8196,10244,10244,
 36.3984 +8195,8195,8195,8195,8195,8195,8195,8195,8196,8196,8196,8228,8196,8196,6147,6148,
 36.3985 +4100,4101,4101,4101,4101,4133,4133,4133,6214,6214,4134,4101,4101,4101,2053,4101,
 36.3986 +4101,6181,8294,8294,6182,4101,4101,4101,6181,4101,4100,4100,4100,4101,4101,4101,
 36.3987 +4101,4101,4101,2053,2053,4101,4101,2053,2053,2053,4101,4101,4100,4101,4101,4101,
 36.3988 +2053,2053,2053,2053,2053,2053,2053,2053,2053,2053,2053,2053,2053,2052,2052,2052,
 36.3989 +2053,2053,2053,2053,2053,2053,2053,2053,2053,2053,2053,4133,4134,4166,6214,6246,
 36.3990 +6182,6182,4134,4134,4101,4101,4101,4101,4133,4133,6213,6246,6246,6246,8359,12552,
 36.3991 +14633,12520,8359,6246,6181,4133,4133,4133,4101,4101,4101,2053,2053,2053,2053,2053,
 36.3992 +2053,4,2053,2053,2053,2052,2052,2052,2052,4100,4100,4100,6148,6149,8197,8197,
 36.3993 +8196,6147,8196,8196,10277,10309,10245,10277,12358,14373,12292,16453,16453,14339,16420,16388,
 36.3994 +16388,16389,14340,12291,12292,12292,10244,8196,8196,6147,6148,4099,4100,4100,4100,4100,
 36.3995 +6148,6148,6148,6148,6148,6148,6180,6180,6148,6148,4100,4100,4100,4100,4100,4100,
 36.3996 +4100,4100,4100,4100,2052,2052,2052,2052,2052,2051,3,3,3,3,3,3,
 36.3997 +3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,
 36.3998 +4,4,4,4,4,4,4,4,3,3,3,3,2051,2051,2051,3,
 36.3999 +35,35,2,2,2051,2051,4099,4099,6147,6147,8196,8196,8196,8196,8196,8196,
 36.4000 +8195,8195,8195,8195,8195,8195,8195,8195,8196,8196,8196,8228,8228,8228,6148,6148,
 36.4001 +4100,4101,4101,4101,4101,4101,4101,4101,4101,4101,4101,4101,4101,4101,2053,2053,
 36.4002 +4101,6181,8294,8294,6214,6149,4101,6149,8262,6181,6149,4101,6149,6181,6181,6181,
 36.4003 +4101,4134,4134,4101,4101,4133,4133,4101,4101,4101,4101,4101,4100,4100,4100,4100,
 36.4004 +2053,2053,2053,2053,2053,2052,2052,2052,2053,2052,2052,2052,2052,2052,2052,2052,
 36.4005 +2053,2053,2053,2053,2053,2053,2053,2053,2053,2053,4101,4133,4134,6214,6246,6247,
 36.4006 +4134,4134,4133,4133,4101,4101,4101,4101,4133,4133,6213,8326,8326,8359,10472,12585,
 36.4007 +12552,10439,8326,6213,4133,4101,4101,4101,4101,4101,4101,4101,4101,2053,2053,2053,
 36.4008 +2053,2053,2053,2053,2052,2052,2052,2052,4100,4100,4100,6148,8196,10244,10277,12325,
 36.4009 +10276,10244,12357,12390,14438,14470,12325,14405,14406,16486,16453,20646,20613,16387,18467,18435,
 36.4010 +18436,16388,16388,14339,12292,12292,12292,10244,8196,8196,6148,6148,6148,4100,4100,4100,
 36.4011 +6148,6148,6148,6148,6148,6148,6180,8228,6148,6148,6148,6148,6148,4100,4100,4100,
 36.4012 +4100,4100,4100,4100,2084,2052,2052,2052,2052,2052,4,4,3,3,3,3,
 36.4013 +3,2051,2051,3,3,3,3,3,3,3,3,3,3,3,3,3,
 36.4014 +4,4,4,4,4,4,4,4,3,3,3,3,3,3,2051,3,
 36.4015 +35,3,2,2,2051,4099,4099,6147,6147,6148,8196,8196,8196,8196,8196,8195,
 36.4016 +8195,8195,8195,8195,8195,8195,8228,8228,6147,6148,8228,8228,8228,8228,6180,6180,
 36.4017 +4101,4101,4101,4101,4101,4101,4101,4101,2053,2053,2053,2053,2053,4101,4101,4101,
 36.4018 +4101,6181,8294,8294,6213,6181,6181,6181,8262,6213,6181,6181,6181,6181,6181,6213,
 36.4019 +4133,6213,6214,6213,4133,6213,6214,4133,4101,4101,4101,2053,2053,2053,2053,4101,
 36.4020 +2053,2053,2053,2052,2052,2052,2052,2052,2052,2052,2052,2052,2052,2052,2052,4,
 36.4021 +5,5,5,5,2053,2053,2053,2053,2053,2053,4101,4101,4134,4166,6214,6214,
 36.4022 +4134,4134,4101,4101,4101,4101,4101,4101,4101,4133,6214,8326,8326,8359,10472,12552,
 36.4023 +10407,8327,6214,6181,4101,4101,4101,4101,4101,4101,4101,4101,4101,4101,2053,2053,
 36.4024 +2053,2053,2053,2053,2052,2052,2052,4100,4100,6148,6148,8196,10244,12325,14405,16486,
 36.4025 +14405,12325,16518,16518,16550,16518,14373,14405,14372,18566,20614,24774,22693,20515,22595,22596,
 36.4026 +20484,18437,16388,14339,12291,12292,12292,10276,10276,8196,8196,6148,6148,6148,6148,6148,
 36.4027 +8196,8196,8196,8196,8196,8196,8196,8228,8196,6148,6148,6148,6148,6148,6148,4100,
 36.4028 +4100,4100,4100,4100,4100,2084,2052,2052,2052,2052,2052,4,3,3,3,3,
 36.4029 +2051,2051,2051,2051,2051,3,2051,3,3,3,3,3,3,3,3,3,
 36.4030 +4,4,4,4,4,4,4,4,3,3,3,3,3,3,2051,2051,
 36.4031 +2083,2051,2051,2050,2051,4099,6147,6148,6148,6148,8196,8196,8196,6148,6147,6147,
 36.4032 +8195,6147,6147,6147,6147,8227,6179,6180,6148,6148,6180,6180,6180,6180,6180,6180,
 36.4033 +4100,4101,4101,4101,4101,4101,4101,4101,2053,2053,2053,4101,4101,4101,4133,4133,
 36.4034 +4100,6181,8262,8261,6213,6181,6213,8261,8294,8294,8262,6213,6213,6213,8262,8293,
 36.4035 +6213,6277,8326,6245,6213,6245,6213,6213,4101,4101,4101,4101,2053,2053,2053,2053,
 36.4036 +2053,2053,2053,2052,2052,2052,2052,4,2052,2052,2052,4,4,4,4,4,
 36.4037 +4,4,5,5,5,2053,2053,2053,2053,2053,4101,4101,4101,4101,4134,4134,
 36.4038 +4101,4101,4101,4101,4101,4101,4101,4101,4101,4133,6213,6246,8294,8326,8358,8359,
 36.4039 +8326,8294,6181,6149,4101,4101,4101,4101,4101,4101,4101,4101,4101,4101,4101,2053,
 36.4040 +2053,2053,2053,2052,2052,2052,4100,4100,6147,8196,10276,12357,14405,16485,18566,18598,
 36.4041 +16485,14372,16486,16486,18566,18566,14372,16453,16420,20613,22726,26887,24773,22627,24708,24708,
 36.4042 +22597,20549,18437,14339,12291,12291,12324,12324,10276,10244,8196,8196,6148,6148,6148,8196,
 36.4043 +10244,10244,10244,10244,10244,10244,10244,8196,8196,8196,8196,6148,6148,6148,6148,4100,
 36.4044 +4100,4100,4100,2052,4100,4100,4100,2084,2052,2052,2052,2052,2052,4,4,4,
 36.4045 +2051,2051,2051,2051,2051,3,2051,3,2051,3,3,3,3,3,3,3,
 36.4046 +4,4,4,4,4,4,4,4,4,4,3,3,2052,2052,2051,2051,
 36.4047 +2051,2051,2051,2051,4099,6147,6147,6180,6148,6148,6148,6148,6147,6147,6147,6147,
 36.4048 +6147,6147,6147,6147,6147,6147,6180,6180,6180,6180,6180,6180,4100,4100,4100,4100,
 36.4049 +4100,2053,4101,4101,4101,4133,4133,4133,4101,4101,4101,4101,4101,4133,4133,4133,
 36.4050 +4100,6180,8261,8261,8261,8261,8294,8294,10407,10374,10374,10374,10374,10374,10374,10406,
 36.4051 +10406,10438,10438,8357,8325,8325,6245,6213,4133,4133,4101,4101,4101,4101,4101,4101,
 36.4052 +2053,2053,2053,2053,2053,2052,2052,2052,2053,2052,2052,2052,2052,4,4,4,
 36.4053 +4,5,5,2053,2053,2053,2053,2053,2053,2053,4101,4101,4101,4101,4101,4101,
 36.4054 +4101,4101,4101,4101,4101,4101,4101,4101,4101,6181,6213,6213,6213,6246,6246,6245,
 36.4055 +6213,6181,4101,4100,4101,4101,4100,4100,4101,4101,4101,4101,4101,2053,2053,2053,
 36.4056 +2053,2053,2053,2053,2052,4100,4100,6148,8196,10276,14437,16518,18566,20646,20646,22694,
 36.4057 +16453,14339,14340,16420,16453,18566,16421,18501,18500,24774,24806,28967,26821,24675,26756,24708,
 36.4058 +24677,22630,20517,16388,14339,12291,12292,12324,12324,10244,8196,8196,8196,8196,8197,10244,
 36.4059 +10244,12292,12292,12292,12293,10244,10244,10244,8196,8196,8196,8196,6148,6148,6148,6148,
 36.4060 +4100,4100,4100,2052,2052,2052,2052,2052,2052,2052,2052,2052,2052,2052,2052,2052,
 36.4061 +2051,2051,2051,2051,2051,2051,2051,2051,2051,2051,2051,3,3,3,3,3,
 36.4062 +4,4,4,4,4,4,4,4,4,4,3,2052,2052,2052,2052,2051,
 36.4063 +2051,4099,4099,4099,4099,6147,6147,6148,6147,6147,6147,6147,6147,4099,4099,4099,
 36.4064 +6147,6147,4099,4099,4099,4099,4099,4131,4099,4131,4099,4099,4099,4099,2051,2052,
 36.4065 +2052,2053,2053,4101,4101,4133,4133,4133,4101,4101,4101,4101,4101,4133,4133,4133,
 36.4066 +6181,6180,8261,8293,8293,8293,10374,10374,12487,12487,12487,12487,10407,10406,12487,12519,
 36.4067 +12550,12550,10470,10437,8389,10438,8358,8326,6213,6213,4133,4101,4101,4101,4101,4101,
 36.4068 +2053,2053,2053,2053,2053,2053,2053,2053,2053,2053,2053,2053,2053,2052,2052,2052,
 36.4069 +5,5,5,5,2053,2053,2053,2053,2053,2053,4101,4101,4101,4101,4101,4101,
 36.4070 +4101,4101,4101,4101,4101,4101,4101,4101,4133,6213,6213,4133,4133,6213,6213,6181,
 36.4071 +4101,4100,4100,4100,4100,4100,2052,2052,4101,4101,4101,4101,2053,2053,2053,2053,
 36.4072 +2053,2053,2053,2053,2052,4100,4100,6148,10276,12357,16517,18598,20613,20613,22661,22694,
 36.4073 +20581,14339,14339,14339,16421,20614,18501,18501,20581,24806,26854,28934,26788,24675,26755,24675,
 36.4074 +24677,22630,22597,18468,16388,14340,14340,12324,12325,10276,10244,8196,8196,10244,10245,10245,
 36.4075 +12292,14340,14373,14373,14373,12325,10244,10244,8196,8196,8196,8196,6148,6148,6148,6148,
 36.4076 +4100,4100,4100,2052,2052,2052,2052,2052,2052,2052,2052,2052,2052,2052,2052,2052,
 36.4077 +2051,2051,2051,2051,2051,2051,2051,2051,2051,2051,2051,2051,2051,2051,2051,4,
 36.4078 +4,4,4,4,4,4,4,4,3,3,2052,2052,2052,2052,2052,2052,
 36.4079 +4099,4099,6147,6147,6147,6147,6147,6147,6147,6147,6147,4099,4099,4099,2051,2051,
 36.4080 +4099,4099,4099,4099,4099,4099,4099,4099,4099,4099,4099,2051,2051,2051,2051,2052,
 36.4081 +2052,2053,4101,4101,4101,4101,4101,4133,4101,4101,4133,4133,4133,4134,4166,6213,
 36.4082 +8293,8293,8293,8325,10374,10374,10406,10406,12519,12519,12519,12519,12519,12519,12519,12551,
 36.4083 +14663,12582,10470,10437,10470,10502,10470,8358,6245,6213,6181,4101,4101,4101,4101,4101,
 36.4084 +2053,2053,2053,2053,2053,2053,2053,2053,2053,2053,2053,2053,2053,2053,2053,2053,
 36.4085 +5,5,5,2053,2053,2053,2053,2053,2053,2053,4101,4101,4101,4101,4102,4134,
 36.4086 +4101,4101,4101,4101,4133,4133,4133,4133,6181,6213,6213,4133,4132,6213,6213,4133,
 36.4087 +6149,4100,4100,4100,4101,4101,4101,4101,4101,4101,4101,4101,2053,2053,2053,2053,
 36.4088 +2054,2053,2053,2053,2052,4100,6148,6148,10277,14405,16517,18565,18533,20580,20580,22629,
 36.4089 +22726,16388,14339,14339,16420,20614,18501,20581,20581,24774,24773,26821,24708,22562,26723,24643,
 36.4090 +24645,24678,22630,20549,16388,14372,14340,12292,12325,10277,10245,10244,10244,10245,10245,12293,
 36.4091 +12293,14341,14373,14405,14373,12325,10244,10244,8196,8196,8196,8196,8196,6148,6148,6148,
 36.4092 +4100,4100,4100,2052,2052,2052,2052,2052,2052,2052,2052,2052,2052,2052,2052,2052,
 36.4093 +2052,4100,2052,2052,2052,2052,2052,2052,2052,2052,2052,2052,2051,2051,2051,2052,
 36.4094 +4,4,4,4,4,4,4,4,3,3,3,2052,2051,2052,2052,2051,
 36.4095 +4099,6147,6147,6148,6148,6147,6147,6147,6147,6147,4099,4099,4099,2051,2051,2051,
 36.4096 +4099,4099,4099,4099,2051,2051,2051,2051,2051,2051,2051,2051,2051,2052,2052,2052,
 36.4097 +4101,4101,4101,4101,4101,4101,4101,4101,4133,4133,4133,4134,6214,6214,6246,6246,
 36.4098 +8326,10374,10374,10374,10374,10406,10406,10406,14600,14632,14632,14632,14632,14632,14632,14664,
 36.4099 +14663,12581,10469,8389,10470,12551,12551,10438,6245,6246,6181,4101,4101,4101,4101,4101};
    37.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    37.2 +++ b/src/sky1.h	Wed Jun 05 22:33:37 2013 +0300
    37.3 @@ -0,0 +1,6 @@
    37.4 +#ifndef SKY1_H
    37.5 +#define SKY1_H
    37.6 +
    37.7 +extern unsigned short sky1[];
    37.8 +
    37.9 +#endif