Wednesday, May 11, 2022

[cdjaqrac] comments in merged tzdata time zones

tzdata version 2021b controversially merged a lot of time zones that have agreed since 1970.  among other things, this caused comments in the database to become harder to understand.

as comparison, first, below are all the entries from the 2021a database (Debian Bullseye, before the change) that have both a comment and cover multiple countries (regions).  entries numbered 1, 2, and 3 have comments that are marginally confusing, not obvious which part of the comment refers to which country.

Regions Time Zone Comment
1 AS:Samoa (American)
UM:US minor outlying islands
Pacific/Pago_Pago Samoa, Midway
2 US:United States
UM:US minor outlying islands
Pacific/Honolulu Hawaii
NG:Nigeria
AO:Angola
BJ:Benin
CD:Congo (Dem. Rep.)
CF:Central African Rep.
CG:Congo (Rep.)
CM:Cameroon
GA:Gabon
GQ:Equatorial Guinea
NE:Niger
Africa/Lagos West Africa Time
CH:Switzerland
DE:Germany
LI:Liechtenstein
Europe/Zurich Swiss time
MZ:Mozambique
BI:Burundi
BW:Botswana
CD:Congo (Dem. Rep.)
MW:Malawi
RW:Rwanda
ZM:Zambia
ZW:Zimbabwe
Africa/Maputo Central Africa Time
RU:Russia
UA:Ukraine
Europe/Simferopol Crimea
3 RE:Réunion
TF:French Southern & Antarctic Lands
Indian/Reunion Réunion, Crozet, Scattered Islands
TH:Thailand
KH:Cambodia
LA:Laos
VN:Vietnam
Asia/Bangkok Indochina (most areas)
NZ:New Zealand
AQ:Antarctica
Pacific/Auckland New Zealand time

below are entries from the 2021e database filtered by the same criteria.  there are many more confusing entries (numbered).  for example, in #6, which country is "Syowa" part of?  what if multiple countries have a location named Syowa?

Regions Time Zone Comment
1 AS:Samoa (American)
UM:US minor outlying islands
Pacific/Pago_Pago Samoa, Midway
2 US:United States
UM:US minor outlying islands
Pacific/Honolulu Hawaii
3 US:United States
CA:Canada
America/Phoenix MST - Arizona (except Navajo), Creston BC
4 PA:Panama
CA:Canada
KY:Cayman Islands
America/Panama EST - Panama, Cayman, ON (Atikokan), NU (Coral H)
5 CA:Canada
BS:Bahamas
America/Toronto Eastern - ON, QC (most areas), Bahamas
PR:Puerto Rico
AG:Antigua & Barbuda
CA:Canada
AI:Anguilla
AW:Aruba
BL:St Barthelemy
BQ:Caribbean NL
CW:Curaçao
DM:Dominica
GD:Grenada
GP:Guadeloupe
KN:St Kitts & Nevis
LC:St Lucia
MF:St Martin (French)
MS:Montserrat
SX:St Maarten (Dutch)
TT:Trinidad & Tobago
VC:St Vincent
VG:Virgin Islands (UK)
VI:Virgin Islands (US)
America/Puerto_Rico AST
NG:Nigeria
AO:Angola
BJ:Benin
CD:Congo (Dem. Rep.)
CF:Central African Rep.
CG:Congo (Rep.)
CM:Cameroon
GA:Gabon
GQ:Equatorial Guinea
NE:Niger
Africa/Lagos West Africa Time
CH:Switzerland
DE:Germany
LI:Liechtenstein
Europe/Zurich Swiss time
MZ:Mozambique
BI:Burundi
BW:Botswana
CD:Congo (Dem. Rep.)
MW:Malawi
RW:Rwanda
ZM:Zambia
ZW:Zimbabwe
Africa/Maputo Central Africa Time
RU:Russia
UA:Ukraine
Europe/Simferopol Crimea
6 SA:Saudi Arabia
AQ:Antarctica
KW:Kuwait
YE:Yemen
Asia/Riyadh Arabia, Syowa
7 RE:Réunion
TF:French Southern & Antarctic Lands
Indian/Reunion Réunion, Crozet, Scattered Islands
TH:Thailand
KH:Cambodia
LA:Laos
VN:Vietnam
Asia/Bangkok Indochina (most areas)
SG:Singapore
MY:Malaysia
Asia/Singapore Singapore, peninsular Malaysia
8 PG:Papua New Guinea
AQ:Antarctica
Pacific/Port_Moresby Papua New Guinea (most areas), Dumont d'Urville
NZ:New Zealand
AQ:Antarctica
Pacific/Auckland New Zealand time

a stopgap fix: comments in zone1970.tab should be applicable only to the first country (the country that the city is in), or to all countries listed for that time zone.  for comments that apply only to some countries, move the comment to a Link time zone in zone.tab .  but god help you if that comment requires an accented character, not supported by the older zone.tab .  better, probably requiring software changes, is for zone1970.tab to also support Link time zones as entries with their own comments and coordinates.

incidentally, zone1970.tab says "Comments; present if and only if a country has multiple timezones", which is (arguably) violated by these merged entries.  for example, Panama has only one time zone, so its entry should not have a comment, but it does (#4).

[bqxjunlm] millikilogram

the metric (SI) unit of mass -- kilogram -- already having a metric prefix is an ugly flaw in the metric system.  kilogram, not gram, is the unit upon which derived units such as newton are built.

the force required to accelerate 1 megagram 1 meter/second^2 is not 1 meganewton but 1 kilonewton.

what has been the most costly failure caused by this flaw?  how many people have died?

an ugly solution is to never remove the kilo prefix from kilogram but treat it as a monolithic word, prefixing additional metric prefixes.

the force required to accelerate 1 kilokilogram 1 meter/second^2 is 1 kilonewton.

what is the street price of one millikilogram of cocaine?

a tablet of Advil contains 200 microkilograms of ibuprofen.

better would be a completely new word for kilogram.  but that would make the metric system unpleasant during the (likely long) transition period, waiting for every language in the world to stop using the words gram and kilogram.

slightly tangentially, g being an abbreviation for gram and for earth gravitational acceleration is confusing: an object with mass 42 g weighs 69 g.  how many g is it in?

the centimeter-gram-second (cgs) system of units has the same flaw (centimeter).  furthermore, the fact that cgs even exists makes metric hazardous.  two parties could both believe they are using "metric" but be off by many factors of 10, for example joule vs. erg.  what has been the most costly mistake caused by mixing up SI and cgs?

we could create a meter-gram-second system of units to fix the kilogram problem.  we would need to come up with new derived unit names for everything derived from mass.  why fight SI vs cgs when you could fight SI vs cgs vs mgs?

[anwfeofp] dry ice from cold weather

even though the coldest temperatures in the Antarctic are colder than the sublimation temperature of dry ice, carbon dioxide does not naturally desublimate out of the atmosphere, because partial pressures.  (at what temperature does CO2 desublimation actually happen?  is it difficult to separate the dry ice from other frozen air components?)

nevertheless, can the cold of the Antarctic still somehow be harnessed to produce dry ice?  first idea is simply to leave a pressurized CO2 canister outside.  next idea: pressurized CO2 in a warm environment connected by tube to cold chamber cooled by ambient Antarctic environment.  the cold chamber remains pressurized even as the CO2 gas gets consumed by desublimation.  maybe a balloon could maintain pressure, though rubber behaves poorly at low temperatures.

however, if one starts with pressurized CO2, dry ice can be produced at room temperature: just decrease the pressure and then its temperature will decrease by the ideal gas law.  at some point, the temperature becomes low enough for the phase change to occur.  this is how dry ice is normally produced.  can Antarctic cold improve yield?

tangentially, can the production of dry ice by depressurization be demonstrated using CO2 canisters easily commercially available for beverage carbonation or air pistols?  maybe you also want a press to create pellets.

how can one produce large crystals of frozen carbon dioxide?

[pciwmemo] caffeine spice

typical sci-fi universe: humans dominate.  (explanation behind the scenes: because prosthetics to make actors into aliens is expensive and time-consuming.)

explained in universe: Earth is the only place in the universe where coffee grows.  the species that controls the coffee controls the universe.

this is of course a parody of spice in Dune, which itself was inspired by crude oil.  parody Mentat Mantra (original author unknown):

It is by caffeine alone I set my mind in motion.
It is by the beans of Java the thoughts acquire speed,
The hands acquire shaking,
The shaking becomes a warning.
It is by caffeine alone I set my mind in motion.

Sunday, May 08, 2022

[jkzxrsrm] powers of 10

FindRoot[10^x==10*x, {x,0.135}, WorkingPrecision->50]

10^0.13712885742386235368613621063 = 10*0.13712885742386235368613621063 = 1.3712885742386235368613621063

the other root is 10^1 = 10*1 .

the nontrivial root only exists when the base is greater than e, so there is no binary version.

4^(1/2) = 4*(1/2) = 2.  is this the only rational solution?

[otqkqjqb] gas mileage wire gauge

diameters of cylindrical tubes corresponding to typical car gas mileages.  the amount of gasoline consumed on a trip is the volume of the tube.

2/sqrt(pi(10 US mpg)) = 0.0215453 inch = 21.5453 mil
2/sqrt(pi(20 US mpg)) = 0.0152 inch = 15.2 mil
2/sqrt(pi(30 US mpg)) = 0.0124 inch = 12.4 mil
2/sqrt(pi(40 US mpg)) = 0.0108 inch = 10.8 mil

2/sqrt(pi(10 UK mpg)) = 0.0236 inch = 23.6 thou
2/sqrt(pi(20 UK mpg)) = 0.0167 inch = 16.7 thou
2/sqrt(pi(30 UK mpg)) = 0.0136 inch = 13.6 thou
2/sqrt(pi(40 UK mpg)) = 0.0118 inch = 11.8 thou

(UK mpg uses imperial gallon.)

these would be thin but not ludicrously thin wires.  can the unaided eye see a dot of those diameters?

future post fakfxprw: many cars, stop and go traffic.

[ipwuysjd] gas mileage exact conversion

some exact fractions and funny words:

1 US mpg (gas mileage) = 1920/7 inch per cubic inch ~= 274.3/inch^2 (gas inchage)

1 km/liter (gas kilometerage) = 1 mm/mm^3 (gas millimeterage) = 1/mm^2 = 112903/48000 US mpg ~= 2.35 US mpg

liter/100 km (gas hectokilometerage, reciprocal) = 1 decimillimeter^3/decimillimeter (gas decimillimeterage) = 1 decimillimeter^2 = 10^20 barn

are British spellings metreage, kilometreage, millimetreage, hectokilometreage, and decimillimetreage pronounced the same as meterage, etc.?  petrol mileage, petrol kilometreage, petrol hectokilometreage (fuel consumption in square decimillimetres).

[iqzcqqxd] HEPA air filter not razors-and-blades

are there any room HEPA air filter machines not designed around the razors-and-blades business model?

the only thing I am aware of is building one yourself out of a box fan and 4 filters designed for full-home forced air ventilation systems.

Friday, May 06, 2022

[nwwqhvem] curving spinning projectiles in 2D

consider an idealized hockey puck.  it moves in 2D with a constant velocity -- a straight line.

if the puck is spinning (paint a spiral pattern on it to see its spin rate), let it travel a curved path.  this is intentionally unrealistic: we wish to invent physics (e.g., for a game) to make this possible, in particular, to define a trajectory that depends on the puck's translational and rotational momentum.

inspired by Malladus in Zelda Spirit Tracks.

real physics-inspired model of friction: each point on the underside of the puck encounters friction force in the direction exactly opposite to that point's velocity.  friction could be constant, or proportional to speed, or proportional to some constant power of speed.  exponent could be negative: less friction at higher speed.  maybe high speed melts the ice underneath the puck and creates a low-friction cushion of water.

integrate the frictional forces over (under) the area of the puck, then (this is highly unrealistic) only keep the component of the force perpendicular to the motion of the puck.  perpendicular force induces circular motion, leaving speed unchanged.  a spinning projectile, if unimpeded, will return to its origin like a boomerang.  (maybe this is undesirable?)  a non-spinning projectile travels in a straight line forever.

should a spinning projectile curve in the direction it is spinning, or the other way?  we are inventing physics, so this is an aesthetic decision.  for a given spin rate, should larger projectiles curve more, less, or the same?

invent a game, e.g., Pong, that encourages players to learn to extrapolate curved trajectories based on observed spin rate and velocity.

Saturday, April 30, 2022

[ljxgdqve] makeRegexOpts example

we demonstrate how to use the functions makeRegex and makeRegexOpts using the regex-tdfa Haskell regular expression package.

the key point is, you cannot use =~ if you want to use these functions.  if you do, for example:

bad :: String -> Bool;
bad s = s =~ (makeRegex "[[:digit:]]");

you will get inscrutable error messages:

* Ambiguous type variable `source0' arising from a use of `=~' prevents the constraint `(RegexMaker Regex CompOption ExecOption source0)' from being solved.

* Ambiguous type variables `source0', `compOpt0', `execOpt0' arising from a use of `makeRegex' prevents the constraint `(RegexMaker source0 compOpt0 execOpt0 [Char])' from being solved.

instead, you have to use matchTest or similar functions described in Text.Regex.Base.RegexLike in regex-base.  the functions are reexported by but not documented in Text.Regex.TDFA .

https://gabebw.com/blog/2015/10/11/regular-expressions-in-haskell is a good explanation.

below is an example program that searches case-insensitively for input lines that contain the substring "gold", equivalent to "grep -i gold".  we need to use makeRegexOpts to disable case sensitivity.

module Main where {
import qualified Text.Regex.TDFA as Regex;

main :: IO();
main = getContents >>= ( mapM_ putStrLn . filter myregex . lines);

myregex :: String -> Bool;
myregex s = Regex.matchTest r s where {
  r :: Regex.Regex;
  r = Regex.makeRegexOpts mycompoptions myexecoptions "gold" ;
  mycompoptions :: Regex.CompOption;
  mycompoptions = Regex.defaultCompOpt {Regex.caseSensitive = False}; -- record syntax
  myexecoptions :: Regex.ExecOption;
  myexecoptions = Regex.defaultExecOpt;
};
}

here is documentation about all the available ExecOption and CompOption for this TDFA regex implementation.

previously, on the lack of substitution in Haskell regexes.

Friday, April 29, 2022

[krxljzdu] password hints for encrypted data at rest

examples of encrypted data at rest:

  1. master password for offline password manager
  2. full disk encryption
  3. encrypted private key
  4. combination of a mechanical combination lock

difficulties with encrypted data at rest:

  1. if the password is used frequently, there are opportunities for surveillance to discover it, or accidentally using it (out of habit) in the wrong place, thereby accidentally revealing it.  but if the password is not used frequently, you yourself might forget it.
  2. probably cannot do multi factor authentication.  maybe there is a way to robustly extract a lot of entropy from something biometric, but it seems hard.  other types of second factor require an active server, not at rest, for example, a server which knows what time it is for a time-based one-time key.
  3. cannot lock out after N failed password attempts; again, this would require an active server to count.

solutions:

  1. attach unencrypted hints to the encrypted object.  sadly, none of the common programs for situations of encrypted data at rest (above) include such a feature.  the hint should be displayed every time, so that the user can verify that the hint is actually useful.  the hint should be attached to the encrypted object so that it cannot be separated and lost.
  2. use key stretching to make it difficult, perhaps infeasible, for an attacker to brute force a password.  although many programs include such a feature, some limit it (OpenPGP / gpg: max 65 million rounds), don't really encourage its use in the program's UI, and don't incorporate the latest technologies (e.g., Argon2).
  3. store the password with another person, someone who can and will legally resist authorities asking for the password (privileged communication).  hopefully someone who will also resist other forms of rubber-hose cryptanalysis.

    from an engineering standpoint, best is a system which can have multiple key slots, completely separate passwords, which can unlock the encrypted data.  then, key slots can be disabled (revoked) if trust with a person is lost, though revocation may not be possible if an attacker obtains an old backup.

  4. a common situation in which a password gets forgotten is due to a major change in your life.  before the change, perhaps you used the password frequently enough to keep remembering it; after the change (moved, got a new computer), you don't use that password so forget it.  make extra effort to record passwords or add hints before or immediately after major changes in your life.

[csejbtmw] nested squares scaled by sqrt(0.5)

nested squares

squares alternate colors.  each square has area half its enclosing square.  linear dimensions shrink by irrational sqrt(2), so edges cannot all be on pixel boundaries.  image generated at 32768x32768, then antialiased by reducing by linear factor of 8 (and then reduced by another factor of 8 with HTML).  it compresses well with PNG using pngcrush.

it looks like looking down a striped hallway.

here are the middle 32x32 pixels, magnified:

middle pixels, antialiased

below, the squares are the same size as above, but alternate squares are rotated 45 degrees.  diamonds fit perfectly inside squares: this is why the reduction factor of sqrt(2) is special.  this time, we do SVG, terminating after 14 nestings.  (SVG plus JavaScript in principle could do fractals, not explored here.)  unlike above, vertex coordinates are always rational numbers.

diamond in square

previously, spheres shrinking by cbrt(2).

[cqrpnkqz] a new hope for mass murder

at the end of Rogue One, Princess Leia obtains the Death Star plans and smiles to herself (internally), envisioning, perhaps foreseeing, the outcome of episode 4: she looks forward to killing millions of workers aboard the battle station.

(Leia is Force-sensitive but completely untrained.  how destructive of a rampage might she realistically go on if made Very Angry, such as by the destruction of her home world, which she perhaps also foresees?)

perhaps killing only millions is not so bad.

[psukfbam] Saturn's rings violate the mediocrity principle

as a proportion of the existence of the solar system, Saturn's magnificent rings have a very short life span remaining, less than 100 million years:

"Observations of the chemical and thermal response of 'ring rain' on Saturn's ionosphere"

by the German tank problem, we can estimate that Saturn's rings have been around for about 100 million years.

therefore, we seem to be living in a very unusual time period in which Saturn has rings, seemingly violating the mediocrity principle.  (but note that the German tank problem assumes the mediocrity principle.)  (and the multiple hypotheses fallacy /  "multiple comparisons problem" suggests we can find some violation of the mediocrity principle if we look hard enough.)

or perhaps it is not statistically unusual for some planet to have had a major incursion recently within its Roche limit and therefore have major ring system.  but we lack a mechanism to explain major incursions happening so commonly.

Phobos is expected to disintegrate into a ring system around Mars "soon".

Thursday, April 28, 2022

[qmuawezq] information content of balanced bits

among all 128-bit numbers, 7% have exactly 64 set bits.  uniformly randomly sampling one such number provides 124.17 bits of entropy.  among n-bit numbers (n even), the number with balanced bits is the central binomial coefficient.  the proportion is asymptotically sqrt(2/(pi*n)), so decreases slowly with larger n.  (incidentally, the relation can be solved for pi, yielding 3.153888 for n=128.)

we compute the entropy of being close to balanced:

s=0; z=64; log(sum(i=z-s,z+s,binomial(2*z,i)))/log(2)

64 +- 1 = 63-65 set bits out of 128: 125.7 bits
64 +- 2: 126.4
64 +- 3: 126.9
64 +- 4: 127.2

130 bits, exactly 65 set: 126.2 bits
132 bits, exactly 66 set: 128.1 bits
156 bits (52*3), exactly 78 set (52*3/2) set: 152.0 bits

so 3 decks of 52 cards, paying attention only to red (diamond or heart suit) or black (club or spade), can store 152 bits.

3 related questions: how can one encode and decode arbitrary data to balanced bitstrings?  related: 8b/10b encoding.

how can one sample a balanced bitstring efficiently?  shuffling (say) 64 red cards and 64 black cards works, but consumes more entropy then necessary.

other direction: given a random balanced bitstring, efficiently extract its entropy.

both of these could be solved by a hypothetical algorithm that computes both directions of a one-to-one map between balanced bitstrings and consecutive integers.

if we had paid attention to more than just red or black: one deck log(52!)/log(2) = 225.6 bits; three separate decks log(52!)*3/log(2) = 676.7 bits; three merged distinct decks log((52*3)!)/log(2) = 916.4 bits.  and then 156 bits more if card rotation by 180 degrees can be distinguished, e.g., non-symmetric back.

Tuesday, April 26, 2022

[uokoxywl] Star Trek Deep Space 9 and Deep Space Gamma-1 twin space superfortresses

imagine if the Federation weren't monumentally incompetent and instead appropriately fortified the most strategic transport corridor in the galaxy.  hundreds of Starfleet warships patrol both mouths of the stable wormhole.

there's a battle on the Gamma quadrant side, but the Federation, having discovered the wormhole first, had first move advantage, so had thoroughly entrenched around the Gamma mouth before the Dominion could attack.  how quickly can you construct a battlestation from components carried through the wormhole?  maybe not so hard because you have replicators.

but CGI is expensive.

Monday, April 25, 2022

[ffvapuhv] fun with systematic element names and symbols

we compute IUPAC systematic element names and symbols of elements which already have names.  previously.

oxygen is octium and does not change its symbol.  oxygen, meaning "origin of acidity", is a terribly incorrect name for the element; let's change it.

there are 25 overlaps, collisions with existing symbols:

1 hydrogen H hexium 6 carbon
2 helium He hexennium 69 thulium
4 beryllium Be biennium 29 copper
5 boron B bium 2 helium
8 oxygen O octium 8 oxygen
15 phosphorus P pentium 5 boron
16 sulfur S septium 7 nitrogen
34 selenium Se septennium 79 gold
50 tin Sn septnilium 70 ytterbium
51 antimony Sb septbium 72 hafnium
52 tellurium Te triennium 39 yttrium
63 europium Eu ennunium 91 protactinium
65 terbium Tb tribium 32 germanium
67 holmium Ho hexoctium 68 erbium
76 osmium Os octseptium 87 francium
78 platinum Pt penttrium 53 iodine
82 lead Pb pentbium 52 tellurium
84 polonium Po pentoctium 58 cerium
90 thorium Th trihexium 36 krypton
92 uranium U unium 1 hydrogen
94 plutonium Pu pentunium 51 antimony
99 einsteinium Es ennseptium 97 berkelium
107 bohrium Bh bihexium 26 iron
108 hassium Hs hexseptium 67 holmium
117 tennessine Ts triseptium 37 rubidium

4 element chain: 15 phosphorus - boron - helium - thulium

3 element chains:
82 lead - tellurium - yttrium
92 uranium - hydrogen - carbon
94 plutonium - antimony - hafnium
108 hassium - holmium - erbium

no cycles other than oxygen.

Wednesday, April 20, 2022

[umhklgjh] nice bounding rectangle

given a number N, find integers A and B such that 1 <= B/A <= 2, A*B >= N, minimizing A*B - N .  (A and B do not need to be prime numbers.)

brute force with pari/gp:

f(n)=my(start=ceil(sqrt(n/2))); if(start==0, start=1); my(end=ceil(sqrt(n))); my(over=n); my(best=-1); for(a=start, end, my(b=ceil(n/a)); if(b<a, if(a!=end, print("something went wrong "a)); next); my(d=a*b-n); if(d<=over, over=d; best=[a,b]; my(pg=(a-start+1.0)/(end-start+1)); print(a" "b" ",-d," ratio=",1.0*b/a," progress=",pg))); best

runs in reasonable time for inputs less than about 10^17.

goal is to encode N bytes of data into an image with an aesthetically acceptable aspect ratio, adding as little padding as possible.

here are the "worst" inputs, producing record values of the gap between A*B and N:

3 = 2 * 2 - 1
10 = 3 * 4 - 2
21 = 4 * 6 - 3
73 = 7 * 11 - 4
145 = 10 * 15 - 5
426 = 18 * 24 - 6
533 = 20 * 27 - 7
652 = 22 * 30 - 8
1335 = 32 * 42 - 9
2669 = 47 * 57 - 10
2929 = 49 * 60 - 11
6513 = 75 * 87 - 12
6917 = 77 * 90 - 13
8401 = 85 * 99 - 14
8859 = 87 * 102 - 15
10012 = 92 * 109 - 16
25351 = 151 * 168 - 17
27281 = 156 * 175 - 19
87054 = 221 * 394 - 20
113051 = 296 * 382 - 21
122851 = 278 * 442 - 25
178569 = 396 * 451 - 27
185506 = 399 * 465 - 29
599206 = 729 * 822 - 32
1308163 = 911 * 1436 - 33
1888133 = 1071 * 1763 - 40
4803657 = 1985 * 2420 - 43
12901579 = 3563 * 3621 - 44
16733731 = 3446 * 4856 - 45
25670818 = 3964 * 6476 - 46
79143844 = 7939 * 9969 - 47
85744291 = 8030 * 10678 - 49

searched up to 100*10^6.

distribution of gaps, partial sums up to 100e6.  most (small) numbers require little or no padding.

? gettime; a=List(vector(50)); for(i=1,100*10^6, d=gapsize(i); a[d+1]+=1; if(i%10^6==0, print(i" "gettime" "a)))

1000000 127287 List([252756, 202853, 148411, 112661, 78731, 60093, 40880, 31315, 21210, 15573, 10534, 8110, 5112, 3905, 2590, 1782, 1120, 837, 481, 373, 218, 149, 103, 77, 43, 32, 20, 13, 6, 6, 2, 2, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0])
2000000 228775 List([497750, 400414, 294619, 224792, 158598, 121703, 83601, 64396, 43978, 32522, 22237, 17125, 11097, 8526, 5798, 4067, 2650, 2012, 1233, 962, 595, 425, 293, 215, 130, 98, 61, 40, 21, 13, 7, 7, 5, 3, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0])
3000000 295721 List([740221, 596284, 440019, 336529, 238719, 183736, 126833, 97949, 67451, 50004, 34375, 26561, 17377, 13458, 9189, 6549, 4320, 3320, 2083, 1610, 1008, 729, 518, 391, 242, 181, 116, 81, 49, 33, 16, 13, 10, 7, 4, 4, 4, 3, 2, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0])
4000000 347669 List([981119, 790992, 584983, 448370, 318979, 246080, 170378, 131807, 91141, 67784, 46805, 36304, 23906, 18526, 12725, 9117, 6090, 4695, 2973, 2306, 1465, 1043, 749, 574, 352, 257, 173, 112, 70, 50, 22, 15, 11, 8, 4, 4, 4, 3, 2, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0])
5000000 393422 List([1221029, 985115, 729855, 559974, 399217, 308507, 214259, 166163, 115307, 85829, 59505, 46184, 30507, 23637, 16217, 11591, 7793, 6033, 3860, 2970, 1904, 1375, 977, 751, 452, 326, 228, 154, 97, 69, 33, 23, 17, 12, 6, 5, 5, 4, 3, 2, 2, 1, 1, 1, 0, 0, 0, 0, 0, 0])
6000000 436089 List([1459820, 1178407, 874134, 671501, 479730, 371101, 258203, 200471, 139573, 104053, 72406, 56266, 37279, 28916, 19920, 14294, 9678, 7487, 4817, 3713, 2413, 1748, 1229, 943, 581, 422, 297, 204, 129, 94, 49, 35, 23, 18, 10, 9, 7, 6, 5, 4, 2, 1, 1, 1, 0, 0, 0, 0, 0, 0])
7000000 472820 List([1698079, 1371479, 1018182, 782822, 560012, 433669, 302420, 234792, 163773, 122440, 85421, 66513, 44236, 34346, 23742, 17086, 11615, 8984, 5831, 4479, 2925, 2126, 1504, 1165, 715, 520, 366, 255, 162, 122, 66, 48, 31, 23, 12, 11, 8, 6, 5, 4, 2, 1, 1, 1, 0, 0, 0, 0, 0, 0])
8000000 506549 List([1935786, 1564010, 1162011, 894063, 640579, 496465, 346785, 269620, 188120, 140836, 98464, 76768, 51203, 39756, 27568, 19885, 13521, 10473, 6875, 5282, 3475, 2519, 1777, 1377, 847, 613, 425, 298, 193, 146, 77, 57, 37, 28, 15, 12, 9, 7, 6, 5, 3, 2, 1, 1, 0, 0, 0, 0, 0, 0])
9000000 539380 List([2172957, 1756144, 1305798, 1005380, 721160, 559507, 391331, 304356, 212640, 159232, 111543, 86947, 58148, 45202, 31437, 22745, 15519, 12042, 7938, 6120, 4033, 2937, 2066, 1603, 985, 715, 492, 342, 217, 163, 87, 66, 44, 34, 18, 14, 10, 8, 7, 6, 3, 2, 1, 1, 0, 0, 0, 0, 0, 0])
10000000 569956 List([2409731, 1948040, 1449347, 1116764, 801663, 622480, 435901, 339158, 237177, 177835, 124765, 97314, 65171, 50728, 35366, 25655, 17521, 13633, 8990, 6937, 4590, 3330, 2352, 1831, 1127, 821, 567, 399, 250, 190, 107, 81, 56, 42, 21, 16, 11, 9, 8, 7, 4, 3, 1, 1, 0, 0, 0, 0, 0, 0])
11000000 599050 List([2646019, 2139807, 1592906, 1227961, 882225, 685416, 480587, 374130, 261983, 196536, 138079, 107663, 72183, 56253, 39277, 28592, 19543, 15202, 10051, 7767, 5130, 3734, 2628, 2048, 1278, 937, 645, 456, 288, 222, 131, 100, 70, 54, 32, 22, 12, 9, 8, 7, 4, 3, 1, 1, 0, 0, 0, 0, 0, 0])
12000000 627893 List([2881966, 2331003, 1736253, 1339074, 962971, 748508, 525188, 409260, 286862, 215359, 151443, 118216, 79315, 61781, 43184, 31491, 21588, 16786, 11159, 8630, 5717, 4163, 2938, 2284, 1435, 1058, 732, 521, 329, 256, 151, 114, 81, 62, 36, 26, 16, 13, 11, 9, 5, 4, 1, 1, 0, 0, 0, 0, 0, 0])
13000000 654051 List([3117521, 2522087, 1879443, 1450325, 1043824, 811798, 570137, 444448, 311851, 234233, 164898, 128675, 86376, 67355, 47164, 34377, 23573, 18336, 12202, 9447, 6263, 4566, 3215, 2503, 1574, 1169, 808, 580, 370, 287, 168, 126, 90, 66, 39, 29, 18, 15, 13, 11, 7, 6, 3, 3, 1, 0, 0, 0, 0, 0])
14000000 681088 List([3352822, 2713040, 2022674, 1561562, 1124491, 874727, 614953, 479465, 336794, 253143, 178441, 139267, 93614, 73062, 51184, 37379, 25658, 19963, 13329, 10335, 6865, 5016, 3536, 2752, 1736, 1285, 888, 638, 409, 316, 186, 142, 98, 72, 43, 31, 20, 16, 14, 12, 8, 7, 3, 3, 1, 0, 0, 0, 0, 0])
15000000 705276 List([3587686, 2903459, 2165743, 1672486, 1205250, 937906, 659962, 514798, 361907, 272196, 192093, 150069, 100916, 78738, 55214, 40333, 27729, 21597, 14461, 11215, 7461, 5463, 3846, 3005, 1898, 1404, 970, 692, 445, 348, 203, 153, 105, 77, 47, 34, 23, 17, 15, 13, 9, 7, 3, 3, 1, 0, 0, 0, 0, 0])
16000000 729634 List([3822435, 3093864, 2308534, 1783218, 1285842, 1001039, 705051, 550262, 387147, 291318, 205814, 160792, 108273, 84505, 59344, 43378, 29837, 23261, 15580, 12102, 8049, 5897, 4158, 3243, 2062, 1522, 1056, 756, 479, 375, 223, 170, 116, 87, 55, 42, 29, 22, 20, 17, 10, 8, 4, 3, 1, 0, 0, 0, 0, 0])
17000000 751288 List([4056955, 3284241, 2451442, 1894247, 1366564, 1064451, 750085, 585502, 412214, 310320, 219412, 171422, 115635, 90281, 63431, 46383, 31914, 24894, 16712, 12992, 8685, 6361, 4498, 3512, 2242, 1668, 1165, 836, 544, 431, 264, 201, 137, 103, 64, 49, 35, 27, 24, 20, 13, 10, 6, 5, 2, 1, 0, 0, 0, 0])
18000000 775594 List([4291284, 3474561, 2594403, 2005310, 1447295, 1127800, 795182, 620841, 437341, 329452, 233197, 182309, 123013, 96011, 67479, 49383, 33987, 26522, 17834, 13890, 9282, 6787, 4787, 3724, 2381, 1774, 1236, 882, 582, 456, 285, 219, 146, 108, 65, 49, 35, 27, 24, 20, 13, 10, 6, 5, 2, 1, 0, 0, 0, 0])
19000000 796790 List([4525312, 3664581, 2737042, 2116272, 1528128, 1191060, 840264, 656243, 462552, 348538, 246909, 193154, 130508, 101943, 71696, 52508, 36123, 28234, 18996, 14791, 9896, 7233, 5115, 3973, 2541, 1899, 1325, 948, 624, 490, 305, 236, 158, 118, 73, 57, 40, 31, 26, 21, 13, 10, 6, 5, 2, 1, 0, 0, 0, 0])
20000000 816266 List([4759230, 3854466, 2879938, 2227465, 1608885, 1254365, 885480, 691806, 487785, 367646, 260525, 203917, 137871, 107714, 75745, 55551, 38275, 29921, 20152, 15730, 10552, 7724, 5461, 4236, 2712, 2031, 1423, 1012, 665, 526, 324, 253, 171, 128, 81, 64, 45, 35, 29, 23, 14, 10, 6, 5, 2, 1, 0, 0, 0, 0])
21000000 836519 List([4993099, 4044559, 3022872, 2338430, 1689618, 1317674, 930757, 727322, 513189, 386918, 274299, 214738, 145287, 113537, 79825, 58507, 40320, 31529, 21267, 16613, 11150, 8159, 5777, 4496, 2869, 2144, 1495, 1069, 705, 554, 338, 263, 175, 131, 81, 64, 45, 35, 29, 23, 14, 10, 6, 5, 2, 1, 0, 0, 0, 0])
22000000 856245 List([5226586, 4234214, 3165565, 2449297, 1770513, 1380991, 975972, 762972, 538511, 406270, 288206, 225673, 152760, 119397, 83978, 61557, 42454, 33203, 22422, 17527, 11777, 8613, 6095, 4755, 3038, 2265, 1587, 1138, 754, 598, 371, 284, 187, 140, 87, 68, 47, 37, 30, 23, 14, 10, 6, 5, 2, 1, 0, 0, 0, 0])
23000000 879057 List([5459874, 4423606, 3307961, 2560051, 1851298, 1444491, 1021309, 798773, 563995, 425682, 302120, 236583, 160257, 125289, 88193, 64718, 44666, 34939, 23606, 18434, 12403, 9079, 6435, 5017, 3200, 2382, 1667, 1197, 791, 628, 386, 295, 194, 145, 89, 70, 48, 38, 30, 23, 14, 10, 6, 5, 2, 1, 0, 0, 0, 0])
24000000 899474 List([5693112, 4613256, 3450504, 2670856, 1932206, 1507952, 1066721, 834300, 589331, 444906, 315947, 247414, 167723, 131162, 92403, 67862, 46894, 36710, 24837, 19387, 13060, 9562, 6783, 5294, 3378, 2502, 1750, 1257, 837, 663, 409, 313, 205, 151, 94, 73, 50, 40, 32, 24, 15, 11, 6, 5, 2, 1, 0, 0, 0, 0])
25000000 915338 List([5926197, 4802669, 3593148, 2781699, 2013244, 1571399, 1112006, 869877, 614811, 464251, 329768, 258307, 175245, 137084, 96700, 71016, 49031, 38373, 25986, 20273, 13680, 10024, 7115, 5557, 3553, 2644, 1858, 1335, 892, 707, 443, 341, 224, 164, 101, 77, 53, 43, 35, 27, 16, 12, 7, 5, 2, 1, 0, 0, 0, 0])
26000000 943272 List([6159039, 4991997, 3735561, 2892516, 2094218, 1634996, 1157449, 905592, 640350, 483613, 343621, 269168, 182719, 143015, 100938, 74175, 51215, 40080, 27167, 21211, 14343, 10506, 7461, 5844, 3727, 2769, 1945, 1406, 943, 743, 472, 365, 242, 177, 112, 87, 58, 46, 36, 28, 17, 13, 8, 6, 3, 2, 1, 0, 0, 0])
27000000 953908 List([6391796, 5181092, 3877812, 3003291, 2175131, 1698544, 1202887, 941257, 665852, 503051, 357553, 280122, 190294, 149009, 105258, 77352, 53454, 41837, 28370, 22180, 14997, 10992, 7808, 6124, 3919, 2918, 2053, 1490, 997, 785, 504, 387, 257, 186, 119, 93, 61, 48, 38, 29, 18, 14, 9, 6, 3, 2, 1, 0, 0, 0])
28000000 969406 List([6624196, 5370020, 4020218, 3114088, 2255976, 1762009, 1248342, 977103, 691502, 522681, 371655, 291177, 197874, 154959, 109497, 80542, 55690, 43606, 29582, 23126, 15648, 11473, 8135, 6380, 4071, 3031, 2138, 1554, 1038, 822, 525, 405, 271, 198, 127, 100, 65, 52, 40, 30, 19, 14, 9, 6, 3, 2, 1, 0, 0, 0])
29000000 985355 List([6856597, 5558838, 4162405, 3224790, 2336864, 1825573, 1293993, 1013164, 717245, 542291, 385713, 302220, 205408, 160866, 113751, 83737, 57936, 45368, 30774, 24042, 16281, 11932, 8449, 6632, 4238, 3159, 2232, 1625, 1086, 856, 547, 423, 280, 204, 131, 103, 67, 53, 41, 31, 20, 14, 9, 6, 3, 2, 1, 0, 0, 0])
30000000 1006754 List([7088963, 5747592, 4304626, 3335627, 2417888, 1889152, 1339410, 1048880, 742770, 561896, 399734, 313339, 213110, 166941, 118068, 86910, 60181, 47162, 31998, 24998, 16916, 12402, 8796, 6893, 4412, 3290, 2321, 1687, 1131, 888, 570, 445, 291, 210, 135, 106, 69, 55, 43, 33, 21, 15, 10, 7, 4, 3, 2, 0, 0, 0])
31000000 1022570 List([7321140, 5936588, 4446902, 3446512, 2498985, 1952846, 1384842, 1084567, 768304, 581405, 413726, 324387, 220685, 172870, 122281, 90053, 62420, 48960, 33233, 25954, 17610, 12923, 9195, 7184, 4610, 3431, 2429, 1764, 1176, 921, 593, 464, 306, 221, 140, 109, 71, 55, 43, 33, 21, 15, 10, 7, 4, 3, 2, 0, 0, 0])
32000000 1037493 List([7553234, 6125449, 4589051, 3557430, 2579945, 2016435, 1430255, 1120255, 793952, 600989, 427823, 335532, 228387, 178946, 126608, 93238, 64637, 50716, 34457, 26917, 18277, 13407, 9539, 7454, 4782, 3574, 2534, 1844, 1221, 954, 616, 479, 314, 226, 144, 112, 73, 56, 43, 33, 21, 15, 10, 7, 4, 3, 2, 0, 0, 0])
33000000 1058065 List([7785126, 6313752, 4731084, 3667923, 2660792, 2080042, 1475750, 1156178, 819641, 620651, 441981, 346731, 236088, 185097, 131082, 96565, 66972, 52546, 35707, 27930, 18980, 13932, 9904, 7753, 4990, 3738, 2635, 1921, 1273, 994, 642, 499, 326, 235, 151, 117, 76, 57, 44, 33, 21, 15, 10, 7, 4, 3, 2, 0, 0, 0])
34000000 1073622 List([8016930, 6502142, 4873220, 3778952, 2741967, 2143606, 1521182, 1191852, 845063, 640090, 456073, 357872, 243914, 191304, 135498, 99866, 69267, 54330, 36949, 28943, 19660, 14458, 10268, 8039, 5190, 3888, 2742, 2004, 1331, 1037, 670, 522, 345, 249, 160, 125, 82, 61, 48, 37, 23, 15, 10, 7, 4, 3, 2, 0, 0, 0])
35000000 1087910 List([8248680, 6690777, 5015421, 3889745, 2822872, 2207138, 1566625, 1227720, 870748, 659685, 470234, 369071, 251689, 197415, 139878, 103086, 71546, 56146, 38188, 29931, 20344, 14940, 10599, 8305, 5358, 4015, 2837, 2077, 1379, 1075, 697, 542, 360, 262, 168, 132, 87, 65, 51, 40, 26, 18, 11, 8, 4, 3, 2, 0, 0, 0])
36000000 1101456 List([8480303, 6879284, 5157663, 4000653, 2903962, 2270810, 1612262, 1263710, 896621, 679427, 484437, 380163, 259279, 203423, 144156, 106273, 73800, 57904, 39383, 30837, 20973, 15402, 10932, 8562, 5517, 4133, 2916, 2134, 1423, 1108, 718, 557, 371, 271, 173, 134, 89, 67, 53, 41, 27, 19, 12, 9, 4, 3, 2, 0, 0, 0])
37000000 1120196 List([8711737, 7067418, 5299543, 4111212, 2984868, 2334426, 1657938, 1299814, 922562, 699210, 498781, 391446, 267063, 209564, 148520, 109539, 76058, 59678, 40637, 31838, 21658, 15916, 11295, 8852, 5695, 4263, 3013, 2200, 1466, 1146, 744, 577, 386, 283, 184, 142, 91, 67, 53, 41, 27, 19, 12, 9, 4, 3, 2, 0, 0, 0])
38000000 1133906 List([8943064, 7255432, 5441359, 4221856, 3065981, 2398114, 1703554, 1335733, 948367, 719013, 513010, 402659, 274863, 215679, 152915, 112866, 78408, 61540, 41903, 32842, 22360, 16442, 11656, 9146, 5909, 4429, 3129, 2285, 1527, 1190, 778, 603, 407, 296, 197, 150, 94, 69, 55, 42, 28, 20, 12, 9, 4, 3, 2, 0, 0, 0])
39000000 1148362 List([9174461, 7443653, 5583458, 4332348, 3146854, 2461789, 1749292, 1371724, 974159, 738714, 527264, 413865, 282635, 221823, 157309, 116169, 80750, 63383, 43185, 33834, 23028, 16948, 12008, 9423, 6093, 4577, 3240, 2370, 1575, 1225, 800, 622, 421, 305, 203, 155, 94, 69, 55, 42, 28, 20, 12, 9, 4, 3, 2, 0, 0, 0])
40000000 1164346 List([9405761, 7631608, 5725175, 4443021, 3227840, 2525538, 1795123, 1407904, 1000040, 758494, 541528, 425098, 290429, 227932, 161713, 119443, 83049, 65188, 44409, 34797, 23722, 17481, 12377, 9710, 6297, 4742, 3338, 2448, 1624, 1263, 822, 636, 431, 311, 208, 158, 95, 70, 56, 43, 28, 20, 12, 9, 4, 3, 2, 0, 0, 0])
41000000 1177418 List([9636915, 7819911, 5867102, 4553575, 3309160, 2589281, 1840841, 1443845, 1025825, 778143, 555665, 436255, 298132, 234002, 166129, 122707, 85400, 67061, 45722, 35833, 24430, 17997, 12733, 9995, 6481, 4892, 3440, 2526, 1680, 1306, 850, 660, 447, 325, 214, 162, 98, 73, 59, 46, 30, 22, 12, 9, 4, 3, 2, 0, 0, 0])
42000000 1192268 List([9867998, 8007746, 6009078, 4664313, 3390168, 2652982, 1886432, 1479887, 1051745, 797927, 569865, 447471, 305946, 240153, 170547, 126031, 87813, 69008, 47017, 36867, 25133, 18502, 13091, 10277, 6661, 5032, 3537, 2600, 1729, 1344, 873, 680, 461, 334, 220, 167, 101, 74, 60, 47, 31, 22, 12, 9, 4, 3, 2, 0, 0, 0])
43000000 1206925 List([10098984, 8195640, 6151042, 4774916, 3471177, 2716930, 1932338, 1516020, 1077777, 817679, 584093, 458675, 313724, 246262, 174873, 129275, 90115, 70836, 48291, 37857, 25814, 19012, 13438, 10547, 6837, 5176, 3635, 2663, 1773, 1382, 898, 701, 477, 347, 229, 176, 108, 79, 64, 51, 33, 23, 13, 10, 5, 3, 2, 0, 0, 0])
44000000 1222102 List([10329944, 8383735, 6292693, 4885254, 3551919, 2780530, 1978136, 1552252, 1103796, 837648, 598525, 470053, 321532, 252425, 179265, 132551, 92401, 72651, 49584, 38887, 26525, 19540, 13819, 10862, 7058, 5348, 3744, 2746, 1831, 1425, 926, 720, 492, 359, 239, 183, 112, 83, 66, 52, 33, 23, 13, 10, 5, 3, 2, 0, 0, 0])
45000000 1233956 List([10560850, 8571610, 6434440, 4995918, 3632796, 2844086, 2023936, 1588379, 1129833, 857509, 612903, 481437, 329438, 258650, 183697, 135829, 94698, 74482, 50837, 39882, 27198, 20056, 14182, 11150, 7245, 5493, 3841, 2820, 1883, 1471, 957, 747, 511, 375, 251, 190, 118, 87, 69, 55, 35, 23, 13, 10, 5, 3, 2, 0, 0, 0])
46000000 1248896 List([10791705, 8759444, 6575908, 5106387, 3713846, 2907858, 2069847, 1624588, 1155878, 877311, 627159, 492691, 337272, 264806, 188093, 139149, 97069, 76391, 52188, 40936, 27914, 20602, 14565, 11456, 7456, 5651, 3949, 2900, 1936, 1513, 983, 767, 524, 382, 256, 191, 119, 88, 70, 56, 36, 24, 14, 11, 6, 3, 2, 0, 0, 0])
47000000 1261733 List([11022406, 8947238, 6717783, 5217036, 3794973, 2971653, 2115590, 1660717, 1181756, 897096, 641561, 504022, 345067, 270970, 192560, 142510, 99436, 78240, 53457, 41894, 28570, 21113, 14919, 11740, 7647, 5812, 4065, 2986, 1991, 1560, 1011, 788, 539, 392, 263, 198, 123, 91, 72, 57, 37, 25, 14, 11, 6, 3, 2, 0, 0, 0])
48000000 1277078 List([11253093, 9135022, 6859578, 5327533, 3876013, 3035416, 2161466, 1696789, 1207765, 916985, 655872, 515269, 352914, 277164, 196981, 145825, 101766, 80083, 54736, 42921, 29292, 21643, 15300, 12034, 7855, 5964, 4178, 3081, 2060, 1614, 1043, 814, 563, 412, 278, 209, 129, 97, 77, 61, 40, 28, 15, 11, 6, 3, 2, 0, 0, 0])
49000000 1288800 List([11483671, 9322402, 7001262, 5438139, 3957204, 3099191, 2207367, 1733004, 1233823, 936882, 670179, 526552, 360692, 283338, 201409, 149154, 104156, 81964, 56042, 43944, 30007, 22178, 15686, 12358, 8085, 6138, 4295, 3176, 2123, 1667, 1076, 838, 578, 425, 287, 217, 134, 101, 80, 63, 42, 30, 16, 12, 7, 4, 2, 0, 0, 0])
50000000 1301134 List([11714203, 9509877, 7142840, 5548624, 4038497, 3163175, 2253281, 1769149, 1259839, 956728, 684460, 537866, 368505, 289542, 205889, 152534, 106538, 83857, 57358, 44952, 30698, 22694, 16071, 12653, 8280, 6289, 4406, 3259, 2180, 1714, 1108, 861, 591, 436, 296, 225, 142, 108, 84, 67, 46, 34, 18, 13, 7, 4, 2, 0, 0, 0])
51000000 1317198 List([11944572, 9697370, 7284387, 5659191, 4119562, 3227014, 2299139, 1805388, 1285872, 976691, 698927, 549289, 376348, 295711, 210386, 155916, 108922, 85715, 58672, 45988, 31412, 23218, 16433, 12941, 8482, 6444, 4524, 3344, 2228, 1751, 1138, 884, 609, 450, 307, 233, 147, 112, 86, 69, 47, 35, 19, 14, 7, 4, 2, 0, 0, 0])
52000000 1328932 List([12175067, 9885082, 7426038, 5769777, 4200385, 3290735, 2344869, 1841522, 1311997, 996666, 713287, 560634, 384226, 301947, 214866, 159286, 111331, 87646, 59995, 47038, 32143, 23769, 16803, 13231, 8669, 6589, 4630, 3421, 2288, 1796, 1170, 906, 624, 460, 315, 238, 151, 116, 88, 71, 47, 35, 19, 14, 7, 4, 2, 0, 0, 0])
53000000 1340978 List([12405399, 10072404, 7567628, 5880296, 4281351, 3354423, 2390749, 1877853, 1338141, 1016681, 727724, 571988, 392126, 308175, 219350, 162676, 113740, 89540, 61324, 48093, 32879, 24332, 17206, 13538, 8868, 6747, 4734, 3495, 2343, 1838, 1194, 927, 635, 469, 323, 243, 155, 120, 90, 73, 49, 35, 19, 14, 7, 4, 2, 0, 0, 0])
54000000 1354869 List([12635638, 10260049, 7709250, 5990843, 4362405, 3418315, 2436684, 1914123, 1364219, 1036688, 742136, 583379, 400008, 314368, 223728, 165948, 116074, 91420, 62600, 49103, 33595, 24861, 17593, 13838, 9075, 6911, 4842, 3578, 2401, 1878, 1223, 947, 645, 478, 329, 249, 158, 123, 93, 75, 49, 35, 19, 14, 7, 4, 2, 0, 0, 0])
55000000 1366245 List([12865893, 10447523, 7850967, 6101490, 4443588, 3482203, 2482484, 1950213, 1390258, 1056622, 756541, 594735, 407859, 320528, 228203, 169260, 118425, 93298, 63953, 50160, 34321, 25403, 17978, 14146, 9280, 7067, 4965, 3676, 2468, 1934, 1254, 970, 661, 489, 337, 255, 162, 127, 95, 76, 50, 36, 20, 14, 7, 4, 2, 0, 0, 0])
56000000 1379470 List([13095999, 10634700, 7992595, 6212027, 4524929, 3546176, 2528406, 1986277, 1416392, 1076662, 771040, 606127, 415737, 326755, 232642, 172613, 120843, 95200, 65283, 51203, 35041, 25935, 18343, 14426, 9469, 7212, 5069, 3747, 2512, 1967, 1276, 989, 679, 504, 347, 263, 169, 132, 100, 79, 51, 37, 20, 14, 7, 4, 2, 0, 0, 0])
57000000 1394723 List([13326104, 10822095, 8134278, 6322543, 4606066, 3609943, 2574175, 2022220, 1442289, 1096553, 785538, 617526, 423728, 333111, 237299, 176057, 123247, 97114, 66640, 52273, 35755, 26485, 18735, 14741, 9692, 7385, 5185, 3833, 2575, 2018, 1313, 1017, 695, 519, 356, 268, 173, 135, 102, 81, 53, 38, 20, 14, 7, 4, 2, 0, 0, 0])
58000000 1402636 List([13556196, 11009498, 8275793, 6433021, 4687141, 3673772, 2620156, 2058646, 1468427, 1116495, 799966, 628908, 431645, 339412, 241840, 179414, 125593, 98965, 67905, 53278, 36465, 27016, 19116, 15056, 9898, 7545, 5305, 3919, 2637, 2067, 1344, 1040, 712, 530, 363, 274, 176, 138, 104, 83, 55, 39, 20, 14, 7, 4, 2, 0, 0, 0])
59000000 1418267 List([13786115, 11196756, 8417245, 6543513, 4768060, 3737692, 2666151, 2094975, 1494665, 1136586, 814394, 640313, 439574, 345617, 246355, 182825, 128016, 100887, 69248, 54361, 37213, 27577, 19527, 15370, 10102, 7693, 5416, 3997, 2683, 2103, 1366, 1057, 720, 535, 368, 278, 178, 139, 105, 84, 55, 39, 20, 14, 7, 4, 2, 0, 0, 0])
60000000 1427691 List([14015967, 11383899, 8558763, 6654117, 4849373, 3801574, 2712194, 2131273, 1520836, 1156587, 828884, 651720, 447463, 351840, 250863, 186195, 130384, 102741, 70554, 55387, 37908, 28113, 19933, 15678, 10308, 7848, 5525, 4085, 2745, 2153, 1400, 1086, 736, 550, 378, 285, 182, 141, 107, 84, 55, 39, 20, 14, 7, 4, 2, 0, 0, 0])
61000000 1438556 List([14245742, 11570842, 8700266, 6764490, 4930367, 3865525, 2758360, 2167728, 1547147, 1176755, 843359, 663224, 455352, 358068, 255404, 189592, 132782, 104638, 71845, 56397, 38633, 28664, 20323, 15989, 10519, 8017, 5643, 4163, 2793, 2193, 1428, 1104, 749, 560, 386, 291, 184, 143, 109, 85, 55, 39, 20, 14, 7, 4, 2, 0, 0, 0])
62000000 1462000 List([14475428, 11757934, 8841901, 6875166, 5011537, 3929249, 2804229, 2204062, 1573259, 1196772, 857712, 674622, 463238, 364331, 259954, 193020, 135242, 106600, 73236, 57498, 39415, 29245, 20725, 16311, 10724, 8175, 5761, 4248, 2847, 2239, 1463, 1132, 767, 573, 398, 299, 188, 147, 113, 89, 57, 41, 22, 16, 8, 5, 2, 0, 0, 0])
63000000 1462474 List([14705156, 11945066, 8983462, 6985643, 5092843, 3993313, 2850244, 2240420, 1599364, 1216770, 872142, 686051, 471158, 370581, 264469, 196427, 137616, 108474, 74526, 58531, 40133, 29762, 21106, 16619, 10936, 8337, 5881, 4334, 2908, 2288, 1496, 1160, 784, 586, 408, 304, 191, 150, 115, 91, 59, 42, 23, 16, 8, 5, 2, 0, 0, 0])
64000000 1475070 List([14934748, 12132004, 9125041, 7096242, 5173982, 4057316, 2896328, 2276825, 1625530, 1236754, 886617, 697476, 479147, 376853, 268978, 199825, 140051, 110400, 75842, 59587, 40850, 30302, 21481, 16914, 11151, 8504, 5992, 4416, 2960, 2329, 1527, 1187, 802, 599, 415, 309, 195, 153, 117, 93, 60, 43, 24, 16, 8, 5, 2, 0, 0, 0])
65000000 1486316 List([15164296, 12319268, 9266381, 7206561, 5255077, 4121193, 2942477, 2313335, 1651699, 1256720, 901064, 708905, 487046, 383087, 273532, 203289, 142500, 112333, 77193, 60671, 41595, 30874, 21880, 17242, 11376, 8683, 6114, 4507, 3028, 2376, 1563, 1216, 828, 617, 424, 317, 200, 158, 119, 94, 61, 44, 25, 17, 8, 5, 2, 0, 0, 0])
66000000 1498161 List([15393755, 12505847, 9407458, 7316936, 5336149, 4185108, 2988417, 2349702, 1678017, 1276873, 915645, 720535, 495188, 389597, 278206, 206772, 144993, 114313, 78581, 61718, 42328, 31413, 22255, 17556, 11596, 8845, 6239, 4604, 3093, 2430, 1599, 1243, 846, 632, 434, 325, 206, 162, 123, 97, 63, 44, 25, 17, 8, 5, 2, 0, 0, 0])
67000000 1509550 List([15623167, 12692894, 9548647, 7427249, 5417076, 4248834, 3034360, 2386070, 1704328, 1297058, 930271, 732055, 503227, 395929, 282831, 210184, 147417, 116256, 79956, 62814, 43109, 32012, 22713, 17909, 11837, 9034, 6380, 4713, 3167, 2488, 1644, 1283, 868, 650, 446, 333, 212, 168, 129, 101, 67, 48, 28, 20, 10, 6, 2, 0, 0, 0])
68000000 1520347 List([15852473, 12879690, 9689877, 7537695, 5498373, 4312881, 3080366, 2422414, 1730664, 1317327, 944797, 743528, 511325, 402318, 287374, 213624, 149839, 118156, 81265, 63828, 43834, 32555, 23110, 18223, 12059, 9203, 6503, 4805, 3224, 2537, 1677, 1307, 886, 665, 454, 339, 215, 170, 130, 102, 68, 49, 29, 21, 11, 7, 3, 0, 0, 0])
69000000 1533054 List([16081733, 13066658, 9831014, 7647918, 5579607, 4376967, 3126600, 2458960, 1756899, 1337513, 959413, 755025, 519290, 408591, 291883, 216996, 152241, 120056, 82620, 64884, 44591, 33124, 23513, 18557, 12269, 9373, 6640, 4903, 3294, 2589, 1714, 1340, 911, 681, 465, 347, 218, 173, 132, 104, 69, 50, 30, 22, 12, 8, 3, 0, 0, 0])
70000000 1541143 List([16310866, 13253486, 9972489, 7758576, 5661047, 4441007, 3172652, 2495314, 1783039, 1357544, 974018, 766546, 527193, 414814, 296462, 220428, 154662, 121962, 83950, 65931, 45349, 33686, 23905, 18874, 12489, 9546, 6757, 4992, 3359, 2639, 1741, 1361, 929, 696, 477, 356, 226, 180, 136, 108, 73, 52, 32, 24, 14, 10, 3, 0, 0, 0])
71000000 1556103 List([16540031, 13440188, 10113803, 7869031, 5742388, 4505049, 3218724, 2531742, 1809291, 1377709, 988640, 778095, 535171, 421159, 301069, 223890, 157091, 123883, 85263, 66978, 46085, 34240, 24290, 19183, 12693, 9710, 6879, 5078, 3418, 2687, 1771, 1388, 951, 708, 487, 365, 230, 184, 139, 109, 74, 53, 32, 24, 14, 10, 3, 0, 0, 0])
72000000 1566645 List([16769202, 13626898, 10255223, 7979620, 5823790, 4569161, 3264821, 2568068, 1835476, 1397772, 1003189, 789630, 543106, 427371, 305632, 227338, 159537, 125786, 86621, 68052, 46816, 34796, 24695, 19502, 12927, 9899, 7007, 5179, 3489, 2739, 1806, 1417, 967, 720, 493, 369, 233, 186, 141, 111, 76, 55, 33, 24, 14, 10, 3, 0, 0, 0])
73000000 1578948 List([16998317, 13813572, 10396413, 8089917, 5904958, 4633386, 3310982, 2604527, 1861873, 1418017, 1017750, 801135, 551139, 433737, 310219, 230735, 161967, 127676, 87951, 69117, 47556, 35354, 25091, 19822, 13138, 10068, 7138, 5278, 3562, 2797, 1845, 1451, 991, 735, 503, 375, 239, 191, 144, 114, 78, 56, 34, 25, 14, 10, 3, 0, 0, 0])
74000000 1590945 List([17227364, 14000226, 10537681, 8200345, 5986218, 4697402, 3357205, 2640915, 1888168, 1438066, 1032307, 812647, 559224, 440202, 314873, 234190, 164430, 129627, 89304, 70204, 48301, 35907, 25481, 20119, 13348, 10230, 7267, 5374, 3619, 2842, 1876, 1476, 1007, 745, 511, 379, 242, 194, 146, 115, 79, 57, 35, 25, 14, 10, 3, 0, 0, 0])
75000000 1602037 List([17456321, 14186703, 10678698, 8310586, 6067260, 4761345, 3403339, 2677369, 1914545, 1458361, 1047008, 824331, 567413, 446675, 319575, 237715, 166918, 131615, 90679, 71294, 49061, 36481, 25885, 20438, 13567, 10405, 7393, 5469, 3678, 2881, 1902, 1495, 1019, 753, 515, 382, 244, 196, 147, 116, 79, 57, 35, 25, 14, 10, 3, 0, 0, 0])
76000000 1616534 List([17685267, 14373258, 10819901, 8420999, 6148422, 4825126, 3449279, 2713757, 1940957, 1478577, 1061601, 836003, 575546, 453114, 324184, 241160, 169414, 133634, 92122, 72412, 49849, 37052, 26301, 20771, 13794, 10580, 7519, 5569, 3745, 2932, 1939, 1525, 1045, 774, 533, 394, 251, 200, 150, 117, 80, 58, 36, 26, 14, 10, 3, 0, 0, 0])
77000000 1631311 List([17914264, 14560011, 10961326, 8531525, 6229734, 4889396, 3495577, 2750171, 1967173, 1498744, 1076128, 847543, 583551, 459398, 328696, 244543, 171816, 135524, 93447, 73442, 50582, 37603, 26681, 21071, 13992, 10729, 7619, 5641, 3802, 2980, 1975, 1554, 1065, 788, 542, 402, 255, 204, 153, 119, 82, 60, 38, 27, 14, 10, 3, 0, 0, 0])
78000000 1645054 List([18143125, 14746623, 11102391, 8641833, 6310965, 4953367, 3541722, 2786544, 1993354, 1518794, 1090752, 859145, 591653, 465850, 333435, 248121, 174339, 137531, 94836, 74538, 51354, 38191, 27122, 21423, 14239, 10923, 7758, 5747, 3870, 3036, 2012, 1586, 1085, 800, 550, 408, 258, 207, 156, 121, 83, 61, 38, 27, 14, 10, 3, 0, 0, 0])
79000000 1649942 List([18372065, 14933012, 11243578, 8752080, 6392113, 5017256, 3587861, 2823137, 2019792, 1539139, 1105563, 870798, 599729, 472251, 338089, 251579, 176783, 139419, 96151, 75602, 52091, 38759, 27525, 21751, 14461, 11100, 7884, 5847, 3936, 3094, 2055, 1616, 1107, 812, 558, 415, 263, 210, 158, 123, 84, 62, 38, 27, 14, 10, 3, 0, 0, 0])
80000000 1661228 List([18600892, 15119115, 11384354, 8862188, 6473323, 5081383, 3634013, 2859788, 2046314, 1559555, 1120383, 882467, 607910, 478688, 342707, 255084, 179306, 141424, 97560, 76669, 52828, 39321, 27929, 22069, 14674, 11269, 8016, 5938, 3995, 3140, 2086, 1640, 1126, 829, 569, 423, 270, 216, 161, 126, 86, 64, 40, 29, 16, 12, 4, 1, 0, 0])
81000000 1668295 List([18829716, 15305741, 11525502, 8972588, 6554421, 5145265, 3680153, 2896172, 2072730, 1579838, 1135098, 894107, 616077, 485203, 347416, 258584, 181782, 143375, 98903, 77710, 53545, 39864, 28306, 22371, 14883, 11424, 8135, 6030, 4059, 3189, 2122, 1668, 1146, 844, 577, 426, 272, 218, 162, 126, 86, 64, 40, 29, 16, 12, 4, 1, 0, 0])
82000000 1679845 List([19058480, 15492305, 11666870, 9083071, 6635617, 5209363, 3726217, 2932640, 2099107, 1600048, 1149771, 905630, 624117, 491607, 352018, 262051, 184321, 145343, 100280, 78788, 54314, 40399, 28688, 22680, 15092, 11586, 8252, 6118, 4114, 3229, 2148, 1686, 1156, 852, 582, 429, 273, 218, 162, 126, 86, 64, 40, 29, 16, 12, 4, 1, 0, 0])
83000000 1687727 List([19287175, 15678976, 11808334, 9193583, 6716916, 5273323, 3772249, 2968952, 2125261, 1620180, 1164423, 917221, 632199, 498047, 356700, 265553, 186853, 147352, 101662, 79874, 55085, 40941, 29077, 22979, 15294, 11743, 8367, 6204, 4173, 3278, 2184, 1712, 1176, 868, 595, 438, 279, 223, 165, 128, 87, 65, 41, 30, 17, 13, 4, 1, 0, 0])
84000000 1699367 List([19515840, 15865403, 11949459, 9304096, 6798196, 5337369, 3818518, 3005664, 2151676, 1640359, 1179024, 928693, 640284, 504486, 361329, 269027, 189299, 149302, 103023, 80938, 55837, 41526, 29493, 23289, 15496, 11896, 8478, 6294, 4234, 3322, 2217, 1739, 1195, 880, 604, 446, 285, 229, 169, 128, 87, 65, 41, 30, 17, 13, 4, 1, 0, 0])
85000000 1712597 List([19744459, 16051811, 12090731, 9414637, 6879428, 5401397, 3864619, 3042171, 2177952, 1660533, 1193699, 940341, 648403, 510928, 366023, 272539, 191823, 151307, 104378, 82038, 56613, 42083, 29875, 23588, 15701, 12067, 8599, 6384, 4288, 3360, 2244, 1759, 1203, 886, 607, 449, 286, 230, 170, 129, 88, 66, 42, 31, 17, 13, 4, 1, 0, 0])
86000000 1719469 List([19973083, 16238180, 12232013, 9525033, 6960628, 5465487, 3910763, 3078645, 2204329, 1680793, 1208386, 951908, 656418, 517317, 370678, 276060, 194306, 153304, 105802, 83142, 57385, 42660, 30300, 23911, 15912, 12223, 8717, 6471, 4354, 3417, 2281, 1789, 1224, 900, 618, 458, 290, 234, 174, 132, 91, 68, 43, 32, 18, 14, 5, 2, 1, 1])
87000000 1730691 List([20201675, 16424322, 12373081, 9635325, 7041794, 5529424, 3957031, 3115164, 2230801, 1701135, 1223111, 963569, 664510, 523746, 375371, 279564, 196832, 155324, 107233, 84287, 58188, 43248, 30731, 24249, 16127, 12385, 8830, 6550, 4410, 3465, 2312, 1817, 1246, 917, 631, 468, 298, 239, 176, 134, 93, 70, 44, 32, 18, 14, 5, 2, 1, 1])
88000000 1736288 List([20430258, 16610593, 12513992, 9745563, 7122864, 5593415, 4003162, 3151683, 2257292, 1721470, 1237886, 975276, 672714, 530281, 380134, 283083, 199368, 157327, 108659, 85420, 58976, 43838, 31142, 24560, 16327, 12532, 8934, 6633, 4470, 3512, 2347, 1845, 1262, 928, 639, 475, 303, 243, 178, 135, 94, 70, 44, 32, 18, 14, 5, 2, 1, 1])
89000000 1750204 List([20658797, 16796841, 12654926, 9855748, 7204006, 5657412, 4049378, 3188293, 2283756, 1741684, 1252629, 986983, 680894, 536749, 384838, 286636, 201892, 159328, 110061, 86522, 59753, 44438, 31588, 24918, 16552, 12707, 9057, 6727, 4538, 3566, 2381, 1872, 1285, 943, 651, 486, 310, 249, 182, 138, 96, 71, 45, 33, 18, 14, 5, 2, 1, 1])
90000000 1755900 List([20887218, 16983166, 12795976, 9966173, 7285201, 5721411, 4095633, 3224873, 2310162, 1761950, 1267247, 998617, 689049, 543234, 389549, 290202, 204404, 161324, 111470, 87594, 60526, 45006, 31995, 25238, 16769, 12876, 9178, 6821, 4605, 3618, 2420, 1903, 1306, 959, 661, 493, 313, 252, 184, 138, 96, 71, 45, 33, 18, 14, 5, 2, 1, 1])
91000000 1762993 List([21115619, 17169303, 12936918, 10076359, 7366274, 5785500, 4141907, 3261498, 2336693, 1782313, 1282005, 1010339, 697186, 549688, 394223, 293729, 206933, 163339, 112872, 88724, 61323, 45601, 32413, 25559, 16991, 13054, 9315, 6924, 4677, 3670, 2459, 1938, 1325, 971, 670, 500, 318, 256, 186, 140, 97, 72, 45, 33, 18, 14, 5, 2, 1, 1])
92000000 1770925 List([21344021, 17355295, 13077819, 10186656, 7447538, 5849592, 4188009, 3298092, 2363215, 1802612, 1296746, 1022064, 705442, 556283, 398949, 297251, 209444, 165309, 114245, 89814, 62118, 46201, 32849, 25898, 17227, 13239, 9441, 7016, 4736, 3712, 2485, 1958, 1340, 984, 680, 508, 326, 264, 191, 142, 98, 72, 45, 33, 18, 14, 5, 2, 1, 1])
93000000 1785723 List([21572337, 17541429, 13218883, 10297174, 7528803, 5913700, 4234173, 3334626, 2389587, 1822910, 1311463, 1033673, 713588, 562743, 403664, 300795, 211982, 167303, 115662, 90924, 62871, 46774, 33266, 26232, 17448, 13414, 9573, 7118, 4810, 3776, 2528, 1990, 1360, 997, 689, 513, 329, 267, 193, 143, 99, 72, 45, 33, 18, 14, 5, 2, 1, 1])
94000000 1797020 List([21800627, 17727624, 13360291, 10407677, 7610022, 5977723, 4280402, 3371249, 2416098, 1843328, 1326230, 1045278, 721553, 569120, 408311, 304317, 214455, 169275, 117033, 91999, 63597, 47317, 33662, 26534, 17653, 13575, 9698, 7222, 4876, 3823, 2561, 2014, 1377, 1010, 699, 520, 336, 274, 199, 147, 101, 73, 46, 33, 18, 14, 5, 2, 1, 1])
95000000 1804844 List([22028867, 17913656, 13501268, 10517804, 7690969, 6041784, 4326789, 3407844, 2442569, 1863688, 1341050, 1057031, 729781, 575640, 413020, 307884, 217024, 171311, 118457, 93128, 64381, 47922, 34081, 26871, 17880, 13747, 9825, 7317, 4944, 3875, 2600, 2044, 1401, 1028, 712, 532, 344, 281, 205, 149, 102, 74, 47, 33, 18, 14, 5, 2, 1, 1])
96000000 1813526 List([22257152, 18099717, 13642264, 10628411, 7772208, 6105982, 4372984, 3444376, 2468946, 1883989, 1355824, 1068764, 737966, 582136, 417703, 311363, 219489, 173278, 119856, 94235, 65150, 48499, 34489, 27193, 18103, 13921, 9952, 7400, 5002, 3925, 2637, 2074, 1421, 1045, 723, 541, 348, 283, 205, 149, 102, 74, 47, 33, 18, 14, 5, 2, 1, 1])
97000000 1822010 List([22485335, 18285882, 13782922, 10738275, 7853288, 6169967, 4419446, 3481199, 2495680, 1904443, 1370662, 1080494, 746174, 588614, 422400, 314908, 222019, 175291, 121269, 95360, 65935, 49087, 34923, 27539, 18338, 14098, 10075, 7490, 5066, 3974, 2666, 2097, 1437, 1057, 733, 551, 356, 290, 207, 151, 104, 75, 48, 34, 18, 14, 5, 2, 1, 1])
98000000 1833257 List([22713556, 18471696, 13923763, 10848551, 7934523, 6234053, 4465734, 3517868, 2522195, 1924761, 1385451, 1092187, 754412, 595143, 427148, 318481, 224595, 177373, 122698, 96478, 66732, 49662, 35318, 27852, 18564, 14274, 10204, 7580, 5132, 4026, 2706, 2128, 1456, 1070, 742, 560, 361, 295, 211, 154, 105, 76, 49, 35, 19, 14, 5, 2, 1, 1])
99000000 1843222 List([22941762, 18657814, 14064805, 10958863, 8015715, 6298291, 4512162, 3554576, 2548668, 1945036, 1400171, 1103880, 762633, 601584, 431798, 322017, 227106, 179348, 124085, 97571, 67451, 50201, 35714, 28166, 18776, 14436, 10321, 7671, 5193, 4076, 2739, 2154, 1475, 1083, 752, 565, 363, 297, 213, 156, 107, 78, 50, 36, 19, 14, 5, 2, 1, 1])
100000000 1853564 List([23169860, 18843936, 14205961, 11069243, 8096786, 6362238, 4558374, 3591135, 2575180, 1965362, 1414986, 1115622, 770844, 608119, 436529, 325591, 229642, 181340, 125482, 98666, 68196, 50785, 36133, 28506, 19005, 14621, 10445, 7767, 5260, 4128, 2774, 2180, 1497, 1101, 763, 573, 369, 302, 217, 159, 110, 81, 52, 38, 19, 14, 5, 2, 1, 1])

time = 34h, 20min, 42,013 ms.

[aknyqbxj] Avengers Endgame Jericho

it would have been fun to see The Jericho be used to good effect in the Avengers Endgame final battle against Thanos ("Battle of Earth").

perhaps this convinces (or deludes) Tony Stark that he has actually been a good man all his life, giving him focus to make his final sacrifice.

Tuesday, April 19, 2022

[ydxlyeud] Hilbert curve maze

turn a Hilbert curve into a unicursal maze: this is easy, a no-op.

a bit fancier: index each point on the curve by its arc length from the start.  mark on the walls of the maze the index of what's on the other side of the wall.  or, color walls by the difference of indices.

Hilbert curve never goes straight more than two steps in a row.  are there nice space filling curves on a grid that aren't so constantly curvy?

Mr. Bones's Wild Ride; Mr. Hilbert's Wild Ride: each time you think you are nearing the end, you are actually only a quarter of the way through.

Monday, April 18, 2022

[ehapbodw] weaponizing E > mc^2

suppose science discovers a way to exceed Einstein's limit E = mc^2 for the maximum amount of energy that can be extracted from matter.  how quickly will the technology be weaponized?

perhaps a way has already been discovered (and weaponized) but is being kept a military top secret, despite its potential peaceful uses.

"I do not know with what weapons World War 3 will be fought."

Friday, April 15, 2022

[jzawrivl] push button maze

(say) 9 buttons.  each button can be enabled or disabled.  each button controls a light.  if a button is enabled, pushing the button toggles its light.  if disabled, the button doesn't do anything.  (note: whether a button is enabled is orthogonal to the state of its light.  we don't specify how a button communicates whether it is enabled, maybe an additional light.)  what buttons are enabled depends on the state of all the lights, a lookup table.  goal is to turn on all the lights.

this is simply a maze among the 512 vertices of a 9-dimensional hypercube.  the maze can be generated with a maze-generating algorithm like Wilson's algorithm.  find the longest path and call one of the endpoints the corner with all lights on.  the other endpoint, the starting state, will probably not have all lights off.

design the maze so that if you push an enabled button, you can always push it again to go back: the maze has no one-way passages.  the button you last successfully pushed remains enabled for the next move.

to make things slightly easier, annotate each enabled button with lookahead, what buttons would be enabled if the button were pushed.  each enabled button gets a mini-diagram of 9 buttons colored by enablement.

9 buttons, 512 states, is probably the maximum a human can mentally keep track of.  unlike a maze drawn on paper, you can't see all the states at once from "overhead".

let the buttons control something more memorable than lights: some sort of scene which behaves in interesting ways depending on which parts are powered on and which parts not.  similar: GROW Cube online game.

previously, 128 buttons and a cryptographic constraint instead of maze.

Thursday, April 07, 2022

[mikalfpq] infinite collection of non-overlapping arithmetic sequences

start with 0, 1, 2,...

pick every other number, yielding the evens as the zeroth sequence.

of the remaining (i.e., odds), pick every other number, yielding 4*n+1 .

repeat with the remaining, yielding S[i][n] = (2^(i+1)) * n + (2^i-1) as the i-th sequence.

by construction, none of the sequences overlap.  every integer belongs to exactly one sequence.  by Dirichlet's theorem on arithmetic progressions, other than the evens, every sequence contains an infinite number of primes.  here are the first 20 primes for the first 20 sequences (giving the indices n which generate primes):

? S(i,n)=(2^(i+1)) * n + (2^i-1)
? for(i=1, +oo, print1(i":"); ct=0; for(n=0, +oo, if(ispseudoprime(S(i,n)), print1(" "n); ct+=1); if(ct>=20, print(); break)))

1: 1 3 4 7 9 10 13 15 18 22 24 25 27 28 34 37 39 43 45 48
2: 0 1 2 5 7 8 10 13 16 17 20 22 26 28 31 35 38 41 43 47
3: 0 1 4 6 9 10 12 16 19 22 27 30 31 37 39 40 45 46 51 52
4: 1 2 7 8 11 13 14 22 23 28 32 34 38 41 44 46 49 58 62 64
5: 0 3 7 9 13 15 22 24 27 28 30 33 34 37 40 42 49 52 64 69
6: 1 8 11 16 17 22 26 32 37 47 52 55 58 71 76 80 82 83 86 92
7: 0 1 4 6 10 15 21 24 27 34 36 39 46 49 51 55 69 70 76 90
8: 2 13 16 22 26 28 31 41 43 44 49 52 56 64 71 77 82 83 89 94
9: 3 12 22 24 25 30 33 34 43 45 48 52 54 64 67 69 87 90 97 100
10: 2 7 10 13 16 17 20 25 28 41 43 46 50 53 67 70 76 83 85 92
11: 1 12 15 31 34 36 40 42 49 51 57 61 66 70 76 79 82 84 90 91
12: 2 11 29 32 43 44 53 58 59 64 71 73 76 82 88 94 103 113 116 121
13: 0 4 10 15 24 30 34 45 57 67 70 72 88 105 118 144 153 162 184 189
14: 2 7 13 20 22 23 31 35 38 41 56 65 77 97 100 107 113 133 143 148
15: 4 22 24 27 39 45 46 61 66 69 72 82 96 99 117 136 157 160 172 187
16: 8 14 22 29 31 58 59 64 67 74 77 83 86 98 104 107 128 133 137 143
17: 0 3 7 12 30 34 40 45 84 90 93 100 103 118 120 132 133 145 150 153
18: 1 2 10 20 37 41 46 50 53 58 68 71 80 82 92 118 121 143 148 167
19: 0 25 30 34 36 37 45 46 49 51 57 66 69 76 99 106 111 114 120 132
20: 8 17 28 37 58 76 98 103 133 163 181 182 188 194 212 223 227 239 244 257

primes that occur at index n=0 are Mersenne primes.

the two argument function S[i][n] maps pairs of integers to single integers.  because each integer appears in exactly one sequence, the function has an inverse.  to invert, convert the input number into binary.  count the number of trailing set (1) bits, i.e., interpret the least significant bits as unary.  this yields i.  removing the trailing set bits and separator 0.  interpret the remaining upper bits as binary, yielding n.

the invertible mapping shows that the cardinality of the set of pairs of integers is the same as the cardinality of the set of integers (Cantor's aleph-null).

because the i coordinate is unary, things become unwieldy quickly.  we can improve things by mixing in some base 3 (ternary):

express a number i in binary.

start with the sequence S[n] = 0, 1, 2,...

run the following loop, examining the least significant bit of i.

if i has no bits left, form the new sequence S_new[n] = S_old[3*n] and exit, returning S_new as the i-th sequence.

if the LSB is 0, form the new sequence S_new[n] = S_old[3*n + 1] .

if the LSB is 1, form the new sequence S_new[n] = S_old[3*n + 2] .

set S_old := S_new and repeat with the next least significant bit of i.

S[i=0] is the multiples of 3.  every other sequence contains an infinite number of primes.

to invert, express a given integer in base 3.  examine the least significant digits up until the first 0.  map 1 and 2 to 0 and 1 respectively then interpret as binary, yielding i.  the remaining upper digits yield n (in ternary).  empty strings of digits encode the value zero.

future post ipwyvyeh, using base (2^256 + 230191).  it is important that the base be prime.

[xcruhlyr] first-class pattern guards in Haskell

patterns are not first class objects in Haskell.  they cannot be assigned to variables nor passed around.

in the function f1 below, the patterns Apple and Banana are hardcoded.

data Fruit = Apple | Banana | Orange ;

f1 :: Fruit -> String;
f1 Apple = "got first choice fruit";
f1 Banana = "got second choice fruit";
f1 _ = "did not get what we want";

however, unlike patterns, pattern guards can be first-class objects.  using them, we can accomplish anything a first-class pattern could do.  in the example below, we pass patterns as boolean predicates to f2 and call them in the pattern guards (to the right of the vertical bar).  applep, bananap, and orangep are patterns turned into boolean functions.

f2 :: (Fruit -> Bool) -> (Fruit -> Bool) -> Fruit -> String;
f2 pattern1 pattern2 fruit
| pattern1 fruit = "got first choice fruit" -- note: no semicolon here
| pattern2 fruit = "got second choice fruit";
f2 _ _ _ = "did not get what we want";

applep :: Fruit -> Bool;
applep Apple = True;
applep _ = False;

bananap :: Fruit -> Bool;
bananap Banana = True;
bananap _ = False;

orangep :: Fruit -> Bool;
orangep Orange = True;
orangep _ = False;

examplef2 :: Fruit -> IO();
examplef2 fruit = do {
putStrLn $ f2 applep bananap fruit;
putStrLn $ f2 orangep applep fruit;
};

we can also do pattern matching, encapsulating extraction of a value from a pattern into a (first-class) function returning Maybe.  below, the function superhero calls its supplied pattern and attempts to match against Just.  if the pattern returns Nothing, the guard fails, and we fall through to "muggle".

data Health = Mind Int | Body Int;

superhero :: (Health -> Maybe Int) -> Health -> String;
superhero pattern health | Just power <- pattern health = if power > 9000
  then "is superhero"
  else "not strong enough";
superhero _ _ = "muggle";

getmind :: Health -> Maybe Int;
getmind (Mind i) = Just i;
getmind _ = Nothing;

getbody :: Health -> Maybe Int;
getbody (Body i) = Just i;
getbody _ = Nothing;

powermeter :: Health -> IO();
powermeter health = do {
putStrLn $ superhero getmind health;
putStrLn $ superhero getbody health;
};

in general, because what we pass is a function, we can build up a pattern guard in the myriad of ways we can build a function in a functional programming language.  however, I have not explored this very far.

a pattern guard can have several components, separated by commas.  a comma acts like the boolean AND operator.  each component can be a boolean expression, a pattern match (its boolean value is whether the match succeeds), or an assignment of a local variable with "let" (always evaluates to True).

note well: pattern matching in a guard is different from pattern matching in a let in a guard.  unlike the definition above, the following always succeeds, never falling through to "muggle".  if pattern returns Nothing, then a run-time error "Non-exhaustive patterns" occurs.

superhero pattern health | let { Just power = pattern health } = if power ...

[fpfdafag] crowded castling

chess variant: permit castling queenside even if the square on the b file is occupied (probably by a knight).  the rook magically teleports through it.

the goal is to make queenside castling less difficult, so more common.  in this variant, one only needs to clear the queen and queen's bishop, the same number of pieces as kingside castling.  this may result in more instances of opposite side castling, which in turn may result in more decisive games, less draws, because both players can launch pawn storms against the opposing king.

similar idea: switching the directions of castling for black (future post hwaurzqi).

extend this idea to chess960.  only the destination squares for castling (in either direction) need to be empty.  both the king and rook can teleport through pieces (and each other).

perhaps teleport only though own pieces; an enemy piece on the home rank can thwart castling.

yet another possible variant: you can castle through your own obstructing pieces, but they get obliterated, as if captured by the opponent.  do such castling only in desperate circumstances.

Tuesday, April 05, 2022

[cenmlpez] destroying things with ocean pressure

drop into deep ocean and haul back up (the latter being the difficult operation) a sealed container of air.  even very sturdy containers will get crushed.

can things be entertainingly crushed like in hydraulic press demonstrations?  in the deep, there is no outward direction that forces can get redirected, so probably no entertaining pressure-driven explosions.

Saturday, March 26, 2022

[avsarrtp] largest semiprimes below powers of 2

define a semiprime to be a composite that factors into exactly two prime numbers p*q such that p < q < 2*p .

first, here are the 10 largest semiprimes below select powers of two.  previously on difference of squares with one square itself a power of 2, which are elegant but only possible with even powers of two.

2^31 - 267 = 2147483381 = 46271 * 46411
2^31 - 447 = 2147483201 = 44041 * 48761
2^31 - 1237 = 2147482411 = 44257 * 48523
2^31 - 1261 = 2147482387 = 37489 * 57283
2^31 - 1881 = 2147481767 = 41243 * 52069
2^31 - 2181 = 2147481467 = 36979 * 58073
2^31 - 2271 = 2147481377 = 32993 * 65089
2^31 - 2847 = 2147480801 = 36721 * 58481
2^31 - 3465 = 2147480183 = 37171 * 57773
2^31 - 4485 = 2147479163 = 42863 * 50101

2^32 - 83 = 4294967213 = 57139 * 75167
2^32 - 225 = 4294967071 = 65521 * 65551 = (2^16 - 15) * (2^16 + 15)
2^32 - 507 = 4294966789 = 50411 * 85199
2^32 - 1107 = 4294966189 = 53197 * 80737
2^32 - 1125 = 4294966171 = 52289 * 82139
2^32 - 1169 = 4294966127 = 58369 * 73583
2^32 - 1947 = 4294965349 = 47507 * 90407
2^32 - 2073 = 4294965223 = 50333 * 85331
2^32 - 2603 = 4294964693 = 50159 * 85627
2^32 - 3465 = 4294963831 = 49697 * 86423

2^63 - 499 = 9223372036854775309 = 2298974999 * 4011949691
2^63 - 1881 = 9223372036854773927 = 2707496069 * 3406605883
2^63 - 4809 = 9223372036854770999 = 2807010931 * 3285834029
2^63 - 5491 = 9223372036854770317 = 2366171651 * 3898014767
2^63 - 5947 = 9223372036854769861 = 2295911257 * 4017303373
2^63 - 12117 = 9223372036854763691 = 2291667619 * 4024742489
2^63 - 12915 = 9223372036854762893 = 3022102129 * 3051972317
2^63 - 13249 = 9223372036854762559 = 2738730857 * 3367754087
2^63 - 13531 = 9223372036854762277 = 2521547297 * 3657822341
2^63 - 14311 = 9223372036854761497 = 3007208861 * 3067087277

2^64 - 173 = 18446744073709551443 = 3183958073 * 5793651691
2^64 - 993 = 18446744073709550623 = 3421377637 * 5391612979
2^64 - 2087 = 18446744073709549529 = 3873509161 * 4762282289
2^64 - 4389 = 18446744073709547227 = 3489022939 * 5287080193
2^64 - 4487 = 18446744073709547129 = 3252762193 * 5671101353
2^64 - 5249 = 18446744073709546367 = 3719215471 * 4959848177
2^64 - 6713 = 18446744073709544903 = 3051215147 * 6045704149
2^64 - 6959 = 18446744073709544657 = 4280569103 * 4309413919
2^64 - 8487 = 18446744073709543129 = 3490740163 * 5284479283
2^64 - 9659 = 18446744073709541957 = 3230289899 * 5710553743

2^127 - 5751 = 170141183460469231731687303715884099977 = 11502175072681465387 * 14792087790818572571
2^127 - 5919 = 170141183460469231731687303715884099809 = 9580340788290704387 * 17759408273703519307
2^127 - 9021 = 170141183460469231731687303715884096707 = 10431736506123594239 * 16309957921252484413
2^127 - 16369 = 170141183460469231731687303715884089359 = 10912666737151838909 * 15591164612516645051
2^127 - 19501 = 170141183460469231731687303715884086227 = 11551202543355906989 * 14729304834009001343
2^127 - 23521 = 170141183460469231731687303715884082207 = 9900705818113587227 * 17184752944501361741
2^127 - 26677 = 170141183460469231731687303715884079051 = 12167960973623039383 * 13982719358591868397
2^127 - 31147 = 170141183460469231731687303715884074581 = 11642369228673253363 * 14613965604306664087
2^127 - 41341 = 170141183460469231731687303715884064387 = 12495035573439748261 * 13616702606444136967
2^127 - 43867 = 170141183460469231731687303715884061861 = 10289627824152560981 * 16535212581848830481

2^128 - 1967 = 340282366920938463463374607431768209489 = 16247245438514871883 * 20944003597944230483
2^128 - 5817 = 340282366920938463463374607431768205639 = 15934151135006807009 * 21355537802911212071
2^128 - 15783 = 340282366920938463463374607431768195673 = 15644657512172223677 * 21750707336110361549
2^128 - 18335 = 340282366920938463463374607431768193121 = 16125622675049508359 * 21101967581533637719
2^128 - 20307 = 340282366920938463463374607431768191149 = 15547922442094048129 * 21886034496780526381
2^128 - 21513 = 340282366920938463463374607431768189943 = 15682930096610574179 * 21697626962864609117
2^128 - 25763 = 340282366920938463463374607431768185693 = 17147631346383627497 * 19844278200715037269
2^128 - 29217 = 340282366920938463463374607431768182239 = 13247963057241230723 * 25685636761716575093
2^128 - 43833 = 340282366920938463463374607431768167623 = 17566527694436254297 * 19371065975019875359
2^128 - 71889 = 340282366920938463463374607431768139567 = 14873675459386774777 * 22878162687500775271

the semiprimes above might be useful for testing a factorization algorithm limited to machine-width integers.  this work was inspired by the 'factor' command-line program, which (some versions) have a limit of 2^127-1 .

incidentally, 'factor' (part of GNU coreutils) has supported arbitrary precision since 2008, but the feature was enabled in Debian only in 2020 (Debian Bullseye) because of previous FUD about coreutils depending on GNU MP:

coreutils (8.32-3) unstable; urgency=low

* build with libgmp now that apt pulls it in anyway (Closes: #64527)

-- Michael Stone <mstone@debian.org> Mon, 20 Jul 2020 14:09:06 -0400

Pari/GP source code.  we first try to factor using only Pollard rho (flag 11), quickly rejecting if we find 3 or more factors.  we then try factoring skipping Pollard rho (flag 4) (because we already did it).

allocatemem(10^9);

issemiprime(f)=my(m=matsize(f)); if(m[1]!=2,return(0)); if(f[1,2]!=1,return(0)); if(f[2,2]!=1,return(0)); if(2*f[1,1]<f[2,1],return(0)); 1;

findbefore(e,istart)=my(i); for(i=istart, 2^e, my(n=2^e-i); if((n>6) && (n%2==0),next); my(f=factorint(n,11)); if(issemiprime(f) && ispseudoprime(f[2,1]), my(d=n-2^e); print("dataline "e" "d" "n" "f" POLLARD"); return(-d)); my(m=matsize(f)); if(m[1]==1 && f[1,2]==1, f=factorint(n,4); if(issemiprime(f), my(d=n-2^e); print("dataline "e" "d" "n" "f); return(-d)))); -1;

below is the largest semiprime below each power of two.  not sure what this might be useful for.  (previously, toy RSA.).

2^3 - 2 = 6 = 2 * 3
2^4 - 1 = 15 = 3 * 5 = (2^2 - 1) * (2^2 + 1)
2^5 - 17 = 15 = 3 * 5
2^6 - 29 = 35 = 5 * 7
2^7 - 37 = 91 = 7 * 13
2^8 - 9 = 247 = 13 * 19 = (2^4 - 3) * (2^4 + 3)
2^9 - 19 = 493 = 17 * 29
2^10 - 35 = 989 = 23 * 43
2^11 - 27 = 2021 = 43 * 47
2^12 - 9 = 4087 = 61 * 67 = (2^6 - 3) * (2^6 + 3)
2^13 - 55 = 8137 = 79 * 103
2^14 - 143 = 16241 = 109 * 149
2^15 - 25 = 32743 = 137 * 239
2^16 - 63 = 65473 = 233 * 281
2^17 - 43 = 131029 = 283 * 463
2^18 - 81 = 262063 = 503 * 521 = (2^9 - 9) * (2^9 + 9)
2^19 - 151 = 524137 = 557 * 941
2^20 - 15 = 1048561 = 911 * 1151
2^21 - 51 = 2097101 = 1399 * 1499
2^22 - 215 = 4194089 = 1787 * 2347
2^23 - 45 = 8388563 = 2357 * 3559
2^24 - 9 = 16777207 = 4093 * 4099 = (2^12 - 3) * (2^12 + 3)
2^25 - 403 = 33554029 = 4373 * 7673
2^26 - 65 = 67108799 = 6029 * 11131
2^27 - 279 = 134217449 = 11119 * 12071
2^28 - 209 = 268435247 = 12589 * 21323
2^29 - 51 = 536870861 = 22717 * 23633
2^30 - 137 = 1073741687 = 27779 * 38653
2^31 - 267 = 2147483381 = 46271 * 46411
2^32 - 83 = 4294967213 = 57139 * 75167
2^33 - 171 = 8589934421 = 76493 * 112297
2^34 - 53 = 17179869131 = 125627 * 136753
2^35 - 421 = 34359737947 = 136273 * 252139
2^36 - 3 = 68719476733 = 242819 * 283007
2^37 - 213 = 137438953259 = 297391 * 462149
2^38 - 167 = 274877906777 = 440441 * 624097
2^39 - 187 = 549755813701 = 712321 * 771781
2^40 - 503 = 1099511627273 = 825709 * 1331597
2^41 - 373 = 2199023255179 = 1286533 * 1709263
2^42 - 705 = 4398046510399 = 2014013 * 2183723
2^43 - 769 = 8796093021439 = 2217443 * 3966773
2^44 - 447 = 17592186043969 = 3486391 * 5045959
2^45 - 201 = 35184372088631 = 5591617 * 6292343
2^46 - 225 = 70368744177439 = 8388593 * 8388623 = (2^23 - 15) * (2^23 + 15)
2^47 - 181 = 140737488355147 = 8578639 * 16405573
2^48 - 1893 = 281474976708763 = 15847327 * 17761669
2^49 - 1299 = 562949953420013 = 18463483 * 30489911
2^50 - 365 = 1125899906842259 = 30198439 * 37283381
2^51 - 1081 = 2251799813684167 = 37587401 * 59908367
2^52 - 599 = 4503599627369897 = 48808127 * 92271511
2^53 - 171 = 9007199254740821 = 93220117 * 96622913
2^54 - 177 = 18014398509481807 = 100343501 * 179527307
2^55 - 1261 = 36028797018962707 = 154304077 * 233492191
2^56 - 1529 = 72057594037926407 = 251449199 * 286569193
2^57 - 1111 = 144115188075854761 = 288358229 * 499778309
2^58 - 2157 = 288230376151709587 = 473845213 * 608279599
2^59 - 4005 = 576460752303419483 = 630854771 * 913777273
2^60 - 227 = 1152921504606846749 = 863718871 * 1334834219
2^61 - 2241 = 2305843009213691711 = 1452810757 * 1587159923
2^62 - 827 = 4611686018427387077 = 1792742921 * 2572419037
2^63 - 499 = 9223372036854775309 = 2298974999 * 4011949691
2^64 - 173 = 18446744073709551443 = 3183958073 * 5793651691
2^65 - 1095 = 36893488147419102137 = 5949183623 * 6201437119
2^66 - 291 = 73786976294838206173 = 7036439239 * 10486408507
2^67 - 987 = 147573952589676411941 = 11322007447 * 13034256803
2^68 - 1149 = 295147905179352824707 = 13204545659 * 22351992473
2^69 - 1251 = 590295810358705650461 = 24083972587 * 24509902103
2^70 - 515 = 1180591620717411302909 = 30101795611 * 39219973319
2^71 - 4111 = 2361183241434822602737 = 37656657113 * 62702943449
2^72 - 2043 = 4722366482869645211653 = 57702385861 * 81840055873
2^73 - 1113 = 9444732965739290426279 = 78259949419 * 120684117941
2^74 - 377 = 18889465931478580854407 = 110289293923 * 171271981709
2^75 - 4177 = 37778931862957161705391 = 170344641589 * 221779396819
2^76 - 2283 = 75557863725914323416853 = 195288552673 * 386903700661
2^77 - 2589 = 151115727451828646835683 = 336730384093 * 448773661631
2^78 - 2411 = 302231454903657293674133 = 428192780231 * 705830338243
2^79 - 2167 = 604462909807314587350921 = 736399146137 * 820835973233
2^80 - 159 = 1208925819614629174706017 = 865222140329 * 1397243278073
2^81 - 3105 = 2417851639229258349409247 = 1504976355301 * 1606571180147
2^82 - 1025 = 4835703278458516698823679 = 2178243141013 * 2220001609283
2^83 - 1219 = 9671406556917033397648189 = 2370550533719 * 4079814549131
2^84 - 5319 = 19342813113834066795293497 = 3743220029701 * 5167426162597
2^85 - 5481 = 38685626227668133590592151 = 5445117332089 * 7104645110159
2^86 - 3297 = 77371252455336267181191967 = 8279539254449 * 9344874162383
2^87 - 571 = 154742504910672534362389957 = 12151712952499 * 12734213317543
2^88 - 1523 = 309485009821345068724779533 = 17258876427671 * 17931932656123
2^89 - 3543 = 618970019642690137449558569 = 20667822274579 * 29948487625811
2^90 - 3575 = 1237940039285380274899120649 = 25852344457321 * 47885020305569
2^91 - 14487 = 2475880078570760549798233961 = 44287089457829 * 55905233531509
2^92 - 1655 = 4951760157141521099596495241 = 68900966313353 * 71867789700097
2^93 - 2013 = 9903520314283042199192991779 = 72818547054119 * 136002717919141
2^94 - 1823 = 19807040628566084398385985761 = 127334241902017 * 155551565177633
2^95 - 771 = 39614081257132168796771974397 = 168927433481341 * 234503540607617
2^96 - 3633 = 79228162514264337593543946703 = 226915003627547 * 349153477062749
2^97 - 703 = 158456325028528675187087899969 = 377528015377169 * 419720705681201
2^98 - 7547 = 316912650057057350374175793797 = 504322581218419 * 628392742778663
2^99 - 5005 = 633825300114114700748351597683 = 778215345985117 * 814460037808399
2^100 - 3053 = 1267650600228229401496703202323 = 852649093227773 * 1486720164598351
2^101 - 10533 = 2535301200456458802993406400219 = 1175739633767197 * 2156345782384727
2^102 - 9095 = 5070602400912917605986812812409 = 1606031568230581 * 3157224615764789
2^103 - 1161 = 10141204801825835211973625641847 = 2568128689638119 * 3948869401577713
2^104 - 1889 = 20282409603651670423947251284127 = 3982579711458899 * 5092781833165573
2^105 - 3331 = 40564819207303340847894502568701 = 5099766108348349 * 7954250909840449
2^106 - 425 = 81129638414606681695789005143639 = 6574033780821821 * 12340922045652259
2^107 - 2959 = 162259276829213363391578010285169 = 11959245418571939 * 13567685179972571
2^108 - 5445 = 324518553658426726783156020570811 = 14319028682673241 * 22663447420222771
2^109 - 1863 = 649037107316853453566312041150649 = 22842198789725741 * 28413950569801789
2^110 - 131 = 1298074214633706907132624082304893 = 35367428524858559 * 36702533058668227
2^111 - 1615 = 2596148429267413814265248164608433 = 36566779302877591 * 70997459408822263
2^112 - 2283 = 5192296858534827628530496329217813 = 67641744679950409 * 76761722854760557
2^113 - 23553 = 10384593717069655257060992658416639 = 94092055716457949 * 110366317729980811
2^114 - 411 = 20769187434139310514121985316879973 = 118121996814495551 * 175828279187967323
2^115 - 15865 = 41538374868278621028243970633744903 = 199648814215779179 * 208057208010182357
2^116 - 479 = 83076749736557242056487941267521057 = 247584777165748307 * 335548698460328251
2^117 - 411 = 166153499473114484112975882535042661 = 365157478894991609 * 455018749652654029
2^118 - 3527 = 332306998946228968225951765070082617 = 561114038083576319 * 592227205865651143
2^119 - 747 = 664613997892457936451903530140171541 = 596963533949333113 * 1113324282130885757
2^120 - 527 = 1329227995784915872903807060280344049 = 879069357141345137 * 1512085462866600577
2^121 - 2233 = 2658455991569831745807614120560686919 = 1572613511877682669 * 1690470017897573251
2^122 - 8345 = 5316911983139663491615228241121369959 = 1889325481702291343 * 2814185292387577513
2^123 - 7011 = 10633823966279326983230456482242749597 = 2477236125782494633 * 4292616216760676309
2^124 - 13247 = 21267647932558653966460912964485499969 = 3682723456895302243 * 5774978268525276683
2^125 - 289 = 42535295865117307932921825928971026143 = 5766628885980996871 * 7376111191847811433
2^126 - 797 = 85070591730234615865843651857942052067 = 8526816808278793903 * 9976828826396094989
2^127 - 5751 = 170141183460469231731687303715884099977 = 11502175072681465387 * 14792087790818572571
2^128 - 1967 = 340282366920938463463374607431768209489 = 16247245438514871883 * 20944003597944230483
2^129 - 11619 = 680564733841876926926749214863536411293 = 20286858499088660161 * 33547073533955477213
2^130 - 1715 = 1361129467683753853853498429727072844109 = 28160277140047153109 * 48335087787473199001
2^131 - 1407 = 2722258935367507707706996859454145690241 = 46641953928865273739 * 58365027749894182819
2^132 - 803 = 5444517870735015415413993718908291382493 = 59220030885020465429 * 91937099480847963817
2^133 - 10665 = 10889035741470030830827987437816582755927 = 96246173425464733063 * 113137336830359831729
2^134 - 765 = 21778071482940061661655974875633165532419 = 124801769205687575789 * 174501304120515402671
2^135 - 7339 = 43556142965880123323311949751266331059029 = 167530058442310550731 * 259990018333807268959
2^136 - 9089 = 87112285931760246646623899502532662123647 = 218648816890130244283 * 398411878787039869709
2^137 - 8659 = 174224571863520493293247799005065324256813 = 359664615602929607777 * 484408430257884302669
2^138 - 11085 = 348449143727040986586495598010130648519859 = 527609138899783763051 * 660430455116181832409
2^139 - 2955 = 696898287454081973172991196020261297058933 = 659310130233364802329 * 1057011344884709612477
2^140 - 1077 = 1393796574908163946345982392040522594122699 = 1118232800842855445837 * 1246427911842333182327
2^141 - 1165 = 2787593149816327892691964784081045188246387 = 1201596788839791683051 * 2319907289788868048537
2^142 - 3773 = 5575186299632655785383929568162090376491331 = 2182833199343297599981 * 2554105508982520058351
2^143 - 8601 = 11150372599265311570767859136324180752981607 = 3045575696264389672331 * 3661170731347120600597
2^144 - 13019 = 22300745198530623141535718272648361505967397 = 3979038353983526116379 * 5604556481895864618943
2^145 - 11029 = 44601490397061246283071436545296723011949803 = 6382465847742404555581 * 6988128328620452072263
2^146 - 3521 = 89202980794122492566142873090593446023918143 = 7538355363568267402243 * 11833215136716295201301
2^147 - 9799 = 178405961588244985132285746181186892047833529 = 9759589554582595680193 * 18280068090002291548153
2^148 - 455 = 356811923176489970264571492362373784095686201 = 14910147160155664374409 * 23930811637459706698289
2^149 - 1195 = 713623846352979940529142984724747568191372117 = 21913211640092730527197 * 32565917678964199782361
2^150 - 4683 = 1427247692705959881058285969449495136382741941 = 28020894801156073293331 * 50935121909350130636311
2^151 - 1887 = 2854495385411919762116571938898990272765491361 = 51873925037492254456897 * 55027557358515141846113
2^152 - 225 = 5708990770823839524233143877797980545530986271 = 75557863725914323419121 * 75557863725914323419151 = (2^76 - 15) * (2^76 + 15)
2^153 - 8691 = 11417981541647679048466287755595961091061964301 = 82301380729341854683709 * 138733778710190856783889
2^154 - 857 = 22835963083295358096932575511191922182123945127 = 149555643917543119844741 * 152692084933189623020347
2^155 - 12151 = 45671926166590716193865151022383844364247879817 = 158568344191456332784327 * 288026758426928954253871
2^156 - 863 = 91343852333181432387730302044767688728495783073 = 239875593057055175708333 * 380796775399550572275781
2^157 - 30051 = 182687704666362864775460604089535377456991537821 = 396417831356494304954899 * 460846334891716237979279
2^158 - 3425 = 365375409332725729550921208179070754913983132319 = 516351419879203017920101 * 707609963420266913610419
2^159 - 1185 = 730750818665451459101842416358141509827966270303 = 730835217970956926042851 * 999884516641467022279253
2^160 - 17669 = 1461501637330902918203684832716283019655932525307 = 966117749344982725849439 * 1512757257924083326013413
2^161 - 5049 = 2923003274661805836407369665432566039311865080903 = 1249852263674235439330219 * 2338679026006600554401237
2^162 - 3983 = 5846006549323611672814739330865132078623730167921 = 2369969710902591318905291 * 2466700955050260454362931
2^163 - 315 = 11692013098647223345629478661730264157247460343493 = 2741974592330540054908487 * 4264085134614468524987539
2^164 - 24333 = 23384026197294446691258957323460528314494920663283 = 3817752050526527276191429 * 6125077241218278294154327
2^165 - 5733 = 46768052394588893382517914646921056628989841369499 = 6222261697370625300299677 * 7516246450121492259828887
2^166 - 10353 = 93536104789177786765035829293842113257979682740111 = 8479048115430146786625139 * 11031439321468297693349749
2^167 - 17199 = 187072209578355573530071658587684226515959365483729 = 12620774891258962173453871 * 14822561307857581915065599
2^168 - 10679 = 374144419156711147060143317175368453031918730991177 = 17758672912692800035367773 * 21068264559864486152541149
2^169 - 8323 = 748288838313422294120286634350736906063837461995389 = 25936386688537019303442929 * 28850928515965561647665741
2^170 - 7983 = 1496577676626844588240573268701473812127674923999441 = 29043137000518718910670463 * 51529477569868408972767407
2^171 - 10231 = 2993155353253689176481146537402947624255349848004617 = 54607133527241331388116161 * 54812533819606604666017097
2^172 - 9125 = 5986310706507378352962293074805895248510699696020571 = 66234172813313451556090639 * 90380998995492781352358389
2^173 - 6433 = 11972621413014756705924586149611790497021399392052959 = 103125295357317814614295961 * 116097814522915443190737719
2^174 - 27363 = 23945242826029513411849172299223580994042798784091421 = 114550682381688293445545761 * 209036230323297694477800061
2^175 - 3015 = 47890485652059026823698344598447161988085597568234553 = 185861398998321720351800807 * 257667734721460185172064479
2^176 - 21699 = 95780971304118053647396689196894323976171195136453437 = 245336281373228530483367357 * 390406876504364508725357441
2^177 - 7665 = 191561942608236107294793378393788647952342390272942607 = 363226541215508611047441259 * 527389716531147105807067373
2^178 - 18875 = 383123885216472214589586756787577295904684780545881669 = 525767606210707389647204057 * 728694352201932596407351117
2^179 - 37777 = 766247770432944429179173513575154591809369561091763311 = 668803893876111208193990411 * 1145698727906754173822473901
2^180 - 6827 = 1532495540865888858358347027150309183618739122183595349 = 1218596969303970098175317701 * 1257590146265675684717428049
2^181 - 26893 = 3064991081731777716716694054300618367237478244367177459 = 1748858658739302103515615791 * 1752566490388213879215450749
2^182 - 5025 = 6129982163463555433433388108601236734474956488734403679 = 2277380364545712527892758257 * 2691681310199735796686880847
2^183 - 1665 = 12259964326927110866866776217202473468949912977468815743 = 2525356109279545991370166463 * 4854746735273201771601610561
2^184 - 9819 = 24519928653854221733733552434404946937899825954937624997 = 4866069414947948485688264293 * 5038959900270248657580798529
2^185 - 12643 = 49039857307708443467467104868809893875799651909875256989 = 5053983469398491155404352681 * 9703208885553598661272762069
2^186 - 147 = 98079714615416886934934209737619787751599303819750539117 = 7486239030893178830635938877 * 13101333554896530354388155121
2^187 - 16225 = 196159429230833773869868419475239575503198607639501062303 = 12952028463478026547218224629 * 15145073976942049162118663107
2^188 - 10065 = 392318858461667547739736838950479151006397215279002146991 = 15089149347268625360319448837 * 26000064644643699874318731043
2^189 - 9441 = 784637716923335095479473677900958302012794430558004304671 = 24930846977531896527238364881 * 31472565598371525680493860591
2^190 - 13437 = 1569275433846670190958947355801916604025588861116008614787 = 33824827729144079690745550783 * 46394188505934481491964009789
2^191 - 135 = 3138550867693340381917894711603833208051177722232017256313 = 48554131995870847876553140783 * 64640242522721851491253341911
2^192 - 11343 = 6277101735386680763835789423207666416102355444464034501553 = 77572791882969252814364903173 * 80918858056013701086579696061
2^193 - 7129 = 12554203470773361527671578846415332832204710888928069018663 = 80745776654446990922230094437 * 155478143760995723034651686299
2^194 - 5777 = 25108406941546723055343157692830665664409421777856138045807 = 138614457936767860417911817579 * 181138441943772519746921048333
2^195 - 3759 = 50216813883093446110686315385661331328818843555712276099409 = 171120929373057679871047890403 * 293458047867521030310336889403
2^196 - 11147 = 100433627766186892221372630771322662657637687111424552195189 = 234391324213584263684576506303 * 428486967694541538269125762763
2^197 - 69135 = 200867255532373784442745261542645325315275374222849104343537 = 447304164874116820320039607649 * 449061894133946022052873440913
2^198 - 22811 = 401734511064747568885490523085290650630550748445698208802533 = 608327572274437091441651510071 * 660391751704970520940847817923
2^199 - 30121 = 803469022129495137770981046170581301261101496891396417620567 = 777281759987239587530940907213 * 1033690822929751315709564315059
2^200 - 19727 = 1606938044258990275541962092341162602522202993782792835281649 = 1056464511636976630509885532783 * 1521052554589896058033166035103
2^201 - 8353 = 3213876088517980551083924184682325205044405987565585670594399 = 1291063166015257886428343320279 * 2489325211280947279172077124281
2^202 - 321 = 6427752177035961102167848369364650410088811975131171341205183 = 2389392776391084120195016058107 * 2690119531852095158353338579469
2^203 - 27597 = 12855504354071922204335696738729300820177623950262342682383411 = 3353999001002525317205714079397 * 3832888545950477146532406966263
2^204 - 107 = 25711008708143844408671393477458601640355247900524685364821909 = 4723917437784513359811300435343 * 5442730328538963783774197227163
2^205 - 189 = 51422017416287688817342786954917203280710495801049370729643843 = 6757789778928952039721118279481 * 7609295213151423146895888973403
2^206 - 28841 = 102844034832575377634685573909834406561420991602098741459259223 = 8066624635151595390542877217517 * 12749326947037574463385277419219
2^207 - 4219 = 205688069665150755269371147819668813122841983204197482918571909 = 12873041833206862402305535167701 * 15978202535982193596298358042609
2^208 - 3483 = 411376139330301510538742295639337626245683966408394965837148773 = 14722539268879362332959332619037 * 27941928482396521268431455089129
2^209 - 3859 = 822752278660603021077484591278675252491367932816789931674300653 = 24967480816942018469461465423709 * 32952955273818151657700278046417
2^210 - 1353 = 1645504557321206042154969182557350504982735865633579863348607671 = 32155961170987687621429445220191 * 51172613020998479011346863674281
2^211 - 16245 = 3291009114642412084309938365114701009965471731267159726697201803 = 44035690041943886519769455679797 * 74735041315526882679054126852799
2^212 - 1493 = 6582018229284824168619876730229402019930943462534319453394434603 = 68942582125894371904429267623551 * 95471014086266174584968076666453
2^213 - 7569 = 13164036458569648337239753460458804039861886925068638906788864623 = 108908823148784949202059268127663 * 120872084354319956305424730649921
2^214 - 4851 = 26328072917139296674479506920917608079723773850137277813577739533 = 145977183518461670049100748045909 * 180357452326168472066303200050137
2^215 - 5265 = 52656145834278593348959013841835216159447547700274555627155483503 = 216094311931410950700199356867037 * 243672058573165165899497388735419
2^216 - 11447 = 105312291668557186697918027683670432318895095400549111254310966089 = 247290940328738022362319143845547 * 425863929865604945326560195290587
2^217 - 295 = 210624583337114373395836055367340864637790190801098222508621954777 = 403426174473524207621385295832219 * 522089533759136660813490945347483
2^218 - 26691 = 421249166674228746791672110734681729275580381602196445017243883453 = 637931262197364934929221188924391 * 660336295831041302273685548049083
2^219 - 1879 = 842498333348457493583344221469363458551160763204392890034487818409 = 860933145258310283787156401928773 * 978587405989205239660897687469333
2^220 - 3465 = 1684996666696914987166688442938726917102321526408785780068975637111 = 1121884350899202583210868067359119 * 1501934370816717178660266130134169
2^221 - 16351 = 3369993333393829974333376885877453834204643052817571560137951264801 = 1509918307932190709842801378232549 * 2231904412106230205546338774635149
2^222 - 26933 = 6739986666787659948666753771754907668409286105635143120275902535371 = 1971402331617701126221196069251663 * 3418879321937767527724119141611717
2^223 - 4299 = 13479973333575319897333507543509815336818572211270286240551805120309 = 2630591697010590858988955965836293 * 5124312278828366205617602811014513
2^224 - 8003 = 26959946667150639794667015087019630673637144422540572481103610241213 = 3766730585373261915301648748067937 * 7157386506972348275479420527337949
2^225 - 22059 = 53919893334301279589334030174039261347274288845081144962207220476373 = 5446368538128035827070193655908409 * 9900155113784131704900332561782397
2^226 - 8601 = 107839786668602559178668060348078522694548577690162289924414440988263 = 9922229154826845007133818079081573 * 10868503940582946040714151442701531
2^227 - 2805 = 215679573337205118357336120696157045389097155380324579848828881990923 = 12058556732453844817613271982908631 * 17886018876266928142575099076753133
2^228 - 4545 = 431359146674410236714672241392314090778194310760649159697657763982911 = 17063317704767839842902507173168759 * 25279910632729980264912228152107129
2^229 - 19569 = 862718293348820473429344482784628181556388621521298319395315527955343 = 28542528769577365349343910690007311 * 30225713366657487904106713081597313
2^230 - 3305 = 1725436586697640946858688965569256363112777243042596638790631055946519 = 40881028392685291819680571338840097 * 42206291146197477996094714995868727
2^231 - 22837 = 3450873173395281893717377931138512726225554486085193277581262111876811 = 52938858691434978325441328881267607 * 65186013803384120081558230446734573
2^232 - 8153 = 6901746346790563787434755862277025452451108972170386555162524223791143 = 64552229200095504945296750632089563 * 106917242554039522806028097613930661
2^233 - 1431 = 13803492693581127574869511724554050904902217944340773110325048447597161 = 99314730015445255386316504740368491 * 138987365634830122552497603375957371
2^234 - 10241 = 27606985387162255149739023449108101809804435888681546220650096895186943 = 138773334195614511319319423174924159 * 198935808144866824742907847564181377
2^235 - 11511 = 55213970774324510299478046898216203619608871777363092441300193790382857 = 229220175805067515993861643590583719 * 240877447111284607886951328254564303
2^236 - 5705 = 110427941548649020598956093796432407239217743554726184882600387580783031 = 289718436755859588921903799834681277 * 381156072720717531959848317190249603
2^237 - 21931 = 220855883097298041197912187592864814478435487109452369765200775161555541 = 397221032607618888448923803107865959 * 556002489715752076345224143770038499
2^238 - 13703 = 441711766194596082395824375185729628956870974218904739530401550323141241 = 663747390082079512490221570052664589 * 665481737171085020519140503367741469
2^239 - 4987 = 883423532389192164791648750371459257913741948437809479060803100646304901 = 746955363917410832233879878115166941 * 1182699228178874567616833667659311561
2^240 - 26123 = 1766847064778384329583297500742918515827483896875618958121606201292593653 = 1301478298437490895938315276503066473 * 1357569363161566980347247757596735661
2^241 - 26311 = 3533694129556768659166595001485837031654967793751237916243212402585213241 = 1829620360777656461203642176044500139 * 1931381069707170120943785373650645419
2^242 - 11157 = 7067388259113537318333190002971674063309935587502475832486424805170467947 = 2142083064418158593144018490933247559 * 3299306351144328927940934580264441533
2^243 - 2851 = 14134776518227074636666380005943348126619871175004951664972849610340955357 = 3492441545175241022407276582112795099 * 4047247845208481731749757488022123943
2^244 - 27137 = 28269553036454149273332760011886696253239742350009903329945699220681889279 = 4799431190944108120815778488123925889 * 5890188214344036620522351051481840511
2^245 - 23833 = 56539106072908298546665520023773392506479484700019806659891398441363808999 = 7038948288247863513125159826528922739 * 8032322977468843532284541833436145341
2^246 - 4043 = 113078212145816597093331040047546785012958969400039613319782796882727661621 = 8783979147067066377655672107094843097 * 12873233218406823703341360484704008893
2^247 - 2341 = 226156424291633194186662080095093570025917938800079226639565593765455328987 = 11028138128514059860136503600551344843 * 20507217234329807168642456745839157809
2^248 - 6707 = 452312848583266388373324160190187140051835877600158453279131187530910655949 = 20764798496912634752982493234527345347 * 21782674589908371173902727081232389167
2^249 - 405 = 904625697166532776746648320380374280103671755200316906558262375061821324907 = 27633861869621074350434277400808433547 * 32736130094108244744831471747559710881
2^250 - 27587 = 1809251394333065553493296640760748560207343510400633813116524750123642623037 = 36996636617980930928678594986278944177 * 48903131736406052639523163715879151181
2^251 - 30009 = 3618502788666131106986593281521497120414687020801267626233049500247285271239 = 45674044301681987460809207635394315023 * 79224488305995633302542532294308846793
2^252 - 4307 = 7237005577332262213973186563042994240829374041602535252466099000494570598189 = 68062171619312227903458045901010649751 * 106329336915820738029923241928765982939
2^253 - 1533 = 14474011154664524427946373126085988481658748083205070504932198000989141203459 = 107448486798726318613312015668381380461 * 134706514590358080391744759308799932719
2^254 - 5397 = 28948022309329048855892746252171976963317496166410141009864396001978282404587 = 161518270030011452126577682608336231281 * 179224445036157600027400301248103360027
2^255 - 591 = 57896044618658097711785492504343953926634992332820282019728792003956564819377 = 189534297503607601955633970592627848347 * 305464738473289260609373534577361923491
2^256 - 40919 = 115792089237316195423570985008687907853269984665640564039457584007913129599017 = 284500434698769099480653291815790748659 * 407001449259357401322238439915554856563
2^257 - 22111 = 231584178474632390847141970017375815706539969331281128078915168015826259257761 = 342574526270136478202231377911312046171 * 676011088728813233802107667402361882291
2^258 - 3243 = 463168356949264781694283940034751631413079938662562256157830336031652518556501 = 590751613139587867686008751564080404699 * 784032318570788874254110585935295398799
2^259 - 9439 = 926336713898529563388567880069503262826159877325124512315660672063305037110049 = 846019150495718589846102728112035968993 * 1094935869188953345018612318009054300993
2^260 - 32207 = 1852673427797059126777135760139006525652319754650249024631321344126610074206769 = 1048715229374311851888204876416123272069 * 1766612494892829607459585037113770106301
2^261 - 28509 = 3705346855594118253554271520278013051304639509300498049262642688253220148449443 = 1808703307766230006940951197582136256931 * 2048620600008890057826429398045285969153
2^262 - 8103 = 7410693711188236507108543040556026102609279018600996098525285376506440296947801 = 2270985961139241854812828243453603554617 * 3263205426188833111386514744479586104353

the entries that took the longest to find: 256 = 33 hours, 260 = 34 hours, 261 = 32 hours.