Problem:
MathJax.Hub.Config({ tex2jax: { inlineMath: [["$","$"], ["\\(","\\)"]], processEscapes: true }});

Min, Max and Sum

Write a program which reads a sequence of $n$ integers $a_i (i = 1, 2, ... n)$, and prints the minimum value, maximum value and sum of the sequence.

Input

In the first line, an integer $n$ is given. In the next line, $n$ integers $a_i$ are given in a line.

Output

Print the minimum value, maximum value and sum in a line. Put a single space between the values.

Constraints

$0 < n \leq 10000$

$-1000000 \leq a_i \leq 1000000$

Sample Input

5
10 1 5 4 17

Sample Output

1 17 37

Solution in Go (judge verdict: Accepted)

package main

import (
	"fmt"
	"sort"
)

func main() {
	var n int
	fmt.Scan(&n)
	vars := make([]int, n)
	for i := 0; i < n; i++ {
		fmt.Scan(&vars[i])
	}
	fmt.Println(minOf(vars), maxOf(vars), sum(vars))
}

func maxOf(vars []int) int {
	sort.Ints(vars)
	return vars[len(vars)-1]
}

func minOf(vars []int) int {
	sort.Ints(vars)
	return vars[0]
}

func sum(vars []int) int {
	var sum int
	for _, num := range vars {
		sum += num
	}
	return sum
}