00001 #include "SimG4CMS/Calo/interface/HFFibreFiducial.h"
00002 #include "FWCore/MessageLogger/interface/MessageLogger.h"
00003
00004 #include "CLHEP/Units/GlobalPhysicalConstants.h"
00005 #include "CLHEP/Units/GlobalSystemOfUnits.h"
00006 #include<iostream>
00007
00008
00009
00010
00011 int HFFibreFiducial::PMTNumber(G4ThreeVector pe_effect)
00012 {
00013 #ifdef mkodebug
00014 static double mX=0.;
00015 static double mY=0.;
00016 static double mZ=0.;
00017 #endif
00018 double xv = pe_effect.x();
00019 double yv = pe_effect.y();
00020 #ifdef DebugLog
00021 double zv = pe_effect.z();
00022 #endif
00023 double phi = atan2(yv, xv);
00024 if (phi < 0.) phi+=CLHEP::pi;
00025 double dph = CLHEP::pi/18;
00026 double sph = dph+dph;
00027 int nphi = phi/dph;
00028 #ifdef DebugLog
00029 edm::LogInfo("HFShower") <<"HFFibreFiducial:***> P = " << pe_effect
00030 << ", phi = " << phi/CLHEP::deg;
00031 #endif
00032 if (nphi > 35) nphi=35;
00033 double xl=0.;
00034 double yl=0.;
00035 int nwid=0;
00036 double phir= 0.;
00037 if (nphi==0 || nphi==35)
00038 {
00039 yl=xv;
00040 xl=yv;
00041 nwid=6;
00042 }
00043 else if (nphi==17 || nphi==18)
00044 {
00045 yl=-xv;
00046 xl=-yv;
00047 nwid=15;
00048 phir=CLHEP::pi;
00049 }
00050 else
00051 {
00052 int nr = (nphi+1)/2;
00053 nwid = 6-nr;
00054 if(nwid <= 0) nwid+=18;
00055 phir= sph*nr;
00056 double cosr= cos(phir);
00057 double sinr= sin(phir);
00058 yl= xv*cosr+yv*sinr;
00059 xl= yv*cosr-xv*sinr;
00060 #ifdef DebugLog
00061 edm::LogInfo("HFShower") << "HFFibreFiducial: nr " << nr << " phi " << phir/CLHEP::deg;
00062 #endif
00063 }
00064 if (yl < 0) yl =-yl;
00065 #ifdef DebugLog
00066 edm::LogInfo("HFShower") << "HFFibreFiducial: Global Point " << pe_effect
00067 << " nphi " << nphi << " Local Sector Coordinates ("
00068 << xl << ", " << yl << "), widget # " << nwid;
00069 #endif
00070
00071
00072
00073
00074
00075 static const int nWidM=36;
00076 if (nwid > nWidM || nwid <= 0)
00077 {
00078 #ifdef DebugLog
00079 edm::LogInfo("HFShower") << "-Warning-HFFibreFiducial::PMTNumber: "
00080 << nwid << " == wrong widget number";
00081 #endif
00082 return 0;
00083 }
00084 static const double yMin= 13.1*CLHEP::cm;
00085 static const double yMax=129.6*CLHEP::cm;
00086 if( yl < yMin || yl >= yMax )
00087 {
00088 #ifdef DebugLog
00089 edm::LogInfo("HFShower") << "-Warning-HFFibreFiducial::PMTNumber: Point "
00090 << "with y = " << yl << " outside acceptance ["
00091 << yMin << ":" << yMax << "], X = " << xv
00092 << ", Y = " << yv << ", x = " << xl << ", nW = "
00093 << nwid << ", phi = " << phi/CLHEP::deg
00094 << ", phir = " << phir/CLHEP::deg;
00095 #endif
00096 return 0;
00097 }
00098 bool left=true;
00099 double r=xl/yl;
00100 if (r < 0)
00101 {
00102 r=-r;
00103 left=false;
00104 }
00105 static const double tg10=.17632698070847;
00106 if (r > tg10)
00107 {
00108 #ifdef DebugLog
00109 edm::LogInfo("HFShower") << "-Warning-HFFibreFiducial::PMTNumber: (x = "
00110 << xl << ", y = " << yl << ", tg = " << r
00111 << ") out of the widget acceptance tg(10) " << tg10;
00112 #endif
00113 return 0;
00114 }
00115
00116 static const int nLay=233;
00117 static const int nL001=4;
00118 static const int nL002=4;
00119 static const int nL003=5;
00120 static const int nL004=5;
00121 static const int nL005=5;
00122 static const int nL006=5;
00123 static const int nL007=5;
00124 static const int nL008=6;
00125 static const int nL009=6;
00126 static const int nL010=6;
00127 static const int nL011=6;
00128 static const int nL012=6;
00129 static const int nL013=6;
00130 static const int nL014=7;
00131 static const int nL015=7;
00132 static const int nL016=7;
00133 static const int nL017=7;
00134 static const int nL018=7;
00135 static const int nL019=7;
00136 static const int nL020=8;
00137 static const int nL021=8;
00138 static const int nL022=8;
00139 static const int nL023=8;
00140 static const int nL024=8;
00141 static const int nL025=9;
00142 static const int nL026=9;
00143 static const int nL027=9;
00144 static const int nL028=9;
00145 static const int nL029=9;
00146 static const int nL030=9;
00147 static const int nL031=10;
00148 static const int nL032=10;
00149 static const int nL033=10;
00150 static const int nL034=10;
00151 static const int nL035=10;
00152 static const int nL036=10;
00153 static const int nL037=11;
00154 static const int nL038=11;
00155 static const int nL039=11;
00156 static const int nL040=11;
00157 static const int nL041=11;
00158 static const int nL042=12;
00159 static const int nL043=12;
00160 static const int nL044=12;
00161 static const int nL045=12;
00162 static const int nL046=12;
00163 static const int nL047=12;
00164 static const int nL048=13;
00165 static const int nL049=13;
00166 static const int nL050=13;
00167 static const int nL051=13;
00168 static const int nL052=13;
00169 static const int nL053=13;
00170 static const int nL054=14;
00171 static const int nL055=14;
00172 static const int nL056=14;
00173 static const int nL057=14;
00174 static const int nL058=14;
00175 static const int nL059=15;
00176 static const int nL060=15;
00177 static const int nL061=15;
00178 static const int nL062=15;
00179 static const int nL063=15;
00180 static const int nL064=15;
00181 static const int nL065=16;
00182 static const int nL066=16;
00183 static const int nL067=16;
00184 static const int nL068=16;
00185 static const int nL069=16;
00186 static const int nL070=16;
00187 static const int nL071=17;
00188 static const int nL072=17;
00189 static const int nL073=17;
00190 static const int nL074=17;
00191 static const int nL075=17;
00192 static const int nL076=18;
00193 static const int nL077=18;
00194 static const int nL078=18;
00195 static const int nL079=18;
00196 static const int nL080=18;
00197 static const int nL081=18;
00198 static const int nL082=19;
00199 static const int nL083=19;
00200 static const int nL084=19;
00201 static const int nL085=19;
00202 static const int nL086=19;
00203 static const int nL087=19;
00204 static const int nL088=20;
00205 static const int nL089=20;
00206 static const int nL090=20;
00207 static const int nL091=20;
00208 static const int nL092=20;
00209 static const int nL093=21;
00210 static const int nL094=21;
00211 static const int nL095=21;
00212 static const int nL096=21;
00213 static const int nL097=21;
00214 static const int nL098=21;
00215 static const int nL099=22;
00216 static const int nL100=22;
00217 static const int nL101=22;
00218 static const int nL102=22;
00219 static const int nL103=22;
00220 static const int nL104=22;
00221 static const int nL105=23;
00222 static const int nL106=23;
00223 static const int nL107=23;
00224 static const int nL108=23;
00225 static const int nL109=23;
00226 static const int nL110=24;
00227 static const int nL111=24;
00228 static const int nL112=24;
00229 static const int nL113=24;
00230 static const int nL114=24;
00231 static const int nL115=24;
00232 static const int nL116=25;
00233 static const int nL117=25;
00234 static const int nL118=25;
00235 static const int nL119=25;
00236 static const int nL120=25;
00237 static const int nL121=25;
00238 static const int nL122=26;
00239 static const int nL123=26;
00240 static const int nL124=26;
00241 static const int nL125=26;
00242 static const int nL126=26;
00243 static const int nL127=27;
00244 static const int nL128=27;
00245 static const int nL129=27;
00246 static const int nL130=27;
00247 static const int nL131=27;
00248 static const int nL132=27;
00249 static const int nL133=28;
00250 static const int nL134=28;
00251 static const int nL135=28;
00252 static const int nL136=28;
00253 static const int nL137=28;
00254 static const int nL138=28;
00255 static const int nL139=29;
00256 static const int nL140=29;
00257 static const int nL141=29;
00258 static const int nL142=29;
00259 static const int nL143=29;
00260 static const int nL144=30;
00261 static const int nL145=30;
00262 static const int nL146=30;
00263 static const int nL147=30;
00264 static const int nL148=30;
00265 static const int nL149=30;
00266 static const int nL150=31;
00267 static const int nL151=31;
00268 static const int nL152=31;
00269 static const int nL153=31;
00270 static const int nL154=31;
00271 static const int nL155=31;
00272 static const int nL156=32;
00273 static const int nL157=32;
00274 static const int nL158=32;
00275 static const int nL159=32;
00276 static const int nL160=32;
00277 static const int nL161=33;
00278 static const int nL162=33;
00279 static const int nL163=33;
00280 static const int nL164=33;
00281 static const int nL165=33;
00282 static const int nL166=33;
00283 static const int nL167=34;
00284 static const int nL168=34;
00285 static const int nL169=34;
00286 static const int nL170=34;
00287 static const int nL171=34;
00288 static const int nL172=34;
00289 static const int nL173=35;
00290 static const int nL174=35;
00291 static const int nL175=35;
00292 static const int nL176=35;
00293 static const int nL177=35;
00294 static const int nL178=36;
00295 static const int nL179=36;
00296 static const int nL180=36;
00297 static const int nL181=36;
00298 static const int nL182=36;
00299 static const int nL183=36;
00300 static const int nL184=37;
00301 static const int nL185=37;
00302 static const int nL186=37;
00303 static const int nL187=37;
00304 static const int nL188=37;
00305 static const int nL189=37;
00306 static const int nL190=38;
00307 static const int nL191=38;
00308 static const int nL192=38;
00309 static const int nL193=38;
00310 static const int nL194=38;
00311 static const int nL195=39;
00312 static const int nL196=39;
00313 static const int nL197=39;
00314 static const int nL198=39;
00315 static const int nL199=39;
00316 static const int nL200=39;
00317 static const int nL201=40;
00318 static const int nL202=40;
00319 static const int nL203=40;
00320 static const int nL204=40;
00321 static const int nL205=40;
00322 static const int nL206=40;
00323 static const int nL207=41;
00324 static const int nL208=41;
00325 static const int nL209=41;
00326 static const int nL210=41;
00327 static const int nL211=41;
00328 static const int nL212=42;
00329 static const int nL213=42;
00330 static const int nL214=42;
00331 static const int nL215=42;
00332 static const int nL216=42;
00333 static const int nL217=42;
00334 static const int nL218=43;
00335 static const int nL219=43;
00336 static const int nL220=43;
00337 static const int nL221=43;
00338 static const int nL222=43;
00339 static const int nL223=43;
00340 static const int nL224=44;
00341 static const int nL225=44;
00342 static const int nL226=44;
00343 static const int nL227=44;
00344 static const int nL228=44;
00345 static const int nL229=45;
00346 static const int nL230=45;
00347 static const int nL231=45;
00348 static const int nL232=45;
00349 static const int nL233=45;
00350
00351
00352
00353
00354
00355
00356
00357
00358
00359
00360
00361 static const int tR001[nL001]={132,131,132,131};
00362 static const int tR002[nL002]={131,132,131,132};
00363 static const int tR003[nL003]={132,131,132,131,132};
00364 static const int tR004[nL004]={133,132,131,132,131};
00365 static const int tR005[nL005]={132,131,132,131,132};
00366 static const int tR006[nL006]={131,132,131,132,131};
00367 static const int tR007[nL007]={132,131,132,131,132};
00368 static const int tR008[nL008]={131,132,131,132,131,132};
00369 static const int tR009[nL009]={122,121,122,121,122,121};
00370 static const int tR010[nL010]={121,122,121,122,123,122};
00371 static const int tR011[nL011]={122,121,122,121,122,121};
00372 static const int tR012[nL012]={121,122,121,122,121,122};
00373 static const int tR013[nL013]={122,121,122,121,122,121};
00374 static const int tR014[nL014]={121,122,121,122,121,122,121};
00375 static const int tR015[nL015]={122,121,242,241,242,241,242};
00376 static const int tR016[nL016]={241,242,241,242,241,242,241};
00377 static const int tR017[nL017]={242,241,242,241,242,241,242};
00378 static const int tR018[nL018]={241,242,241,242,243,242,241};
00379 static const int tR019[nL019]={242,241,242,241,242,241,242};
00380 static const int tR020[nL020]={241,242,241,242,241,242,241,242};
00381 static const int tR021[nL021]={242,241,242,241,242,241,242,241};
00382 static const int tR022[nL022]={241,242,241,242,241,242,241,242};
00383 static const int tR023[nL023]={232,231,232,231,232,231,232,231};
00384 static const int tR024[nL024]={231,232,231,232,231,232,231,232};
00385 static const int tR025[nL025]={232,231,232,231,232,231,232,231,232};
00386 static const int tR026[nL026]={231,232,231,232,233,232,231,232,231};
00387 static const int tR027[nL027]={232,231,232,231,232,231,232,231,232};
00388 static const int tR028[nL028]={231,232,231,232,231,232,231,232,231};
00389 static const int tR029[nL029]={232,231,232,231,232,231,232,231,232};
00390 static const int tR030[nL030]={231,232,231,232,231,232,231,232,231};
00391 static const int tR031[nL031]={232,231,232,231,232,231,232,231,232,231};
00392 static const int tR032[nL032]={231,232,231,222,221,222,221,222,221,222};
00393 static const int tR033[nL033]={222,221,222,221,222,221,222,221,222,221};
00394 static const int tR034[nL034]={221,222,221,222,221,222,221,222,221,222};
00395 static const int tR035[nL035]={222,221,222,221,222,221,222,221,222,221};
00396 static const int tR036[nL036]={221,222,221,222,223,222,221,222,221,222};
00397 static const int tR037[nL037]={222,221,222,221,222,221,222,221,222,221,222};
00398 static const int tR038[nL038]={221,222,221,222,221,222,221,222,221,222,221};
00399 static const int tR039[nL039]={222,221,222,221,222,221,222,221,222,221,222};
00400 static const int tR040[nL040]={221,222,221,222,221,222,221,222,221,222,221};
00401 static const int tR041[nL041]={212,211,212,211,212,211,212,211,212,211,212};
00402 static const int tR042[nL042]={211,212,211,212,211,212,211,212,211,212,211,212};
00403 static const int tR043[nL043]={212,211,212,211,212,211,212,211,212,211,212,211};
00404 static const int tR044[nL044]={211,212,211,212,211,212,211,212,211,212,211,212};
00405 static const int tR045[nL045]={212,211,212,211,212,211,212,211,212,211,212,211};
00406 static const int tR046[nL046]={211,212,211,212,211,212,211,212,211,212,211,212};
00407 static const int tR047[nL047]={212,211,212,211,212,211,212,211,212,211,212,211};
00408 static const int tR048[nL048]={211,212,211,212,211,212,211,214,211,212,211,212,211};
00409 static const int tR049[nL049]={212,211,212,211,212,211,212,211,212,211,212,211,212};
00410 static const int tR050[nL050]={211,212,211,212,211,212,211,212,211,212,211,212,211};
00411 static const int tR051[nL051]={212,211,212,211,212,211,212,211,212,211,212,211,212};
00412 static const int tR052[nL052]={211,212,211,212,211,212,211,212,211,212,211,212,211};
00413 static const int tR053[nL053]={212,211,212,211,212,211,212,211,212,211,212,211,212};
00414 static const int tR054[nL054]={211,212,211,212,211,212,211,212,211,212,211,212,211,212};
00415 static const int tR055[nL055]={212,211,212,211,212,211,212,211,212,211,212,211,212,211};
00416
00417 static const int tR056[nL056]={211,212,211,202,201,202,201,202,201,202,201,202,201,202};
00418 static const int tR057[nL057]={202,201,202,201,202,201,202,201,202,201,202,201,202,201};
00419 static const int tR058[nL058]={201,202,201,202,201,202,201,202,201,202,201,202,201,202};
00420 static const int tR059[nL059]={202,201,202,201,202,201,202,201,202,201,202,201,202,201,
00421 202};
00422 static const int tR060[nL060]={201,202,201,202,201,202,201,202,201,202,201,202,201,202,
00423 201};
00424 static const int tR061[nL061]={202,201,202,201,202,201,202,201,202,201,202,201,202,201,
00425 202};
00426 static const int tR062[nL062]={201,202,201,202,201,202,201,204,201,202,201,202,201,202,
00427 201};
00428 static const int tR063[nL063]={202,201,202,201,202,201,202,201,202,201,202,201,202,201,
00429 202};
00430 static const int tR064[nL064]={201,202,201,202,201,202,201,202,201,202,201,202,201,202,
00431 201};
00432 static const int tR065[nL065]={202,201,202,201,202,201,202,201,202,201,202,201,202,201,
00433 202,201};
00434 static const int tR066[nL066]={201,202,201,202,201,202,201,202,201,202,201,202,201,202,
00435 201,202};
00436 static const int tR067[nL067]={202,201,202,201,202,201,202,201,202,201,202,201,202,201,
00437 202,201};
00438 static const int tR068[nL068]={201,202,201,202,201,202,201,202,201,202,201,202,201,202,
00439 201,202};
00440 static const int tR069[nL069]={202,201,202,201,202,201,202,201,202,201,202,201,202,201,
00441 202,201};
00442 static const int tR070[nL070]={201,202,201,202,201,202,201,202,201,202,201,202,201,202,
00443 201,202};
00444 static const int tR071[nL071]={202,201,202,201,202,201,202,201,202,201,192,191,192,191,
00445 192,191,192};
00446 static const int tR072[nL072]={191,192,191,192,191,192,191,192,191,192,191,192,191,192,
00447 191,192,191};
00448 static const int tR073[nL073]={192,191,192,191,192,191,192,191,192,191,192,191,192,191,
00449 192,191,192};
00450 static const int tR074[nL074]={191,192,191,192,191,192,191,192,191,192,191,192,191,192,
00451 191,192,191};
00452 static const int tR075[nL075]={192,191,192,191,192,191,192,191,192,191,192,191,192,191,
00453 192,191,192};
00454 static const int tR076[nL076]={191,192,191,192,191,192,191,192,191,192,191,192,191,192,
00455 191,192,191,192};
00456 static const int tR077[nL077]={192,191,192,191,192,191,192,191,192,191,192,191,192,191,
00457 192,191,192,191};
00458 static const int tR078[nL078]={191,192,191,192,191,192,191,192,191,192,191,192,191,192,
00459 191,192,191,192};
00460 static const int tR079[nL079]={192,191,192,191,192,191,192,191,192,191,192,191,192,191,
00461 192,191,192,191};
00462 static const int tR080[nL080]={191,192,191,192,191,192,191,194,191,192,191,192,191,192,
00463 191,192,191,192};
00464 static const int tR081[nL081]={192,191,192,191,192,191,192,191,192,191,192,191,192,191,
00465 192,191,192,191};
00466 static const int tR082[nL082]={191,192,191,192,191,192,191,192,191,192,191,192,191,192,
00467 191,192,191,192,191};
00468 static const int tR083[nL083]={192,191,192,191,192,191,192,191,192,191,192,191,192,191,
00469 192,191,192,191,192};
00470 static const int tR084[nL084]={191,192,191,192,191,192,191,192,191,192,191,192,191,192,
00471 191,192,191,192,191};
00472 static const int tR085[nL085]={192,191,192,191,192,191,192,191,192,191,192,191,192,191,
00473 192,191,192,191,192};
00474 static const int tR086[nL086]={191,192,191,192,191,192,191,192,191,192,191,192,191,192,
00475 191,192,191,192,191};
00476 static const int tR087[nL087]={192,191,192,191,192,191,192,191,192,191,192,191,192,191,
00477 192,191,192,191,192};
00478 static const int tR088[nL088]={191,192,191,192,191,192,191,192,191,192,191,192,191,192,
00479 191,192,181,182,181,182};
00480
00481 static const int tR089[nL089]={192,191,192,191,182,181,182,181,182,181,182,181,182,181,
00482 182,181,182,181,182,181};
00483 static const int tR090[nL090]={181,182,181,182,181,182,181,182,181,182,181,182,181,182,
00484 181,182,181,182,181,182};
00485 static const int tR091[nL091]={182,181,182,181,182,181,182,181,182,181,182,181,182,181,
00486 182,181,182,181,182,181};
00487 static const int tR092[nL092]={181,182,181,182,181,182,181,182,181,182,181,182,181,182,
00488 181,182,181,182,181,182};
00489 static const int tR093[nL093]={182,181,182,181,182,181,182,181,182,181,182,181,182,181,
00490 182,181,182,181,182,181,182};
00491 static const int tR094[nL094]={181,182,181,182,181,182,181,182,181,182,181,182,181,182,
00492 181,182,181,182,181,182,181};
00493 static const int tR095[nL095]={182,181,182,181,182,181,182,181,182,181,182,181,182,181,
00494 182,181,182,181,182,181,182};
00495 static const int tR096[nL096]={181,182,181,182,181,182,181,182,181,182,181,182,181,182,
00496 181,182,181,182,181,182,181};
00497 static const int tR097[nL097]={182,181,182,181,182,181,182,181,182,181,182,181,182,181,
00498 182,181,182,181,182,181,182};
00499 static const int tR098[nL098]={181,182,181,182,181,182,181,182,181,182,181,182,181,182,
00500 181,182,181,182,181,182,181};
00501 static const int tR099[nL099]={182,181,182,181,182,181,182,181,182,181,182,181,182,181,
00502 182,181,182,181,182,181,182,181};
00503 static const int tR100[nL100]={181,182,181,182,181,182,181,182,181,182,181,182,183,182,
00504 181,182,181,182,181,182,181,182};
00505 static const int tR101[nL101]={182,181,182,181,182,181,182,181,182,181,182,181,182,181,
00506 182,181,182,181,182,181,182,181};
00507 static const int tR102[nL102]={181,182,181,182,181,182,181,182,181,182,181,182,181,182,
00508 181,182,181,182,181,182,181,182};
00509 static const int tR103[nL103]={182,181,182,181,182,181,182,181,182,181,182,181,182,181,
00510 182,181,182,181,182,181,182,181};
00511 static const int tR104[nL104]={181,182,181,182,181,182,181,182,181,182,181,182,181,182,
00512 181,182,181,182,181,182,181,182};
00513 static const int tR105[nL105]={182,181,182,181,182,181,182,181,182,181,182,181,182,181,
00514 182,181,182,181,182,181,182,181,182};
00515 static const int tR106[nL106]={181,182,181,182,181,182,181,182,181,182,181,182,181,182,
00516 181,182,181,182,181,182,181,182,181};
00517 static const int tR107[nL107]={182,181,182,181,182,181,182,181,182,181,182,181,182,181,
00518 182,181,182,181,182,181,182,181,182};
00519 static const int tR108[nL108]={181,182,181,182,181,182,181,182,181,182,181,182,181,182,
00520 181,182,181,182,181,182,181,182,181};
00521 static const int tR109[nL109]={182,181,182,181,182,181,182,181,182,181,182,181,182,181,
00522 182,181,182,181,182,181,182,181,182};
00523 static const int tR110[nL110]={181,182,181,182,181,182,181,182,181,182,181,182,181,182,
00524 181,182,181,182,181,182,181,182,181,182};
00525 static const int tR111[nL111]={182,181,182,181,182,181,182,181,182,181,182,181,182,181,
00526 182,181,182,171,172,171,172,171,172,171};
00527 static const int tR112[nL112]={181,182,181,182,171,172,171,172,171,172,171,172,171,172,
00528 171,172,171,172,171,172,171,172,171,172};
00529 static const int tR113[nL113]={172,171,172,171,172,171,172,171,172,171,172,171,172,171,
00530 172,171,172,171,172,171,172,171,172,171};
00531 static const int tR114[nL114]={171,172,171,172,171,172,171,172,171,172,171,172,171,172,
00532 171,172,171,172,171,172,171,172,171,172};
00533 static const int tR115[nL115]={172,171,172,171,172,171,172,171,172,171,172,171,172,171,
00534 172,171,172,171,172,171,172,171,172,171};
00535 static const int tR116[nL116]={171,172,171,172,171,172,171,172,171,172,171,172,171,172,
00536 171,172,171,172,171,172,171,172,171,172,171};
00537 static const int tR117[nL117]={172,171,172,171,172,171,172,171,172,171,172,171,172,171,
00538 172,171,172,171,172,171,172,171,172,171,172};
00539 static const int tR118[nL118]={171,172,171,172,171,172,171,172,171,172,171,172,171,172,
00540 171,172,171,172,171,172,171,172,171,172,171};
00541 static const int tR119[nL119]={172,171,172,171,172,171,172,171,172,171,172,171,172,171,
00542 172,171,172,171,172,171,172,171,172,171,172};
00543 static const int tR120[nL120]={171,172,171,172,171,172,171,172,171,172,171,172,171,172,
00544 171,172,171,172,171,172,171,172,171,172,171};
00545 static const int tR121[nL121]={172,171,172,171,172,171,172,171,172,171,172,171,172,171,
00546 172,171,172,171,172,171,172,171,172,171,172};
00547 static const int tR122[nL122]={171,172,171,172,171,172,171,172,171,172,171,172,171,172,
00548 171,172,171,172,171,172,171,172,171,172,171,172};
00549 static const int tR123[nL123]={172,171,172,171,172,171,172,171,172,171,172,171,172,171,
00550 172,171,172,171,172,171,172,171,172,171,172,171};
00551 static const int tR124[nL124]={171,172,171,172,171,172,171,172,171,172,171,172,173,172,
00552 171,172,171,172,171,172,171,172,171,172,171,172};
00553 static const int tR125[nL125]={172,171,172,171,172,171,172,171,172,171,172,171,172,171,
00554 172,171,172,171,172,171,172,171,172,171,172,171};
00555 static const int tR126[nL126]={171,172,171,172,171,172,171,172,171,172,171,172,171,172,
00556 171,172,171,172,171,172,171,172,171,172,171,172};
00557 static const int tR127[nL127]={172,171,172,171,172,171,172,171,172,171,172,171,172,171,
00558 172,171,172,171,172,171,172,171,172,171,172,171,172};
00559 static const int tR128[nL128]={171,172,171,172,171,172,171,172,171,172,171,172,171,172,
00560 171,172,171,172,171,172,171,172,171,172,171,172,171};
00561 static const int tR129[nL129]={172,171,172,171,172,171,172,171,172,171,172,171,172,171,
00562 172,171,172,171,172,171,172,171,172,171,172,171,172};
00563 static const int tR130[nL130]={171,172,171,172,171,172,171,172,171,172,171,172,171,172,
00564 171,172,171,172,171,172,171,172,171,172,171,172,171};
00565 static const int tR131[nL131]={172,171,172,171,172,171,172,171,172,171,172,171,172,171,
00566 172,171,172,171,172,171,172,171,172,171,172,171,172};
00567 static const int tR132[nL132]={171,172,171,172,171,172,171,172,171,172,171,172,171,172,
00568 171,172,171,172,171,172,171,172,171,172,171,172,171};
00569 static const int tR133[nL133]={172,171,172,171,172,171,172,171,172,171,172,171,172,171,
00570 172,171,172,171,172,171,172,171,172,171,172,171,172,171};
00571 static const int tR134[nL134]={171,172,171,172,171,172,171,172,171,172,171,172,171,172,
00572 171,172,171,172,171,172,171,172,171,172,171,172,171,172};
00573 static const int tR135[nL135]={172,171,172,171,172,171,172,171,172,171,172,171,172,171,
00574 172,171,172,171,172,171,172,171,172,171,172,171,172,171};
00575 static const int tR136[nL136]={171,172,171,172,171,172,171,172,171,172,171,172,171,172,
00576 171,172,171,172,171,172,171,172,171,172,171,172,171,172};
00577 static const int tR137[nL137]={172,171,172,171,172,171,172,171,172,171,172,171,172,171,
00578 172,171,172,171,172,171,172,171,162,161,162,161,162,161};
00579
00580 static const int tR138[nL138]={171,172,171,172,171,172,171,172,171,172,171,172,161,162,
00581 161,162,161,162,161,162,161,162,161,162,161,162,161,162};
00582 static const int tR139[nL139]={162,161,162,161,162,161,162,161,162,161,162,161,162,161,
00583 162,161,162,161,162,161,162,161,162,161,162,161,162,161,
00584 162};
00585 static const int tR140[nL140]={161,162,161,162,161,162,161,162,161,162,161,162,161,162,
00586 161,162,161,162,161,162,161,162,161,162,161,162,161,162,
00587 161};
00588 static const int tR141[nL141]={162,161,162,161,162,161,162,161,162,161,162,161,162,161,
00589 162,161,162,161,162,161,162,161,162,161,162,161,162,161,
00590 162};
00591 static const int tR142[nL142]={161,162,161,162,161,162,161,162,161,162,161,162,161,162,
00592 161,162,161,162,161,162,161,162,161,162,161,162,161,162,
00593 161};
00594 static const int tR143[nL143]={162,161,162,161,162,161,162,161,162,161,162,161,162,161,
00595 162,161,162,161,162,161,162,161,162,161,162,161,162,161,
00596 162};
00597 static const int tR144[nL144]={161,162,161,162,161,162,161,162,161,162,161,162,161,162,
00598 161,162,161,162,161,162,161,162,161,162,161,162,161,162,
00599 161,162};
00600 static const int tR145[nL145]={162,161,162,161,162,161,162,161,162,161,162,161,162,161,
00601 162,161,162,161,162,161,162,161,162,161,162,161,162,161,
00602 162,161};
00603 static const int tR146[nL146]={161,162,161,162,161,162,161,162,161,162,161,162,161,162,
00604 161,162,163,162,161,162,161,162,161,162,161,162,161,162,
00605 161,162};
00606 static const int tR147[nL147]={162,161,162,161,162,161,162,161,162,161,162,161,162,161,
00607 162,161,162,161,162,161,162,161,162,161,162,161,162,161,
00608 162,161};
00609 static const int tR148[nL148]={161,162,161,162,161,162,161,162,161,162,161,162,161,162,
00610 161,162,161,162,161,162,161,162,161,162,161,162,161,162,
00611 161,162};
00612 static const int tR149[nL149]={162,161,162,161,162,161,162,161,162,161,162,161,162,161,
00613 162,161,162,161,162,161,162,161,162,161,162,161,162,161,
00614 162,161};
00615 static const int tR150[nL150]={161,162,161,162,161,162,161,162,161,162,161,162,161,162,
00616 161,162,161,162,161,162,161,162,161,162,161,162,161,162,
00617 161,162,161};
00618 static const int tR151[nL151]={162,161,162,161,162,161,162,161,162,161,162,161,162,161,
00619 162,161,162,161,162,161,162,161,162,161,162,161,162,161,
00620 162,161,162};
00621 static const int tR152[nL152]={161,162,161,162,161,162,161,162,161,162,161,162,161,162,
00622 161,162,161,162,161,162,161,162,161,162,161,162,161,162,
00623 161,162,161};
00624 static const int tR153[nL153]={162,161,162,161,162,161,162,161,162,161,162,161,162,161,
00625 162,161,162,161,162,161,162,161,162,161,162,161,162,161,
00626 162,161,162};
00627 static const int tR154[nL154]={161,162,161,162,161,162,161,162,161,162,161,162,161,162,
00628 161,162,161,162,161,162,161,162,161,162,161,162,161,162,
00629 161,162,161};
00630 static const int tR155[nL155]={162,161,162,161,162,161,162,161,162,161,162,161,162,161,
00631 162,161,162,161,162,161,162,161,162,161,162,161,162,161,
00632 162,161,162};
00633 static const int tR156[nL156]={161,162,161,162,161,162,161,162,161,162,161,162,161,162,
00634 161,162,161,162,161,162,161,162,161,162,161,162,161,162,
00635 161,162,161,162};
00636 static const int tR157[nL157]={162,161,162,161,162,161,162,161,162,161,162,161,162,161,
00637 162,161,162,161,162,161,162,161,162,161,162,161,162,161,
00638 162,161,162,161};
00639 static const int tR158[nL158]={161,162,161,162,161,162,161,162,161,162,161,162,161,162,
00640 161,162,161,162,161,162,161,162,161,162,161,162,161,162,
00641 161,162,161,162};
00642 static const int tR159[nL159]={162,161,162,161,162,161,162,161,162,161,162,161,162,161,
00643 162,161,162,161,162,161,162,161,162,161,162,161,162,161,
00644 162,161,162,161};
00645 static const int tR160[nL160]={161,162,161,162,161,162,161,162,161,162,161,162,161,162,
00646 161,162,163,162,161,162,161,162,161,162,161,162,161,162,
00647 161,162,161,162};
00648 static const int tR161[nL161]={162,161,162,161,162,161,162,161,162,161,162,161,162,161,
00649 162,161,162,161,162,161,162,161,162,161,162,161,162,161,
00650 162,161,162,161,162};
00651 static const int tR162[nL162]={161,162,161,162,161,162,161,162,161,162,161,162,161,162,
00652 161,162,161,162,161,162,161,162,161,162,161,162,161,162,
00653 161,162,161,162,161};
00654 static const int tR163[nL163]={162,161,162,161,162,161,162,161,162,161,162,161,162,161,
00655 162,161,162,161,162,161,162,161,162,161,162,161,162,161,
00656 162,161,162,161,162};
00657 static const int tR164[nL164]={161,162,161,162,161,162,161,162,161,162,161,162,161,162,
00658 161,162,161,162,161,162,161,162,161,162,161,162,161,162,
00659 161,162,161,162,161};
00660 static const int tR165[nL165]={162,161,162,161,162,161,162,161,162,161,162,161,162,161,
00661 162,161,162,161,162,161,162,161,162,161,162,161,162,161,
00662 162,161,162,161,162};
00663 static const int tR166[nL166]={161,162,161,162,161,162,161,162,161,162,161,162,161,162,
00664 161,162,161,162,161,162,161,162,161,162,161,162,161,162,
00665 161,162,161,162,161};
00666 static const int tR167[nL167]={162,161,162,161,162,161,162,161,162,161,162,161,162,161,
00667 162,161,162,161,162,161,162,161,162,161,162,161,162,161,
00668 162,161,162,161,162,161};
00669 static const int tR168[nL168]={161,162,161,162,161,162,161,162,161,162,161,162,161,162,
00670 161,162,161,162,161,162,161,162,161,162,161,162,161,152,
00671 151,152,151,152,151,152};
00672 static const int tR169[nL169]={162,161,162,161,162,161,162,161,162,161,162,161,162,161,
00673 162,161,162,161,152,151,152,151,152,151,152,151,152,151,
00674 152,151,152,151,152,151};
00675 static const int tR170[nL170]={151,152,151,152,151,152,151,152,151,152,151,152,151,152,
00676 151,152,151,152,151,152,151,152,151,152,151,152,151,152,
00677 151,152,151,152,151,152};
00678 static const int tR171[nL171]={152,151,152,151,152,151,152,151,152,151,152,151,152,151,
00679 152,151,152,151,152,151,152,151,152,151,152,151,152,151,
00680 152,151,152,151,152,151};
00681 static const int tR172[nL172]={151,152,151,152,151,152,151,152,151,152,151,152,151,152,
00682 151,152,151,152,151,152,151,152,151,152,151,152,151,152,
00683 151,152,151,152,151,152};
00684 static const int tR173[nL173]={152,151,152,151,152,151,152,151,152,151,152,151,152,151,
00685 152,151,152,151,152,151,152,151,152,151,152,151,152,151,
00686 152,151,152,151,152,151,152};
00687 static const int tR174[nL174]={151,152,151,152,151,152,151,152,151,152,151,152,151,152,
00688 151,152,151,152,151,152,151,152,151,152,151,152,151,152,
00689 151,152,151,152,151,152,151};
00690 static const int tR175[nL175]={152,151,152,151,152,151,152,151,152,151,152,151,152,151,
00691 152,151,152,151,152,151,152,151,152,151,152,151,152,151,
00692 152,151,152,151,152,151,152};
00693 static const int tR176[nL176]={151,152,151,152,151,152,151,152,151,152,151,152,151,152,
00694 151,152,151,152,151,152,151,152,151,152,151,152,151,152,
00695 151,152,151,152,151,152,151};
00696 static const int tR177[nL177]={152,151,152,151,152,151,152,151,152,151,152,151,152,151,
00697 152,151,152,151,152,151,152,151,152,151,152,151,152,151,
00698 152,151,152,151,152,151,152};
00699 static const int tR178[nL178]={151,152,151,152,151,152,151,152,151,152,151,152,151,152,
00700 151,152,153,152,151,152,151,152,151,152,151,152,151,152,
00701 151,152,151,152,151,152,151,152};
00702 static const int tR179[nL179]={152,151,152,151,152,151,152,151,152,151,152,151,152,151,
00703 152,151,152,151,152,151,152,151,152,151,152,151,152,151,
00704 152,151,152,151,152,151,152,151};
00705 static const int tR180[nL180]={151,152,151,152,151,152,151,152,151,152,151,152,151,152,
00706 151,152,151,152,151,152,151,152,151,152,151,152,151,152,
00707 151,152,151,152,151,152,151,152};
00708 static const int tR181[nL181]={152,151,152,151,152,151,152,151,152,151,152,151,152,151,
00709 152,151,152,151,152,151,152,151,152,151,152,151,152,151,
00710 152,151,152,151,152,151,152,151};
00711 static const int tR182[nL182]={151,152,151,152,151,152,151,152,151,152,151,152,151,152,
00712 151,152,151,152,151,152,151,152,151,152,151,152,151,152,
00713 151,152,151,152,151,152,151,152};
00714 static const int tR183[nL183]={152,151,152,151,152,151,152,151,152,151,152,151,152,151,
00715 152,151,152,151,152,151,152,151,152,151,152,151,152,151,
00716 152,151,152,151,152,151,152,151};
00717 static const int tR184[nL184]={151,152,151,152,151,152,151,152,151,152,151,152,151,152,
00718 151,152,151,152,151,152,151,152,151,152,151,152,151,152,
00719 151,152,151,152,151,152,151,152,151};
00720 static const int tR185[nL185]={152,151,152,151,152,151,152,151,152,151,152,151,152,151,
00721 152,151,152,151,152,151,152,151,152,151,152,151,152,151,
00722 152,151,152,151,152,151,152,151,152};
00723 static const int tR186[nL186]={151,152,151,152,151,152,151,152,151,152,151,152,151,152,
00724 151,152,151,152,151,152,151,152,151,152,151,152,151,152,
00725 151,152,151,152,151,152,151,152,151};
00726 static const int tR187[nL187]={152,151,152,151,152,151,152,151,152,151,152,151,152,151,
00727 152,151,152,151,152,151,152,151,152,151,152,151,152,151,
00728 152,151,152,151,152,151,152,151,152};
00729 static const int tR188[nL188]={151,152,151,152,151,152,151,152,151,152,151,152,151,152,
00730 151,152,151,152,151,152,151,152,151,152,151,152,151,152,
00731 151,152,151,152,151,152,151,152,151};
00732 static const int tR189[nL189]={152,151,152,151,152,151,152,151,152,151,152,151,152,151,
00733 152,151,152,151,152,151,152,151,152,151,152,151,152,151,
00734 152,151,152,151,152,151,152,151,152};
00735 static const int tR190[nL190]={151,152,151,152,151,152,151,152,151,152,151,152,151,152,
00736 151,152,151,152,151,152,151,152,151,152,151,152,151,152,
00737 151,152,151,152,151,152,151,152,151,152};
00738 static const int tR191[nL191]={152,151,152,151,152,151,152,151,152,151,152,151,152,151,
00739 152,151,152,151,152,151,152,151,152,151,152,151,152,151,
00740 152,151,152,151,152,151,152,151,152,151};
00741 static const int tR192[nL192]={151,152,151,152,151,152,151,152,151,152,151,152,151,152,
00742 151,152,151,152,151,152,151,152,151,152,151,152,151,152,
00743 151,152,151,152,151,152,151,152,151,152};
00744 static const int tR193[nL193]={152,151,152,151,152,151,152,151,152,151,152,151,152,151,
00745 152,151,152,151,152,151,152,151,152,151,152,151,152,151,
00746 152,151,152,151,152,151,152,151,152,151};
00747 static const int tR194[nL194]={151,152,151,152,151,152,151,152,151,152,151,152,151,152,
00748 151,152,151,152,151,152,151,152,151,152,151,152,151,152,
00749 151,152,151,152,151,152,151,152,151,152};
00750 static const int tR195[nL195]={152,151,152,151,152,151,152,151,152,151,152,151,152,151,
00751 152,151,152,151,152,151,152,151,152,151,152,151,152,151,
00752 152,151,152,151,152,151,152,151,152,151,152};
00753 static const int tR196[nL196]={151,152,151,152,151,152,151,152,151,152,151,152,151,152,
00754 151,152,151,152,151,152,153,152,151,152,151,152,151,152,
00755 151,152,151,152,151,152,151,152,151,152,151};
00756 static const int tR197[nL197]={152,151,152,151,152,151,152,151,152,151,152,151,152,151,
00757 152,151,152,151,152,151,152,151,152,151,152,151,152,151,
00758 152,151,152,151,152,151,152,151,152,151,152};
00759 static const int tR198[nL198]={151,152,151,152,151,152,151,152,151,152,151,152,151,152,
00760 151,152,151,152,151,152,151,152,151,152,151,152,151,152,
00761 151,152,151,152,151,152,151,152,151,152,151};
00762 static const int tR199[nL199]={152,151,152,151,152,151,152,151,152,151,152,151,152,151,
00763 152,151,152,151,152,151,152,151,152,151,152,151,152,151,
00764 152,151,152,151,152,151,152,151,152,151,152};
00765 static const int tR200[nL200]={151,152,151,152,151,152,151,152,151,152,151,152,151,152,
00766 151,152,151,152,151,152,151,152,151,152,151,152,151,152,
00767 151,152,151,152,151,152,151,152,151,152,151};
00768 static const int tR201[nL201]={152,151,152,151,152,151,152,151,152,151,152,151,152,151,
00769 152,151,152,151,152,151,152,151,152,151,152,151,152,151,
00770 152,151,152,151,152,151,152,151,152,151,152,151};
00771 static const int tR202[nL202]={151,152,151,152,151,152,151,152,151,152,151,152,151,152,
00772 151,152,151,152,151,152,151,152,151,152,151,152,151,152,
00773 151,152,151,152,151,152,151,152,151,152,151,152};
00774 static const int tR203[nL203]={152,151,152,151,152,151,152,151,152,151,152,151,152,151,
00775 152,151,152,151,152,151,152,151,152,151,152,151,152,151,
00776 152,151,152,151,152,151,152,151,152,151,152,151};
00777 static const int tR204[nL204]={151,152,151,152,151,152,151,152,151,152,151,152,151,152,
00778 151,152,151,152,151,152,151,152,151,152,151,152,151,152,
00779 151,152,151,152,151,152,151,152,151,152,151,152};
00780 static const int tR205[nL205]={152,151,152,151,152,151,152,151,152,151,152,151,152,151,
00781 152,151,152,151,152,151,152,151,152,151,152,151,152,151,
00782 152,151,152,151,142,141,142,141,142,141,142,141};
00783 static const int tR206[nL206]={151,152,151,152,151,152,151,152,151,152,151,152,151,152,
00784 151,152,151,152,151,152,151,152,151,152,141,142,141,142,
00785 141,142,141,142,141,142,141,142,141,142,141,142};
00786 static const int tR207[nL207]={152,151,152,151,152,151,152,151,152,151,152,141,142,141,
00787 142,141,142,141,142,141,142,141,142,141,142,141,142,141,
00788 142,141,142,141,142,141,142,141,142,141,142,141,142};
00789 static const int tR208[nL208]={141,142,141,142,141,142,141,142,141,142,141,142,141,142,
00790 141,142,141,142,141,142,141,142,141,142,141,142,141,142,
00791 141,142,141,142,141,142,141,142,141,142,141,142,141};
00792 static const int tR209[nL209]={142,141,142,141,142,141,142,141,142,141,142,141,142,141,
00793 142,141,142,141,142,141,142,141,142,141,142,141,142,141,
00794 142,141,142,141,142,141,142,141,142,141,142,141,142};
00795 static const int tR210[nL210]={141,142,141,142,141,142,141,142,141,142,141,142,141,142,
00796 141,142,141,142,141,142,141,142,141,142,141,142,141,142,
00797 141,142,141,142,141,142,141,142,141,142,141,142,141};
00798 static const int tR211[nL211]={142,141,142,141,142,141,142,141,142,141,142,141,142,141,
00799 142,141,142,141,142,141,142,141,142,141,142,141,142,141,
00800 142,141,142,141,142,141,142,141,142,141,142,141,142};
00801 static const int tR212[nL212]={141,142,141,142,141,142,141,142,141,142,141,142,141,142,
00802 141,142,141,142,141,142,143,142,141,142,141,142,141,142,
00803 141,142,141,142,141,142,141,142,141,142,141,142,141,142};
00804 static const int tR213[nL213]={142,141,142,141,142,141,142,141,142,141,142,141,142,141,
00805 142,141,142,141,142,141,142,141,142,141,142,141,142,141,
00806 142,141,142,141,142,141,142,141,142,141,142,141,142,141};
00807 static const int tR214[nL214]={141,142,141,142,141,142,141,142,141,142,141,142,141,142,
00808 141,142,141,142,141,142,141,142,141,142,141,142,141,142,
00809 141,142,141,142,141,142,141,142,141,142,141,142,141,142};
00810 static const int tR215[nL215]={142,141,142,141,142,141,142,141,142,141,142,141,142,141,
00811 142,141,142,141,142,141,142,141,142,141,142,141,142,141,
00812 142,141,142,141,142,141,142,141,142,141,142,141,142,141};
00813 static const int tR216[nL216]={141,142,141,142,141,142,141,142,141,142,141,142,141,142,
00814 141,142,141,142,141,142,141,142,141,142,141,142,141,142,
00815 141,142,141,142,141,142,141,142,141,142,141,142,141,142};
00816 static const int tR217[nL217]={142,141,142,141,142,141,142,141,142,141,142,141,142,141,
00817 142,141,142,141,142,141,142,141,142,141,142,141,142,141,
00818 142,141,142,141,142,141,142,141,142,141,142,141,142,141};
00819 static const int tR218[nL218]={141,142,141,142,141,142,141,142,141,142,141,142,141,142,
00820 141,142,141,142,141,142,141,142,141,142,141,142,141,142,
00821 141,142,141,142,141,142,141,142,141,142,141,142,141,142,
00822 141};
00823 static const int tR219[nL219]={142,141,142,141,142,141,142,141,142,141,142,141,142,141,
00824 142,141,142,141,142,141,142,141,142,141,142,141,142,141,
00825 142,141,142,141,142,141,142,141,142,141,142,141,142,141,
00826 142};
00827 static const int tR220[nL220]={141,142,141,142,141,142,141,142,141,142,141,142,141,142,
00828 141,142,141,142,141,142,141,142,141,142,141,142,141,142,
00829 141,142,141,142,141,142,141,142,141,142,141,142,141,142,
00830 141};
00831 static const int tR221[nL221]={142,141,142,141,142,141,142,141,142,141,142,141,142,141,
00832 142,141,142,141,142,141,142,141,142,141,142,141,142,141,
00833 142,141,142,141,142,141,142,141,142,141,142,141,142,141,
00834 142};
00835 static const int tR222[nL222]={141,142,141,142,141,142,141,142,141,142,141,142,141,142,
00836 141,142,141,142,141,142,141,142,141,142,141,142,141,142,
00837 141,142,141,142,141,142,141,142,141,142,141,142,141,142,
00838 141};
00839 static const int tR223[nL223]={142,141,142,141,142,141,142,141,142,141,142,141,142,141,
00840 142,141,142,141,142,141,142,141,142,141,142,141,142,141,
00841 142,141,142,141,142,141,142,141,142,141,142,141,142,141,
00842 142};
00843 static const int tR224[nL224]={141,142,141,142,141,142,141,142,141,142,141,142,141,142,
00844 141,142,141,142,141,142,141,142,141,142,141,142,141,142,
00845 141,142,141,142,141,142,141,142,141,142,141,142,141,142,
00846 141,142};
00847 static const int tR225[nL225]={142,141,142,141,142,141,142,141,142,141,142,141,142,141,
00848 142,141,142,141,142,141,142,141,142,141,142,141,142,141,
00849 142,141,142,141,142,141,142,141,142,141,142,141,142,141,
00850 142,141};
00851 static const int tR226[nL226]={141,142,141,142,141,142,141,142,141,142,141,142,141,142,
00852 141,142,141,142,141,142,143,142,141,142,141,142,141,142,
00853 141,142,141,142,141,142,141,142,141,142,141,142,141,142,
00854 141,142};
00855 static const int tR227[nL227]={142,141,142,141,142,141,142,141,142,141,142,141,142,141,
00856 142,141,142,141,142,141,142,141,142,141,142,141,142,141,
00857 142,141,142,141,142,141,142,141,142,141,142,141,142,141,
00858 142,141};
00859 static const int tR228[nL228]={141,142,141,142,141,142,141,142,141,142,141,142,141,142,
00860 141,142,141,142,141,142,141,142,141,142,141,142,141,142,
00861 141,142,141,142,141,142,141,142,141,142,141,142,141,142,
00862 141,142};
00863 static const int tR229[nL229]={142,141,142,141,142,141,142,141,142,141,142,141,142,141,
00864 142,141,142,141,142,141,142,141,142,141,142,141,142,141,
00865 142,141,142,141,142,141,142,141,142,141,142,141,142,141,
00866 142,141,142};
00867 static const int tR230[nL230]={141,142,141,142,141,142,141,142,141,142,141,142,141,142,
00868 141,142,141,142,141,142,141,142,141,142,141,142,141,142,
00869 141,142,141,142,141,142,141,142,141,142,141,142,141,142,
00870 141,142,141};
00871 static const int tR231[nL231]={142,141,142,141,142,141,142,141,142,141,142,141,142,141,
00872 142,141,142,141,142,141,142,141,142,141,142,141,142,141,
00873 142,141,142,141,142,141,142,141,142,141,142, 0, 0, 0,
00874 0, 0, 0};
00875 static const int tR232[nL232]={141,142,141,142,141,142,141,142,141,142,141,142,141,142,
00876 141,142,141,142,141,142,141,142,141,142,141,142,141,142,
00877 141,142,141,142, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
00878 0, 0, 0};
00879 static const int tR233[nL233]={142,141,142,141,142,141,142,141,142,141,142,141,142,141,
00880 142,141,142,141,142,141,142,141, 0, 0, 0, 0, 0, 0,
00881 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
00882 0, 0, 0};
00883
00884 static const int tL001[nL001]={131,132,131,132};
00885 static const int tL002[nL002]={132,131,132,131};
00886 static const int tL003[nL003]={131,132,131,132,131};
00887 static const int tL004[nL004]={132,131,132,131,132};
00888 static const int tL005[nL005]={131,132,131,132,131};
00889 static const int tL006[nL006]={132,131,132,131,132};
00890 static const int tL007[nL007]={131,132,131,132,131};
00891 static const int tL008[nL008]={132,131,132,131,132,131};
00892 static const int tL009[nL009]={121,122,121,122,121,122};
00893 static const int tL010[nL010]={122,121,122,121,124,121};
00894 static const int tL011[nL011]={121,122,121,122,121,122};
00895 static const int tL012[nL012]={122,121,122,121,122,121};
00896 static const int tL013[nL013]={121,122,121,122,121,122};
00897 static const int tL014[nL014]={122,121,122,121,122,121,122};
00898 static const int tL015[nL015]={121,122,111,112,111,112,111};
00899 static const int tL016[nL016]={112,111,112,111,112,111,112};
00900 static const int tL017[nL017]={111,112,111,112,111,112,111};
00901 static const int tL018[nL018]={112,111,112,111,114,111,112};
00902 static const int tL019[nL019]={111,112,111,112,111,112,111};
00903 static const int tL020[nL020]={112,111,112,111,112,111,112,111};
00904 static const int tL021[nL021]={111,112,111,112,111,112,111,112};
00905 static const int tL022[nL022]={112,111,112,111,112,111,112,111};
00906 static const int tL023[nL023]={101,102,101,102,101,102,101,102};
00907 static const int tL024[nL024]={102,101,102,101,102,101,102,101};
00908 static const int tL025[nL025]={101,102,101,102,101,102,101,102,101};
00909 static const int tL026[nL026]={102,101,102,101,104,101,102,101,102};
00910 static const int tL027[nL027]={101,102,101,102,101,102,101,102,101};
00911 static const int tL028[nL028]={102,101,102,101,102,101,102,101,102};
00912 static const int tL029[nL029]={101,102,101,102,101,102,101,102,101};
00913 static const int tL030[nL030]={102,101,102,101,102,101,102,101,102};
00914 static const int tL031[nL031]={101,102,101,102,101,102,101,102,101,102};
00915 static const int tL032[nL032]={102,101,102, 91, 92, 91, 92, 91, 92, 91};
00916 static const int tL033[nL033]={ 91, 92, 91, 92, 91, 92, 91, 92, 91, 92};
00917 static const int tL034[nL034]={ 92, 91, 92, 91, 92, 91, 92, 91, 92, 91};
00918 static const int tL035[nL035]={ 91, 92, 91, 92, 91, 92, 91, 92, 91, 92};
00919 static const int tL036[nL036]={ 92, 91, 92, 91, 94, 91, 92, 91, 92, 91};
00920 static const int tL037[nL037]={ 91, 92, 91, 92, 91, 92, 91, 92, 91, 92, 91};
00921 static const int tL038[nL038]={ 92, 91, 92, 91, 92, 91, 92, 91, 92, 91, 92};
00922 static const int tL039[nL039]={ 91, 92, 91, 92, 91, 92, 91, 92, 91, 92, 91};
00923 static const int tL040[nL040]={ 92, 91, 92, 91, 92, 91, 92, 91, 92, 91, 92};
00924 static const int tL041[nL041]={ 91, 92, 91, 92, 91, 92, 91, 92, 91, 92, 91};
00925 static const int tL042[nL042]={ 92, 91, 92, 91, 92, 91, 92, 91, 92, 91, 92, 91};
00926 static const int tL043[nL043]={ 81, 82, 81, 82, 81, 82, 81, 82, 81, 82, 81, 82};
00927 static const int tL044[nL044]={ 82, 81, 82, 81, 82, 81, 82, 81, 82, 81, 82, 81};
00928 static const int tL045[nL045]={ 81, 82, 81, 82, 81, 82, 81, 82, 81, 82, 81, 82};
00929 static const int tL046[nL046]={ 82, 81, 82, 81, 82, 81, 82, 81, 82, 81, 82, 81};
00930 static const int tL047[nL047]={ 81, 82, 81, 82, 81, 82, 81, 82, 81, 82, 81, 82};
00931 static const int tL048[nL048]={ 82, 81, 82, 81, 82, 81, 82, 81, 82, 81, 82, 81, 82};
00932 static const int tL049[nL049]={ 81, 82, 81, 82, 81, 82, 81, 82, 81, 82, 81, 82, 81};
00933 static const int tL050[nL050]={ 82, 81, 82, 81, 82, 81, 82, 81, 84, 81, 82, 81, 82};
00934 static const int tL051[nL051]={ 81, 82, 81, 82, 81, 82, 81, 82, 81, 82, 81, 82, 81};
00935 static const int tL052[nL052]={ 82, 81, 82, 81, 82, 81, 82, 81, 82, 81, 82, 81, 82};
00936 static const int tL053[nL053]={ 81, 82, 81, 82, 81, 82, 81, 82, 81, 82, 81, 82, 81};
00937 static const int tL054[nL054]={ 82, 81, 82, 81, 82, 81, 82, 81, 82, 81, 82, 81, 82, 81};
00938 static const int tL055[nL055]={ 81, 82, 81, 82, 81, 82, 81, 82, 81, 82, 81, 82, 81, 82};
00939
00940 static const int tL056[nL056]={ 82, 81, 82, 71, 72, 71, 72, 71, 72, 71, 72, 71, 72, 71};
00941 static const int tL057[nL057]={ 71, 72, 71, 72, 71, 72, 71, 72, 71, 72, 71, 72, 71, 72};
00942 static const int tL058[nL058]={ 72, 71, 72, 71, 72, 71, 72, 71, 72, 71, 72, 71, 72, 71};
00943 static const int tL059[nL059]={ 71, 72, 71, 72, 71, 72, 71, 72, 71, 72, 71, 72, 71, 72,
00944 71};
00945 static const int tL060[nL060]={ 72, 71, 72, 71, 72, 71, 72, 71, 72, 71, 72, 71, 72, 71,
00946 72};
00947 static const int tL061[nL061]={ 71, 72, 71, 72, 71, 72, 71, 72, 71, 72, 71, 72, 71, 72,
00948 71};
00949 static const int tL062[nL062]={ 72, 71, 72, 71, 72, 71, 72, 71, 74, 71, 72, 71, 72, 71,
00950 71};
00951 static const int tL063[nL063]={ 71, 72, 71, 72, 71, 72, 71, 72, 71, 72, 71, 72, 71, 72,
00952 71};
00953 static const int tL064[nL064]={ 72, 71, 72, 71, 72, 71, 72, 71, 72, 71, 72, 71, 72, 71,
00954 72};
00955 static const int tL065[nL065]={ 71, 72, 71, 72, 71, 72, 71, 72, 71, 72, 71, 72, 71, 72,
00956 71, 72};
00957 static const int tL066[nL066]={ 72, 71, 72, 71, 72, 71, 72, 71, 72, 71, 72, 71, 72, 71,
00958 72, 71};
00959 static const int tL067[nL067]={ 71, 72, 71, 72, 71, 72, 71, 72, 71, 72, 71, 72, 71, 72,
00960 71, 72};
00961 static const int tL068[nL068]={ 72, 71, 72, 71, 72, 71, 72, 71, 72, 71, 72, 71, 72, 71,
00962 72, 71};
00963 static const int tL069[nL069]={ 71, 72, 71, 72, 71, 72, 71, 72, 71, 72, 71, 72, 71, 72,
00964 71, 72};
00965 static const int tL070[nL070]={ 72, 71, 72, 71, 72, 71, 72, 71, 72, 71, 72, 71, 72, 71,
00966 72, 71};
00967 static const int tL071[nL071]={ 71, 72, 71, 72, 71, 72, 71, 72, 71, 72, 61, 62, 61, 62,
00968 61, 62, 61};
00969 static const int tL072[nL072]={ 62, 61, 62, 61, 62, 61, 62, 61, 62, 61, 62, 61, 62, 61,
00970 62, 61, 62};
00971 static const int tL073[nL073]={ 61, 62, 61, 62, 61, 62, 61, 62, 61, 62, 61, 62, 61, 62,
00972 61, 62, 61};
00973 static const int tL074[nL074]={ 62, 61, 62, 61, 62, 61, 62, 61, 62, 61, 62, 61, 62, 61,
00974 62, 61, 62};
00975 static const int tL075[nL075]={ 61, 62, 61, 62, 61, 62, 61, 62, 61, 62, 61, 62, 61, 62,
00976 61, 62, 61};
00977 static const int tL076[nL076]={ 62, 61, 62, 61, 62, 61, 62, 61, 62, 61, 62, 61, 62, 61,
00978 62, 61, 62, 61};
00979 static const int tL077[nL077]={ 61, 62, 61, 62, 61, 62, 61, 62, 61, 62, 61, 62, 61, 62,
00980 61, 62, 61, 62};
00981 static const int tL078[nL078]={ 62, 61, 62, 61, 62, 61, 62, 61, 62, 61, 62, 61, 62, 61,
00982 62, 61, 62, 61};
00983 static const int tL079[nL079]={ 61, 62, 61, 62, 61, 62, 61, 62, 61, 62, 61, 62, 61, 62,
00984 61, 62, 61, 62};
00985 static const int tL080[nL080]={ 62, 61, 62, 61, 62, 61, 62, 61, 64, 61, 62, 61, 62, 61,
00986 62, 61, 62, 61};
00987 static const int tL081[nL081]={ 61, 62, 61, 62, 61, 62, 61, 62, 61, 62, 61, 62, 61, 62,
00988 61, 62, 61, 62};
00989 static const int tL082[nL082]={ 62, 61, 62, 61, 62, 61, 62, 61, 62, 61, 62, 61, 62, 61,
00990 62, 61, 62, 61, 62};
00991 static const int tL083[nL083]={ 61, 62, 61, 62, 61, 62, 61, 62, 61, 62, 61, 62, 61, 62,
00992 61, 62, 61, 62, 61};
00993 static const int tL084[nL084]={ 62, 61, 62, 61, 62, 61, 62, 61, 62, 61, 62, 61, 62, 61,
00994 62, 61, 62, 61, 62};
00995 static const int tL085[nL085]={ 61, 62, 61, 62, 61, 62, 61, 62, 61, 62, 61, 62, 61, 62,
00996 61, 62, 61, 62, 61};
00997 static const int tL086[nL086]={ 62, 61, 62, 61, 62, 61, 62, 61, 62, 61, 62, 61, 62, 61,
00998 62, 61, 62, 61, 62};
00999 static const int tL087[nL087]={ 61, 62, 61, 62, 61, 62, 61, 62, 61, 62, 61, 62, 61, 62,
01000 61, 62, 61, 62, 61};
01001 static const int tL088[nL088]={ 62, 61, 62, 61, 62, 61, 62, 61, 62, 61, 62, 61, 62, 61,
01002 62, 61, 52, 51, 52, 51};
01003
01004 static const int tL089[nL089]={ 61, 62, 61, 62, 51, 52, 51, 52, 51, 52, 51, 52, 51, 52,
01005 51, 52, 51, 52, 51, 52};
01006 static const int tL090[nL090]={ 52, 51, 52, 51, 52, 51, 52, 51, 52, 51, 52, 51, 52, 51,
01007 52, 51, 52, 51, 52, 51};
01008 static const int tL091[nL091]={ 51, 52, 51, 52, 51, 52, 51, 52, 51, 52, 51, 52, 51, 52,
01009 51, 52, 51, 52, 51, 52};
01010 static const int tL092[nL092]={ 52, 51, 52, 51, 52, 51, 52, 51, 52, 51, 52, 51, 52, 51,
01011 52, 51, 52, 51, 52, 51};
01012 static const int tL093[nL093]={ 51, 52, 51, 52, 51, 52, 51, 52, 51, 52, 51, 52, 51, 52,
01013 51, 52, 51, 52, 51, 52, 51};
01014 static const int tL094[nL094]={ 52, 51, 52, 51, 52, 51, 52, 51, 52, 51, 52, 51, 52, 51,
01015 52, 51, 52, 51, 52, 51, 52};
01016 static const int tL095[nL095]={ 51, 52, 51, 52, 51, 52, 51, 52, 51, 52, 51, 52, 51, 52,
01017 51, 52, 51, 52, 51, 52, 51};
01018 static const int tL096[nL096]={ 52, 51, 52, 51, 52, 51, 52, 51, 52, 51, 52, 51, 52, 51,
01019 52, 51, 52, 51, 52, 51, 52};
01020 static const int tL097[nL097]={ 51, 52, 51, 52, 51, 52, 51, 52, 51, 52, 51, 52, 51, 52,
01021 51, 52, 51, 52, 51, 52, 51};
01022 static const int tL098[nL098]={ 52, 51, 52, 51, 52, 51, 52, 51, 52, 51, 52, 51, 52, 51,
01023 52, 51, 52, 51, 52, 51, 52};
01024 static const int tL099[nL099]={ 51, 52, 51, 52, 51, 52, 51, 52, 51, 52, 51, 52, 51, 52,
01025 51, 52, 51, 52, 51, 52, 51, 52};
01026 static const int tL100[nL100]={ 52, 51, 52, 51, 52, 51, 52, 51, 52, 51, 52, 53, 52, 51,
01027 52, 51, 52, 51, 52, 51, 52, 51};
01028 static const int tL101[nL101]={ 51, 52, 51, 52, 51, 52, 51, 52, 51, 52, 51, 52, 51, 52,
01029 51, 52, 51, 52, 51, 52, 51, 52};
01030 static const int tL102[nL102]={ 52, 51, 52, 51, 52, 51, 52, 51, 52, 51, 52, 51, 52, 51,
01031 52, 51, 52, 51, 52, 51, 52, 51};
01032 static const int tL103[nL103]={ 51, 52, 51, 52, 51, 52, 51, 52, 51, 52, 51, 52, 51, 52,
01033 51, 52, 51, 52, 51, 52, 51, 52};
01034 static const int tL104[nL104]={ 52, 51, 52, 51, 52, 51, 52, 51, 52, 51, 52, 51, 52, 51,
01035 52, 51, 52, 51, 52, 51, 52, 51};
01036 static const int tL105[nL105]={ 51, 52, 51, 52, 51, 52, 51, 52, 51, 52, 51, 52, 51, 52,
01037 51, 52, 51, 52, 51, 52, 51, 52, 51};
01038 static const int tL106[nL106]={ 52, 51, 52, 51, 52, 51, 52, 51, 52, 51, 52, 51, 52, 51,
01039 52, 51, 52, 51, 52, 51, 52, 51, 52};
01040 static const int tL107[nL107]={ 51, 52, 51, 52, 51, 52, 51, 52, 51, 52, 51, 52, 51, 52,
01041 51, 52, 51, 52, 51, 52, 51, 52, 51};
01042 static const int tL108[nL108]={ 52, 51, 52, 51, 52, 51, 52, 51, 52, 51, 52, 51, 52, 51,
01043 52, 51, 52, 51, 52, 51, 52, 51, 52};
01044 static const int tL109[nL109]={ 51, 52, 51, 52, 51, 52, 51, 52, 51, 52, 51, 52, 51, 52,
01045 51, 52, 51, 52, 51, 52, 51, 52, 51};
01046 static const int tL110[nL110]={ 52, 51, 52, 51, 52, 51, 52, 51, 52, 51, 52, 51, 52, 51,
01047 52, 51, 52, 51, 52, 51, 52, 51, 52, 51};
01048 static const int tL111[nL111]={ 51, 52, 51, 52, 51, 52, 51, 52, 51, 52, 51, 52, 51, 52,
01049 51, 52, 51, 42, 41, 42, 41, 42, 41, 42};
01050 static const int tL112[nL112]={ 52, 51, 52, 51, 42, 41, 42, 41, 42, 41, 42, 41, 42, 41,
01051 42, 41, 42, 41, 42, 41, 42, 41, 42, 41};
01052 static const int tL113[nL113]={ 41, 42, 41, 42, 41, 42, 41, 42, 41, 42, 41, 42, 41, 42,
01053 41, 42, 41, 42, 41, 42, 41, 42, 41, 42};
01054 static const int tL114[nL114]={ 42, 41, 42, 41, 42, 41, 42, 41, 42, 41, 42, 41, 42, 41,
01055 42, 41, 42, 41, 42, 41, 42, 41, 42, 41};
01056 static const int tL115[nL115]={ 41, 42, 41, 42, 41, 42, 41, 42, 41, 42, 41, 42, 41, 42,
01057 41, 42, 41, 42, 41, 42, 41, 42, 41, 42};
01058 static const int tL116[nL116]={ 42, 41, 42, 41, 42, 41, 42, 41, 42, 41, 42, 41, 42, 41,
01059 42, 41, 42, 41, 42, 41, 42, 41, 42, 41, 42};
01060 static const int tL117[nL117]={ 41, 42, 41, 42, 41, 42, 41, 42, 41, 42, 41, 42, 41, 42,
01061 41, 42, 41, 42, 41, 42, 41, 42, 41, 42, 41};
01062 static const int tL118[nL118]={ 42, 41, 42, 41, 42, 41, 42, 41, 42, 41, 42, 41, 42, 41,
01063 42, 41, 42, 41, 42, 41, 42, 41, 42, 41, 42};
01064 static const int tL119[nL119]={ 41, 42, 41, 42, 41, 42, 41, 42, 41, 42, 41, 42, 41, 42,
01065 41, 42, 41, 42, 41, 42, 41, 42, 41, 42, 41};
01066 static const int tL120[nL120]={ 42, 41, 42, 41, 42, 41, 42, 41, 42, 41, 42, 41, 42, 41,
01067 42, 41, 42, 41, 42, 41, 42, 41, 42, 41, 42};
01068 static const int tL121[nL121]={ 41, 42, 41, 42, 41, 42, 41, 42, 41, 42, 41, 42, 41, 42,
01069 41, 42, 41, 42, 41, 42, 41, 42, 41, 42, 41};
01070 static const int tL122[nL122]={ 42, 41, 42, 41, 42, 41, 42, 41, 42, 41, 42, 41, 42, 41,
01071 42, 41, 42, 41, 42, 41, 42, 41, 42, 41, 42, 41};
01072 static const int tL123[nL123]={ 41, 42, 41, 42, 41, 42, 41, 42, 41, 42, 41, 42, 41, 42,
01073 41, 42, 41, 42, 41, 42, 41, 42, 41, 42, 41, 42};
01074 static const int tL124[nL124]={ 42, 41, 42, 41, 42, 41, 42, 41, 42, 41, 42, 43, 42, 41,
01075 42, 41, 42, 41, 42, 41, 42, 41, 42, 41, 42, 41};
01076 static const int tL125[nL125]={ 41, 42, 41, 42, 41, 42, 41, 42, 41, 42, 41, 42, 41, 42,
01077 41, 42, 41, 42, 41, 42, 41, 42, 41, 42, 41, 42};
01078 static const int tL126[nL126]={ 42, 41, 42, 41, 42, 41, 42, 41, 42, 41, 42, 41, 42, 41,
01079 42, 41, 42, 41, 42, 41, 42, 41, 42, 41, 42, 41};
01080 static const int tL127[nL127]={ 41, 42, 41, 42, 41, 42, 41, 42, 41, 42, 41, 42, 41, 42,
01081 41, 42, 41, 42, 41, 42, 41, 42, 41, 42, 41, 42, 41};
01082 static const int tL128[nL128]={ 42, 41, 42, 41, 42, 41, 42, 41, 42, 41, 42, 41, 42, 41,
01083 42, 41, 42, 41, 42, 41, 42, 41, 42, 41, 42, 41, 42};
01084 static const int tL129[nL129]={ 41, 42, 41, 42, 41, 42, 41, 42, 41, 42, 41, 42, 41, 42,
01085 41, 42, 41, 42, 41, 42, 41, 42, 41, 42, 41, 42, 41};
01086 static const int tL130[nL130]={ 42, 41, 42, 41, 42, 41, 42, 41, 42, 41, 42, 41, 42, 41,
01087 42, 41, 42, 41, 42, 41, 42, 41, 42, 41, 42, 41, 42};
01088 static const int tL131[nL131]={ 41, 42, 41, 42, 41, 42, 41, 42, 41, 42, 41, 42, 41, 42,
01089 41, 42, 41, 42, 41, 42, 41, 42, 41, 42, 41, 42, 41};
01090 static const int tL132[nL132]={ 42, 41, 42, 41, 42, 41, 42, 41, 42, 41, 42, 41, 42, 41,
01091 42, 41, 42, 41, 42, 41, 42, 41, 42, 41, 42, 41, 42};
01092 static const int tL133[nL133]={ 41, 42, 41, 42, 41, 42, 41, 42, 41, 42, 41, 42, 41, 42,
01093 41, 42, 41, 42, 41, 42, 41, 42, 41, 42, 41, 42, 41, 42};
01094 static const int tL134[nL134]={ 42, 41, 42, 41, 42, 41, 42, 41, 42, 41, 42, 41, 42, 41,
01095 42, 41, 42, 41, 42, 41, 42, 41, 42, 41, 42, 41, 42, 41};
01096 static const int tL135[nL135]={ 41, 42, 41, 42, 41, 42, 41, 42, 41, 42, 41, 42, 41, 42,
01097 41, 42, 41, 42, 41, 42, 41, 42, 41, 42, 41, 42, 41, 42};
01098 static const int tL136[nL136]={ 42, 41, 42, 41, 42, 41, 42, 41, 42, 41, 42, 41, 42, 41,
01099 42, 41, 42, 41, 42, 41, 42, 41, 42, 41, 42, 41, 42, 41};
01100 static const int tL137[nL137]={ 41, 42, 41, 42, 41, 42, 41, 42, 41, 42, 41, 42, 41, 42,
01101 41, 42, 41, 42, 41, 42, 41, 42, 31, 32, 31, 32, 31, 32};
01102
01103 static const int tL138[nL138]={ 42, 41, 42, 41, 42, 41, 42, 41, 42, 41, 42, 41, 32, 31,
01104 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31};
01105 static const int tL139[nL139]={ 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32,
01106 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32,
01107 31};
01108 static const int tL140[nL140]={ 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31,
01109 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31,
01110 32};
01111 static const int tL141[nL141]={ 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32,
01112 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32,
01113 31};
01114 static const int tL142[nL142]={ 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31,
01115 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31,
01116 32};
01117 static const int tL143[nL143]={ 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32,
01118 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32,
01119 31};
01120 static const int tL144[nL144]={ 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31,
01121 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31,
01122 32, 31};
01123 static const int tL145[nL145]={ 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32,
01124 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32,
01125 31, 32};
01126 static const int tL146[nL146]={ 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31,
01127 32, 33, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31,
01128 32, 31};
01129 static const int tL147[nL147]={ 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32,
01130 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32,
01131 31, 32};
01132 static const int tL148[nL148]={ 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31,
01133 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31,
01134 32, 31};
01135 static const int tL149[nL149]={ 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32,
01136 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32,
01137 31, 32};
01138 static const int tL150[nL150]={ 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31,
01139 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31,
01140 32, 31, 32};
01141 static const int tL151[nL151]={ 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32,
01142 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32,
01143 31, 32, 31};
01144 static const int tL152[nL152]={ 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31,
01145 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31,
01146 32, 31, 32};
01147 static const int tL153[nL153]={ 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32,
01148 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32,
01149 31, 32, 31};
01150 static const int tL154[nL154]={ 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31,
01151 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31,
01152 32, 31, 32};
01153 static const int tL155[nL155]={ 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32,
01154 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32,
01155 31, 32, 31};
01156 static const int tL156[nL156]={ 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31,
01157 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31,
01158 32, 31, 32, 31};
01159 static const int tL157[nL157]={ 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32,
01160 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32,
01161 31, 32, 31, 32};
01162 static const int tL158[nL158]={ 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31,
01163 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31,
01164 32, 31, 32, 31};
01165 static const int tL159[nL159]={ 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32,
01166 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32,
01167 31, 32, 31, 32};
01168 static const int tL160[nL160]={ 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31,
01169 32, 33, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31,
01170 32, 31, 32, 31};
01171 static const int tL161[nL161]={ 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32,
01172 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32,
01173 31, 32, 31, 32, 31};
01174 static const int tL162[nL162]={ 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31,
01175 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31,
01176 32, 31, 32, 31, 32};
01177 static const int tL163[nL163]={ 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32,
01178 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32,
01179 31, 32, 31, 32, 31};
01180 static const int tL164[nL164]={ 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31,
01181 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31,
01182 32, 31, 32, 31, 32};
01183 static const int tL165[nL165]={ 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32,
01184 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32,
01185 31, 32, 31, 32, 31};
01186 static const int tL166[nL166]={ 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31,
01187 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31,
01188 32, 31, 32, 31, 32};
01189 static const int tL167[nL167]={ 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32,
01190 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32,
01191 31, 32, 31, 32, 31, 32};
01192 static const int tL168[nL168]={ 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31,
01193 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 21,
01194 22, 21, 22, 21, 22, 21};
01195 static const int tL169[nL169]={ 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32,
01196 31, 32, 31, 32, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22,
01197 21, 22, 21, 22, 21, 22};
01198 static const int tL170[nL170]={ 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21,
01199 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21,
01200 22, 21, 22, 21, 22, 21};
01201 static const int tL171[nL171]={ 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22,
01202 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22,
01203 21, 22, 21, 22, 21, 22};
01204 static const int tL172[nL172]={ 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21,
01205 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21,
01206 22, 21, 22, 21, 22, 21};
01207 static const int tL173[nL173]={ 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22,
01208 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22,
01209 21, 22, 21, 22, 21, 22, 21};
01210 static const int tL174[nL174]={ 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21,
01211 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21,
01212 22, 21, 22, 21, 22, 21, 22};
01213 static const int tL175[nL175]={ 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22,
01214 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22,
01215 21, 22, 21, 22, 21, 22, 21};
01216 static const int tL176[nL176]={ 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21,
01217 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21,
01218 22, 21, 22, 21, 22, 21, 22};
01219 static const int tL177[nL177]={ 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22,
01220 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22,
01221 21, 22, 21, 22, 21, 22, 21};
01222 static const int tL178[nL178]={ 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21,
01223 22, 23, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21,
01224 22, 21, 22, 21, 22, 21, 22, 21};
01225 static const int tL179[nL179]={ 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22,
01226 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22,
01227 21, 22, 21, 22, 21, 22, 21, 22};
01228 static const int tL180[nL180]={ 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21,
01229 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21,
01230 22, 21, 22, 21, 22, 21, 22, 21};
01231 static const int tL181[nL181]={ 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22,
01232 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22,
01233 21, 22, 21, 22, 21, 22, 21, 22};
01234 static const int tL182[nL182]={ 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21,
01235 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21,
01236 22, 21, 22, 21, 22, 21, 22, 21};
01237 static const int tL183[nL183]={ 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22,
01238 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22,
01239 21, 22, 21, 22, 21, 22, 21, 22};
01240 static const int tL184[nL184]={ 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21,
01241 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21,
01242 22, 21, 22, 21, 22, 21, 22, 21, 22};
01243 static const int tL185[nL185]={ 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22,
01244 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22,
01245 21, 22, 21, 22, 21, 22, 21, 22, 21};
01246 static const int tL186[nL186]={ 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21,
01247 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21,
01248 22, 21, 22, 21, 22, 21, 22, 21, 22};
01249 static const int tL187[nL187]={ 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22,
01250 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22,
01251 21, 22, 21, 22, 21, 22, 21, 22, 21};
01252 static const int tL188[nL188]={ 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21,
01253 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21,
01254 22, 21, 22, 21, 22, 21, 22, 21, 22};
01255 static const int tL189[nL189]={ 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22,
01256 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22,
01257 21, 22, 21, 22, 21, 22, 21, 22, 21};
01258 static const int tL190[nL190]={ 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21,
01259 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21,
01260 22, 21, 22, 21, 22, 21, 22, 21, 22, 21};
01261 static const int tL191[nL191]={ 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22,
01262 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22,
01263 21, 22, 21, 22, 21, 22, 21, 22, 21, 22};
01264 static const int tL192[nL192]={ 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21,
01265 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21,
01266 22, 21, 22, 21, 22, 21, 22, 21, 22, 21};
01267 static const int tL193[nL193]={ 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22,
01268 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22,
01269 21, 22, 21, 22, 21, 22, 21, 22, 21, 22};
01270 static const int tL194[nL194]={ 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21,
01271 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21,
01272 22, 21, 22, 21, 22, 21, 22, 21, 22, 21};
01273 static const int tL195[nL195]={ 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22,
01274 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22,
01275 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21};
01276 static const int tL196[nL196]={ 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21,
01277 22, 21, 22, 21, 22, 23, 22, 21, 22, 21, 22, 21, 22, 21,
01278 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22};
01279 static const int tL197[nL197]={ 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22,
01280 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22,
01281 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21};
01282 static const int tL198[nL198]={ 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21,
01283 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21,
01284 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22};
01285 static const int tL199[nL199]={ 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22,
01286 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22,
01287 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21};
01288 static const int tL200[nL200]={ 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21,
01289 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21,
01290 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22};
01291 static const int tL201[nL201]={ 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22,
01292 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22,
01293 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22};
01294 static const int tL202[nL202]={ 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21,
01295 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21,
01296 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21};
01297 static const int tL203[nL203]={ 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22,
01298 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22,
01299 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22};
01300 static const int tL204[nL204]={ 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21,
01301 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21,
01302 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21};
01303 static const int tL205[nL205]={ 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22,
01304 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22,
01305 21, 22, 21, 22, 11, 12, 11, 12, 11, 12, 11, 12};
01306 static const int tL206[nL206]={ 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21,
01307 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 12, 11, 12, 11,
01308 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11};
01309 static const int tL207[nL207]={ 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 12, 11, 12,
01310 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12,
01311 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11};
01312 static const int tL208[nL208]={ 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11,
01313 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11,
01314 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12};
01315 static const int tL209[nL209]={ 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12,
01316 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12,
01317 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11};
01318 static const int tL210[nL210]={ 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11,
01319 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11,
01320 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12};
01321 static const int tL211[nL211]={ 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12,
01322 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12,
01323 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11};
01324 static const int tL212[nL212]={ 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11,
01325 12, 11, 12, 11, 12, 13, 12, 11, 12, 11, 12, 11, 12, 11,
01326 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11};
01327 static const int tL213[nL213]={ 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12,
01328 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12,
01329 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12};
01330 static const int tL214[nL214]={ 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11,
01331 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11,
01332 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11};
01333 static const int tL215[nL215]={ 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12,
01334 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12,
01335 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12};
01336 static const int tL216[nL216]={ 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11,
01337 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11,
01338 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11};
01339 static const int tL217[nL217]={ 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12,
01340 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12,
01341 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12};
01342 static const int tL218[nL218]={ 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11,
01343 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11,
01344 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11,
01345 12};
01346 static const int tL219[nL219]={ 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12,
01347 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12,
01348 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12,
01349 11};
01350 static const int tL220[nL220]={ 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11,
01351 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11,
01352 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11,
01353 12};
01354 static const int tL221[nL221]={ 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12,
01355 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12,
01356 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12,
01357 11};
01358 static const int tL222[nL222]={ 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11,
01359 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11,
01360 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11,
01361 12};
01362 static const int tL223[nL223]={ 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12,
01363 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12,
01364 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12,
01365 11};
01366 static const int tL224[nL224]={ 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11,
01367 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11,
01368 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11,
01369 12, 11};
01370 static const int tL225[nL225]={ 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12,
01371 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12,
01372 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12,
01373 11, 12};
01374 static const int tL226[nL226]={ 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11,
01375 12, 11, 12, 11, 12, 13, 12, 11, 12, 11, 12, 11, 12, 11,
01376 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11,
01377 12, 11};
01378 static const int tL227[nL227]={ 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12,
01379 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12,
01380 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12,
01381 11, 12};
01382 static const int tL228[nL228]={ 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11,
01383 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11,
01384 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11,
01385 12, 11};
01386 static const int tL229[nL229]={ 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12,
01387 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12,
01388 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12,
01389 11, 12, 11};
01390 static const int tL230[nL230]={ 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11,
01391 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11,
01392 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11,
01393 12, 11, 12};
01394 static const int tL231[nL231]={ 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12,
01395 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12,
01396 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 0, 0, 0,
01397 0, 0, 0};
01398 static const int tL232[nL232]={ 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11,
01399 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11,
01400 12, 11, 12, 11, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
01401 0, 0, 0};
01402 static const int tL233[nL233]={ 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12,
01403 11, 12, 11, 12, 11, 12, 11, 12, 0, 0, 0, 0, 0, 0,
01404 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
01405 0, 0, 0};
01406 static const int nSL[nLay]={
01407 nL001, nL002, nL003, nL004, nL005, nL006, nL007, nL008, nL009 ,nL010,
01408 nL011, nL012, nL013, nL014, nL015, nL016, nL017, nL018, nL019 ,nL020,
01409 nL021, nL022, nL023, nL024, nL025, nL026, nL027, nL028, nL029 ,nL030,
01410 nL031, nL032, nL033, nL034, nL035, nL036, nL037, nL038, nL039 ,nL040,
01411 nL041, nL042, nL043, nL044, nL045, nL046, nL047, nL048, nL049 ,nL050,
01412 nL051, nL052, nL053, nL054, nL055, nL056, nL057, nL058, nL059 ,nL060,
01413 nL061, nL062, nL063, nL064, nL065, nL066, nL067, nL068, nL069 ,nL070,
01414 nL071, nL072, nL073, nL074, nL075, nL076, nL077, nL078, nL079 ,nL080,
01415 nL081, nL082, nL083, nL084, nL085, nL086, nL087, nL088, nL089 ,nL090,
01416 nL091, nL092, nL093, nL094, nL095, nL096, nL097, nL098, nL099 ,nL100,
01417 nL101, nL102, nL103, nL104, nL105, nL106, nL107, nL108, nL109 ,nL110,
01418 nL111, nL112, nL113, nL114, nL115, nL116, nL117, nL118, nL119 ,nL120,
01419 nL121, nL122, nL123, nL124, nL125, nL126, nL127, nL128, nL129 ,nL130,
01420 nL131, nL132, nL133, nL134, nL135, nL136, nL137, nL138, nL139 ,nL140,
01421 nL141, nL142, nL143, nL144, nL145, nL146, nL147, nL148, nL149 ,nL150,
01422 nL151, nL152, nL153, nL154, nL155, nL156, nL157, nL158, nL159 ,nL160,
01423 nL161, nL162, nL163, nL164, nL165, nL166, nL167, nL168, nL169 ,nL170,
01424 nL171, nL172, nL173, nL174, nL175, nL176, nL177, nL178, nL179 ,nL180,
01425 nL181, nL182, nL183, nL184, nL185, nL186, nL187, nL188, nL189 ,nL190,
01426 nL191, nL192, nL193, nL194, nL195, nL196, nL197, nL198, nL199 ,nL200,
01427 nL201, nL202, nL203, nL204, nL205, nL206, nL207, nL208, nL209 ,nL210,
01428 nL211, nL212, nL213, nL214, nL215, nL216, nL217, nL218, nL219 ,nL220,
01429 nL221, nL222, nL223, nL224, nL225, nL226, nL227, nL228, nL229 ,nL230,
01430 nL231, nL232, nL233};
01431 static const int* nLT[nLay]={
01432 tL001, tL002, tL003, tL004, tL005, tL006, tL007, tL008, tL009 ,tL010,
01433 tL011, tL012, tL013, tL014, tL015, tL016, tL017, tL018, tL019 ,tL020,
01434 tL021, tL022, tL023, tL024, tL025, tL026, tL027, tL028, tL029 ,tL030,
01435 tL031, tL032, tL033, tL034, tL035, tL036, tL037, tL038, tL039 ,tL040,
01436 tL041, tL042, tL043, tL044, tL045, tL046, tL047, tL048, tL049 ,tL050,
01437 tL051, tL052, tL053, tL054, tL055, tL056, tL057, tL058, tL059 ,tL060,
01438 tL061, tL062, tL063, tL064, tL065, tL066, tL067, tL068, tL069 ,tL070,
01439 tL071, tL072, tL073, tL074, tL075, tL076, tL077, tL078, tL079 ,tL080,
01440 tL081, tL082, tL083, tL084, tL085, tL086, tL087, tL088, tL089 ,tL090,
01441 tL091, tL092, tL093, tL094, tL095, tL096, tL097, tL098, tL099 ,tL100,
01442 tL101, tL102, tL103, tL104, tL105, tL106, tL107, tL108, tL109 ,tL110,
01443 tL111, tL112, tL113, tL114, tL115, tL116, tL117, tL118, tL119 ,tL120,
01444 tL121, tL122, tL123, tL124, tL125, tL126, tL127, tL128, tL129 ,tL130,
01445 tL131, tL132, tL133, tL134, tL135, tL136, tL137, tL138, tL139 ,tL140,
01446 tL141, tL142, tL143, tL144, tL145, tL146, tL147, tL148, tL149 ,tL150,
01447 tL151, tL152, tL153, tL154, tL155, tL156, tL157, tL158, tL159 ,tL160,
01448 tL161, tL162, tL163, tL164, tL165, tL166, tL167, tL168, tL169 ,tL170,
01449 tL171, tL172, tL173, tL174, tL175, tL176, tL177, tL178, tL179 ,tL180,
01450 tL181, tL182, tL183, tL184, tL185, tL186, tL187, tL188, tL189 ,tL190,
01451 tL191, tL192, tL193, tL194, tL195, tL196, tL197, tL198, tL199 ,tL200,
01452 tL201, tL202, tL203, tL204, tL205, tL206, tL207, tL208, tL209 ,tL210,
01453 tL211, tL212, tL213, tL214, tL215, tL216, tL217, tL218, tL219 ,tL220,
01454 tL221, tL222, tL223, tL224, tL225, tL226, tL227, tL228, tL229 ,tL230,
01455 tL231, tL232, tL233};
01456 static const int* nRT[nLay]={
01457 tR001, tR002, tR003, tR004, tR005, tR006, tR007, tR008, tR009 ,tR010,
01458 tR011, tR012, tR013, tR014, tR015, tR016, tR017, tR018, tR019 ,tR020,
01459 tR021, tR022, tR023, tR024, tR025, tR026, tR027, tR028, tR029 ,tR030,
01460 tR031, tR032, tR033, tR034, tR035, tR036, tR037, tR038, tR039 ,tR040,
01461 tR041, tR042, tR043, tR044, tR045, tR046, tR047, tR048, tR049 ,tR050,
01462 tR051, tR052, tR053, tR054, tR055, tR056, tR057, tR058, tR059 ,tR060,
01463 tR061, tR062, tR063, tR064, tR065, tR066, tR067, tR068, tR069 ,tR070,
01464 tR071, tR072, tR073, tR074, tR075, tR076, tR077, tR078, tR079 ,tR080,
01465 tR081, tR082, tR083, tR084, tR085, tR086, tR087, tR088, tR089 ,tR090,
01466 tR091, tR092, tR093, tR094, tR095, tR096, tR097, tR098, tR099 ,tR100,
01467 tR101, tR102, tR103, tR104, tR105, tR106, tR107, tR108, tR109 ,tR110,
01468 tR111, tR112, tR113, tR114, tR115, tR116, tR117, tR118, tR119 ,tR120,
01469 tR121, tR122, tR123, tR124, tR125, tR126, tR127, tR128, tR129 ,tR130,
01470 tR131, tR132, tR133, tR134, tR135, tR136, tR137, tR138, tR139 ,tR140,
01471 tR141, tR142, tR143, tR144, tR145, tR146, tR147, tR148, tR149 ,tR150,
01472 tR151, tR152, tR153, tR154, tR155, tR156, tR157, tR158, tR159 ,tR160,
01473 tR161, tR162, tR163, tR164, tR165, tR166, tR167, tR168, tR169 ,tR170,
01474 tR171, tR172, tR173, tR174, tR175, tR176, tR177, tR178, tR179 ,tR180,
01475 tR181, tR182, tR183, tR184, tR185, tR186, tR187, tR188, tR189 ,tR190,
01476 tR191, tR192, tR193, tR194, tR195, tR196, tR197, tR198, tR199 ,tR200,
01477 tR201, tR202, tR203, tR204, tR205, tR206, tR207, tR208, tR209 ,tR210,
01478 tR211, tR212, tR213, tR214, tR215, tR216, tR217, tR218, tR219 ,tR220,
01479 tR221, tR222, tR223, tR224, tR225, tR226, tR227, tR228, tR229 ,tR230,
01480 tR231, tR232, tR233};
01481
01482
01483
01484
01485
01486
01487
01488
01489
01490
01491
01492
01493
01494
01495
01496
01497
01498
01499
01500
01501
01502
01503
01504
01505
01506
01507
01508
01509
01510
01511
01512
01513
01514
01515
01516
01517
01518
01519
01520
01521
01522
01523
01524
01525
01526
01527
01528
01529 static const double cellSize = 0.5*CLHEP::cm;
01530 if (!(xl > 0.))
01531 xl=-xl;
01532 double fx=xl/cellSize;
01533 int ny=static_cast<int>((yl-yMin)/cellSize);
01534 if (ny < 0 || ny >= nLay)
01535 {
01536 #ifdef DebugLog
01537 edm::LogInfo("HFShower") << "-Warning-HFFibreFiducial::PMTNumber: "
01538 << "check limits y = " << yl << ", nL=" << nLay;
01539 #endif
01540 return 0;
01541 }
01542 int nx=static_cast<int>(fx);
01543 #ifdef mkodebug
01544 double phist=atan2(xl, yl)/CLHEP::deg;
01545 if(sqr(mX-xv)+sqr(mY-yv)+sqr(mZ-zv) > 9.)
01546 {
01547 std::cout<<"HFFibreFiducial::PMTNumber:X="<<xv<<",Y="<<yv<<",Z="<<zv<<",fX="<<fx
01548 <<"->nX="<<nx<<",nY="<<ny<<",mX="<<nSL[ny]<<",x="<<xl<<",y="<<yl<<",s="
01549 <<cellSize<<",nW="<<nwid<<",phi="<<phi/CLHEP::deg<<",phist="<<phist
01550 <<",phir="<<phir/CLHEP::deg<<std::endl;
01551 mX=xv;
01552 mY=yv;
01553 mZ=zv;
01554 }
01555 #endif
01556 #ifdef DebugLog
01557 double phis=atan2(xl, yl)/CLHEP::deg;
01558 edm::LogInfo("HFShower") << "HFFibreFiducial::PMTNumber:X = " << xv
01559 << ", Y = " << yv << ", Z = " << zv << ", fX = "
01560 << fx << "-> nX = " << nx << ", nY = " << ny
01561 << ", mX = " << nSL[ny] << ", x = " << xl << ", y = "
01562 << yl << ", s = " << cellSize << ", nW = "
01563 << nwid << ", phi = " << phi/CLHEP::deg
01564 << ", phis = " << phis << ", phir = "
01565 << phir/CLHEP::deg;
01566 #endif
01567 if (nx >= nSL[ny])
01568 {
01569 #ifdef DebugLog
01570 edm::LogInfo("HFShower") << "-Warning-HFFibreFiducial::nx/ny (" << nx
01571 << "," << ny <<") " << " above limit " << nSL[ny];
01572 #endif
01573 return 0;
01574 }
01575 int code=0;
01576 if (left) code=nLT[ny][nx];
01577 else code=nRT[ny][nx];
01578 int flag= code%10;
01579 int npmt= code/10;
01580 bool src= false;
01581 #ifdef DebugLog
01582 edm::LogInfo("HFShower") << "HFFibreFiducial::nx/ny (" << nx << ","
01583 << ny << ") code/flag/npmt " << code << "/" << flag
01584 << "/" << npmt;
01585 #endif
01586 if (!flag) return 0;
01587 else if (flag==1) npmt += 24;
01588 else if (flag==3 || flag==4) {
01589 flag-=2;
01590 src=true;
01591 }
01592 #ifdef DebugLog
01593 edm::LogInfo("HFShower") << "HFFibreFiducial::PMTNumber: src = " << src
01594 << ", npmt =" << npmt;
01595 #endif
01596 if (src) return -npmt;
01597 return npmt;
01598 }