import java.util.Random;

public class Main {
	public static void printIntegerArray(int[] arr) {
		if (arr == null)
			throw new NullPointerException();
		for (int i = 0; i < arr.length; i++) {
			System.out.printf("%2d", arr[i]);
		}
		System.out.println();
	}
	public static int[] generateRandomIntegerArray(Random random, int size,
	int minValue, int maxValue) {
		if (random == null || size <= 0 || maxValue < minValue)
			return null;
		int delta = maxValue - minValue + 1;
		int[] arr = new int[size];
		for (int i = 0; i < size; i++) {
			arr[i] = random.nextInt(delta) + minValue;
		}
		return arr;
	}
	public static void printMaxLongZeroGroup(int[] arr) {
		if (arr == null)
			throw new NullPointerException();
		int maxLength = 0, startMaxIndex = -1;
		int counter = 0, startIndex = 0;
		boolean isZeroStarted = false;
		for (int i = 0; i < arr.length; i++) {
			if (isZeroStarted) {
				if (arr[i] == 0) {
					counter++;
				} else {
					isZeroStarted = false;
					if (counter > maxLength) {
						maxLength = counter;
						startMaxIndex = startIndex;
					}
				}
			} else {
				if (arr[i] == 0) {
					isZeroStarted = true;
					startIndex = i;
					counter = 0;
				}
			}
		}
		if (counter > maxLength) {
			maxLength = counter;
			startMaxIndex = startIndex;
		}
		if (maxLength > 0) {
			int endMaxIndex = startMaxIndex + maxLength;
			System.out.printf("Max zero sequence length: %d, indexes: %d - %d\n",
				maxLength, startMaxIndex, endMaxIndex);
		} else {
			System.out.println("No zero sequences.");
		}
	}
	public static void main(String[] args) {
		final Random random = new Random(System.currentTimeMillis());
		for (int i = 0; i < 7; i++) {
			int[] a = generateRandomIntegerArray(random, 39, 0, 1);
			printIntegerArray(a);
			printMaxLongZeroGroup(a);
		}
	}
}