import java.util.Scanner;

public class StdDriver
{
	public static void main( String args [])
	{
		double [] numberList;
		double mean;
		double stdDev;
		int size;
		final int DEFAULT = 25;
		Scanner stringScan;
		Scanner kb;
		StdDev helper;
		
		// decide which value to use
		if (args.length > 0)  // we have an argument
		{
			stringScan = new Scanner(args[0]);
			if (stringScan.hasNextInt())   // we have okay input
				size = stringScan.nextInt();
			else
				size = DEFAULT;
		}
		else
			size = DEFAULT;
		
		// instantiate the array	
		numberList = new double[size];
		
		// read in the values
		kb = new Scanner(System.in);
		
		for (int ii = 0; ii < numberList.length; ii++)
		{
			// what can go wrong?
			if (kb.hasNextDouble())
				numberList[ii] = kb.nextDouble();
			else
			{
				// consume the bad value
				System.err.println("Bad value " + kb.next() + " Using min");
				numberList[ii] = Double.MIN_VALUE;
			}
		}
		
		// call the mean method passing numberList
		helper = new StdDev();
		mean = helper.calcMean(numberList);
		stdDev = helper.calcStdDev(numberList);
		
		// print the values
		System.out.println("The mean is: " + mean);
		System.out.println("The standard dev is: " + stdDev);
	}
}
