|
""" |
|
The function zetazero(n) computes the n-th nontrivial zero of zeta(s). |
|
|
|
The general strategy is to locate a block of Gram intervals B where we |
|
know exactly the number of zeros contained and which of those zeros |
|
is that which we search. |
|
|
|
If n <= 400 000 000 we know exactly the Rosser exceptions, contained |
|
in a list in this file. Hence for n<=400 000 000 we simply |
|
look at these list of exceptions. If our zero is implicated in one of |
|
these exceptions we have our block B. In other case we simply locate |
|
the good Rosser block containing our zero. |
|
|
|
For n > 400 000 000 we apply the method of Turing, as complemented by |
|
Lehman, Brent and Trudgian to find a suitable B. |
|
""" |
|
|
|
from .functions import defun, defun_wrapped |
|
|
|
def find_rosser_block_zero(ctx, n): |
|
"""for n<400 000 000 determines a block were one find our zero""" |
|
for k in range(len(_ROSSER_EXCEPTIONS)//2): |
|
a=_ROSSER_EXCEPTIONS[2*k][0] |
|
b=_ROSSER_EXCEPTIONS[2*k][1] |
|
if ((a<= n-2) and (n-1 <= b)): |
|
t0 = ctx.grampoint(a) |
|
t1 = ctx.grampoint(b) |
|
v0 = ctx._fp.siegelz(t0) |
|
v1 = ctx._fp.siegelz(t1) |
|
my_zero_number = n-a-1 |
|
zero_number_block = b-a |
|
pattern = _ROSSER_EXCEPTIONS[2*k+1] |
|
return (my_zero_number, [a,b], [t0,t1], [v0,v1]) |
|
k = n-2 |
|
t,v,b = compute_triple_tvb(ctx, k) |
|
T = [t] |
|
V = [v] |
|
while b < 0: |
|
k -= 1 |
|
t,v,b = compute_triple_tvb(ctx, k) |
|
T.insert(0,t) |
|
V.insert(0,v) |
|
my_zero_number = n-k-1 |
|
m = n-1 |
|
t,v,b = compute_triple_tvb(ctx, m) |
|
T.append(t) |
|
V.append(v) |
|
while b < 0: |
|
m += 1 |
|
t,v,b = compute_triple_tvb(ctx, m) |
|
T.append(t) |
|
V.append(v) |
|
return (my_zero_number, [k,m], T, V) |
|
|
|
def wpzeros(t): |
|
"""Precision needed to compute higher zeros""" |
|
wp = 53 |
|
if t > 3*10**8: |
|
wp = 63 |
|
if t > 10**11: |
|
wp = 70 |
|
if t > 10**14: |
|
wp = 83 |
|
return wp |
|
|
|
def separate_zeros_in_block(ctx, zero_number_block, T, V, limitloop=None, |
|
fp_tolerance=None): |
|
"""Separate the zeros contained in the block T, limitloop |
|
determines how long one must search""" |
|
if limitloop is None: |
|
limitloop = ctx.inf |
|
loopnumber = 0 |
|
variations = count_variations(V) |
|
while ((variations < zero_number_block) and (loopnumber <limitloop)): |
|
a = T[0] |
|
v = V[0] |
|
newT = [a] |
|
newV = [v] |
|
variations = 0 |
|
for n in range(1,len(T)): |
|
b2 = T[n] |
|
u = V[n] |
|
if (u*v>0): |
|
alpha = ctx.sqrt(u/v) |
|
b= (alpha*a+b2)/(alpha+1) |
|
else: |
|
b = (a+b2)/2 |
|
if fp_tolerance < 10: |
|
w = ctx._fp.siegelz(b) |
|
if abs(w)<fp_tolerance: |
|
w = ctx.siegelz(b) |
|
else: |
|
w=ctx.siegelz(b) |
|
if v*w<0: |
|
variations += 1 |
|
newT.append(b) |
|
newV.append(w) |
|
u = V[n] |
|
if u*w <0: |
|
variations += 1 |
|
newT.append(b2) |
|
newV.append(u) |
|
a = b2 |
|
v = u |
|
T = newT |
|
V = newV |
|
loopnumber +=1 |
|
if (limitloop>ITERATION_LIMIT)and(loopnumber>2)and(variations+2==zero_number_block): |
|
dtMax=0 |
|
dtSec=0 |
|
kMax = 0 |
|
for k1 in range(1,len(T)): |
|
dt = T[k1]-T[k1-1] |
|
if dt > dtMax: |
|
kMax=k1 |
|
dtSec = dtMax |
|
dtMax = dt |
|
elif (dt<dtMax) and(dt >dtSec): |
|
dtSec = dt |
|
if dtMax>3*dtSec: |
|
f = lambda x: ctx.rs_z(x,derivative=1) |
|
t0=T[kMax-1] |
|
t1 = T[kMax] |
|
t=ctx.findroot(f, (t0,t1), solver ='illinois',verify=False, verbose=False) |
|
v = ctx.siegelz(t) |
|
if (t0<t) and (t<t1) and (v*V[kMax]<0): |
|
T.insert(kMax,t) |
|
V.insert(kMax,v) |
|
variations = count_variations(V) |
|
if variations == zero_number_block: |
|
separated = True |
|
else: |
|
separated = False |
|
return (T,V, separated) |
|
|
|
def separate_my_zero(ctx, my_zero_number, zero_number_block, T, V, prec): |
|
"""If we know which zero of this block is mine, |
|
the function separates the zero""" |
|
variations = 0 |
|
v0 = V[0] |
|
for k in range(1,len(V)): |
|
v1 = V[k] |
|
if v0*v1 < 0: |
|
variations +=1 |
|
if variations == my_zero_number: |
|
k0 = k |
|
leftv = v0 |
|
rightv = v1 |
|
v0 = v1 |
|
t1 = T[k0] |
|
t0 = T[k0-1] |
|
ctx.prec = prec |
|
wpz = wpzeros(my_zero_number*ctx.log(my_zero_number)) |
|
|
|
guard = 4*ctx.mag(my_zero_number) |
|
precs = [ctx.prec+4] |
|
index=0 |
|
while precs[0] > 2*wpz: |
|
index +=1 |
|
precs = [precs[0] // 2 +3+2*index] + precs |
|
ctx.prec = precs[0] + guard |
|
r = ctx.findroot(lambda x:ctx.siegelz(x), (t0,t1), solver ='illinois', verbose=False) |
|
|
|
z=ctx.mpc(0.5,r) |
|
for prec in precs[1:]: |
|
ctx.prec = prec + guard |
|
|
|
znew = z - ctx.zeta(z) / ctx.zeta(z, derivative=1) |
|
|
|
z=ctx.mpc(0.5,ctx.im(znew)) |
|
return ctx.im(z) |
|
|
|
def sure_number_block(ctx, n): |
|
"""The number of good Rosser blocks needed to apply |
|
Turing method |
|
References: |
|
R. P. Brent, On the Zeros of the Riemann Zeta Function |
|
in the Critical Strip, Math. Comp. 33 (1979) 1361--1372 |
|
T. Trudgian, Improvements to Turing Method, Math. Comp.""" |
|
if n < 9*10**5: |
|
return(2) |
|
g = ctx.grampoint(n-100) |
|
lg = ctx._fp.ln(g) |
|
brent = 0.0061 * lg**2 +0.08*lg |
|
trudgian = 0.0031 * lg**2 +0.11*lg |
|
N = ctx.ceil(min(brent,trudgian)) |
|
N = int(N) |
|
return N |
|
|
|
def compute_triple_tvb(ctx, n): |
|
t = ctx.grampoint(n) |
|
v = ctx._fp.siegelz(t) |
|
if ctx.mag(abs(v))<ctx.mag(t)-45: |
|
v = ctx.siegelz(t) |
|
b = v*(-1)**n |
|
return t,v,b |
|
|
|
|
|
|
|
ITERATION_LIMIT = 4 |
|
|
|
def search_supergood_block(ctx, n, fp_tolerance): |
|
"""To use for n>400 000 000""" |
|
sb = sure_number_block(ctx, n) |
|
number_goodblocks = 0 |
|
m2 = n-1 |
|
t, v, b = compute_triple_tvb(ctx, m2) |
|
Tf = [t] |
|
Vf = [v] |
|
while b < 0: |
|
m2 += 1 |
|
t,v,b = compute_triple_tvb(ctx, m2) |
|
Tf.append(t) |
|
Vf.append(v) |
|
goodpoints = [m2] |
|
T = [t] |
|
V = [v] |
|
while number_goodblocks < 2*sb: |
|
m2 += 1 |
|
t, v, b = compute_triple_tvb(ctx, m2) |
|
T.append(t) |
|
V.append(v) |
|
while b < 0: |
|
m2 += 1 |
|
t,v,b = compute_triple_tvb(ctx, m2) |
|
T.append(t) |
|
V.append(v) |
|
goodpoints.append(m2) |
|
zn = len(T)-1 |
|
A, B, separated =\ |
|
separate_zeros_in_block(ctx, zn, T, V, limitloop=ITERATION_LIMIT, |
|
fp_tolerance=fp_tolerance) |
|
Tf.pop() |
|
Tf.extend(A) |
|
Vf.pop() |
|
Vf.extend(B) |
|
if separated: |
|
number_goodblocks += 1 |
|
else: |
|
number_goodblocks = 0 |
|
T = [t] |
|
V = [v] |
|
|
|
number_goodblocks = 0 |
|
m2 = n-2 |
|
t, v, b = compute_triple_tvb(ctx, m2) |
|
Tf.insert(0,t) |
|
Vf.insert(0,v) |
|
while b < 0: |
|
m2 -= 1 |
|
t,v,b = compute_triple_tvb(ctx, m2) |
|
Tf.insert(0,t) |
|
Vf.insert(0,v) |
|
goodpoints.insert(0,m2) |
|
T = [t] |
|
V = [v] |
|
while number_goodblocks < 2*sb: |
|
m2 -= 1 |
|
t, v, b = compute_triple_tvb(ctx, m2) |
|
T.insert(0,t) |
|
V.insert(0,v) |
|
while b < 0: |
|
m2 -= 1 |
|
t,v,b = compute_triple_tvb(ctx, m2) |
|
T.insert(0,t) |
|
V.insert(0,v) |
|
goodpoints.insert(0,m2) |
|
zn = len(T)-1 |
|
A, B, separated =\ |
|
separate_zeros_in_block(ctx, zn, T, V, limitloop=ITERATION_LIMIT, fp_tolerance=fp_tolerance) |
|
A.pop() |
|
Tf = A+Tf |
|
B.pop() |
|
Vf = B+Vf |
|
if separated: |
|
number_goodblocks += 1 |
|
else: |
|
number_goodblocks = 0 |
|
T = [t] |
|
V = [v] |
|
r = goodpoints[2*sb] |
|
lg = len(goodpoints) |
|
s = goodpoints[lg-2*sb-1] |
|
tr, vr, br = compute_triple_tvb(ctx, r) |
|
ar = Tf.index(tr) |
|
ts, vs, bs = compute_triple_tvb(ctx, s) |
|
as1 = Tf.index(ts) |
|
T = Tf[ar:as1+1] |
|
V = Vf[ar:as1+1] |
|
zn = s-r |
|
A, B, separated =\ |
|
separate_zeros_in_block(ctx, zn,T,V,limitloop=ITERATION_LIMIT, fp_tolerance=fp_tolerance) |
|
if separated: |
|
return (n-r-1,[r,s],A,B) |
|
q = goodpoints[sb] |
|
lg = len(goodpoints) |
|
t = goodpoints[lg-sb-1] |
|
tq, vq, bq = compute_triple_tvb(ctx, q) |
|
aq = Tf.index(tq) |
|
tt, vt, bt = compute_triple_tvb(ctx, t) |
|
at = Tf.index(tt) |
|
T = Tf[aq:at+1] |
|
V = Vf[aq:at+1] |
|
return (n-q-1,[q,t],T,V) |
|
|
|
def count_variations(V): |
|
count = 0 |
|
vold = V[0] |
|
for n in range(1, len(V)): |
|
vnew = V[n] |
|
if vold*vnew < 0: |
|
count +=1 |
|
vold = vnew |
|
return count |
|
|
|
def pattern_construct(ctx, block, T, V): |
|
pattern = '(' |
|
a = block[0] |
|
b = block[1] |
|
t0,v0,b0 = compute_triple_tvb(ctx, a) |
|
k = 0 |
|
k0 = 0 |
|
for n in range(a+1,b+1): |
|
t1,v1,b1 = compute_triple_tvb(ctx, n) |
|
lgT =len(T) |
|
while (k < lgT) and (T[k] <= t1): |
|
k += 1 |
|
L = V[k0:k] |
|
L.append(v1) |
|
L.insert(0,v0) |
|
count = count_variations(L) |
|
pattern = pattern + ("%s" % count) |
|
if b1 > 0: |
|
pattern = pattern + ')(' |
|
k0 = k |
|
t0,v0,b0 = t1,v1,b1 |
|
pattern = pattern[:-1] |
|
return pattern |
|
|
|
@defun |
|
def zetazero(ctx, n, info=False, round=True): |
|
r""" |
|
Computes the `n`-th nontrivial zero of `\zeta(s)` on the critical line, |
|
i.e. returns an approximation of the `n`-th largest complex number |
|
`s = \frac{1}{2} + ti` for which `\zeta(s) = 0`. Equivalently, the |
|
imaginary part `t` is a zero of the Z-function (:func:`~mpmath.siegelz`). |
|
|
|
**Examples** |
|
|
|
The first few zeros:: |
|
|
|
>>> from mpmath import * |
|
>>> mp.dps = 25; mp.pretty = True |
|
>>> zetazero(1) |
|
(0.5 + 14.13472514173469379045725j) |
|
>>> zetazero(2) |
|
(0.5 + 21.02203963877155499262848j) |
|
>>> zetazero(20) |
|
(0.5 + 77.14484006887480537268266j) |
|
|
|
Verifying that the values are zeros:: |
|
|
|
>>> for n in range(1,5): |
|
... s = zetazero(n) |
|
... chop(zeta(s)), chop(siegelz(s.imag)) |
|
... |
|
(0.0, 0.0) |
|
(0.0, 0.0) |
|
(0.0, 0.0) |
|
(0.0, 0.0) |
|
|
|
Negative indices give the conjugate zeros (`n = 0` is undefined):: |
|
|
|
>>> zetazero(-1) |
|
(0.5 - 14.13472514173469379045725j) |
|
|
|
:func:`~mpmath.zetazero` supports arbitrarily large `n` and arbitrary precision:: |
|
|
|
>>> mp.dps = 15 |
|
>>> zetazero(1234567) |
|
(0.5 + 727690.906948208j) |
|
>>> mp.dps = 50 |
|
>>> zetazero(1234567) |
|
(0.5 + 727690.9069482075392389420041147142092708393819935j) |
|
>>> chop(zeta(_)/_) |
|
0.0 |
|
|
|
with *info=True*, :func:`~mpmath.zetazero` gives additional information:: |
|
|
|
>>> mp.dps = 15 |
|
>>> zetazero(542964976,info=True) |
|
((0.5 + 209039046.578535j), [542964969, 542964978], 6, '(013111110)') |
|
|
|
This means that the zero is between Gram points 542964969 and 542964978; |
|
it is the 6-th zero between them. Finally (01311110) is the pattern |
|
of zeros in this interval. The numbers indicate the number of zeros |
|
in each Gram interval (Rosser blocks between parenthesis). In this case |
|
there is only one Rosser block of length nine. |
|
""" |
|
n = int(n) |
|
if n < 0: |
|
return ctx.zetazero(-n).conjugate() |
|
if n == 0: |
|
raise ValueError("n must be nonzero") |
|
wpinitial = ctx.prec |
|
try: |
|
wpz, fp_tolerance = comp_fp_tolerance(ctx, n) |
|
ctx.prec = wpz |
|
if n < 400000000: |
|
my_zero_number, block, T, V =\ |
|
find_rosser_block_zero(ctx, n) |
|
else: |
|
my_zero_number, block, T, V =\ |
|
search_supergood_block(ctx, n, fp_tolerance) |
|
zero_number_block = block[1]-block[0] |
|
T, V, separated = separate_zeros_in_block(ctx, zero_number_block, T, V, |
|
limitloop=ctx.inf, fp_tolerance=fp_tolerance) |
|
if info: |
|
pattern = pattern_construct(ctx,block,T,V) |
|
prec = max(wpinitial, wpz) |
|
t = separate_my_zero(ctx, my_zero_number, zero_number_block,T,V,prec) |
|
v = ctx.mpc(0.5,t) |
|
finally: |
|
ctx.prec = wpinitial |
|
if round: |
|
v =+v |
|
if info: |
|
return (v,block,my_zero_number,pattern) |
|
else: |
|
return v |
|
|
|
def gram_index(ctx, t): |
|
if t > 10**13: |
|
wp = 3*ctx.log(t, 10) |
|
else: |
|
wp = 0 |
|
prec = ctx.prec |
|
try: |
|
ctx.prec += wp |
|
h = int(ctx.siegeltheta(t)/ctx.pi) |
|
finally: |
|
ctx.prec = prec |
|
return(h) |
|
|
|
def count_to(ctx, t, T, V): |
|
count = 0 |
|
vold = V[0] |
|
told = T[0] |
|
tnew = T[1] |
|
k = 1 |
|
while tnew < t: |
|
vnew = V[k] |
|
if vold*vnew < 0: |
|
count += 1 |
|
vold = vnew |
|
k += 1 |
|
tnew = T[k] |
|
a = ctx.siegelz(t) |
|
if a*vold < 0: |
|
count += 1 |
|
return count |
|
|
|
def comp_fp_tolerance(ctx, n): |
|
wpz = wpzeros(n*ctx.log(n)) |
|
if n < 15*10**8: |
|
fp_tolerance = 0.0005 |
|
elif n <= 10**14: |
|
fp_tolerance = 0.1 |
|
else: |
|
fp_tolerance = 100 |
|
return wpz, fp_tolerance |
|
|
|
@defun |
|
def nzeros(ctx, t): |
|
r""" |
|
Computes the number of zeros of the Riemann zeta function in |
|
`(0,1) \times (0,t]`, usually denoted by `N(t)`. |
|
|
|
**Examples** |
|
|
|
The first zero has imaginary part between 14 and 15:: |
|
|
|
>>> from mpmath import * |
|
>>> mp.dps = 15; mp.pretty = True |
|
>>> nzeros(14) |
|
0 |
|
>>> nzeros(15) |
|
1 |
|
>>> zetazero(1) |
|
(0.5 + 14.1347251417347j) |
|
|
|
Some closely spaced zeros:: |
|
|
|
>>> nzeros(10**7) |
|
21136125 |
|
>>> zetazero(21136125) |
|
(0.5 + 9999999.32718175j) |
|
>>> zetazero(21136126) |
|
(0.5 + 10000000.2400236j) |
|
>>> nzeros(545439823.215) |
|
1500000001 |
|
>>> zetazero(1500000001) |
|
(0.5 + 545439823.201985j) |
|
>>> zetazero(1500000002) |
|
(0.5 + 545439823.325697j) |
|
|
|
This confirms the data given by J. van de Lune, |
|
H. J. J. te Riele and D. T. Winter in 1986. |
|
""" |
|
if t < 14.1347251417347: |
|
return 0 |
|
x = gram_index(ctx, t) |
|
k = int(ctx.floor(x)) |
|
wpinitial = ctx.prec |
|
wpz, fp_tolerance = comp_fp_tolerance(ctx, k) |
|
ctx.prec = wpz |
|
a = ctx.siegelz(t) |
|
if k == -1 and a < 0: |
|
return 0 |
|
elif k == -1 and a > 0: |
|
return 1 |
|
if k+2 < 400000000: |
|
Rblock = find_rosser_block_zero(ctx, k+2) |
|
else: |
|
Rblock = search_supergood_block(ctx, k+2, fp_tolerance) |
|
n1, n2 = Rblock[1] |
|
if n2-n1 == 1: |
|
b = Rblock[3][0] |
|
if a*b > 0: |
|
ctx.prec = wpinitial |
|
return k+1 |
|
else: |
|
ctx.prec = wpinitial |
|
return k+2 |
|
my_zero_number,block, T, V = Rblock |
|
zero_number_block = n2-n1 |
|
T, V, separated = separate_zeros_in_block(ctx,\ |
|
zero_number_block, T, V,\ |
|
limitloop=ctx.inf,\ |
|
fp_tolerance=fp_tolerance) |
|
n = count_to(ctx, t, T, V) |
|
ctx.prec = wpinitial |
|
return n+n1+1 |
|
|
|
@defun_wrapped |
|
def backlunds(ctx, t): |
|
r""" |
|
Computes the function |
|
`S(t) = \operatorname{arg} \zeta(\frac{1}{2} + it) / \pi`. |
|
|
|
See Titchmarsh Section 9.3 for details of the definition. |
|
|
|
**Examples** |
|
|
|
>>> from mpmath import * |
|
>>> mp.dps = 15; mp.pretty = True |
|
>>> backlunds(217.3) |
|
0.16302205431184 |
|
|
|
Generally, the value is a small number. At Gram points it is an integer, |
|
frequently equal to 0:: |
|
|
|
>>> chop(backlunds(grampoint(200))) |
|
0.0 |
|
>>> backlunds(extraprec(10)(grampoint)(211)) |
|
1.0 |
|
>>> backlunds(extraprec(10)(grampoint)(232)) |
|
-1.0 |
|
|
|
The number of zeros of the Riemann zeta function up to height `t` |
|
satisfies `N(t) = \theta(t)/\pi + 1 + S(t)` (see :func:nzeros` and |
|
:func:`siegeltheta`):: |
|
|
|
>>> t = 1234.55 |
|
>>> nzeros(t) |
|
842 |
|
>>> siegeltheta(t)/pi+1+backlunds(t) |
|
842.0 |
|
|
|
""" |
|
return ctx.nzeros(t)-1-ctx.siegeltheta(t)/ctx.pi |
|
|
|
|
|
""" |
|
_ROSSER_EXCEPTIONS is a list of all exceptions to |
|
Rosser's rule for n <= 400 000 000. |
|
|
|
Alternately the entry is of type [n,m], or a string. |
|
The string is the zero pattern of the Block and the relevant |
|
adjacent. For example (010)3 corresponds to a block |
|
composed of three Gram intervals, the first ant third without |
|
a zero and the intermediate with a zero. The next Gram interval |
|
contain three zeros. So that in total we have 4 zeros in 4 Gram |
|
blocks. n and m are the indices of the Gram points of this |
|
interval of four Gram intervals. The Rosser exception is therefore |
|
formed by the three Gram intervals that are signaled between |
|
parenthesis. |
|
|
|
We have included also some Rosser's exceptions beyond n=400 000 000 |
|
that are noted in the literature by some reason. |
|
|
|
The list is composed from the data published in the references: |
|
|
|
R. P. Brent, J. van de Lune, H. J. J. te Riele, D. T. Winter, |
|
'On the Zeros of the Riemann Zeta Function in the Critical Strip. II', |
|
Math. Comp. 39 (1982) 681--688. |
|
See also Corrigenda in Math. Comp. 46 (1986) 771. |
|
|
|
J. van de Lune, H. J. J. te Riele, |
|
'On the Zeros of the Riemann Zeta Function in the Critical Strip. III', |
|
Math. Comp. 41 (1983) 759--767. |
|
See also Corrigenda in Math. Comp. 46 (1986) 771. |
|
|
|
J. van de Lune, |
|
'Sums of Equal Powers of Positive Integers', |
|
Dissertation, |
|
Vrije Universiteit te Amsterdam, Centrum voor Wiskunde en Informatica, |
|
Amsterdam, 1984. |
|
|
|
Thanks to the authors all this papers and those others that have |
|
contributed to make this possible. |
|
""" |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
_ROSSER_EXCEPTIONS = \ |
|
[[13999525, 13999528], '(00)3', |
|
[30783329, 30783332], '(00)3', |
|
[30930926, 30930929], '3(00)', |
|
[37592215, 37592218], '(00)3', |
|
[40870156, 40870159], '(00)3', |
|
[43628107, 43628110], '(00)3', |
|
[46082042, 46082045], '(00)3', |
|
[46875667, 46875670], '(00)3', |
|
[49624540, 49624543], '3(00)', |
|
[50799238, 50799241], '(00)3', |
|
[55221453, 55221456], '3(00)', |
|
[56948779, 56948782], '3(00)', |
|
[60515663, 60515666], '(00)3', |
|
[61331766, 61331770], '(00)40', |
|
[69784843, 69784846], '3(00)', |
|
[75052114, 75052117], '(00)3', |
|
[79545240, 79545243], '3(00)', |
|
[79652247, 79652250], '3(00)', |
|
[83088043, 83088046], '(00)3', |
|
[83689522, 83689525], '3(00)', |
|
[85348958, 85348961], '(00)3', |
|
[86513820, 86513823], '(00)3', |
|
[87947596, 87947599], '3(00)', |
|
[88600095, 88600098], '(00)3', |
|
[93681183, 93681186], '(00)3', |
|
[100316551, 100316554], '3(00)', |
|
[100788444, 100788447], '(00)3', |
|
[106236172, 106236175], '(00)3', |
|
[106941327, 106941330], '3(00)', |
|
[107287955, 107287958], '(00)3', |
|
[107532016, 107532019], '3(00)', |
|
[110571044, 110571047], '(00)3', |
|
[111885253, 111885256], '3(00)', |
|
[113239783, 113239786], '(00)3', |
|
[120159903, 120159906], '(00)3', |
|
[121424391, 121424394], '3(00)', |
|
[121692931, 121692934], '3(00)', |
|
[121934170, 121934173], '3(00)', |
|
[122612848, 122612851], '3(00)', |
|
[126116567, 126116570], '(00)3', |
|
[127936513, 127936516], '(00)3', |
|
[128710277, 128710280], '3(00)', |
|
[129398902, 129398905], '3(00)', |
|
[130461096, 130461099], '3(00)', |
|
[131331947, 131331950], '3(00)', |
|
[137334071, 137334074], '3(00)', |
|
[137832603, 137832606], '(00)3', |
|
[138799471, 138799474], '3(00)', |
|
[139027791, 139027794], '(00)3', |
|
[141617806, 141617809], '(00)3', |
|
[144454931, 144454934], '(00)3', |
|
[145402379, 145402382], '3(00)', |
|
[146130245, 146130248], '3(00)', |
|
[147059770, 147059773], '(00)3', |
|
[147896099, 147896102], '3(00)', |
|
[151097113, 151097116], '(00)3', |
|
[152539438, 152539441], '(00)3', |
|
[152863168, 152863171], '3(00)', |
|
[153522726, 153522729], '3(00)', |
|
[155171524, 155171527], '3(00)', |
|
[155366607, 155366610], '(00)3', |
|
[157260686, 157260689], '3(00)', |
|
[157269224, 157269227], '(00)3', |
|
[157755123, 157755126], '(00)3', |
|
[158298484, 158298487], '3(00)', |
|
[160369050, 160369053], '3(00)', |
|
[162962787, 162962790], '(00)3', |
|
[163724709, 163724712], '(00)3', |
|
[164198113, 164198116], '3(00)', |
|
[164689301, 164689305], '(00)40', |
|
[164880228, 164880231], '3(00)', |
|
[166201932, 166201935], '(00)3', |
|
[168573836, 168573839], '(00)3', |
|
[169750763, 169750766], '(00)3', |
|
[170375507, 170375510], '(00)3', |
|
[170704879, 170704882], '3(00)', |
|
[172000992, 172000995], '3(00)', |
|
[173289941, 173289944], '(00)3', |
|
[173737613, 173737616], '3(00)', |
|
[174102513, 174102516], '(00)3', |
|
[174284990, 174284993], '(00)3', |
|
[174500513, 174500516], '(00)3', |
|
[175710609, 175710612], '(00)3', |
|
[176870843, 176870846], '3(00)', |
|
[177332732, 177332735], '3(00)', |
|
[177902861, 177902864], '3(00)', |
|
[179979095, 179979098], '(00)3', |
|
[181233726, 181233729], '3(00)', |
|
[181625435, 181625438], '(00)3', |
|
[182105255, 182105259], '22(00)', |
|
[182223559, 182223562], '3(00)', |
|
[191116404, 191116407], '3(00)', |
|
[191165599, 191165602], '3(00)', |
|
[191297535, 191297539], '(00)22', |
|
[192485616, 192485619], '(00)3', |
|
[193264634, 193264638], '22(00)', |
|
[194696968, 194696971], '(00)3', |
|
[195876805, 195876808], '(00)3', |
|
[195916548, 195916551], '3(00)', |
|
[196395160, 196395163], '3(00)', |
|
[196676303, 196676306], '(00)3', |
|
[197889882, 197889885], '3(00)', |
|
[198014122, 198014125], '(00)3', |
|
[199235289, 199235292], '(00)3', |
|
[201007375, 201007378], '(00)3', |
|
[201030605, 201030608], '3(00)', |
|
[201184290, 201184293], '3(00)', |
|
[201685414, 201685418], '(00)22', |
|
[202762875, 202762878], '3(00)', |
|
[202860957, 202860960], '3(00)', |
|
[203832577, 203832580], '3(00)', |
|
[205880544, 205880547], '(00)3', |
|
[206357111, 206357114], '(00)3', |
|
[207159767, 207159770], '3(00)', |
|
[207167343, 207167346], '3(00)', |
|
[207482539, 207482543], '3(010)', |
|
[207669540, 207669543], '3(00)', |
|
[208053426, 208053429], '(00)3', |
|
[208110027, 208110030], '3(00)', |
|
[209513826, 209513829], '3(00)', |
|
[212623522, 212623525], '(00)3', |
|
[213841715, 213841718], '(00)3', |
|
[214012333, 214012336], '(00)3', |
|
[214073567, 214073570], '(00)3', |
|
[215170600, 215170603], '3(00)', |
|
[215881039, 215881042], '3(00)', |
|
[216274604, 216274607], '3(00)', |
|
[216957120, 216957123], '3(00)', |
|
[217323208, 217323211], '(00)3', |
|
[218799264, 218799267], '(00)3', |
|
[218803557, 218803560], '3(00)', |
|
[219735146, 219735149], '(00)3', |
|
[219830062, 219830065], '3(00)', |
|
[219897904, 219897907], '(00)3', |
|
[221205545, 221205548], '(00)3', |
|
[223601929, 223601932], '(00)3', |
|
[223907076, 223907079], '3(00)', |
|
[223970397, 223970400], '(00)3', |
|
[224874044, 224874048], '22(00)', |
|
[225291157, 225291160], '(00)3', |
|
[227481734, 227481737], '(00)3', |
|
[228006442, 228006445], '3(00)', |
|
[228357900, 228357903], '(00)3', |
|
[228386399, 228386402], '(00)3', |
|
[228907446, 228907449], '(00)3', |
|
[228984552, 228984555], '3(00)', |
|
[229140285, 229140288], '3(00)', |
|
[231810024, 231810027], '(00)3', |
|
[232838062, 232838065], '3(00)', |
|
[234389088, 234389091], '3(00)', |
|
[235588194, 235588197], '(00)3', |
|
[236645695, 236645698], '(00)3', |
|
[236962876, 236962879], '3(00)', |
|
[237516723, 237516727], '04(00)', |
|
[240004911, 240004914], '(00)3', |
|
[240221306, 240221309], '3(00)', |
|
[241389213, 241389217], '(010)3', |
|
[241549003, 241549006], '(00)3', |
|
[241729717, 241729720], '(00)3', |
|
[241743684, 241743687], '3(00)', |
|
[243780200, 243780203], '3(00)', |
|
[243801317, 243801320], '(00)3', |
|
[244122072, 244122075], '(00)3', |
|
[244691224, 244691227], '3(00)', |
|
[244841577, 244841580], '(00)3', |
|
[245813461, 245813464], '(00)3', |
|
[246299475, 246299478], '(00)3', |
|
[246450176, 246450179], '3(00)', |
|
[249069349, 249069352], '(00)3', |
|
[250076378, 250076381], '(00)3', |
|
[252442157, 252442160], '3(00)', |
|
[252904231, 252904234], '3(00)', |
|
[255145220, 255145223], '(00)3', |
|
[255285971, 255285974], '3(00)', |
|
[256713230, 256713233], '(00)3', |
|
[257992082, 257992085], '(00)3', |
|
[258447955, 258447959], '22(00)', |
|
[259298045, 259298048], '3(00)', |
|
[262141503, 262141506], '(00)3', |
|
[263681743, 263681746], '3(00)', |
|
[266527881, 266527885], '(010)3', |
|
[266617122, 266617125], '(00)3', |
|
[266628044, 266628047], '3(00)', |
|
[267305763, 267305766], '(00)3', |
|
[267388404, 267388407], '3(00)', |
|
[267441672, 267441675], '3(00)', |
|
[267464886, 267464889], '(00)3', |
|
[267554907, 267554910], '3(00)', |
|
[269787480, 269787483], '(00)3', |
|
[270881434, 270881437], '(00)3', |
|
[270997583, 270997586], '3(00)', |
|
[272096378, 272096381], '3(00)', |
|
[272583009, 272583012], '(00)3', |
|
[274190881, 274190884], '3(00)', |
|
[274268747, 274268750], '(00)3', |
|
[275297429, 275297432], '3(00)', |
|
[275545476, 275545479], '3(00)', |
|
[275898479, 275898482], '3(00)', |
|
[275953000, 275953003], '(00)3', |
|
[277117197, 277117201], '(00)22', |
|
[277447310, 277447313], '3(00)', |
|
[279059657, 279059660], '3(00)', |
|
[279259144, 279259147], '3(00)', |
|
[279513636, 279513639], '3(00)', |
|
[279849069, 279849072], '3(00)', |
|
[280291419, 280291422], '(00)3', |
|
[281449425, 281449428], '3(00)', |
|
[281507953, 281507956], '3(00)', |
|
[281825600, 281825603], '(00)3', |
|
[282547093, 282547096], '3(00)', |
|
[283120963, 283120966], '3(00)', |
|
[283323493, 283323496], '(00)3', |
|
[284764535, 284764538], '3(00)', |
|
[286172639, 286172642], '3(00)', |
|
[286688824, 286688827], '(00)3', |
|
[287222172, 287222175], '3(00)', |
|
[287235534, 287235537], '3(00)', |
|
[287304861, 287304864], '3(00)', |
|
[287433571, 287433574], '(00)3', |
|
[287823551, 287823554], '(00)3', |
|
[287872422, 287872425], '3(00)', |
|
[288766615, 288766618], '3(00)', |
|
[290122963, 290122966], '3(00)', |
|
[290450849, 290450853], '(00)22', |
|
[291426141, 291426144], '3(00)', |
|
[292810353, 292810356], '3(00)', |
|
[293109861, 293109864], '3(00)', |
|
[293398054, 293398057], '3(00)', |
|
[294134426, 294134429], '3(00)', |
|
[294216438, 294216441], '(00)3', |
|
[295367141, 295367144], '3(00)', |
|
[297834111, 297834114], '3(00)', |
|
[299099969, 299099972], '3(00)', |
|
[300746958, 300746961], '3(00)', |
|
[301097423, 301097426], '(00)3', |
|
[301834209, 301834212], '(00)3', |
|
[302554791, 302554794], '(00)3', |
|
[303497445, 303497448], '3(00)', |
|
[304165344, 304165347], '3(00)', |
|
[304790218, 304790222], '3(010)', |
|
[305302352, 305302355], '(00)3', |
|
[306785996, 306785999], '3(00)', |
|
[307051443, 307051446], '3(00)', |
|
[307481539, 307481542], '3(00)', |
|
[308605569, 308605572], '3(00)', |
|
[309237610, 309237613], '3(00)', |
|
[310509287, 310509290], '(00)3', |
|
[310554057, 310554060], '3(00)', |
|
[310646345, 310646348], '3(00)', |
|
[311274896, 311274899], '(00)3', |
|
[311894272, 311894275], '3(00)', |
|
[312269470, 312269473], '(00)3', |
|
[312306601, 312306605], '(00)40', |
|
[312683193, 312683196], '3(00)', |
|
[314499804, 314499807], '3(00)', |
|
[314636802, 314636805], '(00)3', |
|
[314689897, 314689900], '3(00)', |
|
[314721319, 314721322], '3(00)', |
|
[316132890, 316132893], '3(00)', |
|
[316217470, 316217474], '(010)3', |
|
[316465705, 316465708], '3(00)', |
|
[316542790, 316542793], '(00)3', |
|
[320822347, 320822350], '3(00)', |
|
[321733242, 321733245], '3(00)', |
|
[324413970, 324413973], '(00)3', |
|
[325950140, 325950143], '(00)3', |
|
[326675884, 326675887], '(00)3', |
|
[326704208, 326704211], '3(00)', |
|
[327596247, 327596250], '3(00)', |
|
[328123172, 328123175], '3(00)', |
|
[328182212, 328182215], '(00)3', |
|
[328257498, 328257501], '3(00)', |
|
[328315836, 328315839], '(00)3', |
|
[328800974, 328800977], '(00)3', |
|
[328998509, 328998512], '3(00)', |
|
[329725370, 329725373], '(00)3', |
|
[332080601, 332080604], '(00)3', |
|
[332221246, 332221249], '(00)3', |
|
[332299899, 332299902], '(00)3', |
|
[332532822, 332532825], '(00)3', |
|
[333334544, 333334548], '(00)22', |
|
[333881266, 333881269], '3(00)', |
|
[334703267, 334703270], '3(00)', |
|
[334875138, 334875141], '3(00)', |
|
[336531451, 336531454], '3(00)', |
|
[336825907, 336825910], '(00)3', |
|
[336993167, 336993170], '(00)3', |
|
[337493998, 337494001], '3(00)', |
|
[337861034, 337861037], '3(00)', |
|
[337899191, 337899194], '(00)3', |
|
[337958123, 337958126], '(00)3', |
|
[342331982, 342331985], '3(00)', |
|
[342676068, 342676071], '3(00)', |
|
[347063781, 347063784], '3(00)', |
|
[347697348, 347697351], '3(00)', |
|
[347954319, 347954322], '3(00)', |
|
[348162775, 348162778], '3(00)', |
|
[349210702, 349210705], '(00)3', |
|
[349212913, 349212916], '3(00)', |
|
[349248650, 349248653], '(00)3', |
|
[349913500, 349913503], '3(00)', |
|
[350891529, 350891532], '3(00)', |
|
[351089323, 351089326], '3(00)', |
|
[351826158, 351826161], '3(00)', |
|
[352228580, 352228583], '(00)3', |
|
[352376244, 352376247], '3(00)', |
|
[352853758, 352853761], '(00)3', |
|
[355110439, 355110442], '(00)3', |
|
[355808090, 355808094], '(00)40', |
|
[355941556, 355941559], '3(00)', |
|
[356360231, 356360234], '(00)3', |
|
[356586657, 356586660], '3(00)', |
|
[356892926, 356892929], '(00)3', |
|
[356908232, 356908235], '3(00)', |
|
[357912730, 357912733], '3(00)', |
|
[358120344, 358120347], '3(00)', |
|
[359044096, 359044099], '(00)3', |
|
[360819357, 360819360], '3(00)', |
|
[361399662, 361399666], '(010)3', |
|
[362361315, 362361318], '(00)3', |
|
[363610112, 363610115], '(00)3', |
|
[363964804, 363964807], '3(00)', |
|
[364527375, 364527378], '(00)3', |
|
[365090327, 365090330], '(00)3', |
|
[365414539, 365414542], '3(00)', |
|
[366738474, 366738477], '3(00)', |
|
[368714778, 368714783], '04(010)', |
|
[368831545, 368831548], '(00)3', |
|
[368902387, 368902390], '(00)3', |
|
[370109769, 370109772], '3(00)', |
|
[370963333, 370963336], '3(00)', |
|
[372541136, 372541140], '3(010)', |
|
[372681562, 372681565], '(00)3', |
|
[373009410, 373009413], '(00)3', |
|
[373458970, 373458973], '3(00)', |
|
[375648658, 375648661], '3(00)', |
|
[376834728, 376834731], '3(00)', |
|
[377119945, 377119948], '(00)3', |
|
[377335703, 377335706], '(00)3', |
|
[378091745, 378091748], '3(00)', |
|
[379139522, 379139525], '3(00)', |
|
[380279160, 380279163], '(00)3', |
|
[380619442, 380619445], '3(00)', |
|
[381244231, 381244234], '3(00)', |
|
[382327446, 382327450], '(010)3', |
|
[382357073, 382357076], '3(00)', |
|
[383545479, 383545482], '3(00)', |
|
[384363766, 384363769], '(00)3', |
|
[384401786, 384401790], '22(00)', |
|
[385198212, 385198215], '3(00)', |
|
[385824476, 385824479], '(00)3', |
|
[385908194, 385908197], '3(00)', |
|
[386946806, 386946809], '3(00)', |
|
[387592175, 387592179], '22(00)', |
|
[388329293, 388329296], '(00)3', |
|
[388679566, 388679569], '3(00)', |
|
[388832142, 388832145], '3(00)', |
|
[390087103, 390087106], '(00)3', |
|
[390190926, 390190930], '(00)22', |
|
[390331207, 390331210], '3(00)', |
|
[391674495, 391674498], '3(00)', |
|
[391937831, 391937834], '3(00)', |
|
[391951632, 391951636], '(00)22', |
|
[392963986, 392963989], '(00)3', |
|
[393007921, 393007924], '3(00)', |
|
[393373210, 393373213], '3(00)', |
|
[393759572, 393759575], '(00)3', |
|
[394036662, 394036665], '(00)3', |
|
[395813866, 395813869], '(00)3', |
|
[395956690, 395956693], '3(00)', |
|
[396031670, 396031673], '3(00)', |
|
[397076433, 397076436], '3(00)', |
|
[397470601, 397470604], '3(00)', |
|
[398289458, 398289461], '3(00)', |
|
|
|
[368714778, 368714783], '04(010)', |
|
[437953499, 437953504], '04(010)', |
|
[526196233, 526196238], '032(00)', |
|
[744719566, 744719571], '(010)40', |
|
[750375857, 750375862], '032(00)', |
|
[958241932, 958241937], '04(010)', |
|
[983377342, 983377347], '(00)410', |
|
[1003780080, 1003780085], '04(010)', |
|
[1070232754, 1070232759], '(00)230', |
|
[1209834865, 1209834870], '032(00)', |
|
[1257209100, 1257209105], '(00)410', |
|
[1368002233, 1368002238], '(00)230' |
|
] |
|
|