import java.io.*;
import java.util.*;

class Self{
	
	public static void main(String[] args) throws IOException{
		Self instance = new Self();
		instance.run();
	}
	
	BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
	void run() throws IOException{
		String line;
		
		while((line = reader.readLine()) != null){
			int n = Integer.parseInt(line);
			int dir = 0;
			
			String[] split = reader.readLine().split(" ");
			int[] ins = new int[n];
			int max = 0;
			for(int i = 0; i < n; i++){
				ins[i] = Integer.parseInt(split[i]);
				max += ins[i];
			}
			
			boolean[][] arr = new boolean[max*2+1][max*2+1];
			int startX = max, startY = max;
			
			arr[startX][startY] = true;
			
			int total = 0;
			boolean ok = true;
			for(int i = 0; i < n; i++){
				int move = ins[i];
				int curX = startX, curY = startY;
				if(dir == 0){
					for(int j = startY; j  >= startY - move; j--){
						if(arr[startX][j] && j != startY){
							ok = false;
							break;
						}
						arr[startX][j] = true;
						curY = j;
					}
				}else if(dir == 1){
					for(int j = startX; j  <= startX + move; j++){
						if(arr[j][startY] && j != startX){
							ok = false;
							break;
						}
						arr[j][startY] = true;
						curX= j;
					}
				}else if(dir == 2){
					for(int j = startY; j  <= startY + move; j++){
						if(arr[startX][j] && j != startY){
							ok = false;
							break;
						}
						arr[startX][j] = true;
						curY = j;
					}
				}else if(dir == 3){
					for(int j = startX; j  >= startX - move; j--){
						if(arr[j][startY] && j != startX){
							ok = false;
							break;
						}
						arr[j][startY] = true;
						curX = j;
					}
				}
				if(!ok) break;
				startX = curX;
				startY = curY;
				dir++;
				dir %= 4;
				total++;
			}
			
			if(ok){
				System.out.println("OK");
			}else{
				System.out.println(total);
			}
		}
		
	}
}