Bitcoin Forum
April 23, 2021, 12:22:14 PM
 News: Latest Bitcoin Core release: 0.21.0 [Torrent]
 Home Help Search Login Register More
 Pages: 1 ... 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 [163] 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198
 Author Topic: [XPM] [ANN] Primecoin Release - First Scientific Computing Cryptocurrency  (Read 686991 times)
mustyoshi
Sr. Member

Offline

Activity: 287
Merit: 250

 October 28, 2013, 03:54:00 PM

Hey guys, I have a few questions. I would be happy, if someone could answer me these.

So I find Primecoin very intereseting. As far as I understand, the work of proof works as follows(I read the paper): I have to find a prime chain with a certain length (9.93 at the moment) and the prime origin has to be divied by the hash of the last block. So my question is: For me as miner wouldn't it be the easiest way to find chains of the length of 9.95 all the time and save them persisetent and then just buy a lot of RAM to put the list in there and then just test to find the right divident to the last hash? Wouldn't that be much faster than try to find new prime chains all the time?

So then I tried it on block 200 000:
http://primecoin.21stcenturymoneytalk.org/index.php

The prime origin (decimal) is:
8714709782728338749181494073917835353396414535327396757824121441708798494550544 8916205980486400
The hash of block 199 999:
12600527268990194816109317079654455295674413904799950143178505281837028536927

But in the division, there is a remainder:
http://www.wolframalpha.com/input/?i=87147097827283387491814940739178353533964145353273967578241214417087984945505448916205980486400+divided+by+12600527268990194816109317079654455295674413904799950143178505281837028536927

Thanks for help
Since it's open source, if you believe that this is a better way to mine, you can go ahead and implement it. But keep in mind that when we hit dif 10 all 9 chains will become useless. So if I were you, I'd start producing 10 chains instead of 9 chains.
1619180534
Hero Member

Offline

Posts: 1619180534

Ignore
 1619180534

1619180534
 Report to moderator
1619180534
Hero Member

Offline

Posts: 1619180534

Ignore
 1619180534

1619180534
 Report to moderator
Advertised sites are not endorsed by the Bitcoin Forum. They may be unsafe, untrustworthy, or illegal in your jurisdiction. Advertise here.
1619180534
Hero Member

Offline

Posts: 1619180534

Ignore
 1619180534

1619180534
 Report to moderator
1619180534
Hero Member

Offline

Posts: 1619180534

Ignore
 1619180534

1619180534
 Report to moderator
jh00
Newbie

Offline

Activity: 39
Merit: 0

 October 28, 2013, 04:07:38 PM

So I find Primecoin very intereseting. As far as I understand, the work of proof works as follows(I read the paper): I have to find a prime chain with a certain length (9.93 at the moment) and the prime origin has to be divied by the hash of the last block. So my question is: For me as miner wouldn't it be the easiest way to find chains of the length of 9.95 all the time and save them persisetent and then just buy a lot of RAM to put the list in there and then just test to find the right divident to the last hash? Wouldn't that be much faster than try to find new prime chains all the time?
In theory it works. In practice it will not be useful because you would need to generate at least 2^256 (or maybe 2^240 after heavy optimizations) header hashes to find one that is reusable. It works, but you won't be able to find a block this way in 10000 years.
mikaelh
Sr. Member

Offline

Activity: 301
Merit: 250

 October 28, 2013, 04:29:35 PM

So then I tried it on block 200 000:
http://primecoin.21stcenturymoneytalk.org/index.php

The prime origin (decimal) is:
8714709782728338749181494073917835353396414535327396757824121441708798494550544 8916205980486400
The hash of block 199 999:
12600527268990194816109317079654455295674413904799950143178505281837028536927

But in the division, there is a remainder:
http://www.wolframalpha.com/input/?i=87147097827283387491814940739178353533964145353273967578241214417087984945505448916205980486400+divided+by+12600527268990194816109317079654455295674413904799950143178505281837028536927

It's not the hash of the previous block, it's the hash of the current block that needs to divide the prime origin.

The hash of block 200 000 is:
0x4669276a932f5b16a718943a4930b5381bf9c7780ed45b2a751171d3feda174c = 31847690383992637018076344290348582925915863984630344106427592361057663457100

That hash divides the prime origin evenly.
porcupine87
Hero Member

Offline

Activity: 546
Merit: 500

hm

 October 28, 2013, 05:51:33 PM

So I find Primecoin very intereseting. As far as I understand, the work of proof works as follows(I read the paper): I have to find a prime chain with a certain length (9.93 at the moment) and the prime origin has to be divied by the hash of the last block. So my question is: For me as miner wouldn't it be the easiest way to find chains of the length of 9.95 all the time and save them persisetent and then just buy a lot of RAM to put the list in there and then just test to find the right divident to the last hash? Wouldn't that be much faster than try to find new prime chains all the time?
In theory it works. In practice it will not be useful because you would need to generate at least 2^256 (or maybe 2^240 after heavy optimizations) header hashes to find one that is reusable. It works, but you won't be able to find a block this way in 10000 years.
No, I don't wanted to find a hash that matches. I wanted to find a lot of chains with the sufficient length and than just check, if there is prime origin of a chain that can be dividet by the given hash.

Quote
Since it's open source, if you believe that this is a better way to mine, you can go ahead and implement it.
No, I am sure I am not good enough in programming. I am just theoretical interested and pretty sure that there is a hitch in my approach.

But if someone is deep in this subject and could point out in which files there is the mining algorithm I would be glad.

"Morality, it could be argued, represents the way that people would like the world to work - whereas economics represents how it actually does work." Freakonomics
porcupine87
Hero Member

Offline

Activity: 546
Merit: 500

hm

 October 28, 2013, 06:04:13 PM

So then I tried it on block 200 000:
http://primecoin.21stcenturymoneytalk.org/index.php

The prime origin (decimal) is:
8714709782728338749181494073917835353396414535327396757824121441708798494550544 8916205980486400
The hash of block 199 999:
12600527268990194816109317079654455295674413904799950143178505281837028536927

But in the division, there is a remainder:
http://www.wolframalpha.com/input/?i=87147097827283387491814940739178353533964145353273967578241214417087984945505448916205980486400+divided+by+12600527268990194816109317079654455295674413904799950143178505281837028536927

It's not the hash of the previous block, it's the hash of the current block that needs to divide the prime origin.

The hash of block 200 000 is:
0x4669276a932f5b16a718943a4930b5381bf9c7780ed45b2a751171d3feda174c = 31847690383992637018076344290348582925915863984630344106427592361057663457100

That hash divides the prime origin evenly.

that does work neither.
http://www.wolframalpha.com/input/?i=87147097827283387491814940739178353533964145353273967578241214417087984945505448916205980486400+divided+by+31847690383992637018076344290348582925915863984630344106427592361057663457100
You get a remainder of 15041030773099237554117129289223520172513247948977130670708248520342605621500

"Morality, it could be argued, represents the way that people would like the world to work - whereas economics represents how it actually does work." Freakonomics
mikaelh
Sr. Member

Offline

Activity: 301
Merit: 250

 October 28, 2013, 06:44:26 PM

Ah, you are right and I missed the decimal point when I did the division.

Primecoin actually uses a special block header hash which is different from the "block hash". It's not normally displayed anywhere.

The block header hash of block 200 000 is:
0xc4cb2d790a4edf8a9e11615b22b1c45eb0688c793a1d07a6464704750f6d9448 = 89012302118294945913527852560669227610448148164408794304935511321715883742280

And that does divide the prime origin:
http://www.wolframalpha.com/input/?i=87147097827283387491814940739178353533964145353273967578241214417087984945505448916205980486400+divided+by+89012302118294945913527852560669227610448148164408794304935511321715883742280
arnuschky
Hero Member

Offline

Activity: 517
Merit: 500

 October 28, 2013, 09:10:58 PM

So I find Primecoin very intereseting. As far as I understand, the work of proof works as follows(I read the paper): I have to find a prime chain with a certain length (9.93 at the moment) and the prime origin has to be divied by the hash of the last block. So my question is: For me as miner wouldn't it be the easiest way to find chains of the length of 9.95 all the time and save them persisetent and then just buy a lot of RAM to put the list in there and then just test to find the right divident to the last hash? Wouldn't that be much faster than try to find new prime chains all the time?
In theory it works. In practice it will not be useful because you would need to generate at least 2^256 (or maybe 2^240 after heavy optimizations) header hashes to find one that is reusable. It works, but you won't be able to find a block this way in 10000 years.
No, I don't wanted to find a hash that matches. I wanted to find a lot of chains with the sufficient length and than just check, if there is prime origin of a chain that can be dividet by the given hash.

I always wondered the exact same thing. Question is: how many 9-chains are there?
porcupine87
Hero Member

Offline

Activity: 546
Merit: 500

hm

 October 29, 2013, 10:43:06 PM

Quote
I always wondered the exact same thing. Question is: how many 9-chains are there?
I would guess infinite But like already pointed out. When the difficulty raises the 9-chains are worthless.

Ah, you are right and I missed the decimal point when I did the division.

Primecoin actually uses a special block header hash which is different from the "block hash". It's not normally displayed anywhere.

The block header hash of block 200 000 is:
0xc4cb2d790a4edf8a9e11615b22b1c45eb0688c793a1d07a6464704750f6d9448 = 89012302118294945913527852560669227610448148164408794304935511321715883742280

And that does divide the prime origin:
http://www.wolframalpha.com/input/?i=87147097827283387491814940739178353533964145353273967578241214417087984945505448916205980486400+divided+by+89012302118294945913527852560669227610448148164408794304935511321715883742280

Thank you, but somehow not really satisfying. And you don't just making that number up?

I looked now a little bit into the source code. And I thought - cool - I can just make my own miner by changing the existing miner. But now after a few hours of searching and looking around I realise it is impossible to build a working binary out of the source code. I mean impossible for a normalo. I read this one here:
https://bitcointalk.org/index.php?topic=149479.0
-> crazy. Everything seems to be easy but not building out of the source...

"Morality, it could be argued, represents the way that people would like the world to work - whereas economics represents how it actually does work." Freakonomics
hawas
Newbie

Offline

Activity: 37
Merit: 0

 October 29, 2013, 11:15:26 PM

@porcupine87

We can make some calculations
let's see, I don't know the hash size, but say it is 256 bits, i.e. ~10^25 possible numbers.
You need aprox. 100 bytes to store a prime origin, so if you have 100TB of space, you can store up to 10^12 chains, disregarding how many years you need to find them, we will assume you already have them stored for now.

Now the chance that you have a good chain for a particular block(hash) is 10^12/10^25 = 10^-13
That's it, you will hit a suitable one every 10 trillion blocks!

Now on the time needed to calculate those chains, well if you somehow manage to get 1 million chains/day, you will need 1 million days, ~3000 years.

So, well...
SpeedDemon13
Hero Member

Offline

Activity: 518
Merit: 500

 October 30, 2013, 11:39:07 AM

Primecoin will be released shortly.

http://primecoin.org

Design paper published today at
http://ppcoin.org/static/primecoin-paper.pdf

Source code will be available at:
https://github.com/primecoin/primecoin

Official Build (Windows + Linux, primecoind & primecoin-qt) will be available at:
https://sourceforge.net/projects/primecoin/files/

Release Time is 2013 July 7, 18:00 UTC

Update:

Windows and linux builds have been released.

Blockchain is now up and running.

Mining with Qt: debug window -> console -> type 'setgenerate true' or 'setgenerate true <thread-limit>'

I'm having an issue with "No block source available" with the wallet. It's been running fine for a month running it. How do I fix this issue?

CRYPTSY exchange: https://www.cryptsy.com/users/register?refid=9017 BURST= BURST-TE3W-CFGH-7343-6VM6R BTC=1CNsqGUR9YJNrhydQZnUPbaDv6h4uaYCHv ETH=0x144bc9fe471d3c71d8e09d58060d78661b1d4f32 SHF=0x13a0a2cb0d55eca975cf2d97015f7d580ce52d85 EXP=0xd71921dca837e415a58ca0d6dd2223cc84e0ea2f SC=6bdf9d12a983fed6723abad91a39be4f95d227f9bdb0490de3b8e5d45357f63d564638b1bd71 CLAMS=xGVTdM9EJpNBCYAjHFVxuZGcqvoL22nP6f SOIL=0x8b5c989bc931c0769a50ecaf9ffe490c67cb5911
Trillium
Hero Member

Offline

Activity: 546
Merit: 500

 October 30, 2013, 01:20:05 PM

Quote
I'm having an issue with "No block source available" with the wallet. It's been running fine for a month running it. How do I fix this issue?

Installed any 3rd party security or network management software lately?

Check Windows firewall exception exists for the relevent .exe's in their current location. These can sometime be reset with windows updates or if the file location changes (although Windows Firewall itself would suggest that these problems should not occur, they can..).

And,

Quote
Q: How do I solve a problem with the client not being able to synchronize or connect to any nodes?
Code:

seednode=primeseed.muuttuja.org

Also check that your firewall allows outgoing connections to other nodes. You may also allow incoming connections if you want. The default port used by Primecoin is 9911 (TCP).

Alternatively to above, open console and copy/paste this command, press enter afterwards

Code:

BTC:1AaaAAAAaAAE2L1PXM1x9VDNqvcrfa9He6
SpeedDemon13
Hero Member

Offline

Activity: 518
Merit: 500

 October 30, 2013, 02:23:34 PM

Quote
I'm having an issue with "No block source available" with the wallet. It's been running fine for a month running it. How do I fix this issue?

Installed any 3rd party security or network management software lately?

Check Windows firewall exception exists for the relevent .exe's in their current location. These can sometime be reset with windows updates or if the file location changes (although Windows Firewall itself would suggest that these problems should not occur, they can..).

And,

Quote
Q: How do I solve a problem with the client not being able to synchronize or connect to any nodes?
Code:

seednode=primeseed.muuttuja.org

Also check that your firewall allows outgoing connections to other nodes. You may also allow incoming connections if you want. The default port used by Primecoin is 9911 (TCP).

Alternatively to above, open console and copy/paste this command, press enter afterwards

Code:

Do I still need a conf file even if I'm mining on ypool? If yes, how does the setup look like? I usually do a conf if I'm solo mining.

CRYPTSY exchange: https://www.cryptsy.com/users/register?refid=9017 BURST= BURST-TE3W-CFGH-7343-6VM6R BTC=1CNsqGUR9YJNrhydQZnUPbaDv6h4uaYCHv ETH=0x144bc9fe471d3c71d8e09d58060d78661b1d4f32 SHF=0x13a0a2cb0d55eca975cf2d97015f7d580ce52d85 EXP=0xd71921dca837e415a58ca0d6dd2223cc84e0ea2f SC=6bdf9d12a983fed6723abad91a39be4f95d227f9bdb0490de3b8e5d45357f63d564638b1bd71 CLAMS=xGVTdM9EJpNBCYAjHFVxuZGcqvoL22nP6f SOIL=0x8b5c989bc931c0769a50ecaf9ffe490c67cb5911
porcupine87
Hero Member

Offline

Activity: 546
Merit: 500

hm

 October 30, 2013, 05:13:07 PM

@porcupine87

We can make some calculations
let's see, I don't know the hash size, but say it is 256 bits, i.e. ~10^25 possible numbers.
You need aprox. 100 bytes to store a prime origin, so if you have 100TB of space, you can store up to 10^12 chains, disregarding how many years you need to find them, we will assume you already have them stored for now.

Now the chance that you have a good chain for a particular block(hash) is 10^12/10^25 = 10^-13
That's it, you will hit a suitable one every 10 trillion blocks!

Now on the time needed to calculate those chains, well if you somehow manage to get 1 million chains/day, you will need 1 million days, ~3000 years.

So, well...

Ah I think I get it now. So when you try to find a chain, you start with the hash. Let's assume the hash is 100. So then you try 200 as prime origin. If it doesn't work, you try 300. Or maybe you start with 234*100. You always start with a prime origin which can be divided by the hash.

Because now I did some calculations, too. My fallacy was that I thought there are so many big numbers which can be divided by the hash. But now I realize, it is only every 2^256th number. And that is not much...

Ok, thank you guys But that is good news for me, because if I was right this would be a problem.

"Morality, it could be argued, represents the way that people would like the world to work - whereas economics represents how it actually does work." Freakonomics
mikaelh
Sr. Member

Offline

Activity: 301
Merit: 250

 October 30, 2013, 05:40:39 PM

Do I still need a conf file even if I'm mining on ypool? If yes, how does the setup look like? I usually do a conf if I'm solo mining.

Well, you only need to get your wallet connected once and the issue should be fixed. Typing the addnode command in the debugging console should be easier.
mikaelh
Sr. Member

Offline

Activity: 301
Merit: 250

 October 30, 2013, 05:44:19 PM

Ah I think I get it now. So when you try to find a chain, you start with the hash. Let's assume the hash is 100. So then you try 200 as prime origin. If it doesn't work, you try 300. Or maybe you start with 234*100. You always start with a prime origin which can be divided by the hash.

Because now I did some calculations, too. My fallacy was that I thought there are so many big numbers which can be divided by the hash. But now I realize, it is only every 2^256th number. And that is not much...

Ok, thank you guys But that is good news for me, because if I was right this would be a problem.

Actually, there is still a small loophole. It's possible to discovered a prime chain such that the origin has lots of factors in it. Sunny has outlined the idea in the v0.2 protocol proposal:
http://www.peercointalk.org/index.php?topic=453.0

It's not really realistic but the protocol is still getting tightened up in the future.
SlyWax
Sr. Member

Offline

Activity: 248
Merit: 251

 October 30, 2013, 06:02:09 PM

Ah I think I get it now. So when you try to find a chain, you start with the hash. Let's assume the hash is 100. So then you try 200 as prime origin. If it doesn't work, you try 300. Or maybe you start with 234*100. You always start with a prime origin which can be divided by the hash.

Because now I did some calculations, too. My fallacy was that I thought there are so many big numbers which can be divided by the hash. But now I realize, it is only every 2^256th number. And that is not much...

Ok, thank you guys But that is good news for me, because if I was right this would be a problem.

Actually, there is still a small loophole. It's possible to discovered a prime chain such that the origin has lots of factors in it. Sunny has outlined the idea in the v0.2 protocol proposal:
http://www.peercointalk.org/index.php?topic=453.0

It's not really realistic but the protocol is still getting tightened up in the future.

How come a prime chain origin be divisible by any number (except 1 and itself) since it's a prime number ?
What did I get wrong ?
mikaelh
Sr. Member

Offline

Activity: 301
Merit: 250

 October 30, 2013, 06:21:44 PM

How come a prime chain origin be divisible by any number (except 1 and itself) since it's a prime number ?
What did I get wrong ?

The origin is defined as the number next to the first prime in the chain (either -1 or +1 depending on chain type). In the case Primecoin, the primes are always odd, which means that the origin is even and thus is not a prime.
haightst
Newbie

Offline

Activity: 42
Merit: 0

 October 30, 2013, 06:26:01 PM

Primecoin will be released shortly.

http://primecoin.org

Design paper published today at
http://ppcoin.org/static/primecoin-paper.pdf

Source code will be available at:
https://github.com/primecoin/primecoin

Official Build (Windows + Linux, primecoind & primecoin-qt) will be available at:
https://sourceforge.net/projects/primecoin/files/

Release Time is 2013 July 7, 18:00 UTC

Update:

Windows and linux builds have been released.

Blockchain is now up and running.

Mining with Qt: debug window -> console -> type 'setgenerate true' or 'setgenerate true <thread-limit>'

this one looks like it has potential...
soulmann
Full Member

Offline

Activity: 221
Merit: 100

 October 31, 2013, 05:53:14 AM

Hi

I mine primecoin on VPS Ubuntu 13.04. But I see the error

sometimes and the mining stops. Is there any script to restart the miner automatically?

I use xolokram's miner v0.6 RC3

Thank you
C. Bergmann
Hero Member

Offline

Activity: 803
Merit: 500

 October 31, 2013, 09:10:04 AM

Hi,

out of curiosity I looked in primecointalk and found this information:

Quote
Yeah big time

http://users.cybercity.dk/~dsl522332/math/simultprime.htm

We now own the records for 13-primes, 12-primes, 11-primes and 10-primes

I like the idea to use mining for scientific issues. Can you explain to me, what the records mean?

My hypothesis is -- no, I don't have a hypothesis. Looking on http://users.cybercity.dk/~dsl522332/math/simultprime.htm#history I found out there are several records for prime numbers, but primecoin is far away from the records with 17425170 digits. But there are several categories regarding to k. Is k the number of primes?

thanks

 ▄▄████▄▄▄████████████▄▄▄█████▀▀    ▀▀█████▄▄▄█████▀▀            ▀▀█████▄▄███▀       ▄████▄       ▀███▄███      ▄██████████▄      ██████    ▄██████████████▄    ██████    ████████████████    ██████    ████████████████    ██████    ████████████████    ██████    ▀██████████████▀    ██████      ▀██████████▀      ███▀███▄       ▀████▀       ▄███▀▀█████▄▄            ▄▄█████▀▀▀█████▄▄    ▄▄█████▀▀▀████████████▀▀▀████▀▀ Gabro .▬▬▬▬▬▬▬▬▬▬......GABROTECH.▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄DEMOCRATISE LOYALTY REWARDS USING BLOCKCHAIN ████████████████████████████████████ ▄▄████████▄▄▄███▀▀      ▀▀███▄▄██▀              ▀██▄▄██            ▄▄▄   ██▄▄██   █▄       █████▄▀ ██▄██    ███▄▄ ▄▄██████▀   ████     ██████████████   ████      █████████████   ████       ▀██████████    ██▀██      ▄████████▀    ██▀▀██ ▄▄████████▀▀     ██▀▀██▄              ▄██▀▀███▄▄      ▄▄███▀▀▀████████▀▀ ▄▄████████▄▄▄███▀▀      ▀▀███▄▄██▀       ▄▄▄▄   ▀██▄▄██       ▄█████     ██▄▄██        ███         ██▄██       ▄▄███▄▄        ████       ███████        ████         ███          ████         ███          ██▀██        ███         ██▀▀██       ███        ██▀▀██▄     ███      ▄██▀▀███▄▄      ▄▄███▀▀▀████████▀▀ ▄▄████████▄▄▄███▀▀      ▀▀███▄▄██▀              ▀██▄▄██              ▄▄▄ ██▄▄██         ▄▄▄██████  ██▄██    ▄▄▄███████▀████   ████ ▀█████████▀ ▄████    ████    ▀████▀ ▄██████    ████       ▀ ▄███████     ██▀██        ██▀█████    ██▀▀██       █   ▀██    ██▀▀██▄              ▄██▀▀███▄▄      ▄▄███▀▀▀████████▀▀ ████████████████████████████████████ ▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄WHITEPAPER▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄TOKEN SALES▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄
 Pages: 1 ... 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 [163] 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198