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:
- The probability that a randomly selected light bulb lasts between 3
and 12 months.
- The 95th percentile of the distribution.
- 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==