Email             :
RPubs            : https://rpubs.com/naftalibrigitta/
Jurusan          : Statistika Bisnis
Address         : Perumahan Ciater Permai
                         Jl. Anggrek III, Blok A5 No. 10, RT 001, RW 004, Serpong, Tangerang Selatan, Banten 15310.


1 Intergral

1.1 Tentu

library(mosaicCalc)
## Loading required package: mosaicCore
## Registered S3 method overwritten by 'mosaic':
##   method                           from   
##   fortify.SpatialPolygonsDataFrame ggplot2
## 
## Attaching package: 'mosaicCalc'
## The following object is masked from 'package:stats':
## 
##     D
{
F = antiD(x^3+5*x ~ x)
}
F(x = 5) - F(x = 3)
## [1] 176

1.2 Tak Tentu

library(mosaicCalc)
{
F = antiD(x^4 ~ x)
}
F
## function (x, C = 0) 
## 1/5 * x^5 + C

2 Lingkaran dan Bola

2.1 Luas, Keliling, dan Volume

lkellvol <- function(π,r)                                           # nama fungsi dan argumen
{                                                                   # pembukaan fungsi
luas_lingkaran = π*r^2                                              # menghitung luas lingkaran
keliling_lingkaran = 2*π*r                                          # menghitung keliling lingkaran
volume_bola = 4/3*π*r^3                                             # menghitung volume bola
return (cat(c("Luas Lingkaran:", luas_lingkaran, sep = "\n",
              "Keliling Lingkaran:", keliling_lingkaran,sep="\n",
              "Volume Bola:", volume_bola)))
}                                                                   # penutupan fungsi
lkellvol(22/7,7)                                                    # menggunakan fungsi
## Luas Lingkaran: 154 
##  Keliling Lingkaran: 44 
##  Volume Bola: 1437.33333333333

3 Nilai pada Data Berfrekuensi

Lompatan (dalam cm) Frekuensi
150 20
160 10
170 15
180 14
190 5
200 1

3.1 Maksimum

Lompatan <- seq (150, 200, 30)              # masukan/argumen 1
Frek <-c(20, 10, 15, 14, 5, 1)              # masukan/argumen 2  

max_frek <- function(x,frek)                # nama fungsi dan argumen
{                                           # pembukaan fungsi
keluaran=max(frek)                          # menghitung maksimal frekuensinya
return(cat("Maksimum nya:", keluaran))      # print hasil dengan komentar
}                                           # penutupan fungsi
max_frek(Lompatan, Frek)                    # menggunakan fungsi
## Maksimum nya: 20

3.2 Minimum

Lompatan <- seq (150, 200, 30)              # masukan/argumen 1
Frek <-c(20, 10, 15, 14, 5, 1)              # masukan/argumen 2  

min_frek <- function(x,frek)                # nama fungsi dan argumen
{                                           # pembukaan fungsi
keluaran=min(frek)                          # menghitung minimum frekuensinya
return(cat("Minimum nya:", keluaran))       # print hasil dengan komentar
}                                           # penutupan fungsi
min_frek(Lompatan, Frek)                    # menggunakan fungsi
## Minimum nya: 1

3.3 Rata-rata

Lompatan <- seq (150, 200, 30)              # masukan/argumen 1
Frek <-c(20, 10, 15, 14, 5, 1)              # masukan/argumen 2  

rata_frek <- function(x,frek)               # nama fungsi dan argumen
{                                           # pembukaan fungsi
keluaran=sum(x*frek)/length(frek)           # menghitung rata-rata frekuensinya
return(cat("Rata-rata nya:", keluaran))     # print hasil dengan komentar
}                                           # penutupan fungsi
rata_frek(Lompatan, Frek)                   # menggunakan fungsi
## Rata-rata nya: 1750

3.4 Median

Lompatan <- seq (150, 200, 30)              # masukan/argumen 1
Frek <-c(20, 10, 15, 14, 5, 1)              # masukan/argumen 2  

median_frek <- function(x,frek)             # nama fungsi dan argumen
{                                           # pembukaan fungsi
keluaran=median(frek)                       # menghitung median frekuensinya
return(cat("Median nya:", keluaran))        # print hasil dengan komentar
}                                           # penutupan fungsi
median_frek(Lompatan, Frek)                 # menggunakan fungsi
## Median nya: 12

3.5 Mode

Lompatan <- seq (150, 200, 30)              # masukan/argumen 1
Frek <-c(20, 10, 15, 14, 5, 1)              # masukan/argumen 2  

mode_frek <- function(x,frek)               # nama fungsi dan argumen
{                                           # pembukaan fungsi
keluaran=mode(frek)                         # menghitung mode/modus frekuensinya
return(cat("Mode/Modus nya:", keluaran))    # print hasil dengan komentar
}                                           # penutupan fungsi
mode_frek(Lompatan, Frek)                   # menggunakan fungsi
## Mode/Modus nya: numeric

3.6 Variansi

Lompatan <- seq (150, 200, 30)              # masukan/argumen 1
Frek <-c(20, 10, 15, 14, 5, 1)              # masukan/argumen 2  

var_frek <- function(x,frek)                # nama fungsi dan argumen
{                                           # pembukaan fungsi
keluaran=var(frek)                          # menghitung variansi frekuensinya
return(cat("Variansi nya:", keluaran))      # print hasil dengan komentar
}                                           # penutupan fungsi
var_frek(Lompatan, Frek)                    # menggunakan fungsi
## Variansi nya: 48.56667

3.7 Standard Deviasi

Lompatan <- seq (150, 200, 30)                  # masukan/argumen 1
Frek <-c(20, 10, 15, 14, 5, 1)                  # masukan/argumen 2  

sqrt_frek <- function(x,frek)                   # nama fungsi dan argumen
{                                               # pembukaan fungsi
keluaran=sqrt(frek)                             # menghitung standard deviansi frekuensinya
return(cat("Standard Deviasi nya:", keluaran))  # print hasil dengan komentar
}                                               # penutupan fungsi
sqrt_frek(Lompatan, Frek)                       # menggunakan fungsi
## Standard Deviasi nya: 4.472136 3.162278 3.872983 3.741657 2.236068 1
LS0tDQp0aXRsZTogIlR1Z2FzIDUiDQpzdWJ0aXRsZTogIkZ1bmdzaSINCmF1dGhvcjogIk5hZnRhbGkgQnJpZ2l0dGEgR3VuYXdhbiAoMjAyMTQ5MjAwMDIpIg0KZGF0ZTogImByIGZvcm1hdChTeXMuRGF0ZSgpLCAnJUIgJWQsICVZJylgIg0Kb3V0cHV0OiANCiAgaHRtbF9kb2N1bWVudDogDQogICAgaHRtbF9kb2N1bWVudDogbnVsbA0KICAgIGNvZGVfZm9sZGluZzogaGlkZQ0KICAgIHRvYzogeWVzDQogICAgdG9jX2Zsb2F0Og0KICAgICAgY29sbGFwc2VkOiB5ZXMNCiAgICBudW1iZXJfc2VjdGlvbnM6IHllcw0KICAgIGNvZGVfZG93bmxvYWQ6IHllcw0KICAgIHRoZW1lOiBzYW5kc3RvbmUNCiAgICBjc3M6IHN0eWxlMS5jc3MNCiAgICBoaWdobGlnaHQ6IG1vbm9jaHJvbWUNCi0tLQ0KDQoNCjxpbWcgc3R5bGU9ImZsb2F0OiByaWdodDsgbWFyZ2luOiAwcHggMTAwcHggMHB4IDBweDsgd2lkdGg6MjUlIiBzcmM9IkZPVE8gTkFGVEFMSS5qcGVnIi8+IA0KDQpgYGB7ciBsb2dvLCBlY2hvPUZBTFNFLGZpZy5hbGlnbj0nY2VudGVyJywgb3V0LndpZHRoID0gJzMwJSd9DQprbml0cjo6aW5jbHVkZV9ncmFwaGljcygibG9nbyBtYXRhbmEucG5nIikNCmBgYA0KDQpFbWFpbCAmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsmbmJzcDs6ICBuYWZ0YWxpLmd1bmF3YW5Ac3R1ZGVudC5tYXRhbmF1bml2ZXJzaXR5LmFjLmlkIDxicj4NClJQdWJzICAmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDs6IGh0dHBzOi8vcnB1YnMuY29tL25hZnRhbGlicmlnaXR0YS8gPGJyPg0KSnVydXNhbiAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7OiBbU3RhdGlzdGlrYSBCaXNuaXNdKGh0dHBzOi8vbWF0YW5hdW5pdmVyc2l0eS5hYy5pZC8/bHk9YWNhZGVtaWMmYz1zYikgPGJyPg0KQWRkcmVzcyAgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7IDogUGVydW1haGFuIENpYXRlciBQZXJtYWk8YnI+DQombmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyZuYnNwOyBKbC4gQW5nZ3JlayBJSUksIEJsb2sgQTUgTm8uIDEwLCBSVCAwMDEsIFJXIDAwNCwgU2VycG9uZywgVGFuZ2VyYW5nIFNlbGF0YW4sIEJhbnRlbiAxNTMxMC4NCg0KKioqKg0KIyBJbnRlcmdyYWwNCg0KIyMgVGVudHUNCmBgYHtyfQ0KbGlicmFyeShtb3NhaWNDYWxjKQ0Kew0KRiA9IGFudGlEKHheMys1KnggfiB4KQ0KfQ0KRih4ID0gNSkgLSBGKHggPSAzKQ0KYGBgDQoNCiMjIFRhayBUZW50dQ0KYGBge3J9DQpsaWJyYXJ5KG1vc2FpY0NhbGMpDQp7DQpGID0gYW50aUQoeF40IH4geCkNCn0NCkYNCmBgYA0KDQoNCiMgTGluZ2thcmFuIGRhbiBCb2xhDQojIyBMdWFzLCBLZWxpbGluZywgZGFuIFZvbHVtZQ0KYGBge3J9DQpsa2VsbHZvbCA8LSBmdW5jdGlvbijPgCxyKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjIG5hbWEgZnVuZ3NpIGRhbiBhcmd1bWVuDQp7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgcGVtYnVrYWFuIGZ1bmdzaQ0KbHVhc19saW5na2FyYW4gPSDPgCpyXjIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIyBtZW5naGl0dW5nIGx1YXMgbGluZ2thcmFuDQprZWxpbGluZ19saW5na2FyYW4gPSAyKs+AKnIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjIG1lbmdoaXR1bmcga2VsaWxpbmcgbGluZ2thcmFuDQp2b2x1bWVfYm9sYSA9IDQvMyrPgCpyXjMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjIG1lbmdoaXR1bmcgdm9sdW1lIGJvbGENCnJldHVybiAoY2F0KGMoIkx1YXMgTGluZ2thcmFuOiIsIGx1YXNfbGluZ2thcmFuLCBzZXAgPSAiXG4iLA0KICAgICAgICAgICAgICAiS2VsaWxpbmcgTGluZ2thcmFuOiIsIGtlbGlsaW5nX2xpbmdrYXJhbixzZXA9IlxuIiwNCiAgICAgICAgICAgICAgIlZvbHVtZSBCb2xhOiIsIHZvbHVtZV9ib2xhKSkpDQp9ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgcGVudXR1cGFuIGZ1bmdzaQ0KbGtlbGx2b2woMjIvNyw3KSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjIG1lbmdndW5ha2FuIGZ1bmdzaQ0KYGBgDQoNCg0KIyBOaWxhaSBwYWRhIERhdGEgQmVyZnJla3VlbnNpDQp8fA0KfDotOnw6LTp8IA0KfCBMb21wYXRhbiAoZGFsYW0gY20pICB8IEZyZWt1ZW5zaSB8DQp8IDE1MCAgICAgICAgICAgICAgICAgIHwgMjAgICAgICAgIHwNCnwgMTYwICAgICAgICAgICAgICAgICAgfCAxMCAgICAgICAgfA0KfCAxNzAgICAgICAgICAgICAgICAgICB8IDE1ICAgICAgICB8DQp8IDE4MCAgICAgICAgICAgICAgICAgIHwgMTQgICAgICAgIHwNCnwgMTkwICAgICAgICAgICAgICAgICAgfCA1ICAgICAgICAgfA0KfCAyMDAgICAgICAgICAgICAgICAgICB8IDEgICAgICAgICB8IDxicj4NCg0KIyMgTWFrc2ltdW0NCmBgYHtyfQ0KTG9tcGF0YW4gPC0gc2VxICgxNTAsIDIwMCwgMzApICAgICAgICAgICAgICAjIG1hc3VrYW4vYXJndW1lbiAxDQpGcmVrIDwtYygyMCwgMTAsIDE1LCAxNCwgNSwgMSkgICAgICAgICAgICAgICMgbWFzdWthbi9hcmd1bWVuIDIgIA0KDQptYXhfZnJlayA8LSBmdW5jdGlvbih4LGZyZWspICAgICAgICAgICAgICAgICMgbmFtYSBmdW5nc2kgZGFuIGFyZ3VtZW4NCnsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIyBwZW1idWthYW4gZnVuZ3NpDQprZWx1YXJhbj1tYXgoZnJlaykgICAgICAgICAgICAgICAgICAgICAgICAgICMgbWVuZ2hpdHVuZyBtYWtzaW1hbCBmcmVrdWVuc2lueWENCnJldHVybihjYXQoIk1ha3NpbXVtIG55YToiLCBrZWx1YXJhbikpICAgICAgIyBwcmludCBoYXNpbCBkZW5nYW4ga29tZW50YXINCn0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIyBwZW51dHVwYW4gZnVuZ3NpDQptYXhfZnJlayhMb21wYXRhbiwgRnJlaykgICAgICAgICAgICAgICAgICAgICMgbWVuZ2d1bmFrYW4gZnVuZ3NpDQpgYGANCg0KIyMgTWluaW11bQ0KYGBge3J9DQpMb21wYXRhbiA8LSBzZXEgKDE1MCwgMjAwLCAzMCkgICAgICAgICAgICAgICMgbWFzdWthbi9hcmd1bWVuIDENCkZyZWsgPC1jKDIwLCAxMCwgMTUsIDE0LCA1LCAxKSAgICAgICAgICAgICAgIyBtYXN1a2FuL2FyZ3VtZW4gMiAgDQoNCm1pbl9mcmVrIDwtIGZ1bmN0aW9uKHgsZnJlaykgICAgICAgICAgICAgICAgIyBuYW1hIGZ1bmdzaSBkYW4gYXJndW1lbg0KeyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjIHBlbWJ1a2FhbiBmdW5nc2kNCmtlbHVhcmFuPW1pbihmcmVrKSAgICAgICAgICAgICAgICAgICAgICAgICAgIyBtZW5naGl0dW5nIG1pbmltdW0gZnJla3VlbnNpbnlhDQpyZXR1cm4oY2F0KCJNaW5pbXVtIG55YToiLCBrZWx1YXJhbikpICAgICAgICMgcHJpbnQgaGFzaWwgZGVuZ2FuIGtvbWVudGFyDQp9ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgcGVudXR1cGFuIGZ1bmdzaQ0KbWluX2ZyZWsoTG9tcGF0YW4sIEZyZWspICAgICAgICAgICAgICAgICAgICAjIG1lbmdndW5ha2FuIGZ1bmdzaQ0KYGBgDQoNCiMjIFJhdGEtcmF0YQ0KYGBge3J9DQpMb21wYXRhbiA8LSBzZXEgKDE1MCwgMjAwLCAzMCkgICAgICAgICAgICAgICMgbWFzdWthbi9hcmd1bWVuIDENCkZyZWsgPC1jKDIwLCAxMCwgMTUsIDE0LCA1LCAxKSAgICAgICAgICAgICAgIyBtYXN1a2FuL2FyZ3VtZW4gMiAgDQoNCnJhdGFfZnJlayA8LSBmdW5jdGlvbih4LGZyZWspICAgICAgICAgICAgICAgIyBuYW1hIGZ1bmdzaSBkYW4gYXJndW1lbg0KeyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjIHBlbWJ1a2FhbiBmdW5nc2kNCmtlbHVhcmFuPXN1bSh4KmZyZWspL2xlbmd0aChmcmVrKSAgICAgICAgICAgIyBtZW5naGl0dW5nIHJhdGEtcmF0YSBmcmVrdWVuc2lueWENCnJldHVybihjYXQoIlJhdGEtcmF0YSBueWE6Iiwga2VsdWFyYW4pKSAgICAgIyBwcmludCBoYXNpbCBkZW5nYW4ga29tZW50YXINCn0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIyBwZW51dHVwYW4gZnVuZ3NpDQpyYXRhX2ZyZWsoTG9tcGF0YW4sIEZyZWspICAgICAgICAgICAgICAgICAgICMgbWVuZ2d1bmFrYW4gZnVuZ3NpDQpgYGANCg0KIyMgTWVkaWFuDQpgYGB7cn0NCkxvbXBhdGFuIDwtIHNlcSAoMTUwLCAyMDAsIDMwKSAgICAgICAgICAgICAgIyBtYXN1a2FuL2FyZ3VtZW4gMQ0KRnJlayA8LWMoMjAsIDEwLCAxNSwgMTQsIDUsIDEpICAgICAgICAgICAgICAjIG1hc3VrYW4vYXJndW1lbiAyICANCg0KbWVkaWFuX2ZyZWsgPC0gZnVuY3Rpb24oeCxmcmVrKSAgICAgICAgICAgICAjIG5hbWEgZnVuZ3NpIGRhbiBhcmd1bWVuDQp7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgcGVtYnVrYWFuIGZ1bmdzaQ0Ka2VsdWFyYW49bWVkaWFuKGZyZWspICAgICAgICAgICAgICAgICAgICAgICAjIG1lbmdoaXR1bmcgbWVkaWFuIGZyZWt1ZW5zaW55YQ0KcmV0dXJuKGNhdCgiTWVkaWFuIG55YToiLCBrZWx1YXJhbikpICAgICAgICAjIHByaW50IGhhc2lsIGRlbmdhbiBrb21lbnRhcg0KfSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjIHBlbnV0dXBhbiBmdW5nc2kNCm1lZGlhbl9mcmVrKExvbXBhdGFuLCBGcmVrKSAgICAgICAgICAgICAgICAgIyBtZW5nZ3VuYWthbiBmdW5nc2kNCmBgYA0KDQojIyBNb2RlDQpgYGB7cn0NCkxvbXBhdGFuIDwtIHNlcSAoMTUwLCAyMDAsIDMwKSAgICAgICAgICAgICAgIyBtYXN1a2FuL2FyZ3VtZW4gMQ0KRnJlayA8LWMoMjAsIDEwLCAxNSwgMTQsIDUsIDEpICAgICAgICAgICAgICAjIG1hc3VrYW4vYXJndW1lbiAyICANCg0KbW9kZV9mcmVrIDwtIGZ1bmN0aW9uKHgsZnJlaykgICAgICAgICAgICAgICAjIG5hbWEgZnVuZ3NpIGRhbiBhcmd1bWVuDQp7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgcGVtYnVrYWFuIGZ1bmdzaQ0Ka2VsdWFyYW49bW9kZShmcmVrKSAgICAgICAgICAgICAgICAgICAgICAgICAjIG1lbmdoaXR1bmcgbW9kZS9tb2R1cyBmcmVrdWVuc2lueWENCnJldHVybihjYXQoIk1vZGUvTW9kdXMgbnlhOiIsIGtlbHVhcmFuKSkgICAgIyBwcmludCBoYXNpbCBkZW5nYW4ga29tZW50YXINCn0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIyBwZW51dHVwYW4gZnVuZ3NpDQptb2RlX2ZyZWsoTG9tcGF0YW4sIEZyZWspICAgICAgICAgICAgICAgICAgICMgbWVuZ2d1bmFrYW4gZnVuZ3NpDQpgYGANCg0KIyMgVmFyaWFuc2kNCmBgYHtyfQ0KTG9tcGF0YW4gPC0gc2VxICgxNTAsIDIwMCwgMzApICAgICAgICAgICAgICAjIG1hc3VrYW4vYXJndW1lbiAxDQpGcmVrIDwtYygyMCwgMTAsIDE1LCAxNCwgNSwgMSkgICAgICAgICAgICAgICMgbWFzdWthbi9hcmd1bWVuIDIgIA0KDQp2YXJfZnJlayA8LSBmdW5jdGlvbih4LGZyZWspICAgICAgICAgICAgICAgICMgbmFtYSBmdW5nc2kgZGFuIGFyZ3VtZW4NCnsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIyBwZW1idWthYW4gZnVuZ3NpDQprZWx1YXJhbj12YXIoZnJlaykgICAgICAgICAgICAgICAgICAgICAgICAgICMgbWVuZ2hpdHVuZyB2YXJpYW5zaSBmcmVrdWVuc2lueWENCnJldHVybihjYXQoIlZhcmlhbnNpIG55YToiLCBrZWx1YXJhbikpICAgICAgIyBwcmludCBoYXNpbCBkZW5nYW4ga29tZW50YXINCn0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIyBwZW51dHVwYW4gZnVuZ3NpDQp2YXJfZnJlayhMb21wYXRhbiwgRnJlaykgICAgICAgICAgICAgICAgICAgICMgbWVuZ2d1bmFrYW4gZnVuZ3NpDQpgYGANCg0KIyMgU3RhbmRhcmQgRGV2aWFzaSANCmBgYHtyfQ0KTG9tcGF0YW4gPC0gc2VxICgxNTAsIDIwMCwgMzApICAgICAgICAgICAgICAgICAgIyBtYXN1a2FuL2FyZ3VtZW4gMQ0KRnJlayA8LWMoMjAsIDEwLCAxNSwgMTQsIDUsIDEpICAgICAgICAgICAgICAgICAgIyBtYXN1a2FuL2FyZ3VtZW4gMiAgDQoNCnNxcnRfZnJlayA8LSBmdW5jdGlvbih4LGZyZWspICAgICAgICAgICAgICAgICAgICMgbmFtYSBmdW5nc2kgZGFuIGFyZ3VtZW4NCnsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgcGVtYnVrYWFuIGZ1bmdzaQ0Ka2VsdWFyYW49c3FydChmcmVrKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIyBtZW5naGl0dW5nIHN0YW5kYXJkIGRldmlhbnNpIGZyZWt1ZW5zaW55YQ0KcmV0dXJuKGNhdCgiU3RhbmRhcmQgRGV2aWFzaSBueWE6Iiwga2VsdWFyYW4pKSAgIyBwcmludCBoYXNpbCBkZW5nYW4ga29tZW50YXINCn0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgcGVudXR1cGFuIGZ1bmdzaQ0Kc3FydF9mcmVrKExvbXBhdGFuLCBGcmVrKSAgICAgICAgICAgICAgICAgICAgICAgIyBtZW5nZ3VuYWthbiBmdW5nc2kNCmBgYA0K