import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.text.DecimalFormat;


/**
 * Lesson4D　n  個の整数 a i (i=1,2,...n) を入力し、それらの最小値、最大値、合計値を求めるプログラム
 * @author 前島佑介
 * @version 2014/12/1
 */
class Main {

	// プログラムのエントリポイント
	public static void main(String[] args) {

		//入力値 １つ目 2列目の扱う数
		int intNum = 0;

		//最小値
		int intMin = 0;

		//最大値
		int intMax = 0;

		//合計
		double dbSum = 0;


		try{
			//キーボードからの入力準備
			BufferedReader br = new BufferedReader(new InputStreamReader(System.in));

			//キーボードからの入力をString型で受け取る初期化
			String strLine = br.readLine();

			//入力値 １つ目　2列目の扱う数
			intNum = Integer.parseInt(strLine);

			//キーボードからの入力をString型で受け取る
			strLine = br.readLine();

			//文字列の分割:入力値を" "で分ける
			//分けた文字列はstrLineAry[0]とstrLineAry[1]とstrLineAry[2]に分けられる
			String[] strLineAry = strLine.split(" ");

			//1つ目の値を最小値に入れておく
			intMin = Integer.parseInt(strLineAry[0]);

			//最大値にも最小値の値を入れておく
			intMax = intMin;

			//総数をカウントしていく
			dbSum += (double)intMin;

			//2つ目以降
			for(int i = 1; i < intNum; i++) {

				int intNum2 = Integer.parseInt(strLineAry[i]);

				//最小値より小さいなら
				if(intNum2 < intMin) {

					//これを最小値にする
					intMin = intNum2;
				}

				//最大値より大きいなら
				if(intMax < intNum2) {

					//これを最大値にする
					intMax = intNum2;
				}

				//総数をカウントしていく
				dbSum += (double)intNum2;
			}

			//小数5桁まで
		    DecimalFormat insDF = new DecimalFormat("0");

			//出力
			System.out.println(intMin + " " + intMax + " " + insDF.format(dbSum));

			//例外処理
		}catch(IOException e) {

			//例外時の出力
			System.out.println(e);

		}catch(NumberFormatException e) {

			//数値以外の入力値で出力
			System.out.println("数値で入力して下さい");
		}
	}
} import java.io.BufferedReader; BufferedReader java.io import java.io.IOException; IOException java.io import java.io.InputStreamReader; InputStreamReader java.io import java.text.DecimalFormat; DecimalFormat java.text class Main {

	// プログラムのエントリポイント
	public static void main(String[] args) {

		//入力値 １つ目 2列目の扱う数
		int intNum = 0;

		//最小値
		int intMin = 0;

		//最大値
		int intMax = 0;

		//合計
		double dbSum = 0;


		try{
			//キーボードからの入力準備
			BufferedReader br = new BufferedReader(new InputStreamReader(System.in));

			//キーボードからの入力をString型で受け取る初期化
			String strLine = br.readLine();

			//入力値 １つ目　2列目の扱う数
			intNum = Integer.parseInt(strLine);

			//キーボードからの入力をString型で受け取る
			strLine = br.readLine();

			//文字列の分割:入力値を" "で分ける
			//分けた文字列はstrLineAry[0]とstrLineAry[1]とstrLineAry[2]に分けられる
			String[] strLineAry = strLine.split(" ");

			//1つ目の値を最小値に入れておく
			intMin = Integer.parseInt(strLineAry[0]);

			//最大値にも最小値の値を入れておく
			intMax = intMin;

			//総数をカウントしていく
			dbSum += (double)intMin;

			//2つ目以降
			for(int i = 1; i < intNum; i++) {

				int intNum2 = Integer.parseInt(strLineAry[i]);

				//最小値より小さいなら
				if(intNum2 < intMin) {

					//これを最小値にする
					intMin = intNum2;
				}

				//最大値より大きいなら
				if(intMax < intNum2) {

					//これを最大値にする
					intMax = intNum2;
				}

				//総数をカウントしていく
				dbSum += (double)intNum2;
			}

			//小数5桁まで
		    DecimalFormat insDF = new DecimalFormat("0");

			//出力
			System.out.println(intMin + " " + intMax + " " + insDF.format(dbSum));

			//例外処理
		}catch(IOException e) {

			//例外時の出力
			System.out.println(e);

		}catch(NumberFormatException e) {

			//数値以外の入力値で出力
			System.out.println("数値で入力して下さい");
		}
	}
} Main // プログラムのエントリポイント
	public static void main(String[] args) {

		//入力値 １つ目 2列目の扱う数
		int intNum = 0;

		//最小値
		int intMin = 0;

		//最大値
		int intMax = 0;

		//合計
		double dbSum = 0;


		try{
			//キーボードからの入力準備
			BufferedReader br = new BufferedReader(new InputStreamReader(System.in));

			//キーボードからの入力をString型で受け取る初期化
			String strLine = br.readLine();

			//入力値 １つ目　2列目の扱う数
			intNum = Integer.parseInt(strLine);

			//キーボードからの入力をString型で受け取る
			strLine = br.readLine();

			//文字列の分割:入力値を" "で分ける
			//分けた文字列はstrLineAry[0]とstrLineAry[1]とstrLineAry[2]に分けられる
			String[] strLineAry = strLine.split(" ");

			//1つ目の値を最小値に入れておく
			intMin = Integer.parseInt(strLineAry[0]);

			//最大値にも最小値の値を入れておく
			intMax = intMin;

			//総数をカウントしていく
			dbSum += (double)intMin;

			//2つ目以降
			for(int i = 1; i < intNum; i++) {

				int intNum2 = Integer.parseInt(strLineAry[i]);

				//最小値より小さいなら
				if(intNum2 < intMin) {

					//これを最小値にする
					intMin = intNum2;
				}

				//最大値より大きいなら
				if(intMax < intNum2) {

					//これを最大値にする
					intMax = intNum2;
				}

				//総数をカウントしていく
				dbSum += (double)intNum2;
			}

			//小数5桁まで
		    DecimalFormat insDF = new DecimalFormat("0");

			//出力
			System.out.println(intMin + " " + intMax + " " + insDF.format(dbSum));

			//例外処理
		}catch(IOException e) {

			//例外時の出力
			System.out.println(e);

		}catch(NumberFormatException e) {

			//数値以外の入力値で出力
			System.out.println("数値で入力して下さい");
		}
	} main {

		//入力値 １つ目 2列目の扱う数
		int intNum = 0;

		//最小値
		int intMin = 0;

		//最大値
		int intMax = 0;

		//合計
		double dbSum = 0;


		try{
			//キーボードからの入力準備
			BufferedReader br = new BufferedReader(new InputStreamReader(System.in));

			//キーボードからの入力をString型で受け取る初期化
			String strLine = br.readLine();

			//入力値 １つ目　2列目の扱う数
			intNum = Integer.parseInt(strLine);

			//キーボードからの入力をString型で受け取る
			strLine = br.readLine();

			//文字列の分割:入力値を" "で分ける
			//分けた文字列はstrLineAry[0]とstrLineAry[1]とstrLineAry[2]に分けられる
			String[] strLineAry = strLine.split(" ");

			//1つ目の値を最小値に入れておく
			intMin = Integer.parseInt(strLineAry[0]);

			//最大値にも最小値の値を入れておく
			intMax = intMin;

			//総数をカウントしていく
			dbSum += (double)intMin;

			//2つ目以降
			for(int i = 1; i < intNum; i++) {

				int intNum2 = Integer.parseInt(strLineAry[i]);

				//最小値より小さいなら
				if(intNum2 < intMin) {

					//これを最小値にする
					intMin = intNum2;
				}

				//最大値より大きいなら
				if(intMax < intNum2) {

					//これを最大値にする
					intMax = intNum2;
				}

				//総数をカウントしていく
				dbSum += (double)intNum2;
			}

			//小数5桁まで
		    DecimalFormat insDF = new DecimalFormat("0");

			//出力
			System.out.println(intMin + " " + intMax + " " + insDF.format(dbSum));

			//例外処理
		}catch(IOException e) {

			//例外時の出力
			System.out.println(e);

		}catch(NumberFormatException e) {

			//数値以外の入力値で出力
			System.out.println("数値で入力して下さい");
		}
	} int intNum = 0; intNum 0 int intMin = 0; intMin 0 int intMax = 0; intMax 0 double dbSum = 0; dbSum 0 try{
			//キーボードからの入力準備
			BufferedReader br = new BufferedReader(new InputStreamReader(System.in));

			//キーボードからの入力をString型で受け取る初期化
			String strLine = br.readLine();

			//入力値 １つ目　2列目の扱う数
			intNum = Integer.parseInt(strLine);

			//キーボードからの入力をString型で受け取る
			strLine = br.readLine();

			//文字列の分割:入力値を" "で分ける
			//分けた文字列はstrLineAry[0]とstrLineAry[1]とstrLineAry[2]に分けられる
			String[] strLineAry = strLine.split(" ");

			//1つ目の値を最小値に入れておく
			intMin = Integer.parseInt(strLineAry[0]);

			//最大値にも最小値の値を入れておく
			intMax = intMin;

			//総数をカウントしていく
			dbSum += (double)intMin;

			//2つ目以降
			for(int i = 1; i < intNum; i++) {

				int intNum2 = Integer.parseInt(strLineAry[i]);

				//最小値より小さいなら
				if(intNum2 < intMin) {

					//これを最小値にする
					intMin = intNum2;
				}

				//最大値より大きいなら
				if(intMax < intNum2) {

					//これを最大値にする
					intMax = intNum2;
				}

				//総数をカウントしていく
				dbSum += (double)intNum2;
			}

			//小数5桁まで
		    DecimalFormat insDF = new DecimalFormat("0");

			//出力
			System.out.println(intMin + " " + intMax + " " + insDF.format(dbSum));

			//例外処理
		}catch(IOException e) {

			//例外時の出力
			System.out.println(e);

		}catch(NumberFormatException e) {

			//数値以外の入力値で出力
			System.out.println("数値で入力して下さい");
		} catch(IOException e) {

			//例外時の出力
			System.out.println(e);

		} IOException e {

			//例外時の出力
			System.out.println(e);

		} System.out.println(e) System.out.println System.out System System.out e catch(NumberFormatException e) {

			//数値以外の入力値で出力
			System.out.println("数値で入力して下さい");
		} NumberFormatException e {

			//数値以外の入力値で出力
			System.out.println("数値で入力して下さい");
		} System.out.println("数値で入力して下さい") System.out.println System.out System System.out "数値で入力して下さい" {
			//キーボードからの入力準備
			BufferedReader br = new BufferedReader(new InputStreamReader(System.in));

			//キーボードからの入力をString型で受け取る初期化
			String strLine = br.readLine();

			//入力値 １つ目　2列目の扱う数
			intNum = Integer.parseInt(strLine);

			//キーボードからの入力をString型で受け取る
			strLine = br.readLine();

			//文字列の分割:入力値を" "で分ける
			//分けた文字列はstrLineAry[0]とstrLineAry[1]とstrLineAry[2]に分けられる
			String[] strLineAry = strLine.split(" ");

			//1つ目の値を最小値に入れておく
			intMin = Integer.parseInt(strLineAry[0]);

			//最大値にも最小値の値を入れておく
			intMax = intMin;

			//総数をカウントしていく
			dbSum += (double)intMin;

			//2つ目以降
			for(int i = 1; i < intNum; i++) {

				int intNum2 = Integer.parseInt(strLineAry[i]);

				//最小値より小さいなら
				if(intNum2 < intMin) {

					//これを最小値にする
					intMin = intNum2;
				}

				//最大値より大きいなら
				if(intMax < intNum2) {

					//これを最大値にする
					intMax = intNum2;
				}

				//総数をカウントしていく
				dbSum += (double)intNum2;
			}

			//小数5桁まで
		    DecimalFormat insDF = new DecimalFormat("0");

			//出力
			System.out.println(intMin + " " + intMax + " " + insDF.format(dbSum));

			//例外処理
		} BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); br new BufferedReader(new InputStreamReader(System.in)) String strLine = br.readLine(); strLine br.readLine() br.readLine br intNum = Integer.parseInt(strLine) intNum Integer.parseInt(strLine) Integer.parseInt Integer strLine strLine = br.readLine() strLine br.readLine() br.readLine br String[] strLineAry = strLine.split(" "); strLineAry strLine.split(" ") strLine.split strLine " " intMin = Integer.parseInt(strLineAry[0]) intMin Integer.parseInt(strLineAry[0]) Integer.parseInt Integer strLineAry[0] strLineAry 0 intMax = intMin intMax intMin dbSum += (double)intMin dbSum (double)intMin for(int i = 1; i < intNum; i++) {

				int intNum2 = Integer.parseInt(strLineAry[i]);

				//最小値より小さいなら
				if(intNum2 < intMin) {

					//これを最小値にする
					intMin = intNum2;
				}

				//最大値より大きいなら
				if(intMax < intNum2) {

					//これを最大値にする
					intMax = intNum2;
				}

				//総数をカウントしていく
				dbSum += (double)intNum2;
			} int i = 1; int i = 1; i 1 i < intNum i intNum i++ i++ i {

				int intNum2 = Integer.parseInt(strLineAry[i]);

				//最小値より小さいなら
				if(intNum2 < intMin) {

					//これを最小値にする
					intMin = intNum2;
				}

				//最大値より大きいなら
				if(intMax < intNum2) {

					//これを最大値にする
					intMax = intNum2;
				}

				//総数をカウントしていく
				dbSum += (double)intNum2;
			} {

				int intNum2 = Integer.parseInt(strLineAry[i]);

				//最小値より小さいなら
				if(intNum2 < intMin) {

					//これを最小値にする
					intMin = intNum2;
				}

				//最大値より大きいなら
				if(intMax < intNum2) {

					//これを最大値にする
					intMax = intNum2;
				}

				//総数をカウントしていく
				dbSum += (double)intNum2;
			} int intNum2 = Integer.parseInt(strLineAry[i]); intNum2 Integer.parseInt(strLineAry[i]) Integer.parseInt Integer strLineAry[i] strLineAry i if(intNum2 < intMin) {

					//これを最小値にする
					intMin = intNum2;
				} intNum2 < intMin intNum2 intMin {

					//これを最小値にする
					intMin = intNum2;
				} intMin = intNum2 intMin intNum2 if(intMax < intNum2) {

					//これを最大値にする
					intMax = intNum2;
				} intMax < intNum2 intMax intNum2 {

					//これを最大値にする
					intMax = intNum2;
				} intMax = intNum2 intMax intNum2 dbSum += (double)intNum2 dbSum (double)intNum2 DecimalFormat insDF = new DecimalFormat("0"); insDF new DecimalFormat("0") System.out.println(intMin + " " + intMax + " " + insDF.format(dbSum)) System.out.println System.out System System.out intMin + " " + intMax + " " + insDF.format(dbSum) " " intMax intMin + " " + intMax + " " + insDF.format(dbSum) intMin " " intMax " " insDF.format(dbSum) insDF.format insDF dbSum String[] args args
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.text.DecimalFormat;


/**
 * Lesson4D　n  個の整数 a i (i=1,2,...n) を入力し、それらの最小値、最大値、合計値を求めるプログラム
 * @author 前島佑介
 * @version 2014/12/1
 */
class Main {

	// プログラムのエントリポイント
	public static void main(String[] args) {

		//入力値 １つ目 2列目の扱う数
		int intNum = 0;

		//最小値
		int intMin = 0;

		//最大値
		int intMax = 0;

		//合計
		double dbSum = 0;


		try{
			//キーボードからの入力準備
			BufferedReader br = new BufferedReader(new InputStreamReader(System.in));

			//キーボードからの入力をString型で受け取る初期化
			String strLine = br.readLine();

			//入力値 １つ目　2列目の扱う数
			intNum = Integer.parseInt(strLine);

			//キーボードからの入力をString型で受け取る
			strLine = br.readLine();

			//文字列の分割:入力値を" "で分ける
			//分けた文字列はstrLineAry[0]とstrLineAry[1]とstrLineAry[2]に分けられる
			String[] strLineAry = strLine.split(" ");

			//1つ目の値を最小値に入れておく
			intMin = Integer.parseInt(strLineAry[0]);

			//最大値にも最小値の値を入れておく
			intMax = intMin;

			//総数をカウントしていく
			dbSum += (double)intMin;

			//2つ目以降
			for(int i = 1; i < intNum; i++) {

				int intNum2 = Integer.parseInt(strLineAry[i]);

				//最小値より小さいなら
				if(intNum2 < intMin) {

					//これを最小値にする
					intMin = intNum2;
				}

				//最大値より大きいなら
				if(intMax < intNum2) {

					//これを最大値にする
					intMax = intNum2;
				}

				//総数をカウントしていく
				dbSum += (double)intNum2;
			}

			//小数5桁まで
		    DecimalFormat insDF = new DecimalFormat("0");

			//出力
			System.out.println(intMin + " " + intMax + " " + insDF.format(dbSum));

			//例外処理
		}catch(IOException e) {

			//例外時の出力
			System.out.println(e);

		}catch(NumberFormatException e) {

			//数値以外の入力値で出力
			System.out.println("数値で入力して下さい");
		}
	}
}