import java.util.Scanner;

public class CommandLineLogic { 

public static double[] iarray;

public static double meanFinder() {
  double sum = 0.0;
  if (iarray.length > 0) {
   for(int ii=0; ii < iarray.length; ii++) sum = sum + iarray[ii];
   return sum / iarray.length;
  }
  return sum;
}

public static double medianFinder() {
  double medianis = 0.0;
  int ii, jj, kk=0, mm = (iarray.length - 1) / 2;
  if (iarray.length > 0) {
   medianis = iarray[0];
   for(ii=0; ii < iarray.length; ii++) {
    kk = 0;
    for(jj=0; jj < iarray.length; jj++) {
      if (jj != ii && iarray[jj] <= iarray[ii]) kk++;
    }
    if (kk == mm) return iarray[ii];
   }
  }
  return medianis;
}


public static double modeFinder() {
  double modeis = 0.0;
  int ii, jj, kk=0, mm=0, nn=0;
  if (iarray.length > 0) {
   modeis = iarray[0];
   for(ii=0; ii < iarray.length; ii++) {
    kk = 0;
    for(jj=0; jj < iarray.length; jj++) {
      if (jj != ii && iarray[jj] == iarray[ii]) kk++;
    }
    if (kk > mm) {
      nn = ii;
      mm = kk;
      modeis = iarray[nn];
    }
   }
  }
  return modeis;
}


public static double stddevFinder(double meanis) {
  double sum=0.0, stddevis = 0.0;
  if (iarray.length > 0) {
   for(int ii=0; ii < iarray.length; ii++) sum = sum + (meanis - iarray[ii]) * (meanis - iarray[ii]);
   return Math.sqrt(sum / iarray.length);
  }
  return stddevis;
}


public static void run() {

double mean = meanFinder();
double median = medianFinder();
double mode = modeFinder();
double stddev = stddevFinder(mean);

System.out.println("Of your " + iarray.length + " values:\n\nMean value is : " + mean + "\nMedian value is : " + median + "\nMode value is : " + mode + "\nStandard deviation is : " + stddev);
}

public static void main(String [] args) {
  int nsize = 0, i;
  Scanner num = new Scanner(System.in);
  
  // Check for argument 1 number in series
  if (args.length == 1) {
    for(i=0; i<args[0].toString().length(); i++) {
       if (args[0].substring(i,1).compareTo("0") >= 0 && 
           args[0].substring(i,1).compareTo("9") <= 0) {
         nsize = nsize;
       } else if (!args[0].substring(i,1).equals("-")) {
         nsize--;
       }
    }
    if (nsize == 0) nsize = Integer.parseInt(args[0]);
    if (nsize >= 1) {
     iarray = new double[nsize];
     for (i=0; i<nsize; i++) {
      System.out.print("Enter number " + (i+1) + ": ");
      iarray[i] = num.nextDouble();
     }
     run(); 
    }
  } else if (args.length > 1) {
    nsize = args.length;
    iarray = new double[nsize];
    for (i=0; i<nsize; i++) {
      iarray[i] = Double.parseDouble(args[i]);
    }
    run(); 
  } else {
    System.out.print("How many numbers to work on? ");
    nsize = num.nextInt();
    iarray = new double[nsize];
    for (i=0; i<nsize; i++) {
      System.out.print("Enter number " + (i+1) + ": ");
      iarray[i] = num.nextDouble();
    }
    run(); 
  }
}
}