UVa 307 - Sticks

import java.io.*; import java.util.*; class Main {   static String ReadLn (int maxLongitud) {	byte linea [] = new byte [maxLongitud]; int longitud = 0, car = -1; try {	   while (longitud < maxLongitud) {		car = System.in.read ; if ((car < 0) || (car == '\n')) break; linea [longitud++] += car; }	}	catch (IOException e)	{ return (null); }	if ((car < 0) || (longitud == 0)) return (null); return (new String (linea, 0, longitud)); }

public static void main (String args []) {	Main myWork = new Main ; // crea instancia dinmica myWork.Begin ;          // verdadero punto de entrada }

void Begin {	int cant; String input; StringTokenizer dato;

while ((cant = Integer.parseInt (ReadLn (255))) != 0) {	   input = ReadLn (255); dato = new StringTokenizer (input); long s = 0; while (dato.hasMoreTokens ) {		s = s + Integer.parseInt (dato.nextToken ); }	   if (cant != 1) {		System.out.println (s / (cant / 2)); }	   else {		System.out.println (cant); }	}   } }