mersenneforum.org

mersenneforum.org (https://www.mersenneforum.org/index.php)
-   Miscellaneous Math (https://www.mersenneforum.org/forumdisplay.php?f=56)
-   -   Fulsorials (https://www.mersenneforum.org/showthread.php?t=22061)

a1call 2017-02-22 23:24

Fulsorials
 
Hi all,
There are Factorials, primorials, multfactorials.
But as far as I know the following is not coined.
I would like to introduce [B]Fulsorials[/B] to you.:smile:
You can calculate [B]Fulsorials[/B] by:
Multiplying 2 consecutive integers,
Then multiplying the-product by that-product(+-) 1
And continue indefinitely.
Every new multiplication will be by a new coprime and No primality test is required.
It could be used for finding random large factors to prime candidates without having to prove those factors primes.
As an example of [B]Fulsorials[/B]:
[B]6$=2*3*7*43*1807*3263443[/B]
It can also be useful for finding large PRPs.:smile:

Batalov 2017-02-22 23:55

Lovely title!

a1call 2017-02-22 23:57

Somehow I knew you'd like it. I gave the title more thought than the subject.:smile:

science_man_88 2017-02-23 00:00

[QUOTE=a1call;453496]Somehow I knew you'd like it. I gave the title more thought than the subject.:smile:[/QUOTE]

not really because there are alternatives [url]https://en.wikipedia.org/wiki/Falling_and_rising_factorials[/url] allows two types of factorials for example. edit: and there's [url]https://en.wikipedia.org/wiki/Gamma_function[/url] as an extension.

etc.

a1call 2017-02-23 03:54

Here is a hopefully useful code for finding random factors (have not tested it myself yet, but expect a decent performance). Tweak the for and while loop parameters to suit your needs.
Also would appreciate large integers posted here for trial runs.

Thank you in advance.

[CODE]print("\nBMT-100-A-Alternative-Factorials=Falsorials-Random-Factors.gp\n")

allocatemem()
allocatemem()
allocatemem()
allocatemem()
allocatemem()
allocatemem()

n=12345679001
isprime(n)
for (i=3,19,{
falsorial=i;
while(falsorial<10^10,
falsorial=falsorial*(falsorial-1);
theGcd=gcd(falsorial,n);
if(theGcd!=1,print("*** Found a factor: ",theGcd);next(19););
);
})
print("**** End of Run ****")[/CODE]

carpetpool 2017-02-23 04:23

[QUOTE=a1call;453494]Hi all,
There are Factorials, primorials, multfactorials.
But as far as I know the following is not coined.
I would like to introduce [B]Fulsorials[/B] to you.:smile:
You can calculate [B]Fulsorials[/B] by:
Multiplying 2 consecutive integers,
Then multiplying the-product by that-product(+-) 1
And continue indefinitely.
Every new multiplication will be by a new coprime and No primality test is required.
It could be used for finding random large factors to prime candidates without having to prove those factors primes.
As an example of [B]Fulsorials[/B]:
[B]6$=2*3*7*43*1807*3263443[/B]
It can also be useful for finding large PRPs.:smile:[/QUOTE]

A specific type of "Fulsorials" are [URL="https://en.wikipedia.org/wiki/Sylvester%27s_sequence"]Sylvester's Sequence[/URL]. You have a much more general idea of this.

a1call 2017-02-23 04:28

[QUOTE=carpetpool;453511]A specific type of "Fulsorials" are [URL="https://en.wikipedia.org/wiki/Sylvester%27s_sequence"]Sylvester's Sequence[/URL]. You have a much more general idea of this.[/QUOTE]
Thank you for that carpetpool. I am only 137 years too late.:picard:

a1call 2017-02-23 05:01

[URL]https://factordb.com/index.php?id=1100000000905790309[/URL]

[CODE]print("\nBMT-100-C-Alternative-Factorials=Falsorials-Random-Factors.gp\n")

allocatemem()
allocatemem()
allocatemem()
allocatemem()
allocatemem()
allocatemem()

n= 4883945163367692991
isprime(n)
for (i=3,19^4,{
falsorial=i;
while(falsorial<10^100000,
falsorial=falsorial*(falsorial-1);\\print(falsorial);
theGcd=gcd(falsorial,n);
if(theGcd!=1,print("*** Found a factor: ",theGcd);next(19););
theGcd=gcd(falsorial+1,n);
if(theGcd!=1,print("*** Found a factor: ",theGcd);next(19););
);
})
print("**** End of Run ****")

[/CODE]

ETA:
[url]https://factordb.com/index.php?id=1100000000905788578[/url]

[CODE] n= 254035168468567119979994968319537
%2 = 254035168468567119979994968319537
(00:10) gp > isprime(n)
%3 = 0
(00:10) gp > for (i=3,19^4,{
falsorial=i;
while(falsorial<10^100000,
falsorial=falsorial*(falsorial-1);\\print(falsorial);
theGcd=gcd(falsorial,n);
if(theGcd!=1,print("*** Found a factor: ",theGcd);next(19););
theGcd=gcd(falsorial+1,n);
if(theGcd!=1,print("*** Found a factor: ",theGcd);next(19););
);
})
*** Found a factor: 41
(00:10) gp > print("**** End of Run ****")
**** End of Run ****[/CODE]

science_man_88 2017-02-23 14:25

for others that may be interested you have a lot of alternatives:

[url]https://en.wikipedia.org/wiki/Factorial[/url]

talks of hyperfactorials and superfactorials

[url]https://en.wikipedia.org/wiki/Alternating_factorial[/url] is another one

and the bottom links on some of these include:

[url]https://en.wikipedia.org/wiki/Bhargava_factorial[/url] and
[url]https://en.wikipedia.org/wiki/Exponential_factorial[/url]

rogue 2017-02-23 17:17

Sounds like someone needs to do some prime hunting (and not me this time).

a1call 2017-02-23 18:31

I am not sure who you are referring to and I can't speak for Mr Sylvester. But I wouldn't have a clue how to fully factor any of the larger terms. So if anyone feels any off this is of any use you have my blessings to use them.
From Carpetpool's link:

[QUOTE]The recurrence by which it is defined allows the numbers in the sequence to be factored more easily than other numbers of the same magnitude, but, due to the rapid growth of the sequence, complete prime factorizations are known only for a few of its members. [/QUOTE]

And my factoring code seems to miss a lot of larger prime factors. But I still think it can be useful for large PRPs.

a1call 2017-02-23 19:33

[CODE]print("\nBMT-200-A-Alternative-Factorials=Falsorials-PRPs.gp\n")

allocatemem()
allocatemem()
allocatemem()
allocatemem()
allocatemem()
allocatemem()
allocatemem()
allocatemem()
/*allocatemem()
allocatemem()
allocatemem()*/

for(n= 3,361,{
forstep (i=3,19^6,1,
falsorial=i;
while(falsorial<10^10000,
thePRP=falsorial-1;
if(isprime(thePRP),print("*** Found a PRP: ",thePRP);/*next(19);*/);
thePRP=falsorial+1;
if(isprime(thePRP),print("*** Found a PRP: ",thePRP);/*next(19);*/);
falsorial=falsorial*(falsorial-1);\\print(falsorial);
);
)
})
print("**** End of Run ****")

[/CODE]


[CODE]BMT-200-A-Alternative-Factorials=Falsorials-PRPs.gp

*** Warning: new stack size = 16000000 (15.259 Mbytes).
*** Warning: new stack size = 32000000 (30.518 Mbytes).
*** Warning: new stack size = 64000000 (61.035 Mbytes).
*** Warning: new stack size = 128000000 (122.070 Mbytes).
*** Warning: new stack size = 256000000 (244.141 Mbytes).
*** Warning: new stack size = 512000000 (488.281 Mbytes).
*** Warning: new stack size = 1024000000 (976.563 Mbytes).
*** Warning: new stack size = 2048000000 (1953.125 Mbytes).
*** Found a PRP: 2
*** Found a PRP: 5
*** Found a PRP: 7
*** Found a PRP: 29
*** Found a PRP: 31
*** Found a PRP: 571580604871
*** Found a PRP: 326704387862983487112031
*** Found a PRP: 16845328252499500651236397153977990330504340553067339752454847112098786861695056576556281766791174572528101695441337548927503867619907346753328587052299845752995063651095010143881791492916271631929764191872816126007112807376635349122779799074047977425098804268779836897066162950536070254479907774146254749119086282986975224594605724404812512447585238430350583157170038516624031
*** Found a PRP: 3
*** Found a PRP: 5
*** Found a PRP: 11
*** Found a PRP: 13
*** Found a PRP: 131
*** Found a PRP: 17291
*** Found a PRP: 17293
*** Found a PRP: 298995971
*** Found a PRP: 19
*** Found a PRP: 379
*** Found a PRP: 430214650034342688019
*** Found a PRP: 34256325853337283636265092964542074845419466233928682710028092071120635978227632019
*** Found a PRP: 5
*** Found a PRP: 7
*** Found a PRP: 29
*** Found a PRP: 31
*** Found a PRP: 571580604871
*** Found a PRP: 326704387862983487112031
...
[/CODE]

rogue 2017-02-23 21:31

Next up, write sieving code. :smile:

paulunderwood 2017-02-23 21:44

[QUOTE=a1call;453559][CODE]
----- snip
if(isprime(thePRP),print("*** Found a PRP: ",thePRP);/*next(19);*/);
------
[/CODE]
[/quote]
Since you are using [c]isprime()[/c] you can say "Found a prime:". Otherwise you can use the faster PRP test [c]ispseudoprime()[/c] :smile:

a1call 2017-02-24 00:10

[QUOTE=paulunderwood;453573]Since you are using [c]isprime()[/c] you can say "Found a prime:". Otherwise you can use the faster PRP test [c]ispseudoprime()[/c] :smile:[/QUOTE]

Thank you Paul. I have never used ispseudoprime before. Somehow I was under the impression that isprime was like mathematica's PrimeQ a PRP test, because of how incredibly fast it works. I just reread the isprime specs and it does indeed seem like a deterministic test if the result is 1 and not 0 or 2.:smile:

a1call 2017-02-24 00:19

[QUOTE=rogue;453572]Next up, write sieving code. :smile:[/QUOTE]
Hi rogue. The most efficient way I can think of for doing that, would require years for a table or primorial-chunks for gcd testing, complete enough to be used for 1k dd (on a single computer).:smile:

CRGreathouse 2017-02-24 01:05

[QUOTE=a1call;453589]Thank you Paul. I have never used ispseudoprime before. Somehow I was under the impression that isprime was like mathematica's PrimeQ a PRP test, because of how incredibly fast it works. I just reread the isprime specs and it does indeed seem like a deterministic test if the result is 1 and not 0 or 2.:smile:[/QUOTE]

isprime is indeed a primality test. If no parameter is given (or if the parameter is 0), it uses "a combination of algorithms" that do prove (but do not certify) primality. In practice this means APR-CL unless the number is small enough to prove with Jaeschke/SPRP or Feitsma/BPSW. If you want a certificate you need flag=1.

danaj 2017-02-24 03:14

Perhaps belongs in a different thread, but there is a Pari branch with ECPP now, from one of Enge's grad students. It isn't super fast yet, but it has amazing promise and being able to use Pari's class polynomial support makes it scale well. A. Enge is looking to integrating some of his work including CM into Pari which would make it even faster. Fast ECPP in Pari, Mmmmmmm good.

a1call 2017-02-24 03:54

Limiting the upper bound (the while loop) seems to give results more quickly.

[CODE]print("\nBMT-210-G-Alternative-Factorials=Falsorials-PRPs.gp\n")

allocatemem()
allocatemem()
allocatemem()
allocatemem()
allocatemem()
allocatemem()
allocatemem()
allocatemem()
/*allocatemem()
allocatemem()
allocatemem()*/

for(n= 3,361,{
forstep (i=3,19^5,1,
falsorial=i;
while(falsorial<10^3000,
if(falsorial>10^1000,
thePRP=falsorial-1;
if(ispseudoprime(thePRP),print("\n*** Found a PRP: ",thePRP);print("n=",n," i= ",i," Parity=(-)");/*next(19);*/);
thePRP=falsorial+1;
if(ispseudoprime(thePRP),print("\n*** Found a PRP: ",thePRP);print("n=",n," i= ",i," Parity=(+)");/*next(19);*/);
);
falsorial=falsorial*(falsorial-1);\\print(falsorial);
);
)
})
print("**** End of Run ****")

[/CODE]1st result has 1698 dd:
[CODE]*** Found a PRP: 528543903400998376216462536295840865232212026591522804126753683198052904246211578867881875721391126838417321626215721768106159386475426442888958677299795608408843964054902579437058466689496242399924972171168925408976405066908253208940881347541387095540660018089923854962992208425473191501327714414505710841422273727416623881022995453335887379692702592594200531837571609053521001389964949653598414785407171401335185108635554440829801569987547006242836426475234211396620101564665587235535216720787505110602826010853255699392206997484574446996175954382170199887094525609056236199660872303080004685319677204135448560789529973804238004318106006061627459069145992636910008770955045784560706446622639548952692716439776027956179796176554336062014549151629649587768017601932205591009197732536815808946288291538533697197894398029898373762645573588574475577190912800589712752371729026379381799279816529232412023570736254890148697309106189572156587639012283349942675392645019677308534553319436083282523713364888912080729845712767211135912421624693545587562006539869213292472659046434591149613470140246109072539285467514012966526552754843809683771804131946428505152427680230371708483012987253337695798858432875334609685222960338694664192661492660645418294435290021649128691712700241796243567677685270314955680987765602454720327598916276133452087212452138828200307651534549792933932088660943061833068984586042449051242604874041565694653252247389351941488811612446683207669960189084223989964241087341462416365963017320532800716633979703511319750931846512819864769257580748344774656713190532034045313285035125145232944695150548276769237354636796949101532300229478794094939177106715673443968320915246886628585226831
n=3 i= 46 Parity=(+)
[/CODE]

ETA BTW, I think the easiest way of counting number of decimal digits is to paste the number in Microsoft Word, and let it do the counting. #digits, takes more memory than I have for semi-large integers

paulunderwood 2017-02-24 04:07

[QUOTE=a1call;453603]
ETA BTW, I think the easiest way of counting number of decimal digits is to paste the number in Microsoft Word, and let it do the counting. #digits, takes more memory than I have for semi-large integers[/QUOTE]

:no: [c]number_of_digits = #digits(thePRP)[/c] should not use a great deal of stack.

a1call 2017-02-24 04:39

[QUOTE=paulunderwood;453606]:no: [c]number_of_digits = #digits(thePRP)[/c] should not use a great deal of stack.[/QUOTE]
Not for this exercise. But I have had stack problems with it in the past. Going by memory probably around 80k dd or less.

paulunderwood 2017-02-24 05:00

[QUOTE=a1call;453607]Not for this exercise. But I have had stack problems with it in the past. Going by memory probably around 80k dd or less.[/QUOTE]

[CODE]? allocatemem(100000000)
*** Warning: new stack size = 100000000 (95.367 Mbytes).
? n = 10^5000000;#digits(n)
5000001
[/CODE]

a1call 2017-02-24 05:07

Note:

The allocatemem()s are commented out.

[CODE]print("\nBMT-300-A-Alternative-Factorials=Falsorials-PRPs.gp\n")
/*
allocatemem()
allocatemem()
allocatemem()
allocatemem()
allocatemem()
allocatemem()
allocatemem()
allocatemem()
allocatemem()
allocatemem()
allocatemem()*/

for(n= 3,3,{
forstep (i=3,3,1,
falsorial=i;
while(falsorial<10^1000000,

falsorial=falsorial*(falsorial-1);\\print(falsorial);
print(#digits(falsorial)," decimal digits.");
);
)
})
print("**** End of Run ****")




[/CODE]


[CODE]
BMT-300-A-Alternative-Factorials=Falsorials-PRPs.gp

1 decimal digits.
2 decimal digits.
3 decimal digits.
6 decimal digits.
12 decimal digits.
24 decimal digits.
48 decimal digits.
95 decimal digits.
189 decimal digits.
377 decimal digits.
753 decimal digits.
1505 decimal digits.
3010 decimal digits.
6020 decimal digits.
12040 decimal digits.
24079 decimal digits.
48157 decimal digits.
96314 decimal digits.
192628 decimal digits.
*** at top-level: ...ial*(falsorial-1);print(#digits(falsorial),"
*** ^--------------------
*** digits: the PARI stack overflows !
current stack size: 8000000 (7.629 Mbytes)
[hint] you can increase GP stack with allocatemem()

**** End of Run ****
[/CODE]

a1call 2017-02-24 05:10

My 80k dd estimate was way off, but the point is Pari can handle arithmetic on far larger integers than its #digits() function can be used to count digits for.

science_man_88 2017-02-24 12:11

[QUOTE=a1call;453613]My 80k dd estimate was way off, but the point is Pari can handle arithmetic on far larger integers than its #digits() function can be used to count digits for.[/QUOTE]

you could use length(Str(number))

paulunderwood 2017-02-24 12:24

[QUOTE=science_man_88;453636]you could use length(Str(number))[/QUOTE]

:tu:

[CODE]? allocatemem(100000000)
*** Warning: new stack size = 100000000 (95.367 Mbytes).
? length(Str(10^26000000))
26000001
[/CODE]

science_man_88 2017-02-24 12:30

another possibility is using digits with a base other than 10 in theory you could square a number and square the base the digits are counted in and end up with the same amount of digits roughly.

a1call 2017-02-25 01:35

[QUOTE=science_man_88;453636]you could use length(Str(number))[/QUOTE]
Thank you SM. Will give that a try.

a1call 2017-03-02 15:03

The title of this thread is too huge to let it sink.:smile:
Wouldn't n-1 and n+1 test be ideal for getting large primes using falserials?
You start with known prime factors for 30, see if 30-1 is prime and get 30*29., Know it's prime factors, see if 869 is prime,...
All using n-1 lucas test.

a1call 2019-03-25 03:44

1 Attachment(s)
The following 36716 dd [B]Falserial [/B]has been proven Prime using PFGW:



There is currently no established way of showing the integer in a reduced form, but it would be quite easy to invent one.:smile:

Batalov 2019-03-25 04:07

Are you sure that this is a Falserial and not a Ulshmartragorian?
We don't know what either of these words mean.

Your attached document shows nothing pertaining to PFGW.
Could you please attach the full output of PFGW, where it says "is prime"?

a1call 2019-03-25 04:23

The number is added to pfgw-prime.log using the -t flag which I believe it means it is a deterministic Prime.

I could PM you the the helper file where every Prime is proven Prime by smaller found primes.
The reason I did not post it in the open is to make a point that it can be proven prime if you have the structure in seconds but without it would take months or years.
If the proper notation is invented/used it can also be proven prime in seconds since the structure would be known.
If you would like to verify the primality please add the primes in the PM to a helper file as they are proven prime and move up to the last term.

a1call 2019-03-25 04:32

1 Attachment(s)
Turns out I don't know how to add an attachment to the PM so I will attach it to this post.

Please see the PFGW pfgw-prime.log.

You will have to prove each lower prime 1st and then add it to the helper file for proving the subsequent primes using the N-1 method.

The last 2 primes are of the same order.

a1call 2019-03-25 22:38

A few pointers:
The 36716 dd Falserial mentioned in post number 30 can be constructed from the following notation:

[CODE]
ø(1011698[102008(42256[1203(1206[704(580[219(16[79(6[9(5[2(1[3])])])])])])])])
[/CODE]

Which lists the seed prime 3 and the multiples in each iteration that will yield a Prime at that iteration.

Every iteration will roughly double the number of decimal digits of the previous iteration hence 36716 dd after 15 iteration from the 1 dd seed.

The fact that a prime is of the Fulsorial format, is sufficient info (given that there are no very large multiples) to reconstruct the structure of the prime and hence prove it prime.

Batalov 2019-03-25 22:52

Congratulations on re-inventing a slower version of the Mills process.

a1call 2019-03-25 23:08

Is this what you are referring to?

[url]https://en.wikipedia.org/wiki/Mills%27_constant[/url]

a1call 2019-04-01 01:55

1 Attachment(s)
The following [B]73431 [/B]dd [B]Falserial [/B]has been proven Prime using PFGW:

[CODE]
ø[46657(1011698[102008(42256[1203(1206[704(580[219(16[79(6[9(5[2(1[3])])])])])])])])]
[/CODE]

Please see the decimal expansion in the attached text file.
:smile:

a1call 2019-04-02 23:25

[QUOTE=a1call;512347]The following [B]73431 [/B]dd [B]Falserial [/B]has been proven Prime using PFGW:

[CODE]
ø[46657(1011698[102008(42256[1203(1206[704(580[219(16[79(6[9(5[2(1[3])])])])])])])])]
[/CODE]

Please see the decimal expansion in the attached text file.
:smile:[/QUOTE]

Missing a multiplier. the corrected notation:

[CODE]
ø[46657(1011698[102008(42256[1203(1206[704(580[219(16[79(6[9(5[2(1[1(3)])])])])])])])])]
[/CODE]
:smile:

a1call 2019-04-05 20:48

1 Attachment(s)
I input the wrong seed prime and ended up with a slightly larger prime rather than doubling the dd.:smile:

The following [B]73431 [/B]dd [B]Falserial [/B]has been proven Prime using PFGW:


[CODE]
ø[56756(3013[102008(42256[1203(1206[704(580[219(16[79(6[9(5[2(1[1(3)])])])])])])])])]
[/CODE]

Please see the decimal expansion in the attached text file.

a1call 2019-04-06 04:49

An inefficient nested Falserial-Prime decoding code. Inefficient, because I can't figure out how to use the Pari-GP forvec loop.:smile:

[CODE]

\\\\CRX-100-C - Nested Falserial-Prime Decoding Code by Rashid Naimi
codeTitle="\n**** CRX-100-C - Nested Falserial Decoding Code by Rashid Naimi\n"
\o1
decodeFalserial(p)={\\\\\\\\\\\WIP
factorLimit=19^6;
theString1 =Str("f");
theString3=Str("");
runningP = p;
runningN = runningP-1;
theCounter=1;
while(runningN>1,
theCounter=theCounter+1;
for(k=1,factorLimit,
if(runningN/k==runningN \k,
if(runningN/k==sqrtint(runningN/k)*(sqrtint(runningN/k)+1),
runningP = (sqrtint(runningN/k)+1);
runningN = runningP -1;
if(theCounter/2==theCounter\2,
theString1 =Str(theString1, "[",k,);
theString3=Str(theString3,"]");
,
theString1 =Str(theString1, "(",k,);
theString3=Str(theString3,")");
);
next(2);
);
);
);
);
if(theCounter/2==theCounter\2,
theString1 =Str(theString1, "[",runningP ,);
theString3=Str(theString3,"]");
,
theString1 =Str(theString1, "(",runningP ,);
theString3=Str(theString3,")");
);

print(codeTitle,theString1,theString3);
print("P",length(Str(p)),"\n\n");
}


\\\\\\\\\\


decodeFalserial( 33613673608134979085133852727908890249762704277706896423054596633446844945409458043115108274976243854453682450912015064987747311743217117030453639615921912561272515053768003632718659309799856909162169913687841339940779186884127782271843686875610984912343095330326155431251054623489375481384493622064760301570926644939237166720928787305748559734824460005528043393084876547459434457213760243267167298865944876954072924582210062508575806756956496224256960965289759103067073509723233823713811451908062888168308530752133119807938172330348335142821476071600139412884669693999492171660419058346532474623398922511406150272251085715587005861683453981403973919763170914594345511848087062353082007565352624562378021842343128490791291789323318594201218848560147515180387445739169053103085068321042545287667919118807036314824491979827095249653817217522463558195211394347401932349257651148894794898006744180222640672307676279479444469009213045330197759014337894895969882191677630863427959232525754727401949281471046146613822653935443061738382250668092008800899911217514266681167047356338694935693335896841338719154402550956757632564245384163916546947350812820269405748979118424392031778943596117478726000882478494890665331970246484302092789605612155491133792505298936208409951153641168433030656627049132468671491040539167217353280751467930562702532372001676049604207890394151650475335391200634286517027148720697603661653488394444673502778895070668328621988165204953736748969518538858549087693898776410513655176294547404698371031661428444730338246667546451423696096898888090330920763395084900006282913667473817019479458572966692181102022332700203073508141431873475328020122495242656949176397826930573977356992929802274081390144821469751236270413579355700098412434712351538665974466932257806484422272837727241026162798247038727714905290264948696919241858081603030729045965004215178030538410166006987056591987512038811378565830705344838218737721405841749682202862076655368039785671661048949065061994672384653312240626911302961728325298588870295637147731150025537389627960644184774449274075165285983008919976543219183210735434410786875726748839134121414808437124567125652792224032497884179960405385965916073171443498024439068977997429048998198507980240783644010424396458934971621781614212005089205393192945404266673809562402802909068770048715925013672363760403745180540303939664281177681358458195995203154066554854946063806918863380289898004203690710540769374512272566175354686187603615147804741037688574020618262006831535775401284900424474078610333767849094516554032478474674523649211329467026133416103123304974723742047334366533433297963569432392928746937293173632034751058287827252539951381330653639511761746194558813726813273399710944158182427743957756517098484433506195553513981962605397175860598747417583751313876476139995767713496098177452975298797805457896285252848319106366451992951659938235451212025674736715299702009607289925839067950099790397931530545999774287704792476289977838394256886946831765196777552587583963794996470625191900062699531672637113135653864013216331460516289764699657278555269525257967921996818775134915791095358928607778734087994026857780718001625749077382748697236996235870552329141759004743779458517778963067710646530998829412346874555352658177458198325990216909999479329961313907205784239584866182199410385728764707771475930068119900658992013635225744563649238975293844307202301628997977600402456679740121077307930573747424380974851649397464533729818944398318894408530990548316478279097276908634400317459905749736163449235354516296896296142367676520624568681335651266326525812531687488728709856851120739266121682604723572389225398096799427614423280020146398576481970083424847764537278773099721233900009725693388168718012805252324960004789629487118375252919695313404967487486662019697370764167725000684690252777503072103182314694001706412732358184931137638179396382615923911838658089362606875486381517503677095797349106501005365643674464987642954031502357092085151674808172273990993514179105466520659413170852722543975767274107635821609662153250527881110981157371902627221117464371824528195009492565060609102815342908736300966282860166024790042522068103805884929022006447154194059232336804615664299376943616397027838744165533167661125603748992130580025449499041498774658902589012843693642166453286202312760381466714986443492444668559384506223903096765268094979076951920925404386942910430238729887829566457821445097617597742739332923378899611311730931464754738246461640721181934305604514821264151395036407817358419450387026234388139964392780978884762008789095980445351150597362502661559213259141202500218285793324363621440058484125918680932319878250897480141918974196567356806487173848301016459663723648393626372804250338895269913768004629455032801292994120758562028021983155361937649465355692941471710226841241372598645312153041782904192973372719562413030884721761868392122937754439013208144327981726544453027057368806021099710485067684449042198017217687730560357834601942407058301513728946509604565921290612475738572215708125954195744867634691105804711773109944603777709883675183150450736063933931068006494715945376552558380937369286369576046948456799775924743885035453400324861643959338543339954480499645739014002778809666986290748828910340074242234025793654365971022238057572796411507390541358116447053383937845492491825765969019377789266246615361759873254794293746264572983840756612289343037433792044805626534878341135294897466152197020697519611310832013739220384411780011234729614316774643210815578662671070100587343410229360470323879691678510497980237928838054897143765185271372333662710367086768284955795133442313664693459326017609006231165111754772932096713664728460648712204363295758848817099399154343322499776537024620308797835913059697663371767809401482826178701477102902940657044857447397959819671161311359000379915307048992463724372337944537744152485145883656950607684738982743740198477376229373470307846058008231188429010412224154920497320048694951280257680180708957109945721646015199046611546011330515685213552721308079355586935220119903404021762759069789095475232527033935574940940201021893239549220389239274428058849997405951831175085417181170273102880067116281631307672686531865861656376504444349266818971749402370388296778548400052779400804453313622938257774245966172192685930990319460867747015511915354552790377217597165603494908427626860643022849393603333063299805509453876857945392518121395858936539633153353581225089384900623056067944194793727743151249073607704942913294633554332326633273478855809286234452262842102349819330288479412218823687198179003278134927243168178765588210608746243474927104817084645675349019468781640095523898831516155770443361610923809133980583819640126821957742103684043344518013206751290396861690209556251079888721915053647112439007300072822766027904762075223316488766643441105095466097224571756780071668016468088883754481127971723005191767989552198338288150377812569620476765202971365214521130790882162285788927007359995896849121137351665189969849918004840787944481240191146615690416413266946456720662583888251557991516675283239939611152296050311945459949894235233809162864887162395864265226299372531998213097218953963897282111933815178251607739045681823868101214667483918386539734615984067612275450404782708172842978386466868077549919133234815238505267886358061714781230361137971677942519997410003256888407493633898164550365254101792418737321249114097491913333854570559054871843242500844838742429306687956964839199867457830664131018901965610915152848883654575004348517130803094045310854643749547366556997398461732042395436940923576262650574055108629971194784665042301721746368230608257971302302257181088349425981973206489115315073192311295297308477961184141536078757602680008447097430452700336207949352998953235899883198164071661528590634233358107353245587489801446964761334689600447053377110078144541267961886477451901712037351097522773985968468693300610069311625119927666435916285735709911149376058188585439185298081588705119993342153059733581976501728930446637121127484126610850978607356282934368502429703295354347829004894678693297128935540723678192013812261074693725283609199343081967176034893046153068856400667342714301074245683941045850411586793592143917420166444599659475577445439820635050204180078326971846036068375122935562693637590894553845294244653189032334433029061264157929117621948974348943067110402026560080923484409385807387563989454956276438085971262769153313144343518611060852687456744219781872259529872925694557246748389840483442475768056378077728041241949664983423550759974187254080130317481124193187452845425697003548344135522605070604023656511393024159115060540655436384401155553739489468396691625473748843772466368798999503801947250110176313274716916781877830209232468178457051128715587186495943864969338487407507208551271199127990453919571736490345046414120984207011691238770510846161652875886957595864561824667022731674666154229353062719538206782869274358793259602396856183319562830739874521667314688030114260557192793699423125699935287051515744722886756247145567642580595306806780436018789431829254547316909573824984412470619327333042159819206930412274927633527286950463083386055507283291737624087632405162973463349878147152557524133309387886969900742556654033084200219668965352821856624086953492748453787236982304081117490914207004606628982353603573705312305226477820906526669732870988224983458422376830955689379225290695086464082172288860004853509538773730927631323664747245611200237014425433997096350031577775288896331262131560843150553975777384921327113194473585553271662870300735762701079241727359974071317875328228914074554125373183070405733301718390516906190209092419262637892086708903975910147327178534884608071138687974801287169328341456251884507686338480469506857391891377888156693610478344256934256773106472130679213109726801643958293544416377422880947861507927325983497646348366139998524547982601758050412403962271139870975170661257276324457331608135836739119978019616152289241617599880991751341366188627585846697760113909284587889497074598427931556447616756678376506350534901411694225299035443760425847495314494762078463036280061566368850137391792314587982805936755154436738079585179248535321595384266669778101129314822384400133661899401073990240280885357042579984498837931748726326492443216186735423870836288997566666560051208098306487278972999427775529582041514736057507949512485980385380459553830160011280159502575802243046379171960413537598639948029525095159430888727939469729551148695058818172817046383811027075681521655373201551427020867749699336194424334638609546041359314860434749943757573735349331144712190168281075186984221968230943988372138079686136098162529593347623302618197387843184523477646260163644509123260012023295217779841095589255654721992260298617093697717721057606617195605917928677320651082417474909997714823942847521266810084490598819398280202950137277397798445606519304699097034196423804881676616580272326474247315712256251705167661629407212062506465622487877447509713465761170470011988419999147105824308620875767364830529688473528546588623405117791723397638616224280178966723667605353646776383774033388186647200376271817755955735710750452112093146368341891614424322269756517579290028973681811187568540089724003031036035391895015487389746418157228670737359355075923172966565992099512401568593161422216965453829077131608037635099155242404998214909756573178280397224176729513272323722633184949821583317809862266587985664169620331003337710956021625189856320493066849640245018198897451333959198622178188852816990673322362396866645804627892678431542750205481716162126189150049130236815711167656094351138736823654209160881677967918438101251487925296569187943393072688911421725011193784833299171382105506019280204947950929810638829447439854564352604118958921225057380884784364399128019775374190496527063529145265368573237010340172574802453846504852525653109262720015361252827020495643058682711481674581210454747019753798169608652685028808383043751132645379740537284860638827095983675554345361277236559948389828228788334565411598258414334813572316651685682856934438901311482079436160968113833359220889331412562448949000833013479044540932928718641331924355861909844327321313002346035210904997700373156606743443354532881965409954556391978095230804132495787825880470615900613957715216943710894205134435634200210564343271477698272651924443420598820672651531256858377257740662118652230566244527728872463174081468327008123693743974604870407424801795126562588967205564706099845426031534366236784441660525768006746981180794032278090589523791188868778489154688957358254494506546147853509305758770558686472897729025550403498882467968447334058956573691465730432774107185615578405377609137913132186123707487456448496209893510929590504031362233445002199894525872723155033805794221401581941127492071501698980513333068950121560637632661565392569163017838044438357964429440444343935276375825630861664734054944319298033204725467830800338178281176082480404640503432825952385117536344650548641301817168256624036782224956909977489982360776137828195362561664492885331790773892883355424752012688369074458290268987715661702660751821458435357321873736985841276836346992903696350136966978339289348852211595679477414292038868915763451257182501557919351472588854405492068001065271219172144982892250447751301712902340050755897584200821782480760600411061582689922060448643863966906958113058408161741053487886769450837895594376858857810186136243545522240339060971198111992980189755498634817888325664293744882417534356311617061319016265447437088683817368538987046569604788643559224811155182605321443632334432001019738274774914119092170717789895469350136406757721706095784857336035531370587235021765276084181201513280087569696530005819953218304176326886879521531976681459922918985837356284337032941171133198555886495056206762410376365364086108251847888436591125390179934036928933027283372218778413003035881819286673324607026162454803977147017024898143868496495385698186040588188331681261755474046310359788900308980114282982306778670488548583520366623514002516094818314620386920596719897311055276713894875971392138550472868287570649065398550994447554142424940333324344462405414523110918195072954014019396625066498081598894517029008970937298273076575163209880357510943073827906293521251066525593533540862238739189237339226344249107374209015636834469069045254076646455818478549160085335150084496497172907744835121934991421504065799232543225054962405999672808538718594622856002313006963272670937555614489637924796036715502088338007086274603023697172232533726978804886126956182327457111548170848439025131731985995074738958734148652031533174203260215961339660390601392362305395584758461509518238770180341277002795228431421214850650456375425562439253358806438869405074447026335671498148346259705523388933456008398686833319561609054664716129382379891534099449691114208490144649481836382556482001222433992513316977197241272115374845146039645153140246872739940900047572755594033073319008693467025653335276038686832395768964785436321029109044038811211736443929453081241826577187978855801300115526359999867488039690591302047269987775645383021050262713087170239017339725310997454471972917155960698626099263025646653831609622724321123926030330702115518786294310933678783502020640587989982643937303536829518787773368254256235718399484846568996123390857471190644255538236963523533698985395880083672374956122874066533013743944866323321446751876054141346223287209793092379141121119767877070671157616280421868246880472664469485002647804800900657188980140500465964344917523004003073680175904728943565798063061350045385908562187545018878677499967748902681181573089079949059878304743768256358824491632409703914356712047821894006732680505239419078341409685658780541771774095447310369725781521062067375998380090329940763190032543737476971359435722196297187608692564884263413112200486880012913992481079669415699818803024053945152591778890101561027849310608187877366902228111616812625524647825862164937954403504181605666287700454973531058530997930536274461255422630397140721703863458907464432226655416286278044399970346660344931747583957392134853048631149545636125872432875515292672411071599018460475223939532300010043841971967744597370227189609029052211586472841598646922646991488836839797884885589221074426535399482917695043620493104911153119344989585844032471963875298980028609839721139572061385481814242763130487203563039500397854368633918629410787367004508580710881314830314147634182500198765520261500502735312393684954778437238224194732109528957099300809318187689824518275405724154683832724619061762380812377829296562174429726887299048926619121468268390953234796447035823590183962899550422700309753891902122050509406292834970118421931156465741380585827110133022949727175652683565582330731876165619264239342923834860955696408499437045603317025330142230565776989002565305570341424003311935358734476269472672665758959950206865709699489395776889397680508162336621669258786101362654187558120198825329725100678209334427530566638025271007467935609007030112819310084600068918086200840216572976017834566734520828425788204118980050216798752737720334856511423025309347855836353212699453850701474932515615064302013133693108632929327982896483265546189972833518778281558465431823270576359374722317378951494124721274299890176317254343197713925436802784363676054952511938854521698724186545250072497300033733797231552278625981146862267571483970981927935469159094140504682690498569386927126900979948654732769887709820222019412194201425011317552486187973654789275268499945933743292516200646531917174278535245111876173618967736962823114218538626694036147652959262317417897109676045842604522197690438842065043644445358032334919972172105526665952659075541037452896423329440318645490955972665797026684175590773987023196471868040939718515380647700075351434282875617053516919112967193250074355517957170100887860969950209014156303538056301093400552211563677008591618136981803162729958083972513242632362115156625183158494905694932934333795353176606724158357323543021178472542598431495190401900421775331157097131511358966857871517286121678495932499337399995254317060888893780328844464510558467529963199147101201983233026188505758272970143730880649147639949692191399691961080184284696637928365034375962891935016787360837496194269560729308851614219255023882292940978084707087461659914085777758008665119755842325199509033321463473959356695661716612410786919696213768599237590344730631976128246065036773467540752936174276297537512992599585434301713949327188516357240180284676090459300866723349782297923697206748734735675293272343214990222324427222045112037051432240710081646244471919945661510358326161012070902319156953380100062265048251693128138399355369833125539258340683106692721817184427481115457773709454644969337564414185837832213290278226178940456240768243267825972252600774819761174691413241714523465215936913732324833333396277890913554418952153041751640507606658055533431735981219018436428924037246703625498661638787521867292870552663591838739830574322986406638462686398843481284474018682423477904038999662039971280487328436772903473547630664981995499275732097194772028196903786259303967116106564007877668418852917235815489204817548960951767058484931387601093732530804740515748947824389109471518959783266942406883677237123014161537873595550716454323773231222198109925703368611581659737664161295475934409380030070873904575435336416924995892973623407792943171807951781964400039528069935988902370162330301693163395150779699385625614444028404271598525500294599384350600144136877061449297031894300332327459729584725233652698991395083632672682695471467436397049516920573740265296912487145267620340242833417678145698023583544833770853960622495169717099384858650234228007563952302476383400809452281096587914126352251071336977181302265670581383643639433307884067029221586021689473961671748510340080141398419931989178599221159524088520638295934864227074099194215130147165824800015857876458059293711506989120707120515671198105813928271164361650394343142840962354260273368234991096711431625369306119584627504317257884482912948970035111314473615473911201462677615048286458907342414226846571712978971356002193305221511163060165807143542347915471252671137042364717406756974809557657682751026057907616573456059628270726637808781107302648217256362521444332382529256618240785362361748476910404326481864066682435147826488468751146705338853773346528837640200670259267163626663255135062127764035066978318273454823110996351541974427971257329123728224587818073851173483336828778044596904180147087574507916014742229025317813804114055034315202890149363930538563507970156344880955727690940986421968940836888167445151083859743141963581754066674153914750805816443284136381106221317878441291483685631878657207385025514563903470538314601346959492188990423908749353704659243484100819379545112474184473340978531862541427843661422095287572970012538265723187416183984817710205352707010337185157663630191207233437755058188264385675983608930853081623069248429219970198677605434400462615916506703262823299441143898985266885416710192125746334695538046954492221848602823611919985501698767723420772308013890834828214610677603855461110491983084294351365648460149351501117297782858332874316251917659230508440404639621280371411704570756295080062153528982162339675738414341056000344652160912911183516652688375783963185239388721780410604666918780868898178132145453004755151251674413175990277186922051967449636569904531692393365085496532950927848267601761180562494585228757203895017268366565095254667793433799619364492946327969651760819028535817199056142526129258233150886742696414723383482788466717118009941013559674098980056767286505724148622094283193542512049190729730082639744762359973092435452586513518830386194977534272801434599106815320403017660187715243863712748797413247325912275631874948397667644976409248737047013969210345998303033167109775983506605115019259650150547165021766719624296026300883760094146526959558203762262267555532267819556287394115904818473963478993966578079080419046765244337329399566338571248686576931096919479445203265398692840240331552758002385113971315792452661588426046814450005743986234635233550288453159112139108475650613861809016839856367432493360807367586449945356119716631092671551017034291080522345494875284014262293772011356670248599764623165286927595026039902533165230649121569398636301430938875263241034869301175289061945936040370972804929991357929371436277657190744619305114248395679941353380389556243380873206725673710037062166508304355261240571013384129524828095247326845649638309125843079684182576454111804650935881035968118532575102686253750457790493490217922240199367933156644695840269671621544015276882728828561373244202666087174096105496569889548746631876998550936322892780563241589039303835819099767417569278604513880644583246029331801269004969326393050741535551613682040569456242117520323187744264791434596286781270015391455040959289768716857435161872092287081062285725926403383161973181339411939347351570134842275191370870538949217971541898013376790549976634306109952794087603223964958786773674543521046187787330524048619442057303429445155024127698678596239277598694395387065731195108385227938556236447215054112579750081601725649878377341468789824849935469978387385847531019886337515722540024781901396922265766801421452761568576536555086209697444790714035319414355330820604879160617661186846765459593638985735586002222864584154565681034666595085535254718520989463536505389342581886121337657766104003160414395957929540467631266851568295876031439311148949896534612507572624274011512965223995378953258339909257329844225696880359379781724738559740791975083857864542886938836723949148217926853267624489418787781650144850855959532878782001371474194485444760818165876940105673549932148118983958784148180181729740910034179346617775345975875315167808260772336238908882549712559672430370303640459733488595208316715630991433127743398914868288032278438670565287647246495827126132805310888194165148886623455255214533736229758316769920975240475877840814866781639037894647424242536902694406698811039345435554900985843328880081248256108193139260032950761829114084792225637253065054456898499072286119612195576207940197243199374012584129874244239041789898789415218285903611397139655725513039659344259124988008680502424835984631862799266482368711469145380691854223784578616140124808241084021559096563561434308811831533708129771933903686612922685066230929219974664669673829635330143644243703755734178531094418940921394908742092548352810648653283093272687652894367656533578929624938497593700072041243133205333784797523147808759734999956869027517102426573598915112260282107954147423886142390409604439886982771188571436446599564990921884284356381091614697730893244510619315377674796490006296186927392933633877163686724263545127274642924989067603626268144345310673526303394113370370127390562572233979964157855029970735717158702730387996384069225463868384207939499878751861593216418676808433534191836302115431441341940024297870322905035677752338709925854292787646161683282254251600175806313069185673660050553124667785494074029170539761663913684980045633125946660259037462328133350822563317008774717011916422293813226381361514204633514761816751580379754549338386890499100129557890092841652279076926231185824918522459603852296200738020218539795325310300985400251111844032560018082393727971569149087870063430690968097086794682939087965760668126957288688783751373626000281699157231415029391371480352774012948398471314795158025611708184270549919728500512618086104966397321451554501126632355662330237848368229817664959034328422537498283099835722530527234011556384410001611708174056875347584064763222228099003146241207183982655652705657230070045543108081729968212996939971901862199228625896745875653287774357696688392887464395842503814192719050590222789537652901622406412598578718136450872509786817194998448118116153193432491229875044550902359803453523066950050174721959002388660102528615444203511176063721587128129463818090992311345614060358752050112709417380171119166309258759396899527532923147648656727359177411201148509746164755747284083592998103557514408310928893990147291265297728185863201875677014703414964947845354451441069538577059270553811860087481248440586582800261681279073308884417335163525726271110745698749512961256956584644789001065867373340226665874201812744988595256036704791836796155603191403749077716571050241557264901890403162483620213937098929325467575296080512117061324791612587444337332661091751117249135538832468180161583158688331757809757909210390625745642117300944476343278996906031863956979595487857732385566940904658122502255215717766355425320133570691944634229387464147726415849173943041931033069002065867782112876620473307582068161041314511490630599593094895820802456670372907797797143693134229700193090395753759797777669147078372851606642377849931949538391253656183071584348103101692217761814992898251210941455201644019815805965041284010433746301250727023003741190283849965338734055906574344063800185697372686260734303326781023753186346502469156323655157787012152821240169276881614182913246485525468008303871783657690282930539907663050097052346674222422423019181932150711680178936188845544709963257504016994266770933485003711356179813908085537568759418200618561656755751836878097696076769579268356050928671076750168170692556661061595620650295524832289300769090506999372175599782199838046327875073494253798268660862647076542901940772509433158362536482324489948781193842900251396116524011822807193706468579941499865596623125738345070842190784039825447033013436213502755714709684481290879878325848687717188566807694051151336380267958384912369870931034919272349302007524698083278069415657503162035970616833161337500862473176267723906802810669063279366581771962120938939794263848415821021925405741405021793899752786713358412225354749680592467750302171761574335931085332388974578769614981408701781187745777696696900553442319255213382694382302830022404058174367400297493777216003547010962958464311573828133431585839618852803273259055441650919127487689072410395443575428031533223930858159041322810387335399537819013219324233896812010827200376406019914654110249543337618204142868409854848673982661857260547979280761520482810436207692294158220890571912251510194219071188616204932007051352159425562807733611373969730076239192562522826184864007609670736214497045556695002636827285648410986050812583406263989423553434551488836270971508580102827923329584651400134811958408714694678632880021425926884757634737802490462103744802212117035078008002612367870738863994820767070395601351231819412116364087653429861518787348222430028039829022225704630266803140464065065825896862428045669020763863642978498620640100951955353828053499065871452342025824569438322057602484100193991827421145702381845556341146688656311855415444176009223050466001225807919540512990704149893097389929077229103551917809263342466976339539848594045347864021172784503641815592051925368487845287645650297777091880110038406678127655785104417297005062191897706705261500327665497924682529596006498195179347205744737960175153503975511503487046530088520395661931648809173104265008557771127990973752756546537131606250234221148327977538005454805085108784551300295912444392979337407744552617880296514476495070150113805931228431595643388085037013941348628390560452716470571930771309647006631742037297838066264087512131708394402958586455832426352180860155800496883502945176196699796827888374723593217535951696004213411737312231491760964950938418000121293492828453489562855731324449789095500474597059196620372130251411272516833205225920152546322112340067237955216263051319252246838690760432100661348242667592073433428022825904138109133325245890767786099172192716875421701570660300537318207792189488415003643286624035734166605151534678890398854325100314089964214734912740996432787275895977605730545890181316789797831441648416529882638559836731402981860472076963223086334562399871618717177408514307739832861787330462084305178170865586169824258688026554100359172083531663812119825334540001166311429260946091965299489447902324921973958093007366705464074157833750126902465090793527131847725802612936691055565782107428746488388007716343706359565223713354970126320022799793099767579576609614663091565934900201648126580455415809181883291577660526829302504457250846168839027547086990012677095297281446510388196061926763264782970251468161124076136404492349665364549420685605634921468355287640086218632307185176080320823279042542921833789074770316230247157574243424288511675901219532557694612936396785264574456976350566988634878076913684521385594654539600369717957858202994328230450442073521432437920135751386694525735763105067622814822650288676885284096802715992269336863616853601979565250018407518633509271929410666258727246429092397247008073675663376736887439532018910457015724426061495056613203597981864670494768331765068766054194481110789586394551658807146914641661079615545187389579042750553588669461195751651164368229284582360883489825441888450708692423885051337922654245675575287324536770588763422380453703988187059910116433137831265248153832680836582901913970900282295518391123437781535348764559046358576378501826108091406750568567595955403144428922517844700961863483746069992355811408930648772108969810323777941264627404065183620777482752962750795030748497347622660581976526945522015884160502072961240974331805111255227204532085023451316707290005878634635279193394346039066175268590053504471934962715650201037463116621932477938942874515731967244170285143680199687849295353322619731555058590392927791292606003930667879700569802292266031070553444935228320687590006462208471285392571589739265414947932820215774825440499833941152775425690044921093299261965280580227191325592120410209337249283144786434043355276089784299219296307366727546572404845601876906542313379473805623601678972324449009964999218401089176909867684153217083182943129086166827033875340842332054135143116207641749446949428904418206878374196134365423589487568474013942565298714565619615816870292314426189571549934212070362904368046161987158615355318490190150350022087866959625131533548717272317992811916445182977342099533159070535185262345811718515836238073767151206401301153518856261863084117830522806720091724988026238912753758728842741321962631125452397007603690828213147161082524779923217977656690620729938738637493593579030986554332929983365600498645351858259311032287255038603673559092371623508152450573114520328901356023964752007919691452267325817736458993737186645782499625271009108244464283066319286703672899072579983489390923217060759896439123664002542224320739448652100760280856659376822708469757489318601138975741332674673398744013287010157734926028885553857690986928527568183345513643493841405340336216515960577492263005895935869640388680170355559956602008446725781424406294186448191987356597234231349439612144970423553453607670980539896076129830755678496997035320965407833253024827564106139137634369073729223276013306290870569745108589555691953425838905973456020402045277209763308914554960206232009736256924772580186756141319522207725294921718312915462343078160361363553383846960548505139399895033286840696720881018873516190936790875332668388037716713371983628846427647123876839206028484855019539321203414309013359349078317684442708109380420707721884609316670890844115919485430328003782045045427179714306212096443736425106333185309439291712173748964131457055126339505630797448206543937266467780513598819701898326493823698634304517300232885711577989202198252213436266348103878280465893134757367267273070787998106442039427333831356752389552022867608019444882687015799913848344028007435473573318391433392683183310350808119762618135487309854759355514874062861549342596952172924142107516026931221488384776890082982897737446730291879463646057860245150922643155038406675509893658360245013171434008950266339128611397427065072762720784435638850797261815981640889829311279816372924598097777561860780061542996209539962622289778222035687925515624816923587028161688051866351925959041308282831656292344560797380509792762147586387403194093918908784072914782683061677368145290375867316751210995576700472080702668896225454840708563891566094833165379878656826880778411824002230371894182872741750218560916738303566779467952256289043171882463704910840114176108966886732721962477041299328127701126480816937379252670432193383737037252422640648109949768271949446603314035690852344802047361901254066018734090547241185602258990777774227998112267640217828550971732997757822132078480063679572937541658486666522477496349153939458909114070711893966158925014589218557413466978595805920442846118737559858993812751704094704683589441987367108748455825238344590847312169022782148727939463391189492670197614844682023555882702623670220037780048590734184109711421743489700235461130410757194743038055824654985134500944277565734382823809544781855576873865446612676408525656099610599632122904922702269837759379517210246904709970622218905592342713295297250152444864735548723986410577447375845839535354848695793301834018799638799647109032882330705100576647327820721394049679578545328506328971108740662347119425058136570049721680915170652342175945044850208320671417618123586179786318299685780831690870570396412395721027790555231502362947233752095464537799537099561533205740348339672508063846250895145984806005912419128377847266674736534276642841769502898357675367811688263065588633658673824962506408375115038372835022772620249930748965909363818805209285573358919511356616642366620207621749821195273997079581324770436583294747379064047198980109678439426896987141525716001278619955958195857822330127655972344605656102278931784243397921173181679168942551843972545001084360177264543609188291398193190870197352085554982436447010364604056930061109732629998885496342536165242083826794045970485571875148896445155261733932936022512072484923770668546917537799760130239749515431521685119882449894186130459966509620116086098763301693041176806682224329226242775332871610763687256195870723328043307877524636358790203675497458733291355675224110164209262831877623645688930109578467629780256868655061538875303013046396771839678689603832617247092423197470338319535426458012902591789335321267401274008846517455730445632826965876783457530838744491169924656509485523547832191865036728767649464217892184705999153129740402963748698183038874562338382601499748095259990917085908912102145060937945480263656078840495762138584807297241123858948038847547755441346942953095883666845995444217375330376891506442897865808967214069711230098278605840398004553928278899279277040904881191433857059201959385875416684311123495327965091187758621072962201690975951644757880045982789463101016053126344308150399498535070341997189179303034020728122111512612393472508113305569743396379284695355724027268142640313219643285854538956801 )
##


[/CODE]

Output:
[CODE]

**** CRX-100-C - Nested Falserial Decoding Code by Rashid Naimi
f[1011698(102008[42256(1203[1206(704[580(219[16(79[6(9[5(2[1(1[1[2])])])])])])])])]]
P36716


(01:45) gp > ##
*** last result computed in 1min, 8,890 ms.

[/CODE]

a1call 2019-04-08 20:03

1 Attachment(s)
The following [B]146866[/B] dd [B]Falserial [/B]has been proven Prime using PFGW:



[CODE]
ø[9146(56756[3013(102008[42256(1203[1206(704[580(219[16(79[6(9[5(2[1(1[1>2<])])])])])])])])])]

[/CODE]


Please see the decimal expansion in the attached text file:
:smile:

a1call 2019-07-21 14:19

An OEIS falserial sequence:

[url]https://oeis.org/A306601[/url]

a1call 2020-08-01 21:23

1 Attachment(s)
The 19th term was added to [URL="https://oeis.org/A306601"]A306601[/URL]:smile:

P242682 is verified to be Prime deterministically by adding the previous iterations to the helper file.


[CODE]
\\\\Pari-GP code to generate the Decimal-Expansion:
k = [1, 1, 2, 4, 8, 16, 5, 360, 142, 104, 34, 1904, 3127, 253, 1219, 8755, 16222, 7672, 22515]
p = 3
for(i=1, #k, p = k[i]*(p-1)*p-1)
print("\n",p,"\n")

[/CODE]

JeppeSN 2020-08-02 01:02

[QUOTE=a1call;552223]The 19th term was added to [URL="https://oeis.org/A306601"]A306601[/URL]:smile:

P242682 is verified to be Prime deterministically by adding the previous iterations to the helper file.[/QUOTE]
Cool. The next one can be relevant for the Top 5000 of the Prime Pages (Caldwell). /JeppeSN

a1call 2020-08-02 01:28

Won't be anytime soon. I am only hoping it will be in my lifetime.:smile:

I have to retool my setup for the next iteration. I intend to try a better sieving method so it will be some time before it's ready.

But thanks for the compliment.:smile:

Citrix 2020-08-02 05:48

[QUOTE=a1call;511699]
There is currently no established way of showing the integer in a reduced form, but it would be quite easy to invent one.:smile:[/QUOTE]

I am not sure if you are aware or not - your sequence is a recursive quadratic polynomial. You can just specify the seed and the depth level.

x_next=f(x) where f(x)=x^2-x+1

2-->3-->7-->43-->

For sieve:-
Factors would be of format factor==1 (mod 6)
Also given the recurrent nature you can easily calculate which depth level a prime p will divide.

a1call 2020-08-03 00:31

[QUOTE=Citrix;552266]I am not sure if you are aware or not - your sequence is a recursive quadratic polynomial. You can just specify the seed and the depth level.

x_next=f(x) where f(x)=x^2-x+1

2-->3-->7-->43-->

For sieve:-
Factors would be of format factor==1 (mod 6)
Also given the recurrent nature you can easily calculate which depth level a prime p will divide.[/QUOTE]
This is a very old thread and the concept has evolved since the OP.
Your definition seems to relate to N-1 flavour with k=1.
The oeis sequence is the N+1 flavour. There are two primary iteration-flavours and infinite combinations of the 2 are possible. The k-always-equal-1 is problematic since any (large) non-prime iteration will render the later iterations non-provable. The modular logic you point out is very helpful and should speed things up. Thank you very much.:smile:
I am lost in your last sentence, but I assume regardless that, the necessary depth will be beyond what can be executed for a 400k dd integer so perhaps we can leave it at that.
Again thanks for the insight.:smile:


All times are UTC. The time now is 18:08.

Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2021, Jelsoft Enterprises Ltd.