'Analyze accuracy of 16 variants of hypot()' from decimal import Decimal, getcontext, setcontext from math import sqrt, frexp, ldexp, fabs, fsum from math import floor, fabs, log2 from random import random, expovariate, paretovariate, gauss, choice from collections import Counter try: from pprint import pp except ImportError: from pprint import pprint as pp PREC = 53 EXPO = PREC - PREC // 2 ZERO = 0.0 ONE = 1.0 VELTKAMP_CONSTANT = 2**EXPO + ONE def hypot1(*xs): max_value = max(xs, key=abs) _, max_e = frexp(max_value) scalar = ldexp(1.0, -max_e) csum = 1.0 frac = 0.0 for x in xs: x *= scalar t = x * VELTKAMP_CONSTANT hi = t - (t - x) lo = x - hi x = hi * hi oldcsum = csum csum += x frac += (oldcsum - csum) + x x = 2.0 * hi * lo oldcsum = csum csum += x frac += (oldcsum - csum) + x frac += lo * lo h = sqrt(csum - 1.0 + frac) x = h t = x * VELTKAMP_CONSTANT hi = t - (t - x) lo = x - hi x = -hi * hi oldcsum = csum csum += x frac += (oldcsum - csum) + x x = -2.0 * hi * lo oldcsum = csum csum += x frac += (oldcsum - csum) + x x = -lo * lo oldcsum = csum csum += x frac += (oldcsum - csum) + x x = csum - 1.0 + frac adj = x / (h + h) return Decimal(h / scalar) + Decimal(adj / scalar) def hypot2(*xs): max_value = max(xs, key=abs) _, max_e = frexp(max_value) scalar = ldexp(1.0, -max_e) csum = 1.0 frac = frac3 = 0.0 for x in xs: x *= scalar t = x * VELTKAMP_CONSTANT hi = t - (t - x) lo = x - hi x = hi * hi oldcsum = csum csum += x frac += (oldcsum - csum) + x x = 2.0 * hi * lo oldcsum = csum csum += x frac += (oldcsum - csum) + x frac3 += lo * lo frac += frac3 h = sqrt(csum - 1.0 + frac) x = h t = x * VELTKAMP_CONSTANT hi = t - (t - x) lo = x - hi x = -hi * hi oldcsum = csum csum += x frac += (oldcsum - csum) + x x = -2.0 * hi * lo oldcsum = csum csum += x frac += (oldcsum - csum) + x x = -lo * lo oldcsum = csum csum += x frac += (oldcsum - csum) + x x = csum - 1.0 + frac adj = x / (h + h) return Decimal(h / scalar) + Decimal(adj / scalar) def hypot3(*xs): max_value = max(xs, key=abs) _, max_e = frexp(max_value) scalar = ldexp(1.0, -max_e) csum = 1.0 frac = frac1 = frac2 = frac3 = 0.0 for x in xs: x *= scalar t = x * VELTKAMP_CONSTANT hi = t - (t - x) lo = x - hi x = hi * hi oldcsum = csum csum += x frac1 += (oldcsum - csum) + x x = 2.0 * hi * lo oldcsum = csum csum += x frac2 += (oldcsum - csum) + x frac3 += lo * lo frac = frac3 + frac2 + frac1 h = sqrt(csum - 1.0 + frac) x = h t = x * VELTKAMP_CONSTANT hi = t - (t - x) lo = x - hi x = -hi * hi oldcsum = csum csum += x frac += (oldcsum - csum) + x x = -2.0 * hi * lo oldcsum = csum csum += x frac += (oldcsum - csum) + x x = -lo * lo oldcsum = csum csum += x frac += (oldcsum - csum) + x x = csum - 1.0 + frac adj = x / (h + h) return Decimal(h / scalar) + Decimal(adj / scalar) def hypot4(*xs): 'Add in frac_hi and frac_mid as a pair' max_value = max(xs, key=abs) _, max_e = frexp(max_value) scalar = ldexp(1.0, -max_e) csum = 1.0 frac = frac_lo = 0.0 for x in xs: x *= scalar t = x * VELTKAMP_CONSTANT hi = t - (t - x) lo = x - hi x = hi * hi oldcsum = csum csum += x t1 = (oldcsum - csum) + x x = 2.0 * hi * lo oldcsum = csum csum += x t2 = (oldcsum - csum) + x frac += t1 + t2 frac_lo += lo * lo frac += frac_lo h = sqrt(csum - 1.0 + frac) x = h t = x * VELTKAMP_CONSTANT hi = t - (t - x) lo = x - hi x = -hi * hi oldcsum = csum csum += x frac += (oldcsum - csum) + x x = -2.0 * hi * lo oldcsum = csum csum += x frac += (oldcsum - csum) + x x = -lo * lo oldcsum = csum csum += x frac += (oldcsum - csum) + x x = csum - 1.0 + frac adj = x / (h + h) return Decimal(h / scalar) + Decimal(adj / scalar) def hypot5(*xs): 'Ordered combination of fracs: frac = frac1 + frac2 + frac3' max_value = max(xs, key=abs) _, max_e = frexp(max_value) scalar = ldexp(1.0, -max_e) csum = 1.0 frac = frac1 = frac2 = frac3 = 0.0 for x in xs: x *= scalar t = x * VELTKAMP_CONSTANT hi = t - (t - x) lo = x - hi x = hi * hi oldcsum = csum csum += x frac1 += (oldcsum - csum) + x x = 2.0 * hi * lo oldcsum = csum csum += x frac2 += (oldcsum - csum) + x frac3 += lo * lo if False: data = sorted([(fabs(frac1), 1), (fabs(frac2), 2), (fabs(frac3), 3)]) #order[tuple([i for _, i in data])] += 1 order[frozenset([i for _, i in data[:2]])] += 1 # frac = sum(sorted([frac1, frac2, frac3], key=fabs)) # frac = fsum([frac1, frac2, frac3]) # Best in every range. For n<=10, same as hypot2 frac = frac1 + frac2 + frac3 h = sqrt(csum - 1.0 + frac) x = h t = x * VELTKAMP_CONSTANT hi = t - (t - x) lo = x - hi x = -hi * hi oldcsum = csum csum += x frac += (oldcsum - csum) + x x = -2.0 * hi * lo oldcsum = csum csum += x frac += (oldcsum - csum) + x x = -lo * lo oldcsum = csum csum += x frac += (oldcsum - csum) + x x = csum - 1.0 + frac adj = x / (h + h) return Decimal(h / scalar) + Decimal(adj / scalar) def hypot6(*xs): 'Ordered combination of fracs: frac = frac1 + frac3 + frac2' max_value = max(xs, key=abs) _, max_e = frexp(max_value) scalar = ldexp(1.0, -max_e) csum = 1.0 frac = frac1 = frac2 = frac3 = 0.0 for x in xs: x *= scalar t = x * VELTKAMP_CONSTANT hi = t - (t - x) lo = x - hi x = hi * hi oldcsum = csum csum += x frac1 += (oldcsum - csum) + x x = 2.0 * hi * lo oldcsum = csum csum += x frac2 += (oldcsum - csum) + x frac3 += lo * lo frac = frac1 + frac3 + frac2 h = sqrt(csum - 1.0 + frac) x = h t = x * VELTKAMP_CONSTANT hi = t - (t - x) lo = x - hi x = -hi * hi oldcsum = csum csum += x frac += (oldcsum - csum) + x x = -2.0 * hi * lo oldcsum = csum csum += x frac += (oldcsum - csum) + x x = -lo * lo oldcsum = csum csum += x frac += (oldcsum - csum) + x x = csum - 1.0 + frac adj = x / (h + h) return Decimal(h / scalar) + Decimal(adj / scalar) def hypot7(*xs): 'Lossless addition of partials' max_value = max(xs, key=abs) _, max_e = frexp(max_value) scalar = ldexp(1.0, -max_e) partials = [] for x in xs: x *= scalar t = x * VELTKAMP_CONSTANT hi = t - (t - x) lo = x - hi partials += [hi * hi] partials += [2.0 * hi * lo] partials += [lo * lo] h = sqrt(fsum(partials)) x = h t = x * VELTKAMP_CONSTANT hi = t - (t - x) lo = x - hi partials += [-hi * hi] partials += [-2.0 * hi * lo] partials += [-lo * lo] x = fsum(partials) adj = x / (h + h) return Decimal(h / scalar) + Decimal(adj / scalar) def hypot8(*xs): max_value = max(xs, key=abs) _, max_e = frexp(max_value) scalar = ldexp(1.0, -max_e) csum = 1.0 frac = frac1 = frac2 = frac3 = 0.0 for x in xs: x *= scalar t = x * VELTKAMP_CONSTANT hi = t - (t - x) lo = x - hi x = hi * hi oldcsum = csum csum += x frac1 += (oldcsum - csum) + x x = 2.0 * hi * lo oldcsum = csum csum += x frac2 += (oldcsum - csum) + x frac3 += lo * lo frac = fsum([frac1, frac2, frac3]) # Best in every range. For n<=10, same as hypot2 h = sqrt(csum - 1.0 + frac) x = h t = x * VELTKAMP_CONSTANT hi = t - (t - x) lo = x - hi x = -hi * hi oldcsum = csum csum += x frac += (oldcsum - csum) + x x = -2.0 * hi * lo oldcsum = csum csum += x frac += (oldcsum - csum) + x x = -lo * lo oldcsum = csum csum += x frac += (oldcsum - csum) + x x = csum - 1.0 + frac adj = x / (h + h) return Decimal(h / scalar) + Decimal(adj / scalar) def hypot9(*xs): max_value = max(xs, key=abs) _, max_e = frexp(max_value) scalar = ldexp(1.0, -max_e) csum = 1.0 frac = frac1 = frac2 = frac3 = 0.0 for x in xs: x *= scalar t = x * VELTKAMP_CONSTANT hi = t - (t - x) lo = x - hi x = hi * hi oldcsum = csum csum += x frac1 += (oldcsum - csum) + x x = 2.0 * hi * lo oldcsum = csum csum += x frac2 += (oldcsum - csum) + x frac3 += lo * lo frac = sum(sorted([frac1, frac2, frac3], key=fabs)) h = sqrt(csum - 1.0 + frac) x = h t = x * VELTKAMP_CONSTANT hi = t - (t - x) lo = x - hi x = -hi * hi oldcsum = csum csum += x frac += (oldcsum - csum) + x x = -2.0 * hi * lo oldcsum = csum csum += x frac += (oldcsum - csum) + x x = -lo * lo oldcsum = csum csum += x frac += (oldcsum - csum) + x x = csum - 1.0 + frac adj = x / (h + h) return Decimal(h / scalar) + Decimal(adj / scalar) def hypot10(*xs): 'Accumulate frac as in the mul12() in the Dekker paper' max_value = max(xs, key=abs) _, max_e = frexp(max_value) scalar = ldexp(1.0, -max_e) csum = 1.0 frac = 0.0 for x in xs: x *= scalar t = x * VELTKAMP_CONSTANT hi = t - (t - x) lo = x - hi # mul12 p = hi * hi q = 2.0 * hi * lo z = p + q zz = p - z + q + lo * lo oldcsum = csum csum += z frac += (oldcsum - csum) + z + zz h = sqrt(csum - 1.0 + frac) x = h t = x * VELTKAMP_CONSTANT hi = t - (t - x) lo = x - hi x = -hi * hi oldcsum = csum csum += x frac += (oldcsum - csum) + x x = -2.0 * hi * lo oldcsum = csum csum += x frac += (oldcsum - csum) + x x = -lo * lo oldcsum = csum csum += x frac += (oldcsum - csum) + x x = csum - 1.0 + frac adj = x / (h + h) return Decimal(h / scalar) + Decimal(adj / scalar) def hypot11(*xs): 'Invert order of post-loop accumulation of frac values' max_value = max(xs, key=abs) _, max_e = frexp(max_value) scalar = ldexp(1.0, -max_e) csum = 1.0 frac = frac1 = frac2 = frac3 = 0.0 for x in xs: x *= scalar t = x * VELTKAMP_CONSTANT hi = t - (t - x) lo = x - hi x = hi * hi oldcsum = csum csum += x frac1 += (oldcsum - csum) + x x = 2.0 * hi * lo oldcsum = csum csum += x frac2 += (oldcsum - csum) + x frac3 += lo * lo frac = frac3 + frac2 + frac1 h = sqrt(csum - 1.0 + frac) x = h t = x * VELTKAMP_CONSTANT hi = t - (t - x) lo = x - hi x = -lo * lo oldcsum = csum csum += x frac += (oldcsum - csum) + x x = -2.0 * hi * lo oldcsum = csum csum += x frac += (oldcsum - csum) + x x = -hi * hi oldcsum = csum csum += x frac += (oldcsum - csum) + x x = csum - 1.0 + frac adj = x / (h + h) return Decimal(h / scalar) + Decimal(adj / scalar) def hypot12(*xs): 'Separate post-loop fractional accumulators' max_value = max(xs, key=abs) _, max_e = frexp(max_value) scalar = ldexp(1.0, -max_e) csum = 1.0 frac = frac1 = frac2 = frac3 = 0.0 for x in xs: x *= scalar t = x * VELTKAMP_CONSTANT hi = t - (t - x) lo = x - hi x = hi * hi oldcsum = csum csum += x frac1 += (oldcsum - csum) + x x = 2.0 * hi * lo oldcsum = csum csum += x frac2 += (oldcsum - csum) + x frac3 += lo * lo frac = frac3 + frac2 + frac1 h = sqrt(csum - 1.0 + frac) x = h t = x * VELTKAMP_CONSTANT hi = t - (t - x) lo = x - hi x = -hi * hi oldcsum = csum csum += x frac1 += (oldcsum - csum) + x x = -2.0 * hi * lo oldcsum = csum csum += x frac2 += (oldcsum - csum) + x x = -lo * lo oldcsum = csum csum += x frac3 += (oldcsum - csum) + x frac = frac3 + frac2 + frac1 x = csum - 1.0 + frac adj = x / (h + h) return Decimal(h / scalar) + Decimal(adj / scalar) def hypot13(*xs): 'Separate post-loop fractional accumulators combined with fsum' max_value = max(xs, key=abs) _, max_e = frexp(max_value) scalar = ldexp(1.0, -max_e) csum = 1.0 frac = frac1 = frac2 = frac3 = 0.0 for x in xs: x *= scalar t = x * VELTKAMP_CONSTANT hi = t - (t - x) lo = x - hi x = hi * hi oldcsum = csum csum += x frac1 += (oldcsum - csum) + x x = 2.0 * hi * lo oldcsum = csum csum += x frac2 += (oldcsum - csum) + x frac3 += lo * lo frac = fsum([frac3, frac2, frac1]) h = sqrt(csum - 1.0 + frac) x = h t = x * VELTKAMP_CONSTANT hi = t - (t - x) lo = x - hi x = -hi * hi oldcsum = csum csum += x frac1 += (oldcsum - csum) + x x = -2.0 * hi * lo oldcsum = csum csum += x frac2 += (oldcsum - csum) + x x = -lo * lo oldcsum = csum csum += x frac3 += (oldcsum - csum) + x frac = fsum([frac3, frac2, frac1]) x = csum - 1.0 + frac adj = x / (h + h) return Decimal(h / scalar) + Decimal(adj / scalar) def hypot14(*xs): 'Separate post-loop fractional accumulators' max_value = max(xs, key=abs) _, max_e = frexp(max_value) scalar = ldexp(1.0, -max_e) csum = 1.0 frac = frac1 = frac2 = frac3 = 0.0 for x in xs: x *= scalar t = x * VELTKAMP_CONSTANT hi = t - (t - x) lo = x - hi x = hi * hi oldcsum = csum csum += x frac1 += (oldcsum - csum) + x x = 2.0 * hi * lo oldcsum = csum csum += x frac2 += (oldcsum - csum) + x frac3 += lo * lo frac = frac3 + frac1 + frac2 h = sqrt(csum - 1.0 + frac) x = h t = x * VELTKAMP_CONSTANT hi = t - (t - x) lo = x - hi x = -hi * hi oldcsum = csum csum += x frac1 += (oldcsum - csum) + x x = -2.0 * hi * lo oldcsum = csum csum += x frac2 += (oldcsum - csum) + x x = -lo * lo oldcsum = csum csum += x frac3 += (oldcsum - csum) + x frac = frac3 + frac1 + frac2 x = csum - 1.0 + frac adj = x / (h + h) return Decimal(h / scalar) + Decimal(adj / scalar) def hypot15(*xs): 'Separate post-loop fractional accumulators' max_value = max(xs, key=abs) _, max_e = frexp(max_value) scalar = ldexp(1.0, -max_e) csum = 1.0 frac = frac1 = frac2 = frac3 = 0.0 for x in xs: x *= scalar t = x * VELTKAMP_CONSTANT hi = t - (t - x) lo = x - hi x = hi * hi oldcsum = csum csum += x frac1 += (oldcsum - csum) + x x = 2.0 * hi * lo oldcsum = csum csum += x frac2 += (oldcsum - csum) + x frac3 += lo * lo frac = frac1 + frac2 + frac3 h = sqrt(csum - 1.0 + frac) x = h t = x * VELTKAMP_CONSTANT hi = t - (t - x) lo = x - hi x = -hi * hi oldcsum = csum csum += x frac1 += (oldcsum - csum) + x x = -2.0 * hi * lo oldcsum = csum csum += x frac2 += (oldcsum - csum) + x x = -lo * lo oldcsum = csum csum += x frac3 += (oldcsum - csum) + x frac = frac1 + frac2 + frac3 x = csum - 1.0 + frac adj = x / (h + h) return Decimal(h / scalar) + Decimal(adj / scalar) def hypot16(*xs): 'Track sum of squares using int128_t' prec = floor(64.0 - log2(len(xs))) max_value = max(xs, key=fabs) _, max_e = frexp(max_value) scalar = ldexp(1.0, prec - max_e) sos = 0 for x in xs: xs = round(x * scalar) sos += xs * xs h = round(sqrt(sos)) adj = (sos - h*h) / (h + h) return Decimal(h / scalar) + Decimal(adj / scalar) ######### Testing ######## def mrandom1(): return expovariate(1) + random() * 2.0 ** -10 def mrandom2(): return 100.0 + random() def mrandom3(): return random() def mrandom4(): return paretovariate(5) def mrandom5(): return gauss(0.0, 1.0) def mrandom(): return choice([mrandom1, mrandom2, mrandom3, mrandom4, mrandom5])() def dhypot(*coords) -> Decimal: 'Reference version using decimal' return sum(Decimal(x)**2 for x in coords).sqrt() if __name__ == '__main__': from time import ctime import sys import os import json trials = 100_000 getcontext().prec = 500 hypots = hypot1, hypot2, hypot3, hypot4, hypot5, hypot6, hypot7, hypot8, hypot9, hypot10, hypot11, hypot12, hypot13, hypot14, hypot15, hypot16 dims = (2, 3, 5, 10, 20, 50, 100, 200, 1_000) errors = {hypot.__name__: {n: Counter() for n in dims} for hypot in hypots} # Dict[hypot, Dict[n, Counter] for j in range(1, 101): for n in dims: for i in range(trials): coords = tuple(mrandom() for i in range(n)) expected = dhypot(*coords) for hypot in hypots: actual = hypot(*coords) err = (actual - expected) / expected bits = round(1 / err).bit_length() errors[hypot.__name__][n][bits] += 1 total = j * trials for n in dims: for hypot in hypots: results = sorted(errors[hypot.__name__][n].items()) wtg_avg = sum(bits*count for bits, count in results) / total print(f'{n=}', f'{total=:,d}', f'{wtg_avg=:.2f}', hypot.__name__, results, sep='\t') print() description = dict( hypot1 = 'One fractional accumulator in the inner loop', hypot2 = 'Two fractional accumulators in the inner loop', hypot3 = 'Three fractional accumulators in the inner loop', hypot12 = 'Split post-loop processing into three fractional accumulators', hypot15 = 'Reverse the order for combining the fractional accumulators: frac1+frac2+frac3', hypot7 = 'Best possible result if every individual partial sum is saved and combined by fsum()', hypot13 = 'Best possible combination of only three fractional accumulators using fsum()', hypot16 = 'Integer fixed-point arithmetic variant using int_128', ) output = '''\ n=2 total=10,000,000 wtg_avg=108.60 hypot1 [(103, 11), (104, 14751), (105, 266249), (106, 1207267), (107, 1938579), (108, 2058240), (109, 1683864), (110, 1158344), (111, 712469), (112, 419290), (113, 239873), (114, 135558), (115, 75209), (116, 41176), (117, 22598), (118, 12331), (119, 6566), (120, 3551), (121, 1920), (122, 1008), (123, 558), (124, 270), (125, 156), (126, 79), (127, 30), (128, 19), (129, 22), (130, 5), (131, 4), (132, 1), (134, 1), (135, 1)] n=2 total=10,000,000 wtg_avg=108.79 hypot2 [(103, 8), (104, 10887), (105, 184297), (106, 972441), (107, 1828293), (108, 2095554), (109, 1795559), (110, 1269868), (111, 785218), (112, 462015), (113, 264297), (114, 149234), (115, 82908), (116, 45341), (117, 24879), (118, 13613), (119, 7217), (120, 3907), (121, 2126), (122, 1091), (123, 611), (124, 293), (125, 171), (126, 87), (127, 31), (128, 19), (129, 22), (130, 6), (131, 4), (132, 1), (134, 1), (135, 1)] n=2 total=10,000,000 wtg_avg=108.69 hypot3 [(103, 14), (104, 12919), (105, 199951), (106, 1031827), (107, 1931710), (108, 2155367), (109, 1750265), (110, 1197709), (111, 732811), (112, 430424), (113, 246677), (114, 139518), (115, 77450), (116, 42516), (117, 23392), (118, 12758), (119, 6791), (120, 3681), (121, 2013), (122, 1031), (123, 573), (124, 277), (125, 162), (126, 80), (127, 30), (128, 19), (129, 22), (130, 6), (131, 4), (132, 1), (134, 1), (135, 1)] n=2 total=10,000,000 wtg_avg=108.79 hypot4 [(103, 8), (104, 10887), (105, 184303), (106, 972460), (107, 1828341), (108, 2095566), (109, 1795542), (110, 1269841), (111, 785202), (112, 462004), (113, 264285), (114, 149232), (115, 82908), (116, 45341), (117, 24879), (118, 13613), (119, 7217), (120, 3907), (121, 2126), (122, 1091), (123, 611), (124, 293), (125, 171), (126, 87), (127, 31), (128, 19), (129, 22), (130, 6), (131, 4), (132, 1), (134, 1), (135, 1)] n=2 total=10,000,000 wtg_avg=108.79 hypot5 [(103, 8), (104, 10887), (105, 184300), (106, 972461), (107, 1828338), (108, 2095577), (109, 1795546), (110, 1269843), (111, 785197), (112, 462004), (113, 264284), (114, 149230), (115, 82905), (116, 45341), (117, 24879), (118, 13612), (119, 7217), (120, 3907), (121, 2126), (122, 1091), (123, 611), (124, 293), (125, 171), (126, 87), (127, 31), (128, 19), (129, 22), (130, 6), (131, 4), (132, 1), (134, 1), (135, 1)] n=2 total=10,000,000 wtg_avg=108.71 hypot6 [(103, 2), (104, 10303), (105, 190499), (106, 1011662), (107, 1898442), (108, 2172613), (109, 1773269), (110, 1209109), (111, 738939), (112, 433857), (113, 248653), (114, 140506), (115, 78081), (116, 42879), (117, 23577), (118, 12838), (119, 6840), (120, 3698), (121, 2011), (122, 1039), (123, 580), (124, 280), (125, 160), (126, 80), (127, 30), (128, 18), (129, 22), (130, 6), (131, 4), (132, 1), (134, 1), (135, 1)] n=2 total=10,000,000 wtg_avg=110.05 hypot7 [(105, 4815), (106, 148069), (107, 764509), (108, 1653916), (109, 2055201), (110, 1841376), (111, 1336875), (112, 882350), (113, 548219), (114, 328813), (115, 191189), (116, 108617), (117, 61010), (118, 34085), (119, 18700), (120, 10255), (121, 5577), (122, 2993), (123, 1620), (124, 821), (125, 457), (126, 256), (127, 123), (128, 67), (129, 55), (130, 16), (131, 10), (132, 2), (133, 2), (134, 1), (135, 1)] n=2 total=10,000,000 wtg_avg=108.79 hypot8 [(103, 8), (104, 10886), (105, 184270), (106, 972320), (107, 1828293), (108, 2095636), (109, 1795618), (110, 1269880), (111, 785223), (112, 462019), (113, 264288), (114, 149233), (115, 82905), (116, 45342), (117, 24879), (118, 13612), (119, 7217), (120, 3907), (121, 2126), (122, 1091), (123, 611), (124, 293), (125, 171), (126, 87), (127, 31), (128, 19), (129, 22), (130, 6), (131, 4), (132, 1), (134, 1), (135, 1)] n=2 total=10,000,000 wtg_avg=108.72 hypot9 [(103, 2), (104, 10167), (105, 189153), (106, 1004703), (107, 1881289), (108, 2165476), (109, 1780175), (110, 1219743), (111, 745953), (112, 437770), (113, 250703), (114, 141609), (115, 78606), (116, 43149), (117, 23725), (118, 12929), (119, 6873), (120, 3722), (121, 2030), (122, 1038), (123, 581), (124, 279), (125, 161), (126, 80), (127, 30), (128, 19), (129, 22), (130, 6), (131, 4), (132, 1), (134, 1), (135, 1)] n=2 total=10,000,000 wtg_avg=108.66 hypot10 [(104, 8284), (105, 182015), (106, 1092426), (107, 1952718), (108, 2152160), (109, 1745372), (110, 1182450), (111, 719044), (112, 421689), (113, 241215), (114, 136257), (115, 75622), (116, 41429), (117, 22728), (118, 12314), (119, 6548), (120, 3594), (121, 1926), (122, 1038), (123, 583), (124, 269), (125, 158), (126, 80), (127, 28), (128, 18), (129, 21), (130, 6), (131, 5), (132, 1), (134, 1), (135, 1)] n=2 total=10,000,000 wtg_avg=108.66 hypot11 [(103, 13), (104, 10425), (105, 207128), (106, 1114061), (107, 1945299), (108, 2115257), (109, 1719281), (110, 1176505), (111, 723758), (112, 427854), (113, 246569), (114, 140339), (115, 78210), (116, 43193), (117, 23876), (118, 13073), (119, 6980), (120, 3795), (121, 2076), (122, 1087), (123, 594), (124, 287), (125, 167), (126, 87), (127, 31), (128, 18), (129, 22), (130, 7), (131, 4), (132, 1), (133, 1), (134, 1), (135, 1)] n=2 total=10,000,000 wtg_avg=108.94 hypot12 [(103, 1), (104, 4417), (105, 96900), (106, 742313), (107, 1771986), (108, 2211239), (109, 1889829), (110, 1333661), (111, 826458), (112, 488193), (113, 280670), (114, 159050), (115, 88172), (116, 48680), (117, 26785), (118, 14692), (119, 7828), (120, 4253), (121, 2308), (122, 1195), (123, 670), (124, 332), (125, 181), (126, 89), (127, 40), (128, 21), (129, 22), (130, 7), (131, 5), (132, 1), (134, 1), (135, 1)] n=2 total=10,000,000 wtg_avg=109.12 hypot13 [(104, 698), (105, 62071), (106, 659183), (107, 1631714), (108, 2071228), (109, 1913343), (110, 1447884), (111, 929528), (112, 557979), (113, 321577), (114, 182234), (115, 100998), (116, 55510), (117, 30375), (118, 16632), (119, 8823), (120, 4770), (121, 2561), (122, 1351), (123, 765), (124, 364), (125, 201), (126, 104), (127, 47), (128, 22), (129, 23), (130, 7), (131, 5), (132, 1), (134, 1), (135, 1)] n=2 total=10,000,000 wtg_avg=108.96 hypot14 [(103, 1), (104, 2772), (105, 81689), (106, 716241), (107, 1736921), (108, 2228660), (109, 1918310), (110, 1350002), (111, 835060), (112, 492222), (113, 282451), (114, 159766), (115, 88485), (116, 48870), (117, 26855), (118, 14719), (119, 7851), (120, 4252), (121, 2306), (122, 1201), (123, 673), (124, 328), (125, 179), (126, 89), (127, 41), (128, 19), (129, 22), (130, 7), (131, 5), (132, 1), (134, 1), (135, 1)] n=2 total=10,000,000 wtg_avg=109.12 hypot15 [(104, 699), (105, 62117), (106, 659341), (107, 1631726), (108, 2071128), (109, 1913299), (110, 1447848), (111, 929513), (112, 557967), (113, 321570), (114, 182234), (115, 100996), (116, 55510), (117, 30374), (118, 16632), (119, 8823), (120, 4770), (121, 2561), (122, 1351), (123, 765), (124, 364), (125, 201), (126, 104), (127, 47), (128, 22), (129, 23), (130, 7), (131, 5), (132, 1), (134, 1), (135, 1)] n=2 total=10,000,000 wtg_avg=110.04 hypot16 [(74, 293), (75, 17149), (76, 9735), (77, 11900), (78, 8024), (79, 5600), (80, 3137), (81, 1976), (82, 1057), (83, 575), (84, 279), (85, 131), (86, 72), (87, 32), (88, 17), (89, 6), (90, 7), (91, 2), (92, 2), (93, 1), (105, 4), (106, 89002), (107, 629503), (108, 1439251), (109, 1976439), (110, 1979328), (111, 1458114), (112, 956579), (113, 592235), (114, 353254), (115, 204912), (116, 116318), (117, 65265), (118, 36252), (119, 19949), (120, 10914), (121, 5917), (122, 3138), (123, 1715), (124, 868), (125, 485), (126, 272), (127, 130), (128, 69), (129, 57), (130, 17), (131, 12), (132, 2), (133, 2), (134, 1), (135, 1)] n=3 total=10,000,000 wtg_avg=107.93 hypot1 [(102, 6), (103, 608), (104, 33524), (105, 497109), (106, 1693005), (107, 2510196), (108, 2136765), (109, 1419336), (110, 791049), (111, 425514), (112, 229552), (113, 123781), (114, 65417), (115, 34981), (116, 18525), (117, 9771), (118, 5210), (119, 2686), (120, 1372), (121, 796), (122, 400), (123, 186), (124, 106), (125, 51), (126, 24), (127, 12), (128, 10), (129, 6), (130, 1), (132, 1)] n=3 total=10,000,000 wtg_avg=108.36 hypot2 [(102, 4), (103, 214), (104, 12203), (105, 267779), (106, 1219960), (107, 2200769), (108, 2257438), (109, 1724942), (110, 1046618), (111, 582903), (112, 318510), (113, 172605), (114, 91722), (115, 49289), (116, 26045), (117, 13709), (118, 7309), (119, 3797), (120, 1936), (121, 1106), (122, 560), (123, 278), (124, 148), (125, 79), (126, 38), (127, 17), (128, 11), (129, 7), (130, 2), (132, 1), (135, 1)] n=3 total=10,000,000 wtg_avg=108.22 hypot3 [(102, 3), (103, 210), (104, 16778), (105, 307489), (106, 1296889), (107, 2354525), (108, 2314592), (109, 1647264), (110, 947521), (111, 514969), (112, 278719), (113, 150755), (114, 79576), (115, 42908), (116, 22597), (117, 11900), (118, 6329), (119, 3330), (120, 1703), (121, 960), (122, 482), (123, 236), (124, 132), (125, 65), (126, 30), (127, 17), (128, 10), (129, 7), (130, 2), (132, 1), (135, 1)] n=3 total=10,000,000 wtg_avg=108.36 hypot4 [(102, 4), (103, 214), (104, 12203), (105, 267769), (106, 1219971), (107, 2200745), (108, 2257489), (109, 1724964), (110, 1046587), (111, 582890), (112, 318508), (113, 172602), (114, 91717), (115, 49291), (116, 26045), (117, 13710), (118, 7310), (119, 3797), (120, 1936), (121, 1106), (122, 560), (123, 278), (124, 148), (125, 79), (126, 38), (127, 17), (128, 11), (129, 7), (130, 2), (132, 1), (135, 1)] n=3 total=10,000,000 wtg_avg=108.36 hypot5 [(102, 4), (103, 214), (104, 12206), (105, 267753), (106, 1219993), (107, 2200861), (108, 2257455), (109, 1724902), (110, 1046576), (111, 582889), (112, 318497), (113, 172610), (114, 91714), (115, 49285), (116, 26043), (117, 13710), (118, 7308), (119, 3796), (120, 1936), (121, 1106), (122, 560), (123, 278), (124, 148), (125, 79), (126, 38), (127, 17), (128, 11), (129, 7), (130, 2), (132, 1), (135, 1)] n=3 total=10,000,000 wtg_avg=108.22 hypot6 [(102, 3), (103, 178), (104, 15403), (105, 298474), (106, 1286795), (107, 2370359), (108, 2325523), (109, 1648176), (110, 945889), (111, 512828), (112, 277655), (113, 149606), (114, 79186), (115, 42489), (116, 22436), (117, 11793), (118, 6307), (119, 3308), (120, 1665), (121, 955), (122, 471), (123, 237), (124, 133), (125, 63), (126, 31), (127, 16), (128, 10), (129, 7), (130, 2), (132, 1), (135, 1)] n=3 total=10,000,000 wtg_avg=109.94 hypot7 [(105, 6028), (106, 195885), (107, 897376), (108, 1732527), (109, 2044814), (110, 1751751), (111, 1268827), (112, 842197), (113, 525120), (114, 314854), (115, 183727), (116, 105276), (117, 59148), (118, 32894), (119, 18105), (120, 9901), (121, 5465), (122, 2785), (123, 1578), (124, 820), (125, 452), (126, 228), (127, 109), (128, 61), (129, 36), (130, 17), (131, 10), (132, 4), (134, 2), (135, 2), (136, 1)] n=3 total=10,000,000 wtg_avg=108.36 hypot8 [(102, 4), (103, 212), (104, 12186), (105, 267433), (106, 1219704), (107, 2200921), (108, 2257690), (109, 1725052), (110, 1046669), (111, 582940), (112, 318516), (113, 172618), (114, 91720), (115, 49291), (116, 26045), (117, 13711), (118, 7308), (119, 3796), (120, 1936), (121, 1106), (122, 560), (123, 278), (124, 148), (125, 79), (126, 38), (127, 17), (128, 11), (129, 7), (130, 2), (132, 1), (135, 1)] n=3 total=10,000,000 wtg_avg=108.26 hypot9 [(102, 3), (103, 176), (104, 14626), (105, 291470), (106, 1271994), (107, 2307572), (108, 2324822), (109, 1678762), (110, 969963), (111, 527175), (112, 285461), (113, 153978), (114, 81434), (115, 43768), (116, 23080), (117, 12151), (118, 6470), (119, 3405), (120, 1715), (121, 978), (122, 489), (123, 238), (124, 135), (125, 67), (126, 31), (127, 16), (128, 10), (129, 7), (130, 2), (132, 1), (135, 1)] n=3 total=10,000,000 wtg_avg=108.15 hypot10 [(103, 30), (104, 9620), (105, 273076), (106, 1411891), (107, 2473965), (108, 2311724), (109, 1587225), (110, 895137), (111, 481486), (112, 259563), (113, 138988), (114, 73955), (115, 39369), (116, 20824), (117, 11004), (118, 5809), (119, 3075), (120, 1506), (121, 867), (122, 419), (123, 222), (124, 124), (125, 62), (126, 27), (127, 13), (128, 7), (129, 9), (130, 1), (132, 1), (135, 1)] n=3 total=10,000,000 wtg_avg=108.18 hypot11 [(102, 1), (103, 235), (104, 15215), (105, 313183), (106, 1409729), (107, 2377388), (108, 2259566), (109, 1609521), (110, 923212), (111, 502660), (112, 272691), (113, 148085), (114, 78503), (115, 42419), (116, 22500), (117, 11860), (118, 6332), (119, 3303), (120, 1688), (121, 939), (122, 482), (123, 238), (124, 124), (125, 62), (126, 29), (127, 15), (128, 9), (129, 8), (130, 1), (132, 1), (135, 1)] n=3 total=10,000,000 wtg_avg=108.48 hypot12 [(103, 112), (104, 4855), (105, 134431), (106, 935336), (107, 2290983), (108, 2436647), (109, 1815502), (110, 1079557), (111, 598283), (112, 326148), (113, 176949), (114, 93917), (115, 50449), (116, 26848), (117, 14202), (118, 7551), (119, 3915), (120, 2019), (121, 1129), (122, 565), (123, 289), (124, 154), (125, 84), (126, 34), (127, 16), (128, 12), (129, 8), (130, 2), (132, 1), (135, 2)] n=3 total=10,000,000 wtg_avg=108.71 hypot13 [(104, 994), (105, 70766), (106, 823353), (107, 2079611), (108, 2305724), (109, 1878215), (110, 1229917), (111, 723392), (112, 406956), (113, 223711), (114, 120035), (115, 64707), (116, 34281), (117, 18261), (118, 9602), (119, 4955), (120, 2601), (121, 1428), (122, 732), (123, 373), (124, 182), (125, 113), (126, 43), (127, 21), (128, 14), (129, 8), (130, 2), (132, 1), (135, 2)] n=3 total=10,000,000 wtg_avg=108.50 hypot14 [(103, 54), (104, 3736), (105, 125781), (106, 892194), (107, 2286740), (108, 2457798), (109, 1833462), (110, 1089280), (111, 602658), (112, 328354), (113, 177866), (114, 94450), (115, 50726), (116, 26846), (117, 14241), (118, 7588), (119, 3910), (120, 2022), (121, 1127), (122, 573), (123, 287), (124, 146), (125, 86), (126, 33), (127, 18), (128, 11), (129, 8), (130, 2), (132, 1), (135, 2)] n=3 total=10,000,000 wtg_avg=108.71 hypot15 [(104, 1007), (105, 71081), (106, 823841), (107, 2079513), (108, 2305435), (109, 1878000), (110, 1229803), (111, 723337), (112, 406934), (113, 223699), (114, 120029), (115, 64704), (116, 34281), (117, 18260), (118, 9601), (119, 4955), (120, 2601), (121, 1428), (122, 732), (123, 373), (124, 182), (125, 113), (126, 43), (127, 21), (128, 14), (129, 8), (130, 2), (132, 1), (135, 2)] n=3 total=10,000,000 wtg_avg=109.14 hypot16 [(72, 925), (73, 78379), (74, 55168), (75, 61186), (76, 44159), (77, 30823), (78, 18287), (79, 11087), (80, 6209), (81, 3556), (82, 1722), (83, 919), (84, 456), (85, 250), (86, 102), (87, 50), (88, 29), (89, 15), (90, 7), (91, 2), (92, 4), (94, 1), (97, 1), (105, 2), (106, 85838), (107, 617966), (108, 1400723), (109, 1925692), (110, 1930734), (111, 1420516), (112, 931484), (113, 576571), (114, 343131), (115, 199331), (116, 113462), (117, 63619), (118, 35366), (119, 19424), (120, 10528), (121, 5795), (122, 2973), (123, 1671), (124, 870), (125, 481), (126, 240), (127, 109), (128, 64), (129, 34), (130, 17), (131, 11), (132, 6), (134, 2), (135, 2), (136, 1)] n=5 total=10,000,000 wtg_avg=107.37 hypot1 [(102, 48), (103, 6058), (104, 136900), (105, 964031), (106, 2250922), (107, 2625398), (108, 1879938), (109, 1054348), (110, 539999), (111, 269782), (112, 135439), (113, 68113), (114, 34194), (115, 17392), (116, 8603), (117, 4407), (118, 2223), (119, 1077), (120, 557), (121, 263), (122, 153), (123, 79), (124, 40), (125, 16), (126, 10), (127, 6), (128, 1), (129, 2), (131, 1)] n=5 total=10,000,000 wtg_avg=108.11 hypot2 [(103, 444), (104, 23192), (105, 356495), (106, 1420927), (107, 2331895), (108, 2323193), (109, 1624196), (110, 929327), (111, 485811), (112, 248055), (113, 126596), (114, 63933), (115, 32672), (116, 16443), (117, 8317), (118, 4238), (119, 2052), (120, 1077), (121, 557), (122, 278), (123, 153), (124, 79), (125, 37), (126, 17), (127, 9), (128, 3), (129, 3), (131, 1)] n=5 total=10,000,000 wtg_avg=107.96 hypot3 [(102, 2), (103, 663), (104, 33072), (105, 414643), (106, 1524708), (107, 2496911), (108, 2347275), (109, 1517565), (110, 821107), (111, 417276), (112, 210730), (113, 106992), (114, 53956), (115, 27297), (116, 13797), (117, 6940), (118, 3535), (119, 1684), (120, 906), (121, 455), (122, 236), (123, 131), (124, 62), (125, 31), (126, 12), (127, 7), (128, 3), (129, 3), (131, 1)] n=5 total=10,000,000 wtg_avg=108.11 hypot4 [(103, 441), (104, 23167), (105, 356365), (106, 1420684), (107, 2331727), (108, 2323420), (109, 1624387), (110, 929417), (111, 485858), (112, 248059), (113, 126606), (114, 63931), (115, 32678), (116, 16438), (117, 8317), (118, 4239), (119, 2052), (120, 1077), (121, 557), (122, 278), (123, 153), (124, 79), (125, 37), (126, 17), (127, 9), (128, 3), (129, 3), (131, 1)] n=5 total=10,000,000 wtg_avg=108.11 hypot5 [(103, 442), (104, 23163), (105, 356271), (106, 1420741), (107, 2332087), (108, 2323419), (109, 1624229), (110, 929334), (111, 485830), (112, 248030), (113, 126592), (114, 63928), (115, 32667), (116, 16442), (117, 8317), (118, 4242), (119, 2052), (120, 1077), (121, 557), (122, 278), (123, 153), (124, 79), (125, 37), (126, 17), (127, 9), (128, 3), (129, 3), (131, 1)] n=5 total=10,000,000 wtg_avg=107.96 hypot6 [(102, 1), (103, 576), (104, 31656), (105, 413786), (106, 1518551), (107, 2505883), (108, 2351886), (109, 1516164), (110, 819487), (111, 416372), (112, 210109), (113, 106716), (114, 53684), (115, 27355), (116, 13766), (117, 6936), (118, 3547), (119, 1680), (120, 898), (121, 458), (122, 233), (123, 128), (124, 67), (125, 31), (126, 15), (127, 8), (128, 3), (129, 3), (131, 1)] n=5 total=10,000,000 wtg_avg=109.84 hypot7 [(105, 5688), (106, 216848), (107, 998889), (108, 1838429), (109, 2030816), (110, 1694795), (111, 1212557), (112, 804576), (113, 500337), (114, 298698), (115, 174172), (116, 99409), (117, 56167), (118, 31242), (119, 17020), (120, 9381), (121, 5012), (122, 2792), (123, 1468), (124, 857), (125, 399), (126, 211), (127, 109), (128, 62), (129, 30), (130, 18), (131, 10), (132, 3), (133, 3), (134, 1), (136, 1)] n=5 total=10,000,000 wtg_avg=108.11 hypot8 [(103, 430), (104, 22855), (105, 354995), (106, 1420047), (107, 2332608), (108, 2324175), (109, 1624713), (110, 929573), (111, 485965), (112, 248105), (113, 126629), (114, 63947), (115, 32676), (116, 16448), (117, 8320), (118, 4245), (119, 2053), (120, 1078), (121, 558), (122, 278), (123, 153), (124, 79), (125, 37), (126, 17), (127, 9), (128, 3), (129, 3), (131, 1)] n=5 total=10,000,000 wtg_avg=108.00 hypot9 [(102, 1), (103, 489), (104, 29244), (105, 401764), (106, 1485426), (107, 2452401), (108, 2363152), (109, 1553162), (110, 844759), (111, 429829), (112, 217046), (113, 110290), (114, 55539), (115, 28233), (116, 14201), (117, 7184), (118, 3656), (119, 1736), (120, 919), (121, 472), (122, 236), (123, 134), (124, 65), (125, 32), (126, 15), (127, 8), (128, 3), (129, 3), (131, 1)] n=5 total=10,000,000 wtg_avg=107.75 hypot10 [(103, 317), (104, 26232), (105, 474479), (106, 1822568), (107, 2753687), (108, 2231052), (109, 1311667), (110, 685809), (111, 344048), (112, 173832), (113, 87489), (114, 44047), (115, 22294), (116, 11172), (117, 5601), (118, 2860), (119, 1361), (120, 709), (121, 347), (122, 207), (123, 111), (124, 59), (125, 28), (126, 13), (127, 6), (128, 2), (129, 2), (131, 1)] n=5 total=10,000,000 wtg_avg=107.90 hypot11 [(102, 2), (103, 661), (104, 35753), (105, 433522), (106, 1656970), (107, 2519849), (108, 2279568), (109, 1466500), (110, 792270), (111, 402976), (112, 203263), (113, 103287), (114, 52097), (115, 26458), (116, 13310), (117, 6644), (118, 3442), (119, 1648), (120, 875), (121, 439), (122, 232), (123, 119), (124, 61), (125, 29), (126, 11), (127, 8), (128, 2), (129, 3), (131, 1)] n=5 total=10,000,000 wtg_avg=108.18 hypot12 [(103, 88), (104, 13716), (105, 181983), (106, 1228786), (107, 2537418), (108, 2501709), (109, 1659931), (110, 917367), (111, 471708), (112, 240084), (113, 122288), (114, 61670), (115, 31289), (116, 15839), (117, 7914), (118, 4097), (119, 1969), (120, 1042), (121, 524), (122, 281), (123, 153), (124, 69), (125, 40), (126, 20), (127, 9), (128, 2), (129, 3), (131, 1)] n=5 total=10,000,000 wtg_avg=108.41 hypot13 [(103, 1), (104, 1576), (105, 103385), (106, 1077453), (107, 2324440), (108, 2432245), (109, 1772082), (110, 1070368), (111, 585252), (112, 308160), (113, 159339), (114, 81271), (115, 41605), (116, 21137), (117, 10644), (118, 5474), (119, 2654), (120, 1417), (121, 726), (122, 371), (123, 206), (124, 96), (125, 54), (126, 23), (127, 13), (128, 4), (129, 3), (131, 1)] n=5 total=10,000,000 wtg_avg=108.18 hypot14 [(103, 59), (104, 10647), (105, 184693), (106, 1200464), (107, 2538031), (108, 2516668), (109, 1666324), (110, 920822), (111, 473648), (112, 240702), (113, 122620), (114, 61859), (115, 31397), (116, 15902), (117, 7935), (118, 4130), (119, 1964), (120, 1031), (121, 528), (122, 272), (123, 157), (124, 73), (125, 39), (126, 19), (127, 9), (128, 3), (129, 3), (131, 1)] n=5 total=10,000,000 wtg_avg=108.41 hypot15 [(103, 2), (104, 1836), (105, 104989), (106, 1078424), (107, 2323718), (108, 2431343), (109, 1771484), (110, 1070079), (111, 585089), (112, 308083), (113, 159293), (114, 81254), (115, 41594), (116, 21133), (117, 10640), (118, 5472), (119, 2654), (120, 1417), (121, 725), (122, 371), (123, 206), (124, 96), (125, 54), (126, 23), (127, 13), (128, 4), (129, 3), (131, 1)] n=5 total=10,000,000 wtg_avg=104.57 hypot16 [(69, 14), (70, 8455), (71, 293647), (72, 291243), (73, 297325), (74, 228654), (75, 168066), (76, 101010), (77, 62794), (78, 35737), (79, 20932), (80, 11244), (81, 5998), (82, 3099), (83, 1555), (84, 689), (85, 405), (86, 187), (87, 98), (88, 44), (89, 23), (90, 12), (91, 7), (92, 3), (93, 3), (96, 2), (105, 3), (106, 90535), (107, 573857), (108, 1245562), (109, 1686758), (110, 1671708), (111, 1221180), (112, 802746), (113, 494961), (114, 293902), (115, 170540), (116, 96664), (117, 54214), (118, 30259), (119, 16357), (120, 9013), (121, 4839), (122, 2656), (123, 1390), (124, 794), (125, 385), (126, 203), (127, 107), (128, 63), (129, 28), (130, 13), (131, 9), (132, 3), (133, 3), (134, 1), (136, 1)] n=10 total=10,000,000 wtg_avg=106.83 hypot1 [(101, 2), (102, 976), (103, 58892), (104, 507389), (105, 1668976), (106, 2572200), (107, 2273077), (108, 1407341), (109, 748148), (110, 380705), (111, 190400), (112, 96200), (113, 47596), (114, 24120), (115, 12060), (116, 6017), (117, 2876), (118, 1500), (119, 767), (120, 380), (121, 203), (122, 87), (123, 45), (124, 23), (125, 8), (126, 7), (127, 3), (128, 1), (130, 1)] n=10 total=10,000,000 wtg_avg=107.94 hypot2 [(102, 10), (103, 1110), (104, 62207), (105, 557447), (106, 1576355), (107, 2325955), (108, 2224490), (109, 1507452), (110, 850570), (111, 443914), (112, 224650), (113, 112522), (114, 56744), (115, 28345), (116, 14072), (117, 7009), (118, 3582), (119, 1795), (120, 887), (121, 458), (122, 214), (123, 115), (124, 54), (125, 17), (126, 15), (127, 6), (128, 4), (130, 1)] n=10 total=10,000,000 wtg_avg=107.78 hypot3 [(102, 7), (103, 1587), (104, 86854), (105, 625656), (106, 1711761), (107, 2479117), (108, 2202508), (109, 1383184), (110, 745175), (111, 380620), (112, 191465), (113, 95964), (114, 48215), (115, 24012), (116, 11857), (117, 5974), (118, 3026), (119, 1523), (120, 732), (121, 387), (122, 191), (123, 100), (124, 48), (125, 17), (126, 12), (127, 4), (128, 3), (130, 1)] n=10 total=10,000,000 wtg_avg=107.94 hypot4 [(102, 9), (103, 1094), (104, 61907), (105, 556410), (106, 1574652), (107, 2326028), (108, 2225544), (109, 1508388), (110, 851052), (111, 444177), (112, 224783), (113, 112573), (114, 56770), (115, 28359), (116, 14087), (117, 7016), (118, 3585), (119, 1795), (120, 886), (121, 458), (122, 215), (123, 115), (124, 54), (125, 17), (126, 15), (127, 6), (128, 4), (130, 1)] n=10 total=10,000,000 wtg_avg=107.94 hypot5 [(102, 9), (103, 1076), (104, 61553), (105, 555463), (106, 1574255), (107, 2326506), (108, 2226182), (109, 1508631), (110, 851176), (111, 444292), (112, 224865), (113, 112587), (114, 56801), (115, 28367), (116, 14078), (117, 7012), (118, 3583), (119, 1794), (120, 886), (121, 458), (122, 214), (123, 115), (124, 54), (125, 17), (126, 15), (127, 6), (128, 4), (130, 1)] n=10 total=10,000,000 wtg_avg=107.78 hypot6 [(102, 7), (103, 1526), (104, 87253), (105, 626102), (106, 1714953), (107, 2484002), (108, 2200064), (109, 1380609), (110, 743465), (111, 379657), (112, 190980), (113, 95464), (114, 48038), (115, 23976), (116, 11885), (117, 5967), (118, 3034), (119, 1508), (120, 753), (121, 390), (122, 183), (123, 99), (124, 50), (125, 16), (126, 11), (127, 4), (128, 3), (130, 1)] n=10 total=10,000,000 wtg_avg=109.82 hypot7 [(105, 4944), (106, 213100), (107, 1005391), (108, 1866554), (109, 2048799), (110, 1696209), (111, 1207937), (112, 791011), (113, 488730), (114, 291676), (115, 169156), (116, 96129), (117, 54218), (118, 30084), (119, 16570), (120, 8972), (121, 4899), (122, 2630), (123, 1408), (124, 741), (125, 366), (126, 227), (127, 116), (128, 67), (129, 29), (130, 19), (131, 9), (132, 5), (133, 3), (134, 1)] n=10 total=10,000,000 wtg_avg=107.94 hypot8 [(102, 4), (103, 914), (104, 59167), (105, 551359), (106, 1573320), (107, 2328625), (108, 2228611), (109, 1510069), (110, 851988), (111, 444682), (112, 225066), (113, 112684), (114, 56855), (115, 28392), (116, 14090), (117, 7018), (118, 3587), (119, 1797), (120, 888), (121, 458), (122, 214), (123, 115), (124, 54), (125, 17), (126, 15), (127, 6), (128, 4), (130, 1)] n=10 total=10,000,000 wtg_avg=107.82 hypot9 [(102, 5), (103, 1242), (104, 79529), (105, 611399), (106, 1656588), (107, 2436476), (108, 2228201), (109, 1424185), (110, 770902), (111, 394170), (112, 198355), (113, 99338), (114, 49911), (115, 24906), (116, 12316), (117, 6206), (118, 3148), (119, 1572), (120, 764), (121, 401), (122, 195), (123, 103), (124, 51), (125, 17), (126, 12), (127, 4), (128, 3), (130, 1)] n=10 total=10,000,000 wtg_avg=107.36 hypot10 [(102, 14), (103, 5927), (104, 148427), (105, 934385), (106, 2261247), (107, 2667472), (108, 1874790), (109, 1037205), (110, 533072), (111, 268478), (112, 134303), (113, 67323), (114, 33790), (115, 17001), (116, 8327), (117, 4021), (118, 2105), (119, 1058), (120, 542), (121, 262), (122, 122), (123, 64), (124, 35), (125, 13), (126, 8), (127, 5), (128, 3), (130, 1)] n=10 total=10,000,000 wtg_avg=107.71 hypot11 [(102, 5), (103, 1643), (104, 91709), (105, 662126), (106, 1836544), (107, 2504007), (108, 2137109), (109, 1325705), (110, 711601), (111, 363554), (112, 182690), (113, 91527), (114, 46018), (115, 22856), (116, 11394), (117, 5694), (118, 2882), (119, 1481), (120, 717), (121, 383), (122, 180), (123, 96), (124, 42), (125, 16), (126, 12), (127, 4), (128, 4), (130, 1)] n=10 total=10,000,000 wtg_avg=107.97 hypot12 [(102, 1), (103, 447), (104, 35149), (105, 333475), (106, 1500780), (107, 2606081), (108, 2369755), (109, 1500270), (110, 814376), (111, 417684), (112, 210569), (113, 105553), (114, 53106), (115, 26325), (116, 13193), (117, 6548), (118, 3382), (119, 1665), (120, 818), (121, 429), (122, 194), (123, 106), (124, 52), (125, 21), (126, 11), (127, 5), (128, 4), (130, 1)] n=10 total=10,000,000 wtg_avg=108.19 hypot13 [(103, 10), (104, 4190), (105, 242230), (106, 1314668), (107, 2432376), (108, 2384232), (109, 1645224), (110, 950041), (111, 505015), (112, 259183), (113, 130620), (114, 66160), (115, 32985), (116, 16535), (117, 8162), (118, 4228), (119, 2068), (120, 1050), (121, 532), (122, 247), (123, 133), (124, 60), (125, 23), (126, 14), (127, 8), (128, 5), (130, 1)] n=10 total=10,000,000 wtg_avg=107.97 hypot14 [(103, 368), (104, 34870), (105, 334394), (106, 1500362), (107, 2609435), (108, 2368864), (109, 1499411), (110, 813965), (111, 417128), (112, 210095), (113, 105280), (114, 53034), (115, 26370), (116, 13149), (117, 6553), (118, 3407), (119, 1652), (120, 841), (121, 435), (122, 194), (123, 104), (124, 48), (125, 20), (126, 11), (127, 5), (128, 4), (130, 1)] n=10 total=10,000,000 wtg_avg=108.18 hypot15 [(103, 48), (104, 6538), (105, 248167), (106, 1316776), (107, 2429253), (108, 2380993), (109, 1643262), (110, 948996), (111, 504469), (112, 258945), (113, 130478), (114, 66089), (115, 32950), (116, 16519), (117, 8157), (118, 4226), (119, 2065), (120, 1046), (121, 532), (122, 247), (123, 133), (124, 60), (125, 23), (126, 14), (127, 8), (128, 5), (130, 1)] n=10 total=10,000,000 wtg_avg=87.36 hypot16 [(67, 883), (68, 76542), (69, 629346), (70, 1089296), (71, 1304748), (72, 927684), (73, 777538), (74, 462842), (75, 300286), (76, 164549), (77, 98909), (78, 52765), (79, 30168), (80, 15496), (81, 8450), (82, 4197), (83, 2156), (84, 1022), (85, 541), (86, 272), (87, 114), (88, 57), (89, 33), (90, 16), (91, 7), (92, 3), (93, 3), (94, 1), (96, 2), (105, 1), (106, 41959), (107, 267251), (108, 603378), (109, 815334), (110, 801814), (111, 583477), (112, 380278), (113, 234781), (114, 139481), (115, 80632), (116, 46223), (117, 26079), (118, 14294), (119, 7793), (120, 4286), (121, 2308), (122, 1272), (123, 694), (124, 347), (125, 167), (126, 109), (127, 55), (128, 33), (129, 16), (130, 6), (131, 3), (132, 1), (133, 2)] n=20 total=10,000,000 wtg_avg=106.48 hypot1 [(101, 122), (102, 9044), (103, 137265), (104, 804409), (105, 2090359), (106, 2664222), (107, 1988971), (108, 1128928), (109, 585938), (110, 294707), (111, 147475), (112, 74418), (113, 36967), (114, 18683), (115, 9216), (116, 4591), (117, 2312), (118, 1133), (119, 646), (120, 294), (121, 150), (122, 74), (123, 38), (124, 20), (125, 10), (126, 4), (128, 2), (130, 2)] n=20 total=10,000,000 wtg_avg=107.89 hypot2 [(102, 44), (103, 4047), (104, 74120), (105, 560139), (106, 1645871), (107, 2362102), (108, 2199306), (109, 1475782), (110, 823886), (111, 424247), (112, 215499), (113, 107767), (114, 53818), (115, 26593), (116, 13236), (117, 6767), (118, 3327), (119, 1737), (120, 860), (121, 415), (122, 213), (123, 101), (124, 61), (125, 34), (126, 17), (127, 3), (128, 2), (129, 2), (130, 4)] n=20 total=10,000,000 wtg_avg=107.74 hypot3 [(102, 23), (103, 5028), (104, 91752), (105, 632498), (106, 1779769), (107, 2518144), (108, 2168720), (109, 1346764), (110, 721634), (111, 365879), (112, 185123), (113, 92641), (114, 46310), (115, 22829), (116, 11344), (117, 5782), (118, 2830), (119, 1454), (120, 739), (121, 369), (122, 180), (123, 94), (124, 48), (125, 22), (126, 15), (127, 2), (128, 2), (129, 2), (130, 3)] n=20 total=10,000,000 wtg_avg=107.89 hypot4 [(102, 43), (103, 3977), (104, 73260), (105, 556692), (106, 1641380), (107, 2361898), (108, 2202665), (109, 1478385), (110, 825442), (111, 425014), (112, 215922), (113, 107954), (114, 53896), (115, 26642), (116, 13265), (117, 6775), (118, 3332), (119, 1741), (120, 864), (121, 415), (122, 213), (123, 101), (124, 62), (125, 34), (126, 17), (127, 3), (128, 2), (129, 2), (130, 4)] n=20 total=10,000,000 wtg_avg=107.90 hypot5 [(102, 38), (103, 3852), (104, 71688), (105, 550955), (106, 1637015), (107, 2363900), (108, 2206969), (109, 1481164), (110, 826692), (111, 425784), (112, 216241), (113, 108104), (114, 54029), (115, 26704), (116, 13290), (117, 6780), (118, 3336), (119, 1738), (120, 864), (121, 420), (122, 214), (123, 102), (124, 60), (125, 33), (126, 17), (127, 3), (128, 2), (129, 2), (130, 4)] n=20 total=10,000,000 wtg_avg=107.73 hypot6 [(102, 24), (103, 5079), (104, 93823), (105, 639424), (106, 1787727), (107, 2518937), (108, 2163317), (109, 1342019), (110, 718159), (111, 363842), (112, 184095), (113, 91907), (114, 46081), (115, 22728), (116, 11304), (117, 5792), (118, 2811), (119, 1478), (120, 713), (121, 378), (122, 180), (123, 88), (124, 45), (125, 24), (126, 15), (127, 3), (128, 2), (129, 2), (130, 3)] n=20 total=10,000,000 wtg_avg=109.93 hypot7 [(105, 4964), (106, 172740), (107, 885803), (108, 1788581), (109, 2058170), (110, 1747396), (111, 1263531), (112, 835539), (113, 518886), (114, 311578), (115, 180957), (116, 103054), (117, 57785), (118, 32264), (119, 17687), (120, 9834), (121, 5236), (122, 2825), (123, 1459), (124, 783), (125, 446), (126, 226), (127, 120), (128, 69), (129, 35), (130, 16), (131, 5), (132, 6), (133, 2), (134, 1), (135, 1), (136, 1)] n=20 total=10,000,000 wtg_avg=107.91 hypot8 [(102, 9), (103, 3275), (104, 65038), (105, 537696), (106, 1634465), (107, 2371364), (108, 2214047), (109, 1485344), (110, 828788), (111, 426907), (112, 216808), (113, 108389), (114, 54162), (115, 26764), (116, 13322), (117, 6803), (118, 3346), (119, 1745), (120, 867), (121, 420), (122, 216), (123, 103), (124, 60), (125, 34), (126, 17), (127, 3), (128, 2), (129, 2), (130, 4)] n=20 total=10,000,000 wtg_avg=107.78 hypot9 [(102, 14), (103, 4365), (104, 86200), (105, 614695), (106, 1726542), (107, 2473850), (108, 2195351), (109, 1388546), (110, 747617), (111, 379332), (112, 192088), (113, 95851), (114, 48048), (115, 23689), (116, 11790), (117, 6009), (118, 2954), (119, 1532), (120, 759), (121, 385), (122, 190), (123, 93), (124, 49), (125, 25), (126, 16), (127, 3), (128, 2), (129, 2), (130, 3)] n=20 total=10,000,000 wtg_avg=107.10 hypot10 [(102, 735), (103, 26248), (104, 275646), (105, 1240395), (106, 2536643), (107, 2537419), (108, 1624397), (109, 870186), (110, 443015), (111, 222370), (112, 111853), (113, 55783), (114, 27599), (115, 13801), (116, 6952), (117, 3464), (118, 1728), (119, 889), (120, 435), (121, 207), (122, 117), (123, 62), (124, 28), (125, 12), (126, 8), (127, 3), (128, 1), (129, 2), (130, 2)] n=20 total=10,000,000 wtg_avg=107.67 hypot11 [(102, 24), (103, 5184), (104, 96081), (105, 674894), (106, 1885713), (107, 2554731), (108, 2108091), (109, 1288126), (110, 687543), (111, 347960), (112, 176102), (113, 87990), (114, 44041), (115, 21751), (116, 10796), (117, 5496), (118, 2698), (119, 1378), (120, 693), (121, 357), (122, 169), (123, 88), (124, 49), (125, 22), (126, 13), (127, 2), (128, 2), (129, 2), (130, 3), (131, 1)] n=20 total=10,000,000 wtg_avg=107.92 hypot12 [(102, 1), (103, 1903), (104, 38304), (105, 392895), (106, 1538072), (107, 2632824), (108, 2346910), (109, 1462957), (110, 784549), (111, 399034), (112, 201636), (113, 100534), (114, 50356), (115, 24925), (116, 12395), (117, 6319), (118, 3127), (119, 1622), (120, 815), (121, 406), (122, 204), (123, 106), (124, 53), (125, 26), (126, 16), (127, 3), (128, 2), (129, 2), (130, 3), (131, 1)] n=20 total=10,000,000 wtg_avg=108.11 hypot13 [(103, 104), (104, 14694), (105, 277863), (106, 1361166), (107, 2482006), (108, 2396565), (109, 1615455), (110, 905524), (111, 469339), (112, 238676), (113, 119388), (114, 59722), (115, 29662), (116, 14702), (117, 7533), (118, 3744), (119, 1936), (120, 967), (121, 471), (122, 239), (123, 115), (124, 64), (125, 34), (126, 19), (127, 3), (128, 2), (129, 2), (130, 4), (131, 1)] n=20 total=10,000,000 wtg_avg=107.91 hypot14 [(103, 1786), (104, 40075), (105, 400353), (106, 1549273), (107, 2632990), (108, 2339099), (109, 1457689), (110, 781149), (111, 397044), (112, 200758), (113, 99958), (114, 50081), (115, 24812), (116, 12285), (117, 6320), (118, 3079), (119, 1613), (120, 814), (121, 409), (122, 204), (123, 102), (124, 53), (125, 27), (126, 16), (127, 3), (128, 2), (129, 2), (130, 3), (131, 1)] n=20 total=10,000,000 wtg_avg=108.10 hypot15 [(102, 1), (103, 523), (104, 21035), (105, 295831), (106, 1367008), (107, 2472098), (108, 2387140), (109, 1609973), (110, 902699), (111, 467882), (112, 237915), (113, 119039), (114, 59547), (115, 29578), (116, 14653), (117, 7504), (118, 3733), (119, 1927), (120, 964), (121, 470), (122, 238), (123, 114), (124, 64), (125, 33), (126, 19), (127, 3), (128, 2), (129, 2), (130, 4), (131, 1)] n=20 total=10,000,000 wtg_avg=69.86 hypot16 [(64, 152), (65, 30998), (66, 226261), (67, 867081), (68, 2080562), (69, 2573261), (70, 1892762), (71, 1065058), (72, 565920), (73, 289824), (74, 147868), (75, 74486), (76, 38118), (77, 18859), (78, 9453), (79, 4805), (80, 2436), (81, 1272), (82, 591), (83, 270), (84, 141), (85, 61), (86, 24), (87, 15), (88, 8), (89, 3), (90, 2), (91, 1), (96, 1), (106, 1577), (107, 7860), (108, 16104), (109, 21751), (110, 21416), (111, 15662), (112, 10232), (113, 6391), (114, 3789), (115, 2171), (116, 1223), (117, 713), (118, 376), (119, 191), (120, 129), (121, 55), (122, 39), (123, 12), (124, 4), (125, 6), (126, 1), (127, 1), (128, 2), (130, 2)] n=50 total=10,000,000 wtg_avg=105.95 hypot1 [(101, 222), (102, 21031), (103, 333229), (104, 1500568), (105, 2666681), (106, 2413648), (107, 1482259), (108, 785797), (109, 396728), (110, 199294), (111, 100742), (112, 49894), (113, 25115), (114, 12453), (115, 6125), (116, 3071), (117, 1547), (118, 815), (119, 412), (120, 190), (121, 100), (122, 41), (123, 19), (124, 7), (125, 7), (126, 3), (127, 1), (130, 1)] n=50 total=10,000,000 wtg_avg=107.61 hypot2 [(102, 25), (103, 4038), (104, 108160), (105, 835971), (106, 1908470), (107, 2458123), (108, 2060745), (109, 1264002), (110, 672848), (111, 343184), (112, 172518), (113, 85773), (114, 43222), (115, 21370), (116, 10820), (117, 5337), (118, 2639), (119, 1405), (120, 715), (121, 318), (122, 152), (123, 84), (124, 38), (125, 21), (126, 8), (127, 7), (128, 6), (129, 1)] n=50 total=10,000,000 wtg_avg=107.54 hypot3 [(102, 12), (103, 3024), (104, 103039), (105, 837967), (106, 2000161), (107, 2585739), (108, 2032752), (109, 1188167), (110, 620251), (111, 314142), (112, 157743), (113, 78135), (114, 39619), (115, 19558), (116, 9879), (117, 4900), (118, 2428), (119, 1245), (120, 667), (121, 289), (122, 134), (123, 77), (124, 36), (125, 17), (126, 7), (127, 5), (128, 6), (129, 1)] n=50 total=10,000,000 wtg_avg=107.62 hypot4 [(102, 25), (103, 3891), (104, 105019), (105, 823986), (106, 1893668), (107, 2462169), (108, 2071416), (109, 1271328), (110, 676863), (111, 345167), (112, 173473), (113, 86311), (114, 43493), (115, 21491), (116, 10904), (117, 5370), (118, 2658), (119, 1413), (120, 718), (121, 320), (122, 151), (123, 84), (124, 39), (125, 21), (126, 8), (127, 7), (128, 6), (129, 1)] n=50 total=10,000,000 wtg_avg=107.65 hypot5 [(102, 19), (103, 3368), (104, 94099), (105, 789029), (106, 1867714), (107, 2479684), (108, 2094951), (109, 1286403), (110, 685075), (111, 349075), (112, 175589), (113, 87246), (114, 44050), (115, 21745), (116, 11045), (117, 5458), (118, 2682), (119, 1408), (120, 728), (121, 319), (122, 149), (123, 82), (124, 39), (125, 21), (126, 8), (127, 7), (128, 6), (129, 1)] n=50 total=10,000,000 wtg_avg=107.52 hypot6 [(102, 11), (103, 3126), (104, 110500), (105, 864716), (106, 2029640), (107, 2582867), (108, 2009176), (109, 1170876), (110, 610222), (111, 309239), (112, 154854), (113, 76992), (114, 39080), (115, 19264), (116, 9758), (117, 4848), (118, 2378), (119, 1239), (120, 643), (121, 287), (122, 133), (123, 77), (124, 34), (125, 19), (126, 7), (127, 6), (128, 6), (129, 1), (130, 1)] n=50 total=10,000,000 wtg_avg=109.76 hypot7 [(105, 6452), (106, 242806), (107, 1063107), (108, 1903945), (109, 2038447), (110, 1666797), (111, 1180143), (112, 769928), (113, 473544), (114, 281992), (115, 163951), (116, 93226), (117, 52050), (118, 28992), (119, 15861), (120, 8691), (121, 4716), (122, 2499), (123, 1340), (124, 715), (125, 360), (126, 199), (127, 121), (128, 54), (129, 28), (130, 16), (131, 8), (132, 7), (133, 3), (134, 1), (139, 1)] n=50 total=10,000,000 wtg_avg=107.68 hypot8 [(102, 3), (103, 1478), (104, 66447), (105, 743689), (106, 1870273), (107, 2506510), (108, 2116438), (109, 1298311), (110, 691106), (111, 352192), (112, 177082), (113, 87995), (114, 44394), (115, 21953), (116, 11127), (117, 5501), (118, 2709), (119, 1420), (120, 737), (121, 321), (122, 149), (123, 83), (124, 39), (125, 21), (126, 8), (127, 7), (128, 6), (129, 1)] n=50 total=10,000,000 wtg_avg=107.58 hypot9 [(102, 8), (103, 2599), (104, 97416), (105, 823919), (106, 1950403), (107, 2557027), (108, 2062515), (109, 1219360), (110, 638419), (111, 323858), (112, 162433), (113, 80648), (114, 40843), (115, 20216), (116, 10214), (117, 5068), (118, 2496), (119, 1296), (120, 673), (121, 295), (122, 138), (123, 81), (124, 36), (125, 19), (126, 7), (127, 6), (128, 6), (129, 1)] n=50 total=10,000,000 wtg_avg=106.58 hypot10 [(101, 5), (102, 1392), (103, 62742), (104, 633353), (105, 2032191), (106, 2790572), (107, 2084298), (108, 1174690), (109, 607823), (110, 306579), (111, 153296), (112, 76682), (113, 38147), (114, 19071), (115, 9584), (116, 4766), (117, 2434), (118, 1204), (119, 607), (120, 291), (121, 145), (122, 62), (123, 31), (124, 22), (125, 5), (126, 1), (127, 1), (128, 3), (129, 2), (130, 1)] n=50 total=10,000,000 wtg_avg=107.49 hypot11 [(102, 11), (103, 3021), (104, 107279), (105, 878833), (106, 2087056), (107, 2597189), (108, 1983870), (109, 1144864), (110, 595228), (111, 300947), (112, 151130), (113, 74897), (114, 37971), (115, 18807), (116, 9461), (117, 4694), (118, 2349), (119, 1203), (120, 641), (121, 274), (122, 125), (123, 77), (124, 37), (125, 17), (126, 7), (127, 5), (128, 6), (129, 1)] n=50 total=10,000,000 wtg_avg=107.69 hypot12 [(102, 1), (103, 512), (104, 48260), (105, 534742), (106, 1892141), (107, 2759244), (108, 2170841), (109, 1264541), (110, 660278), (111, 334412), (112, 167905), (113, 83261), (114, 42117), (115, 20860), (116, 10446), (117, 5182), (118, 2590), (119, 1360), (120, 703), (121, 310), (122, 134), (123, 83), (124, 40), (125, 16), (126, 8), (127, 5), (128, 6), (129, 1), (130, 1)] n=50 total=10,000,000 wtg_avg=107.84 hypot13 [(103, 136), (104, 19801), (105, 403851), (106, 1753499), (107, 2697033), (108, 2260065), (109, 1380023), (110, 735137), (111, 374594), (112, 188238), (113, 93575), (114, 47158), (115, 23362), (116, 11823), (117, 5821), (118, 2893), (119, 1528), (120, 780), (121, 345), (122, 156), (123, 95), (124, 40), (125, 21), (126, 11), (127, 7), (128, 6), (129, 1), (130, 1)] n=50 total=10,000,000 wtg_avg=107.66 hypot14 [(103, 503), (104, 52104), (105, 572862), (106, 1933621), (107, 2748871), (108, 2141852), (109, 1243833), (110, 648616), (111, 328968), (112, 164562), (113, 81799), (114, 41287), (115, 20461), (116, 10351), (117, 5125), (118, 2547), (119, 1339), (120, 692), (121, 309), (122, 138), (123, 83), (124, 37), (125, 17), (126, 8), (127, 6), (128, 6), (129, 1), (130, 2)] n=50 total=10,000,000 wtg_avg=107.80 hypot15 [(102, 2), (103, 1002), (104, 44730), (105, 473629), (106, 1760739), (107, 2657285), (108, 2229994), (109, 1363799), (110, 726790), (111, 370355), (112, 186133), (113, 92541), (114, 46663), (115, 23071), (116, 11704), (117, 5757), (118, 2858), (119, 1505), (120, 766), (121, 341), (122, 156), (123, 94), (124, 40), (125, 21), (126, 10), (127, 7), (128, 6), (129, 1), (130, 1)] n=50 total=10,000,000 wtg_avg=68.03 hypot16 [(62, 46), (63, 684), (64, 9798), (65, 173704), (66, 1307012), (67, 2847887), (68, 2542011), (69, 1518377), (70, 796094), (71, 401539), (72, 201346), (73, 100888), (74, 50433), (75, 24942), (76, 12577), (77, 6341), (78, 3207), (79, 1565), (80, 763), (81, 366), (82, 158), (83, 97), (84, 45), (85, 23), (86, 18), (87, 5), (88, 2), (89, 2), (90, 1), (107, 7), (108, 8), (109, 6), (110, 15), (111, 11), (112, 5), (113, 7), (114, 4), (115, 3), (116, 1), (117, 1), (118, 1)] n=100 total=10,000,000 wtg_avg=105.30 hypot1 [(100, 10), (101, 3552), (102, 142773), (103, 996906), (104, 2394458), (105, 2664595), (106, 1802390), (107, 983755), (108, 504027), (109, 254031), (110, 126635), (111, 63375), (112, 31756), (113, 15793), (114, 8021), (115, 3945), (116, 1927), (117, 1025), (118, 516), (119, 244), (120, 121), (121, 72), (122, 36), (123, 23), (124, 7), (125, 5), (126, 1), (127, 1)] n=100 total=10,000,000 wtg_avg=107.11 hypot2 [(102, 264), (103, 24343), (104, 355401), (105, 1323093), (106, 2410221), (107, 2383531), (108, 1636256), (109, 916119), (110, 473097), (111, 238634), (112, 119599), (113, 59921), (114, 29747), (115, 15039), (116, 7279), (117, 3753), (118, 1788), (119, 943), (120, 498), (121, 230), (122, 113), (123, 62), (124, 33), (125, 24), (126, 1), (127, 5), (128, 3), (129, 1), (130, 1), (132, 1)] n=100 total=10,000,000 wtg_avg=107.16 hypot3 [(102, 51), (103, 12005), (104, 252932), (105, 1179882), (106, 2481622), (107, 2535688), (108, 1679109), (109, 916821), (110, 469656), (111, 235839), (112, 118208), (113, 59184), (114, 29371), (115, 14869), (116, 7325), (117, 3749), (118, 1789), (119, 950), (120, 491), (121, 235), (122, 100), (123, 58), (124, 30), (125, 22), (126, 2), (127, 6), (128, 4), (130, 1), (132, 1)] n=100 total=10,000,000 wtg_avg=107.13 hypot4 [(102, 246), (103, 23224), (104, 344342), (105, 1290496), (106, 2396456), (107, 2400466), (108, 1654782), (109, 927446), (110, 478928), (111, 241573), (112, 121050), (113, 60700), (114, 30100), (115, 15242), (116, 7382), (117, 3806), (118, 1814), (119, 958), (120, 503), (121, 234), (122, 118), (123, 64), (124, 34), (125, 24), (126, 1), (127, 5), (128, 3), (129, 1), (130, 1), (132, 1)] n=100 total=10,000,000 wtg_avg=107.21 hypot5 [(102, 130), (103, 16577), (104, 282503), (105, 1146701), (106, 2373961), (107, 2480963), (108, 1725395), (109, 968705), (110, 500315), (111, 252075), (112, 126403), (113, 63312), (114, 31380), (115, 15885), (116, 7783), (117, 3968), (118, 1904), (119, 1004), (120, 534), (121, 253), (122, 112), (123, 66), (124, 34), (125, 23), (126, 3), (127, 5), (128, 3), (129, 1), (130, 1), (132, 1)] n=100 total=10,000,000 wtg_avg=107.12 hypot6 [(102, 41), (103, 13004), (104, 277095), (105, 1256466), (106, 2505336), (107, 2495963), (108, 1640162), (109, 894631), (110, 457300), (111, 229699), (112, 115113), (113, 57631), (114, 28668), (115, 14504), (116, 7105), (117, 3661), (118, 1753), (119, 936), (120, 493), (121, 225), (122, 97), (123, 57), (124, 29), (125, 19), (126, 2), (127, 4), (128, 4), (130, 1), (132, 1)] n=100 total=10,000,000 wtg_avg=110.10 hypot7 [(105, 5057), (106, 124701), (107, 717505), (108, 1654195), (109, 2067541), (110, 1824434), (111, 1345578), (112, 900266), (113, 563492), (114, 339834), (115, 198859), (116, 114551), (117, 64758), (118, 35846), (119, 19871), (120, 10884), (121, 5764), (122, 3157), (123, 1758), (124, 919), (125, 500), (126, 240), (127, 152), (128, 69), (129, 28), (130, 21), (131, 8), (132, 8), (133, 1), (134, 1), (135, 1), (136, 1)] n=100 total=10,000,000 wtg_avg=107.27 hypot8 [(102, 12), (103, 7379), (104, 200919), (105, 1056426), (106, 2402004), (107, 2545933), (108, 1767810), (109, 991406), (110, 511942), (111, 257789), (112, 129213), (113, 64739), (114, 32088), (115, 16259), (116, 7972), (117, 4066), (118, 1955), (119, 1027), (120, 547), (121, 258), (122, 115), (123, 68), (124, 35), (125, 23), (126, 3), (127, 5), (128, 4), (129, 1), (130, 1), (132, 1)] n=100 total=10,000,000 wtg_avg=107.19 hypot9 [(102, 35), (103, 10842), (104, 242866), (105, 1162912), (106, 2455900), (107, 2536341), (108, 1698524), (109, 932905), (110, 478378), (111, 240268), (112, 120516), (113, 60336), (114, 29951), (115, 15178), (116, 7450), (117, 3831), (118, 1826), (119, 966), (120, 510), (121, 239), (122, 102), (123, 59), (124, 31), (125, 21), (126, 2), (127, 5), (128, 4), (130, 1), (132, 1)] n=100 total=10,000,000 wtg_avg=105.95 hypot10 [(101, 78), (102, 16552), (103, 305926), (104, 1482776), (105, 2732416), (106, 2438664), (107, 1469077), (108, 771888), (109, 390721), (110, 195907), (111, 98010), (112, 49072), (113, 24675), (114, 12044), (115, 6055), (116, 3122), (117, 1489), (118, 773), (119, 360), (120, 217), (121, 94), (122, 48), (123, 21), (124, 6), (125, 2), (126, 2), (127, 2), (128, 2), (134, 1)] n=100 total=10,000,000 wtg_avg=107.13 hypot11 [(102, 52), (103, 12071), (104, 260595), (105, 1221938), (106, 2517575), (107, 2526321), (108, 1648489), (109, 894930), (110, 457616), (111, 229873), (112, 115218), (113, 57630), (114, 28718), (115, 14540), (116, 7129), (117, 3677), (118, 1773), (119, 923), (120, 483), (121, 228), (122, 98), (123, 59), (124, 28), (125, 22), (126, 3), (127, 6), (128, 3), (130, 1), (132, 1)] n=100 total=10,000,000 wtg_avg=107.29 hypot12 [(102, 5), (103, 3759), (104, 148554), (105, 1017841), (106, 2413751), (107, 2639508), (108, 1787758), (109, 980631), (110, 502308), (111, 252560), (112, 126781), (113, 63415), (114, 31370), (115, 15948), (116, 7784), (117, 4032), (118, 1913), (119, 1035), (120, 545), (121, 256), (122, 113), (123, 67), (124, 31), (125, 22), (126, 3), (127, 5), (128, 3), (130, 1), (132, 1)] n=100 total=10,000,000 wtg_avg=107.41 hypot13 [(102, 3), (103, 1361), (104, 91626), (105, 873079), (106, 2328510), (107, 2658264), (108, 1885675), (109, 1060785), (110, 547679), (111, 276033), (112, 138511), (113, 69422), (114, 34371), (115, 17426), (116, 8539), (117, 4375), (118, 2082), (119, 1102), (120, 595), (121, 276), (122, 130), (123, 77), (124, 38), (125, 24), (126, 4), (127, 5), (128, 5), (129, 1), (130, 1), (132, 1)] n=100 total=10,000,000 wtg_avg=107.24 hypot14 [(102, 3), (103, 3766), (104, 172897), (105, 1112987), (106, 2445550), (107, 2592954), (108, 1740663), (109, 952940), (110, 487334), (111, 245155), (112, 122796), (113, 61532), (114, 30585), (115, 15487), (116, 7559), (117, 3910), (118, 1879), (119, 994), (120, 528), (121, 240), (122, 112), (123, 69), (124, 27), (125, 21), (126, 2), (127, 4), (128, 4), (130, 1), (132, 1)] n=100 total=10,000,000 wtg_avg=107.33 hypot15 [(102, 11), (103, 6209), (104, 185455), (105, 1003781), (106, 2290415), (107, 2575778), (108, 1833215), (109, 1032914), (110, 533358), (111, 269024), (112, 134898), (113, 67698), (114, 33491), (115, 16952), (116, 8323), (117, 4253), (118, 2023), (119, 1073), (120, 580), (121, 271), (122, 125), (123, 76), (124, 38), (125, 24), (126, 3), (127, 5), (128, 4), (129, 1), (130, 1), (132, 1)] n=100 total=10,000,000 wtg_avg=67.42 hypot16 [(62, 1), (63, 81), (64, 18030), (65, 597019), (66, 2535415), (67, 2927064), (68, 1885257), (69, 1009127), (70, 512997), (71, 258366), (72, 128386), (73, 64036), (74, 32198), (75, 15917), (76, 7960), (77, 4071), (78, 2033), (79, 1044), (80, 494), (81, 242), (82, 121), (83, 76), (84, 37), (85, 14), (86, 8), (87, 2), (88, 2), (90, 1), (91, 1)] n=200 total=10,000,000 wtg_avg=104.50 hypot1 [(99, 1), (100, 1149), (101, 74808), (102, 732212), (103, 2175399), (104, 2755480), (105, 1992601), (106, 1114043), (107, 574222), (108, 289617), (109, 145652), (110, 72931), (111, 35936), (112, 18003), (113, 8873), (114, 4526), (115, 2279), (116, 1140), (117, 568), (118, 264), (119, 155), (120, 68), (121, 43), (122, 20), (123, 6), (124, 2), (125, 1), (126, 1)] n=200 total=10,000,000 wtg_avg=106.31 hypot2 [(101, 11), (102, 6606), (103, 144136), (104, 964226), (105, 2426141), (106, 2648197), (107, 1793216), (108, 992014), (109, 510345), (110, 257125), (111, 128592), (112, 64596), (113, 32491), (114, 16040), (115, 8164), (116, 4102), (117, 1996), (118, 970), (119, 504), (120, 264), (121, 136), (122, 78), (123, 32), (124, 8), (125, 8), (127, 1), (128, 1)] n=200 total=10,000,000 wtg_avg=106.52 hypot3 [(102, 1132), (103, 65213), (104, 658734), (105, 2206612), (106, 2773646), (107, 2001615), (108, 1125384), (109, 581206), (110, 292790), (111, 146386), (112, 73553), (113, 36864), (114, 18317), (115, 9246), (116, 4636), (117, 2282), (118, 1171), (119, 593), (120, 308), (121, 158), (122, 81), (123, 40), (124, 18), (125, 7), (126, 4), (127, 2), (128, 2)] n=200 total=10,000,000 wtg_avg=106.33 hypot4 [(101, 9), (102, 6232), (103, 137669), (104, 933438), (105, 2391447), (106, 2657022), (107, 1818302), (108, 1010347), (109, 520292), (110, 262078), (111, 131210), (112, 65827), (113, 33132), (114, 16378), (115, 8350), (116, 4174), (117, 2039), (118, 997), (119, 521), (120, 265), (121, 141), (122, 77), (123, 33), (124, 8), (125, 9), (126, 1), (127, 1), (128, 1)] n=200 total=10,000,000 wtg_avg=106.51 hypot5 [(102, 1917), (103, 79260), (104, 703529), (105, 2195339), (106, 2727601), (107, 1988551), (108, 1128124), (109, 584851), (110, 294696), (111, 147544), (112, 74221), (113, 37224), (114, 18488), (115, 9322), (116, 4682), (117, 2290), (118, 1166), (119, 595), (120, 298), (121, 153), (122, 82), (123, 39), (124, 12), (125, 7), (126, 4), (127, 4), (128, 1)] n=200 total=10,000,000 wtg_avg=106.48 hypot6 [(102, 1017), (103, 66170), (104, 714834), (105, 2269840), (106, 2751606), (107, 1961290), (108, 1097586), (109, 566235), (110, 285109), (111, 142749), (112, 71648), (113, 35927), (114, 17910), (115, 9040), (116, 4518), (117, 2226), (118, 1118), (119, 587), (120, 296), (121, 149), (122, 80), (123, 36), (124, 13), (125, 7), (126, 3), (127, 4), (128, 2)] n=200 total=10,000,000 wtg_avg=109.69 hypot7 [(105, 3435), (106, 251748), (107, 1123865), (108, 1972847), (109, 2053222), (110, 1636283), (111, 1143376), (112, 739419), (113, 454474), (114, 268364), (115, 154749), (116, 88834), (117, 49398), (118, 27279), (119, 14774), (120, 8300), (121, 4451), (122, 2429), (123, 1314), (124, 688), (125, 353), (126, 206), (127, 84), (128, 49), (129, 22), (130, 17), (131, 10), (132, 4), (133, 5), (134, 1)] n=200 total=10,000,000 wtg_avg=106.59 hypot8 [(102, 617), (103, 49134), (104, 563580), (105, 2132329), (106, 2803692), (107, 2060744), (108, 1170155), (109, 606779), (110, 305816), (111, 153123), (112, 76961), (113, 38574), (114, 19153), (115, 9650), (116, 4865), (117, 2376), (118, 1215), (119, 618), (120, 309), (121, 159), (122, 84), (123, 40), (124, 12), (125, 7), (126, 4), (127, 3), (128, 1)] n=200 total=10,000,000 wtg_avg=106.54 hypot9 [(102, 914), (103, 60231), (104, 639995), (105, 2191368), (106, 2778667), (107, 2014159), (108, 1135445), (109, 586779), (110, 295617), (111, 147916), (112, 74393), (113, 37277), (114, 18542), (115, 9318), (116, 4686), (117, 2309), (118, 1164), (119, 600), (120, 307), (121, 158), (122, 81), (123, 41), (124, 16), (125, 8), (126, 4), (127, 3), (128, 2)] n=200 total=10,000,000 wtg_avg=105.14 hypot10 [(100, 20), (101, 7064), (102, 210689), (103, 1208529), (104, 2554240), (105, 2575082), (106, 1651346), (107, 886225), (108, 451857), (109, 227363), (110, 113609), (111, 56564), (112, 28762), (113, 14379), (114, 7101), (115, 3587), (116, 1807), (117, 873), (118, 439), (119, 220), (120, 115), (121, 66), (122, 37), (123, 19), (124, 2), (125, 2), (126, 1), (128, 1), (129, 1)] n=200 total=10,000,000 wtg_avg=106.50 hypot11 [(102, 1138), (103, 67164), (104, 675438), (105, 2237115), (106, 2777523), (107, 1982430), (108, 1109504), (109, 572509), (110, 288201), (111, 144027), (112, 72455), (113, 36275), (114, 17971), (115, 9099), (116, 4570), (117, 2260), (118, 1144), (119, 571), (120, 302), (121, 152), (122, 79), (123, 41), (124, 17), (125, 6), (126, 5), (127, 2), (128, 2)] n=200 total=10,000,000 wtg_avg=106.62 hypot12 [(102, 352), (103, 39062), (104, 552987), (105, 2047251), (106, 2825745), (107, 2105549), (108, 1191549), (109, 615829), (110, 310192), (111, 155258), (112, 78089), (113, 39069), (114, 19497), (115, 9800), (116, 4903), (117, 2387), (118, 1245), (119, 611), (120, 306), (121, 163), (122, 85), (123, 40), (124, 18), (125, 6), (126, 3), (127, 2), (128, 2)] n=200 total=10,000,000 wtg_avg=106.69 hypot13 [(102, 224), (103, 22903), (104, 450135), (105, 1951615), (106, 2863880), (107, 2175106), (108, 1241514), (109, 643911), (110, 324560), (111, 162600), (112, 81687), (113, 41011), (114, 20348), (115, 10278), (116, 5121), (117, 2518), (118, 1299), (119, 640), (120, 323), (121, 173), (122, 84), (123, 40), (124, 15), (125, 7), (126, 4), (127, 3), (128, 1)] n=200 total=10,000,000 wtg_avg=106.57 hypot14 [(102, 296), (103, 39318), (104, 604807), (105, 2141764), (106, 2809102), (107, 2051644), (108, 1154723), (109, 596605), (110, 300427), (111, 150247), (112, 75246), (113, 37759), (114, 18969), (115, 9560), (116, 4789), (117, 2352), (118, 1179), (119, 598), (120, 308), (121, 162), (122, 84), (123, 32), (124, 14), (125, 7), (126, 2), (127, 4), (128, 2)] n=200 total=10,000,000 wtg_avg=106.60 hypot15 [(102, 463), (103, 54356), (104, 600583), (105, 2052707), (106, 2782747), (107, 2083772), (108, 1187295), (109, 615886), (110, 310360), (111, 155362), (112, 78160), (113, 39248), (114, 19440), (115, 9832), (116, 4900), (117, 2416), (118, 1243), (119, 611), (120, 306), (121, 166), (122, 81), (123, 35), (124, 15), (125, 7), (126, 4), (127, 4), (128, 1)] n=200 total=10,000,000 wtg_avg=66.94 hypot16 [(63, 117), (64, 84743), (65, 1480729), (66, 3120429), (67, 2467295), (68, 1397855), (69, 722070), (70, 362912), (71, 181503), (72, 91177), (73, 45368), (74, 22927), (75, 11426), (76, 5751), (77, 2864), (78, 1388), (79, 715), (80, 367), (81, 183), (82, 91), (83, 49), (84, 16), (85, 6), (86, 11), (87, 3), (88, 2), (89, 2), (91, 1)] n=1000 total=10,000,000 wtg_avg=102.34 hypot1 [(97, 6), (98, 3536), (99, 148232), (100, 973459), (101, 2309403), (102, 2650430), (103, 1845799), (104, 1018101), (105, 523871), (106, 263177), (107, 132246), (108, 65654), (109, 32841), (110, 16715), (111, 8197), (112, 4251), (113, 2058), (114, 1053), (115, 471), (116, 239), (117, 130), (118, 56), (119, 36), (120, 18), (121, 14), (122, 5), (123, 1), (125, 1)] n=1000 total=10,000,000 wtg_avg=104.08 hypot2 [(98, 1), (99, 263), (100, 21998), (101, 330168), (102, 1331467), (103, 2444215), (104, 2467650), (105, 1623257), (106, 881398), (107, 448551), (108, 226146), (109, 112149), (110, 56400), (111, 28081), (112, 14161), (113, 7171), (114, 3506), (115, 1734), (116, 842), (117, 419), (118, 228), (119, 93), (120, 51), (121, 31), (122, 13), (123, 3), (125, 3), (126, 1)] n=1000 total=10,000,000 wtg_avg=104.62 hypot3 [(100, 1216), (101, 62537), (102, 621868), (103, 1947356), (104, 2762902), (105, 2126434), (106, 1214709), (107, 628019), (108, 317429), (109, 158734), (110, 79402), (111, 39556), (112, 20040), (113, 9812), (114, 5015), (115, 2445), (116, 1273), (117, 637), (118, 315), (119, 131), (120, 77), (121, 55), (122, 13), (123, 13), (124, 8), (125, 2), (126, 2)] n=1000 total=10,000,000 wtg_avg=104.10 hypot4 [(98, 1), (99, 247), (100, 21037), (101, 320060), (102, 1303542), (103, 2415573), (104, 2478345), (105, 1647287), (106, 897215), (107, 457222), (108, 230342), (109, 114186), (110, 57520), (111, 28637), (112, 14399), (113, 7284), (114, 3573), (115, 1770), (116, 896), (117, 432), (118, 231), (119, 102), (120, 49), (121, 32), (122, 11), (123, 2), (125, 4), (126, 1)] n=1000 total=10,000,000 wtg_avg=104.59 hypot5 [(100, 1280), (101, 64829), (102, 655988), (103, 2010275), (104, 2756969), (105, 2088948), (106, 1188041), (107, 613984), (108, 310017), (109, 154855), (110, 77549), (111, 38635), (112, 19563), (113, 9491), (114, 4902), (115, 2288), (116, 1195), (117, 599), (118, 309), (119, 126), (120, 70), (121, 52), (122, 15), (123, 10), (124, 6), (125, 1), (126, 1), (127, 2)] n=1000 total=10,000,000 wtg_avg=104.59 hypot6 [(100, 1198), (101, 62532), (102, 644980), (103, 2020602), (104, 2771507), (105, 2086846), (106, 1183998), (107, 611358), (108, 308673), (109, 153900), (110, 77221), (111, 38536), (112, 19408), (113, 9553), (114, 4882), (115, 2356), (116, 1218), (117, 622), (118, 327), (119, 125), (120, 73), (121, 51), (122, 12), (123, 12), (124, 5), (125, 3), (126, 2)] n=1000 total=10,000,000 wtg_avg=109.85 hypot7 [(105, 713), (106, 150651), (107, 950552), (108, 1904420), (109, 2090309), (110, 1720245), (111, 1224768), (112, 797321), (113, 490432), (114, 291411), (115, 167050), (116, 95137), (117, 52948), (118, 29279), (119, 15984), (120, 8656), (121, 4782), (122, 2558), (123, 1271), (124, 663), (125, 394), (126, 214), (127, 111), (128, 64), (129, 38), (130, 17), (131, 5), (132, 4), (133, 2), (138, 1)] n=1000 total=10,000,000 wtg_avg=104.65 hypot8 [(100, 1138), (101, 58174), (102, 593585), (103, 1908252), (104, 2766479), (105, 2153491), (106, 1234546), (107, 638850), (108, 322902), (109, 161350), (110, 80681), (111, 40254), (112, 20334), (113, 9953), (114, 5079), (115, 2406), (116, 1274), (117, 629), (118, 316), (119, 140), (120, 74), (121, 57), (122, 14), (123, 11), (124, 6), (125, 1), (126, 2), (127, 2)] n=1000 total=10,000,000 wtg_avg=104.63 hypot9 [(100, 1193), (101, 61304), (102, 616507), (103, 1942066), (104, 2765082), (105, 2129991), (106, 1218228), (107, 629472), (108, 318129), (109, 158844), (110, 79607), (111, 39632), (112, 20098), (113, 9861), (114, 5036), (115, 2428), (116, 1264), (117, 641), (118, 317), (119, 131), (120, 81), (121, 55), (122, 11), (123, 11), (124, 7), (125, 2), (126, 2)] n=1000 total=10,000,000 wtg_avg=103.04 hypot10 [(98, 75), (99, 14387), (100, 299162), (101, 1377401), (102, 2580061), (103, 2472524), (104, 1565396), (105, 836825), (106, 425404), (107, 214056), (108, 107607), (109, 53625), (110, 26974), (111, 13150), (112, 6599), (113, 3309), (114, 1712), (115, 877), (116, 407), (117, 223), (118, 131), (119, 33), (120, 33), (121, 15), (122, 6), (123, 6), (124, 1), (125, 1)] n=1000 total=10,000,000 wtg_avg=104.62 hypot11 [(100, 1220), (101, 62785), (102, 624552), (103, 1956015), (104, 2765370), (105, 2121590), (106, 1210592), (107, 625712), (108, 315832), (109, 158093), (110, 79167), (111, 39413), (112, 19952), (113, 9755), (114, 4996), (115, 2428), (116, 1266), (117, 642), (118, 316), (119, 130), (120, 78), (121, 55), (122, 14), (123, 13), (124, 9), (125, 2), (126, 2), (127, 1)] n=1000 total=10,000,000 wtg_avg=104.68 hypot12 [(100, 1089), (101, 56685), (102, 571287), (103, 1842825), (104, 2762217), (105, 2189166), (106, 1261258), (107, 654181), (108, 330386), (109, 165245), (110, 82865), (111, 41235), (112, 20876), (113, 10240), (114, 5241), (115, 2521), (116, 1328), (117, 695), (118, 325), (119, 151), (120, 88), (121, 54), (122, 18), (123, 12), (124, 8), (125, 1), (126, 2), (127, 1)] n=1000 total=10,000,000 wtg_avg=104.71 hypot13 [(100, 1037), (101, 52816), (102, 545103), (103, 1798763), (104, 2762356), (105, 2217674), (106, 1283201), (107, 665556), (108, 336519), (109, 168327), (110, 84290), (111, 42098), (112, 21254), (113, 10502), (114, 5320), (115, 2497), (116, 1341), (117, 686), (118, 334), (119, 150), (120, 82), (121, 56), (122, 16), (123, 10), (124, 7), (125, 1), (126, 2), (127, 2)] n=1000 total=10,000,000 wtg_avg=104.64 hypot14 [(100, 1068), (101, 56498), (102, 590410), (103, 1931857), (104, 2781303), (105, 2141861), (106, 1223858), (107, 633611), (108, 319418), (109, 159871), (110, 80098), (111, 40045), (112, 20089), (113, 9901), (114, 5084), (115, 2421), (116, 1280), (117, 692), (118, 331), (119, 139), (120, 77), (121, 53), (122, 14), (123, 12), (124, 6), (125, 1), (126, 1), (127, 1)] n=1000 total=10,000,000 wtg_avg=104.64 hypot15 [(100, 1142), (101, 58495), (102, 604210), (103, 1932159), (104, 2763635), (105, 2140297), (106, 1224945), (107, 634163), (108, 320398), (109, 160076), (110, 80335), (111, 40037), (112, 20243), (113, 9929), (114, 5082), (115, 2340), (116, 1247), (117, 652), (118, 310), (119, 141), (120, 75), (121, 50), (122, 18), (123, 10), (124, 7), (125, 1), (126, 1), (127, 2)] n=1000 total=10,000,000 wtg_avg=66.16 hypot16 [(63, 10767), (64, 933937), (65, 3059599), (66, 2733295), (67, 1595166), (68, 829897), (69, 418483), (70, 209488), (71, 104861), (72, 52054), (73, 26258), (74, 13179), (75, 6516), (76, 3287), (77, 1655), (78, 766), (79, 375), (80, 204), (81, 101), (82, 55), (83, 27), (84, 19), (85, 6), (86, 2), (87, 1), (90, 1), (93, 1)] '''