
The bitcoin protocol relied on using proofs of work to provide scarcity in producing new blocks.

For this question you are asked to order a list of tasks by how much expected work they require.

Assume that H is a strong cryptographic hash function that produces 128 output bits

from any length input.

Comuting H(x) takes 1 unit of time.

E indicates RSA encryption. K sub U is a known public key.

But the corresponding private key is not known.

Computing E(x) takes takes 1000 units of time.

There are no memory limits, but the task has no access to precomputed values.

Using those assumptions, order these by how much work they prove

from the least expected work to the most expected work.

For example, enter cebad if you think c requires the least amount of work

and d the most amount of expected work.