import java.io.BufferedReader
import java.io.InputStreamReader
import kotlin.math.roundToInt
fun main(args: Array<String>) {
var br = BufferedReader(InputStreamReader(System.`in`))
// br 사용 선언
var input: Int = br.readLine().toInt()
// 크기 입력받기
val arr = mutableListOf<Int>()
// 값을 담을 리스트
var everage: Int = 0
// 기본값을 0으로 줌
if (input != 0) {
// 입력이 0이 아닐경우 실행
for (i: Int in 0 .. input - 1) {
var RQ: Int = br.readLine().toInt()
// 입력을 받고
arr.add(i, RQ)
// 리스트의 i번째에 그 값을 할당
everage = everage + RQ
// everage의 값을 기존값 + RQ로 지정
}
var min: Int = arr[0]
// 일단, 기본값을 arr[0]으로 지정하기
var j: Int = 0
if (arr.size > 1) {
// 값이 하나일 경우 이 조건문 진입차단
while (true) {
// 무한반복
if (arr[0] == arr[1]) {
// 만약 0번째 값과 1번째 값이 같은경우
break
// 반복문 탈출
}
if (arr[j] != arr[j + 1]) {
// j번째값과 j + 1번째 값이 다른경우
min = arr[j]
// min의 값을 j로 지정
break
// 반복문 탈출
}
j++
}
}
arr.sort()
// 모든 값을 정렬해줌
var k: Int = arr.size - 2 // k의 값 지정,
if (arr.size > 1 && arr[k - 1] == arr[k] && arr[k] == arr[k + 1]) {
// 상기 조건을 모두 만족시킨다면
min = arr[k - 1]
// min의 값을 지정(수가 5,5,4,4,3,3,-1로 주어진 경우)
}
else if (arr.size > 1 && arr[k] == arr[k - 1]) {
// 상기 조건을 모두 만족시킨다면
min = arr[k]
// min의 값을 지정(수가 2,2,3,3,4,4,5로 주어진 경우)
}
println((everage.toDouble() / input.toDouble()).roundToInt())
// 평균 (반올림을 해줌)
println(arr[arr.size / 2])
// 중앙값
println(min)
// 위에서 지정해준 최빈값
println(arr[input - 1] - arr[0])
// 범위
}
}
aW1wb3J0IGphdmEuaW8uQnVmZmVyZWRSZWFkZXIKaW1wb3J0IGphdmEuaW8uSW5wdXRTdHJlYW1SZWFkZXIKaW1wb3J0IGtvdGxpbi5tYXRoLnJvdW5kVG9JbnQKCmZ1biBtYWluKGFyZ3M6IEFycmF5PFN0cmluZz4pIHsKICAgIHZhciBiciA9IEJ1ZmZlcmVkUmVhZGVyKElucHV0U3RyZWFtUmVhZGVyKFN5c3RlbS5gaW5gKSkKICAgIC8vIGJyIOyCrOyaqSDshKDslrgKICAgIHZhciBpbnB1dDogSW50ID0gYnIucmVhZExpbmUoKS50b0ludCgpCiAgICAvLyDtgazquLAg7J6F66Cl67Cb6riwCiAgICB2YWwgYXJyID0gbXV0YWJsZUxpc3RPZjxJbnQ+KCkKICAgIC8vIOqwkuydhCDri7TsnYQg66as7Iqk7Yq4CiAgICB2YXIgZXZlcmFnZTogSW50ID0gMAogICAgLy8g6riw67O46rCS7J2EIDDsnLzroZwg7KSMCgogICAgaWYgKGlucHV0ICE9IDApIHsKICAgICAgICAvLyDsnoXroKXsnbQgMOydtCDslYTri5Dqsr3smrAg7Iuk7ZaJCgogICAgICAgIGZvciAoaTogSW50IGluIDAgLi4gaW5wdXQgLSAxKSB7CiAgICAgICAgICAgIHZhciBSUTogSW50ID0gYnIucmVhZExpbmUoKS50b0ludCgpCiAgICAgICAgICAgIC8vIOyeheugpeydhCDrsJvqs6AKICAgICAgICAgICAgYXJyLmFkZChpLCBSUSkKICAgICAgICAgICAgLy8g66as7Iqk7Yq47J2YIGnrsojsp7jsl5Ag6re4IOqwkuydhCDtlaDri7kKICAgICAgICAgICAgZXZlcmFnZSA9IGV2ZXJhZ2UgKyBSUQogICAgICAgICAgICAvLyBldmVyYWdl7J2YIOqwkuydhCDquLDsobTqsJIgKyBSUeuhnCDsp4DsoJUKICAgICAgICB9CgogICAgICAgIHZhciBtaW46IEludCA9IGFyclswXQogICAgICAgIC8vIOydvOuLqCwg6riw67O46rCS7J2EIGFyclswXeycvOuhnCDsp4DsoJXtlZjquLAKICAgICAgICB2YXIgajogSW50ID0gMAoKICAgICAgICBpZiAoYXJyLnNpemUgPiAxKSB7CiAgICAgICAgICAgIC8vIOqwkuydtCDtlZjrgpjsnbwg6rK97JqwIOydtCDsobDqsbTrrLgg7KeE7J6F7LCo64uoCiAgICAgICAgICAgIHdoaWxlICh0cnVlKSB7CiAgICAgICAgICAgICAgICAvLyDrrLTtlZzrsJjrs7UKICAgICAgICAgICAgICAgIGlmIChhcnJbMF0gPT0gYXJyWzFdKSB7CiAgICAgICAgICAgICAgICAgICAgLy8g66eM7JW9IDDrsojsp7gg6rCS6rO8IDHrsojsp7gg6rCS7J20IOqwmeydgOqyveyasAogICAgICAgICAgICAgICAgICAgIGJyZWFrCiAgICAgICAgICAgICAgICAgICAgLy8g67CY67O166y4IO2DiOy2nAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgaWYgKGFycltqXSAhPSBhcnJbaiArIDFdKSB7CiAgICAgICAgICAgICAgICAgICAgLy8gauuyiOynuOqwkuqzvCBqICsgMeuyiOynuCDqsJLsnbQg64uk66W46rK97JqwCiAgICAgICAgICAgICAgICAgICAgbWluID0gYXJyW2pdCiAgICAgICAgICAgICAgICAgICAgLy8gbWlu7J2YIOqwkuydhCBq66GcIOyngOyglQogICAgICAgICAgICAgICAgICAgIGJyZWFrCiAgICAgICAgICAgICAgICAgICAgLy8g67CY67O166y4IO2DiOy2nAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgaisrCiAgICAgICAgICAgIH0KICAgICAgICB9CgogICAgICAgIGFyci5zb3J0KCkKICAgICAgICAvLyDrqqjrk6Ag6rCS7J2EIOygleugrO2VtOykjAoKICAgICAgICB2YXIgazogSW50ID0gYXJyLnNpemUgLSAyIC8vIGvsnZgg6rCSIOyngOyglSwKICAgICAgICBpZiAoYXJyLnNpemUgPiAxICYmIGFycltrIC0gMV0gPT0gYXJyW2tdICYmIGFycltrXSA9PSBhcnJbayArIDFdKSB7CiAgICAgICAgICAgIC8vIOyDgeq4sCDsobDqsbTsnYQg66qo65GQIOunjOyhseyLnO2CqOuLpOuptAogICAgICAgICAgICBtaW4gPSBhcnJbayAtIDFdCiAgICAgICAgICAgIC8vIG1pbuydmCDqsJLsnYQg7KeA7KCVKOyImOqwgCA1LDUsNCw0LDMsMywtMeuhnCDso7zslrTsp4Qg6rK97JqwKQogICAgICAgIH0KICAgICAgICBlbHNlIGlmIChhcnIuc2l6ZSA+IDEgJiYgYXJyW2tdID09IGFycltrIC0gMV0pIHsKICAgICAgICAgICAgLy8g7IOB6riwIOyhsOqxtOydhCDrqqjrkZAg66eM7KGx7Iuc7YKo64uk66m0CiAgICAgICAgICAgIG1pbiA9IGFycltrXQogICAgICAgICAgICAvLyBtaW7snZgg6rCS7J2EIOyngOyglSjsiJjqsIAgMiwyLDMsMyw0LDQsNeuhnCDso7zslrTsp4Qg6rK97JqwKQogICAgICAgIH0KCiAgICAgICAgcHJpbnRsbigoZXZlcmFnZS50b0RvdWJsZSgpIC8gaW5wdXQudG9Eb3VibGUoKSkucm91bmRUb0ludCgpKQogICAgICAgIC8vIO2Pieq3oCAo67CY7Jis66a87J2EIO2VtOykjCkKICAgICAgICBwcmludGxuKGFyclthcnIuc2l6ZSAvIDJdKQogICAgICAgIC8vIOykkeyVmeqwkgogICAgICAgIHByaW50bG4obWluKQogICAgICAgIC8vIOychOyXkOyEnCDsp4DsoJXtlbTspIAg7LWc67mI6rCSCiAgICAgICAgcHJpbnRsbihhcnJbaW5wdXQgLSAxXSAtIGFyclswXSkKICAgICAgICAvLyDrspTsnIQKICAgIH0KfQ==