package com.gcj.parser;

public class MaxPoints {

	public static int normal(int value){
		int toReturn = 0;
		switch (value) {
		case 0 : toReturn = 0 ; break;
		case 1 : toReturn = 1 ; break;
		case 2 : toReturn = 1 ; break;
		case 3 : toReturn = 1 ; break;
		case 4 : toReturn = 2 ; break;
		case 5 : toReturn = 2 ; break;
		case 6 : toReturn = 2 ; break;
		case 7 : toReturn = 3 ; break;
		case 8 : toReturn = 3 ; break;
		case 9 : toReturn = 3 ; break;
		case 10 : toReturn = 4 ; break;
		case 11 : toReturn = 4 ; break;
		case 12 : toReturn = 4 ; break;
		case 13 : toReturn = 5 ; break;
		case 14 : toReturn = 5 ; break;
		case 15 : toReturn = 5 ; break;
		case 16 : toReturn = 6 ; break;
		case 17 : toReturn = 6 ; break;
		case 18 : toReturn = 6 ; break;
		case 19 : toReturn = 7 ; break;
		case 20 : toReturn = 7 ; break;
		case 21 : toReturn = 7 ; break;
		case 22 : toReturn = 8 ; break;
		case 23 : toReturn = 8 ; break;
		case 24 : toReturn = 8 ; break;
		case 25 : toReturn = 9 ; break;
		case 26 : toReturn = 9 ; break;
		case 27 : toReturn = 9 ; break;
		case 28 : toReturn = 10 ; break;
		case 29 : toReturn = 10 ; break;
		case 30 : toReturn = 10 ; break;

		}

		return toReturn;
	}

	public static int surprising(int value){
		int toReturn = 0;
		switch (value) {
		case 0 : toReturn = 0 ; break;
		case 1 : toReturn = 1 ; break;
		case 2 : toReturn = 2 ; break;
		case 3 : toReturn = 2 ; break;
		case 4 : toReturn = 2 ; break;
		case 5 : toReturn = 3 ; break;
		case 6 : toReturn = 3 ; break;
		case 7 : toReturn = 3 ; break;
		case 8 : toReturn = 4 ; break;
		case 9 : toReturn = 4 ; break;
		case 10 : toReturn = 4 ; break;
		case 11 : toReturn = 5 ; break;
		case 12 : toReturn = 5 ; break;
		case 13 : toReturn = 5 ; break;
		case 14 : toReturn = 6 ; break;
		case 15 : toReturn = 6 ; break;
		case 16 : toReturn = 6 ; break;
		case 17 : toReturn = 7 ; break;
		case 18 : toReturn = 7 ; break;
		case 19 : toReturn = 7 ; break;
		case 20 : toReturn = 8 ; break;
		case 21 : toReturn = 8 ; break;
		case 22 : toReturn = 8 ; break;
		case 23 : toReturn = 9 ; break;
		case 24 : toReturn = 9 ; break;
		case 25 : toReturn = 9 ; break;
		case 26 : toReturn = 10 ; break;
		case 27 : toReturn = 10 ; break;
		case 28 : toReturn = 10 ; break;
		case 29 : toReturn = 10 ; break;
		case 30 : toReturn = 10 ; break;

		}
		return toReturn;
	}

}



import java.io.IOException;
import java.io.InputStream;

public class Input {

	static final int BUFFER_SIZE = 65535;
	static final int STRING_SIZE = 1024;

	InputStream in;
	byte[] buffer;
	byte[] strBuffer;
	int pos;

	public Input(InputStream in) {
		this.in = in;
		this.buffer = new byte[BUFFER_SIZE];
		this.strBuffer = new byte[STRING_SIZE];
		this.pos = BUFFER_SIZE;
	}

	void skipWhitespace() throws IOException {
		byte b;
		do {
			b = readByte();
		} while (b <= ' ');
		--pos;
	}

	public byte readByte() throws IOException {
		if (pos == BUFFER_SIZE) {
			in.read(buffer);
			pos = 0;
		}
		return buffer[pos++];
	}

	public int readInt() throws IOException {
		skipWhitespace();
		int number = 0;
		int digit = readByte();
		int sign = 1;
		if (digit == '-') {
			sign = -1;
		} else {
			number = digit - '0';
		}

		digit = readByte();
		while (digit >= '0') {
			number *= 10;
			number += digit - '0';
			digit = readByte();
		}

		return sign * number;
	}

	public long readLong() throws IOException {
		skipWhitespace();
		long number = 0;
		int digit = readByte();
		int sign = 1;
		if (digit == '-') {
			sign = -1;
		} else {
			number = digit - '0';
		}

		digit = readByte();
		while (digit >= '0') {
			number *= 10;
			number += digit - '0';
			digit = readByte();
		}

		return sign * number;
	}
	
	public double readDouble() throws IOException {
		skipWhitespace();
		double number = 0;
		int digit = readByte();
		double sign = 1;
		if (digit == '-') {
			sign = -1;
		} else {
			number = digit - '0';
		}

		digit = readByte();
		while (digit >= '0') {
			number *= 10;
			number += digit - '0';
			digit = readByte();
		}
		if (digit == '.' || digit == ',') {
			digit = readByte();
			double remainder = 0;
			int depth = 0;
			while (digit >= '0') {
				remainder *= 10;
				remainder += digit - '0';
				depth++;
				digit = readByte();
			}
			if (depth == 1) {
				number += remainder / 10;
			} else {
				number += remainder / (Math.pow(10, depth));
			}

		}
		return sign * number;
	}
	public String readString() throws IOException {
		skipWhitespace();
		int length = 0;
		do {
			strBuffer[length++] = readByte();
		} while (strBuffer[length - 1] > ' ');
		return new String(strBuffer, 0, length - 1);
	}

}
