library(ggplot2)

Replicate the examples and complete the 5 exercises below

Univariate Continuous Probability Distributions

Example 0: Problem 3.2-11 page 104 in the text

# (a)
pchisq(q = 7.564, df = 17)

# (b) 
pchisq(q = 27.59, df = 17, lower.tail = FALSE)

# (d)
qchisq(p = 0.05, df = 17) # alpha=0.95 is the (100-95) percentile

# (f)
qchisq(p = 0.975, df = 17) # alpha=0.025 is (100-2.5) percentile

Example 1:

The lifetime of a certain engine follows a normal distribution with mean and standard deviation of 10 and 3.5 years, respectively. The manufacturer replaces all catastrophic engine failures within the guarantee period free of charge. If the manufacturer is willing to replace no more than 4% of the defective engines, what is the largest guarantee period the manufacturer should advertise?

Hint: Find the 4 percentile using the qnorm() - this is like \(z_{96}\)

CODE:

# uncomment the code below to see solution - explain why
qnorm(p = 0.04, mean = 10, sd = 3.5)

The code calculates the guarantee period by finding the value on the normal distribution curve such that only 4% of the engines will fail within that period. In other words, it’s finding the threshold beyond which 96% of the engines will last, and only 4% will fail. This is the largest guarantee period the manufacturer can offer while still replacing no more than 4% of the defective engines.

Example 2:

Exponential Distribution: Light Bulbs If the life of a certain type of light bulb has an exponential distribution with a mean of 8 months, find:

  1. The probability that a randomly selected light bulb lasts between 3 and 12 months.
  2. The 95th percentile of the distribution.
  3. The probability that a light bulb that has lasted for 10 months will last more than 25 months.

Solution:

CODE:

# run the code below to see solution - explain why
pexp(q = 12,rate = 1/8) - pexp(q = 3, rate = 1/8)

f1 <- function(x){(1/8) * exp(-x/8)}         # define f1
integrate(f1, lower = 3, upper = 12)$value   # integrate f1

qexp(p = 0.95, rate = 1/8) # the 95 quantile/percentile or z_0.05

pexp(q = 25, rate = 1/8, lower = FALSE)/pexp(q = 10, rate = 1/8, lower = FALSE)
# or
1 - pexp(q = 15, rate = 1/8)
# or
pexp(q = 15, rate = 1/8, lower = FALSE)

A: In this code, pexp is used to calculate the cumulative distribution function (CDF) of the exponential distribution. The q parameter represents the value (in this case, the number of months), and rate is the rate parameter, which is the reciprocal of the mean (1/8 in this case). The code calculates the probability that a light bulb will last between 3 and 12 months by subtracting the CDF value at 3 months from the CDF value at 12 months.

B: Here, qexp is used to find the quantile (percentile) of the exponential distribution. The p parameter represents the desired percentile (0.95 for the 95th percentile), and rate is the rate parameter. This code calculates the value at which 95% of the light bulbs will last less than or equal to.

C: This code calculates the probability that a light bulb, which has already lasted 10 months, will last more than 25 months. It does so by finding the complement of the CDF at 25 months and dividing it by the complement of the CDF at 10 months. Alternatively, it could be calculated by subtracting the CDF value at 15 months (25 - 10) from 1.

Example 3: Problem 3.3-1 page 112 in the text

# (a) uncomment the code below to see solution - explain why
pnorm(q = 2.06)-pnorm(q = 0.53)

# (b)
pnorm(q = -1.77,lower.tail = FALSE)

# (g) P(|Z|<2)=P(-2<Z<2)
pnorm(q = 2)-pnorm(q = -2)

# (h) P(|Z|>3)=P(Z<-3)+P(Z>3) - Note: Answer wrong in the text

pnorm(q = -1.39) + pnorm(q = 1.39,lower.tail = FALSE)

Example 4: Problem 3.3-3 and 4 page 112 in the text

# (Pr 3) 
# (a) uncomment the code below to see solution - explain why
qnorm(p = 0.975) # this is 97.5 percentile/quantile

# (b) P(|Z|<=c)=0.95 P(|Z|<=c)=P(-c < X< c)=P(X<c)-P(X<-c) distribution is symmetric

# (Pr 4) 
# (a) z_0.10=(100-10)% = 90th percentile
qnorm(p = 0.90) # this is the upper 10 percentile/quantile

# (b) First find z_0.05
qnorm(p = 0.95)

Example 5: Problem 3.3-5 page 112 in the text

# (a) uncomment the code below to see solution - explain why
pnorm(q = 12, mean = 6, sd = 5) - pnorm(q = 6,mean = 6, sd = 5)

# (d)
pnorm(q = 21, mean = 6, sd = 5, lower.tail = FALSE)

# (f) P(|X-6|<10)=P(-4 <X < 16)
pnorm(q = 16, mean = 6, sd = 5) - pnorm(q = -4,mean = 6, sd = 5)

Exercise 1 Complete Problem 3.2-11 page 104 in the text - parts c) and e)

YOUR CODE

# (c) P(6.408 < X < 27.59)
c <- pchisq(27.59, df) - pchisq(6.408, df)
c

# (e) χ² 0.025(17)
e <- qchisq(0.025, df)
e

Exercise 2 Complete Problem 3.3-1 page 112 in the text - parts c) and d)

YOUR CODE

# (c) P(Z > -1.77)
c <- 1 - pnorm(-1.77)
c

# (d) P(Z > 2.89)
d <- 1 - pnorm(2.89)
d

Exercise 3 Complete Problem 3.3-2 page 112 in the text - parts c) and d)

YOUR CODE

# (c) P(-2.13 ≤ Z ≤ -0.56)
c <- pnorm(-0.56) - pnorm(-2.13)
c

# (d) P(|Z| > 1.39)
d <- 1 - pnorm(1.39) + pnorm(-1.39)
d

Exercise 4 Complete Problem 3.3-3 page 112 in the text - parts c) and d)

YOUR CODE

c_c <- qnorm(1 - 0.05)
c_c

c_d <- qnorm(0.95)  # Since P(|Z| ≤ c) = 0.90 is equivalent to P(Z ≤ c) = 0.95
c_d

Exercise 5 Complete Problem 3.3-5 page 112 in the text - parts c) and d)

YOUR CODE

# (c) P(-2 < X ≤ 0)
c <- pnorm(0, mean, std_dev) - pnorm(-2, mean, std_dev)
c

# (d) P(X > 21)
d <- 1 - pnorm(21, mean, std_dev)
d
LS0tDQp0aXRsZTogUiBMYWIgMyBFeGVyY2lzZSAtIFByb2JhYmlsaXR5IA0KYXV0aG9yOiAiS2hhbGkgQW50aG9ueSBDcmF3Zm9yZCINCmRhdGU6ICJgciBTeXMuRGF0ZSgpYCINCm91dHB1dDogaHRtbF9ub3RlYm9vaw0KLS0tDQoNCmBgYHtyIHNldHVwLCBpbmNsdWRlPUZBTFNFfQ0Ka25pdHI6Om9wdHNfY2h1bmskc2V0KGVjaG8gPSBUUlVFKQ0KYGBgDQoNCmBgYHtyIHBhY2thZ2VzfQ0KbGlicmFyeShnZ3Bsb3QyKQ0KDQpgYGANCg0KIyMjIFJlcGxpY2F0ZSB0aGUgZXhhbXBsZXMgYW5kIGNvbXBsZXRlIHRoZSAqKjUqKiBleGVyY2lzZXMgYmVsb3cNCg0KIyMjIFVuaXZhcmlhdGUgQ29udGludW91cyBQcm9iYWJpbGl0eSBEaXN0cmlidXRpb25zDQoNCioqRXhhbXBsZSAwOiBQcm9ibGVtIDMuMi0xMSBwYWdlIDEwNCBpbiB0aGUgdGV4dCoqDQoNCmBgYHtyfQ0KIyAoYSkNCnBjaGlzcShxID0gNy41NjQsIGRmID0gMTcpDQoNCiMgKGIpIA0KcGNoaXNxKHEgPSAyNy41OSwgZGYgPSAxNywgbG93ZXIudGFpbCA9IEZBTFNFKQ0KDQojIChkKQ0KcWNoaXNxKHAgPSAwLjA1LCBkZiA9IDE3KSAjIGFscGhhPTAuOTUgaXMgdGhlICgxMDAtOTUpIHBlcmNlbnRpbGUNCg0KIyAoZikNCnFjaGlzcShwID0gMC45NzUsIGRmID0gMTcpICMgYWxwaGE9MC4wMjUgaXMgKDEwMC0yLjUpIHBlcmNlbnRpbGUNCg0KYGBgDQoNCioqRXhhbXBsZSAxOioqDQoNClRoZSBsaWZldGltZSBvZiBhIGNlcnRhaW4gZW5naW5lIGZvbGxvd3MgYSBub3JtYWwgZGlzdHJpYnV0aW9uIHdpdGggbWVhbiBhbmQgc3RhbmRhcmQgZGV2aWF0aW9uIG9mIDEwIGFuZCAzLjUgeWVhcnMsIHJlc3BlY3RpdmVseS4gVGhlIG1hbnVmYWN0dXJlciByZXBsYWNlcyBhbGwgY2F0YXN0cm9waGljIGVuZ2luZSBmYWlsdXJlcyB3aXRoaW4gdGhlIGd1YXJhbnRlZSBwZXJpb2QgZnJlZSBvZiBjaGFyZ2UuIElmIHRoZSBtYW51ZmFjdHVyZXIgaXMgd2lsbGluZyB0byByZXBsYWNlIG5vIG1vcmUgdGhhbiA0JSBvZiB0aGUgZGVmZWN0aXZlIGVuZ2luZXMsIHdoYXQgaXMgdGhlIGxhcmdlc3QgZ3VhcmFudGVlIHBlcmlvZCB0aGUgbWFudWZhY3R1cmVyIHNob3VsZCBhZHZlcnRpc2U/DQoNCkhpbnQ6IEZpbmQgdGhlIGA0YCBwZXJjZW50aWxlIHVzaW5nIHRoZSBgcW5vcm0oKWAgLSB0aGlzIGlzIGxpa2UgJHpfezk2fSQNCg0KQ09ERToNCg0KYGBge3IgZXgxfQ0KIyB1bmNvbW1lbnQgdGhlIGNvZGUgYmVsb3cgdG8gc2VlIHNvbHV0aW9uIC0gZXhwbGFpbiB3aHkNCnFub3JtKHAgPSAwLjA0LCBtZWFuID0gMTAsIHNkID0gMy41KQ0KDQpgYGANCg0KVGhlIGNvZGUgY2FsY3VsYXRlcyB0aGUgZ3VhcmFudGVlIHBlcmlvZCBieSBmaW5kaW5nIHRoZSB2YWx1ZSBvbiB0aGUgbm9ybWFsIGRpc3RyaWJ1dGlvbiBjdXJ2ZSBzdWNoIHRoYXQgb25seSA0JSBvZiB0aGUgZW5naW5lcyB3aWxsIGZhaWwgd2l0aGluIHRoYXQgcGVyaW9kLiBJbiBvdGhlciB3b3JkcywgaXQncyBmaW5kaW5nIHRoZSB0aHJlc2hvbGQgYmV5b25kIHdoaWNoIDk2JSBvZiB0aGUgZW5naW5lcyB3aWxsIGxhc3QsIGFuZCBvbmx5IDQlIHdpbGwgZmFpbC4gVGhpcyBpcyB0aGUgbGFyZ2VzdCBndWFyYW50ZWUgcGVyaW9kIHRoZSBtYW51ZmFjdHVyZXIgY2FuIG9mZmVyIHdoaWxlIHN0aWxsIHJlcGxhY2luZyBubyBtb3JlIHRoYW4gNCUgb2YgdGhlIGRlZmVjdGl2ZSBlbmdpbmVzLg0KDQoqKkV4YW1wbGUgMjoqKg0KDQoqKkV4cG9uZW50aWFsIERpc3RyaWJ1dGlvbjogTGlnaHQgQnVsYnMqKiBJZiB0aGUgbGlmZSBvZiBhIGNlcnRhaW4gdHlwZSBvZiBsaWdodCBidWxiIGhhcyBhbiBleHBvbmVudGlhbCBkaXN0cmlidXRpb24gd2l0aCBhIG1lYW4gb2YgOCBtb250aHMsIGZpbmQ6DQoNCihhKSBUaGUgcHJvYmFiaWxpdHkgdGhhdCBhIHJhbmRvbWx5IHNlbGVjdGVkIGxpZ2h0IGJ1bGIgbGFzdHMgYmV0d2VlbiAzIGFuZCAxMiBtb250aHMuDQooYikgVGhlIDk1dGggcGVyY2VudGlsZSBvZiB0aGUgZGlzdHJpYnV0aW9uLg0KKGMpIFRoZSBwcm9iYWJpbGl0eSB0aGF0IGEgbGlnaHQgYnVsYiB0aGF0IGhhcyBsYXN0ZWQgZm9yIDEwIG1vbnRocyB3aWxsIGxhc3QgbW9yZSB0aGFuIDI1IG1vbnRocy4NCg0KKipTb2x1dGlvbjoqKg0KDQpDT0RFOg0KDQpgYGB7ciBFeHAoMS84KX0NCiMgcnVuIHRoZSBjb2RlIGJlbG93IHRvIHNlZSBzb2x1dGlvbiAtIGV4cGxhaW4gd2h5DQpwZXhwKHEgPSAxMixyYXRlID0gMS84KSAtIHBleHAocSA9IDMsIHJhdGUgPSAxLzgpDQoNCmYxIDwtIGZ1bmN0aW9uKHgpeygxLzgpICogZXhwKC14LzgpfSAgICAgICAgICMgZGVmaW5lIGYxDQppbnRlZ3JhdGUoZjEsIGxvd2VyID0gMywgdXBwZXIgPSAxMikkdmFsdWUgICAjIGludGVncmF0ZSBmMQ0KDQpxZXhwKHAgPSAwLjk1LCByYXRlID0gMS84KSAjIHRoZSA5NSBxdWFudGlsZS9wZXJjZW50aWxlIG9yIHpfMC4wNQ0KDQpwZXhwKHEgPSAyNSwgcmF0ZSA9IDEvOCwgbG93ZXIgPSBGQUxTRSkvcGV4cChxID0gMTAsIHJhdGUgPSAxLzgsIGxvd2VyID0gRkFMU0UpDQojIG9yDQoxIC0gcGV4cChxID0gMTUsIHJhdGUgPSAxLzgpDQojIG9yDQpwZXhwKHEgPSAxNSwgcmF0ZSA9IDEvOCwgbG93ZXIgPSBGQUxTRSkNCg0KYGBgDQoNCkE6IEluIHRoaXMgY29kZSwgcGV4cCBpcyB1c2VkIHRvIGNhbGN1bGF0ZSB0aGUgY3VtdWxhdGl2ZSBkaXN0cmlidXRpb24gZnVuY3Rpb24gKENERikgb2YgdGhlIGV4cG9uZW50aWFsIGRpc3RyaWJ1dGlvbi4gVGhlIHEgcGFyYW1ldGVyIHJlcHJlc2VudHMgdGhlIHZhbHVlIChpbiB0aGlzIGNhc2UsIHRoZSBudW1iZXIgb2YgbW9udGhzKSwgYW5kIHJhdGUgaXMgdGhlIHJhdGUgcGFyYW1ldGVyLCB3aGljaCBpcyB0aGUgcmVjaXByb2NhbCBvZiB0aGUgbWVhbiAoMS84IGluIHRoaXMgY2FzZSkuIFRoZSBjb2RlIGNhbGN1bGF0ZXMgdGhlIHByb2JhYmlsaXR5IHRoYXQgYSBsaWdodCBidWxiIHdpbGwgbGFzdCBiZXR3ZWVuIDMgYW5kIDEyIG1vbnRocyBieSBzdWJ0cmFjdGluZyB0aGUgQ0RGIHZhbHVlIGF0IDMgbW9udGhzIGZyb20gdGhlIENERiB2YWx1ZSBhdCAxMiBtb250aHMuDQoNCkI6IEhlcmUsIHFleHAgaXMgdXNlZCB0byBmaW5kIHRoZSBxdWFudGlsZSAocGVyY2VudGlsZSkgb2YgdGhlIGV4cG9uZW50aWFsIGRpc3RyaWJ1dGlvbi4gVGhlIHAgcGFyYW1ldGVyIHJlcHJlc2VudHMgdGhlIGRlc2lyZWQgcGVyY2VudGlsZSAoMC45NSBmb3IgdGhlIDk1dGggcGVyY2VudGlsZSksIGFuZCByYXRlIGlzIHRoZSByYXRlIHBhcmFtZXRlci4gVGhpcyBjb2RlIGNhbGN1bGF0ZXMgdGhlIHZhbHVlIGF0IHdoaWNoIDk1JSBvZiB0aGUgbGlnaHQgYnVsYnMgd2lsbCBsYXN0IGxlc3MgdGhhbiBvciBlcXVhbCB0by4NCg0KQzogVGhpcyBjb2RlIGNhbGN1bGF0ZXMgdGhlIHByb2JhYmlsaXR5IHRoYXQgYSBsaWdodCBidWxiLCB3aGljaCBoYXMgYWxyZWFkeSBsYXN0ZWQgMTAgbW9udGhzLCB3aWxsIGxhc3QgbW9yZSB0aGFuIDI1IG1vbnRocy4gSXQgZG9lcyBzbyBieSBmaW5kaW5nIHRoZSBjb21wbGVtZW50IG9mIHRoZSBDREYgYXQgMjUgbW9udGhzIGFuZCBkaXZpZGluZyBpdCBieSB0aGUgY29tcGxlbWVudCBvZiB0aGUgQ0RGIGF0IDEwIG1vbnRocy4gQWx0ZXJuYXRpdmVseSwgaXQgY291bGQgYmUgY2FsY3VsYXRlZCBieSBzdWJ0cmFjdGluZyB0aGUgQ0RGIHZhbHVlIGF0IDE1IG1vbnRocyAoMjUgLSAxMCkgZnJvbSAxLg0KDQoqKkV4YW1wbGUgMzogUHJvYmxlbSAzLjMtMSBwYWdlIDExMiBpbiB0aGUgdGV4dCoqDQoNCmBgYHtyIGV4M30NCiMgKGEpIHVuY29tbWVudCB0aGUgY29kZSBiZWxvdyB0byBzZWUgc29sdXRpb24gLSBleHBsYWluIHdoeQ0KcG5vcm0ocSA9IDIuMDYpLXBub3JtKHEgPSAwLjUzKQ0KDQojIChiKQ0KcG5vcm0ocSA9IC0xLjc3LGxvd2VyLnRhaWwgPSBGQUxTRSkNCg0KIyAoZykgUCh8Wnw8Mik9UCgtMjxaPDIpDQpwbm9ybShxID0gMiktcG5vcm0ocSA9IC0yKQ0KDQojIChoKSBQKHxafD4zKT1QKFo8LTMpK1AoWj4zKSAtIE5vdGU6IEFuc3dlciB3cm9uZyBpbiB0aGUgdGV4dA0KDQpwbm9ybShxID0gLTEuMzkpICsgcG5vcm0ocSA9IDEuMzksbG93ZXIudGFpbCA9IEZBTFNFKQ0KDQoNCmBgYA0KDQoqKkV4YW1wbGUgNDogUHJvYmxlbSAzLjMtMyBhbmQgNCBwYWdlIDExMiBpbiB0aGUgdGV4dCoqDQoNCmBgYHtyIGV4NH0NCiMgKFByIDMpIA0KIyAoYSkgdW5jb21tZW50IHRoZSBjb2RlIGJlbG93IHRvIHNlZSBzb2x1dGlvbiAtIGV4cGxhaW4gd2h5DQpxbm9ybShwID0gMC45NzUpICMgdGhpcyBpcyA5Ny41IHBlcmNlbnRpbGUvcXVhbnRpbGUNCg0KIyAoYikgUCh8Wnw8PWMpPTAuOTUgUCh8Wnw8PWMpPVAoLWMgPCBYPCBjKT1QKFg8YyktUChYPC1jKSBkaXN0cmlidXRpb24gaXMgc3ltbWV0cmljDQoNCiMgKFByIDQpIA0KIyAoYSkgel8wLjEwPSgxMDAtMTApJSA9IDkwdGggcGVyY2VudGlsZQ0KcW5vcm0ocCA9IDAuOTApICMgdGhpcyBpcyB0aGUgdXBwZXIgMTAgcGVyY2VudGlsZS9xdWFudGlsZQ0KDQojIChiKSBGaXJzdCBmaW5kIHpfMC4wNQ0KcW5vcm0ocCA9IDAuOTUpDQoNCmBgYA0KDQoqKkV4YW1wbGUgNTogUHJvYmxlbSAzLjMtNSBwYWdlIDExMiBpbiB0aGUgdGV4dCoqDQoNCmBgYHtyIGV4NX0NCiMgKGEpIHVuY29tbWVudCB0aGUgY29kZSBiZWxvdyB0byBzZWUgc29sdXRpb24gLSBleHBsYWluIHdoeQ0KcG5vcm0ocSA9IDEyLCBtZWFuID0gNiwgc2QgPSA1KSAtIHBub3JtKHEgPSA2LG1lYW4gPSA2LCBzZCA9IDUpDQoNCiMgKGQpDQpwbm9ybShxID0gMjEsIG1lYW4gPSA2LCBzZCA9IDUsIGxvd2VyLnRhaWwgPSBGQUxTRSkNCg0KIyAoZikgUCh8WC02fDwxMCk9UCgtNCA8WCA8IDE2KQ0KcG5vcm0ocSA9IDE2LCBtZWFuID0gNiwgc2QgPSA1KSAtIHBub3JtKHEgPSAtNCxtZWFuID0gNiwgc2QgPSA1KQ0KDQpgYGANCg0KKipFeGVyY2lzZSAxKiogQ29tcGxldGUgUHJvYmxlbSAqKjMuMi0xMSoqIHBhZ2UgMTA0IGluIHRoZSB0ZXh0IC0gcGFydHMgYykgYW5kIGUpDQoNCllPVVIgQ09ERQ0KDQpgYGB7cn0NCiMgKGMpIFAoNi40MDggPCBYIDwgMjcuNTkpDQpjIDwtIHBjaGlzcSgyNy41OSwgZGYpIC0gcGNoaXNxKDYuNDA4LCBkZikNCmMNCg0KIyAoZSkgz4fCsiAwLjAyNSgxNykNCmUgPC0gcWNoaXNxKDAuMDI1LCBkZikNCmUNCmBgYA0KDQoqKkV4ZXJjaXNlIDIqKiBDb21wbGV0ZSBQcm9ibGVtICoqMy4zLTEqKiBwYWdlIDExMiBpbiB0aGUgdGV4dCAtIHBhcnRzIGMpIGFuZCBkKQ0KDQpZT1VSIENPREUNCg0KYGBge3J9DQojIChjKSBQKFogPiAtMS43NykNCmMgPC0gMSAtIHBub3JtKC0xLjc3KQ0KYw0KDQojIChkKSBQKFogPiAyLjg5KQ0KZCA8LSAxIC0gcG5vcm0oMi44OSkNCmQNCmBgYA0KDQoqKkV4ZXJjaXNlIDMqKiBDb21wbGV0ZSBQcm9ibGVtICoqMy4zLTIqKiBwYWdlIDExMiBpbiB0aGUgdGV4dCAtIHBhcnRzIGMpIGFuZCBkKQ0KDQpZT1VSIENPREUNCg0KYGBge3J9DQojIChjKSBQKC0yLjEzIOKJpCBaIOKJpCAtMC41NikNCmMgPC0gcG5vcm0oLTAuNTYpIC0gcG5vcm0oLTIuMTMpDQpjDQoNCiMgKGQpIFAofFp8ID4gMS4zOSkNCmQgPC0gMSAtIHBub3JtKDEuMzkpICsgcG5vcm0oLTEuMzkpDQpkDQpgYGANCg0KKipFeGVyY2lzZSA0KiogQ29tcGxldGUgUHJvYmxlbSAqKjMuMy0zKiogcGFnZSAxMTIgaW4gdGhlIHRleHQgLSBwYXJ0cyBjKSBhbmQgZCkNCg0KWU9VUiBDT0RFDQoNCmBgYHtyfQ0KY19jIDwtIHFub3JtKDEgLSAwLjA1KQ0KY19jDQoNCmNfZCA8LSBxbm9ybSgwLjk1KSAgIyBTaW5jZSBQKHxafCDiiaQgYykgPSAwLjkwIGlzIGVxdWl2YWxlbnQgdG8gUChaIOKJpCBjKSA9IDAuOTUNCmNfZA0KDQpgYGANCg0KKipFeGVyY2lzZSA1KiogQ29tcGxldGUgUHJvYmxlbSAqKjMuMy01KiogcGFnZSAxMTIgaW4gdGhlIHRleHQgLSBwYXJ0cyBjKSBhbmQgZCkNCg0KWU9VUiBDT0RFDQoNCmBgYHtyfQ0KIyAoYykgUCgtMiA8IFgg4omkIDApDQpjIDwtIHBub3JtKDAsIG1lYW4sIHN0ZF9kZXYpIC0gcG5vcm0oLTIsIG1lYW4sIHN0ZF9kZXYpDQpjDQoNCiMgKGQpIFAoWCA+IDIxKQ0KZCA8LSAxIC0gcG5vcm0oMjEsIG1lYW4sIHN0ZF9kZXYpDQpkDQpgYGANCg==