import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
//import java.io.*;
//class Main{
//    public static void main(String[] args) throws Exception{
//        int x, ans;
//     
//        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
//        x = Integer.parseInt(br.readLine());
//         
//        ans = x*x*x;
//        System.out.println(ans);
//    }
//}
//class Main {
//    public static void main(String[] arg)throws IOException{
//        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
//        String str = br.readLine();
//        String[] div = str.split(" ");
//        int s =  Integer.parseInt(div[0]);
//        int l =  Integer.parseInt(div[1]);
//        System.out.println(s*l + " "+ 2*(s+l));
//    }   
//}
//import java.io.BufferedReader;
//import java.io.InputStreamReader;
//   
//public class Main{
//    public static void main(String args[])throws java.lang.Exception{
//        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
//        String line = br.readLine();
//        //?????°??????????????£??\
//        int s =Integer.parseInt(line);
//        int h = s / 3600;
//        int m = (s % 3600) / 60;
//        s = s % 60;
//        System.out.println(h+":"+m+":"+s);
//         
//    }
//}
//import java.io.*;
//
//public class Main
//{
//	public static void main(String[] args) throws Exception
//	{
//		BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
//		String str = br.readLine();
//		String[] div = str.split(" ");
//		int a = Integer.parseInt(div[0]);
//		int b = Integer.parseInt(div[1]);
//		if (a > b)
//		{
//			System.out.println("a > b");
//		} else if (a == b) {
//			System.out.println("a == b");
//		} else {
//			System.out.println("a < b");
//		}
//	}
//}
//public class Main
//{
//	public static void main(String[] args) throws IOException {
//		BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
//		String str = br.readLine();
//		String[] div = str.split(" ");
//		int a = Integer.parseInt(div[0]);
//		int b = Integer.parseInt(div[1]);
//		int c = Integer.parseInt(div[2]);
//		if (a < b && b < c)
//		{
//			System.out.println("Yes");
//		}else{
//			System.out.println("No");
//		}
//	}
//}
//public class Main {
//	public static void main(String[] args) {
//		for (int i = 0; i < 1000; i++) {
//			System.out.println("Hello World");
//		}
//	}
//}
//public class Main {
//    public static void main(String args[]) throws IOException{
//        BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
//        StringBuilder builder = new StringBuilder();
//        int i=1;
//        while(true){
//            int data= Integer.parseInt(reader.readLine());
//            if(data==0)
//                break;
//             
//            builder.append("Case ").append(Integer.toString(i++)).append(": ").append(Integer.toString(data)).append("\n");
//        }
//        System.out.print(builder);
//    }
//}
//public class Main {
//    public static void main(String args[]) throws IOException{
//        BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
//        StringBuilder builder = new StringBuilder();
//        while(true){
//            String data[] = reader.readLine().split(" ");
//            int a= Integer.parseInt(data[0]);
//            int b= Integer.parseInt(data[1]);
//            if(a==0 && b==0)
//                break;
//             
//            builder.append(Integer.toString(a<b?a:b)).append(" ").append(Integer.toString(a<b?b:a)).append("\n");
//        }
//        System.out.print(builder);
//    }
//}

//import java.io.*;

//class Main{
//    public static void main(String[] args) throws Exception{
//        int x, ans;
//     
//        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
//        x = Integer.parseInt(br.readLine());
//         
//        ans = x*x*x;
//        System.out.println(ans);
//    }
//}

//class Main {
//    public static void main(String[] arg)throws IOException{
//        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
//        String str = br.readLine();
//        String[] div = str.split(" ");
//        int s =  Integer.parseInt(div[0]);
//        int l =  Integer.parseInt(div[1]);
//        System.out.println(s*l + " "+ 2*(s+l));
//    }   
//}

//import java.io.BufferedReader;
//import java.io.InputStreamReader;
//   
//public class Main{
//    public static void main(String args[])throws java.lang.Exception{
//        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
//        String line = br.readLine();
//        //?????°??????????????£??\
//        int s =Integer.parseInt(line);
//        int h = s / 3600;
//        int m = (s % 3600) / 60;
//        s = s % 60;
//        System.out.println(h+":"+m+":"+s);
//         
//    }
//}

//import java.io.*;
//
//public class Main
//{
//	public static void main(String[] args) throws Exception
//	{
//		BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
//		String str = br.readLine();
//		String[] div = str.split(" ");
//		int a = Integer.parseInt(div[0]);
//		int b = Integer.parseInt(div[1]);
//		if (a > b)
//		{
//			System.out.println("a > b");
//		} else if (a == b) {
//			System.out.println("a == b");
//		} else {
//			System.out.println("a < b");
//		}
//	}
//}

//public class Main
//{
//	public static void main(String[] args) throws IOException {
//		BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
//		String str = br.readLine();
//		String[] div = str.split(" ");
//		int a = Integer.parseInt(div[0]);
//		int b = Integer.parseInt(div[1]);
//		int c = Integer.parseInt(div[2]);
//		if (a < b && b < c)
//		{
//			System.out.println("Yes");
//		}else{
//			System.out.println("No");
//		}
//	}
//}

//public class Main {
//	public static void main(String[] args) {
//		for (int i = 0; i < 1000; i++) {
//			System.out.println("Hello World");
//		}
//	}
//}

//public class Main {
//    public static void main(String args[]) throws IOException{
//        BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
//        StringBuilder builder = new StringBuilder();
//        int i=1;
//        while(true){
//            int data= Integer.parseInt(reader.readLine());
//            if(data==0)
//                break;
//             
//            builder.append("Case ").append(Integer.toString(i++)).append(": ").append(Integer.toString(data)).append("\n");
//        }
//        System.out.print(builder);
//    }
//}

//public class Main {
//	public static void main(String args[]) throws IOException {
//		BufferedReader reader = new BufferedReader(new InputStreamReader(
//				System.in));
//		StringBuilder builder = new StringBuilder();
//		while (true) {
//			String data[] = reader.readLine().split(" ");
//			int a = Integer.parseInt(data[0]);
//			int b = Integer.parseInt(data[1]);
//			if (a == 0 && b == 0)
//				break;
//
//			builder.append(Integer.toString(a < b ? a : b)).append(" ")
//					.append(Integer.toString(a < b ? b : a)).append("\n");
//		}
//		System.out.print(builder);
//	}
//}

//public class Main {
//	public static void main(String[] args) throws Exception {
//		BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
//		String line = br.readLine();
//		String[] ln = line.split(" ");
//		BigDecimal a = new BigDecimal(ln[0]);
//		BigDecimal b = new BigDecimal(ln[1]);
//		System.out.println(a.divideToIntegralValue(b).toPlainString() + " "
//				+ a.remainder(b).toPlainString() + " "
//				+ a.divide(b, 10, RoundingMode.HALF_UP).toPlainString());
//	}
//}

//public class Main
//{
//	public static void main(String[] args) throws NumberFormatException, IOException {
//		BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
//		double a = Double.parseDouble(br.readLine());
//		System.out.printf("%6f %6f", a * a * Math.PI, a * 2 * Math.PI);
//	}
//}

//public class Main {
//	public static void main(String[] args) throws NumberFormatException, IOException {
//		BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
//		String line;
//		while ((line = br.readLine()) != null) {
//			String[] arr = line.split(" ");
//			int a = Integer.parseInt(arr[0]);
//			String op = arr[1];
//			int b = Integer.parseInt(arr[2]);
//
//			if ("?".equals(op))
//				break;
//			if ("+".equals(op))
//				System.out.println(a + b);
//			else if ("-".equals(op))
//				System.out.println(a - b);
//			else if ("*".equals(op))
//				System.out.println(a * b);
//			else if ("/".equals(op))
//				System.out.println(a / b);
//		}
//	}
//}

public class Main {
	public static void main(String[] args) throws IOException {
		int n, ai, min, max, i;
		long sum = 0;
		
		BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
		
		n = Integer.parseInt(br.readLine());
		
		min = Integer.MAX_VALUE;
		max = Integer.MIN_VALUE;
		
		String[] strAry = br.readLine().split(" ");
		
		for (int j = 0; j < n; j++) {
			ai = Integer.parseInt(strAry[j]);
			if (ai < min) min = ai;
			if (ai > max) max = ai;
			sum += ai;
 		}
		
		System.out.println(min + " " + max + " " + sum);
	}
}

Measured memory_bytes: 28604