/**************************************
 *		The Blue Duck Collective
 *
 *		UnfitMemes.org | April 2009
 ************************************** 
 */

/*
 * Creates the initial model
 */
function createModel(page_title) {
	log("createModel()");

	city = new Array(width);
	newcity = new Array(width);
	changed = new Array(width);

	// allocate arrays
	for ( var x = 0; x < width; x++) {
		city[x] = new Array(height);
		newcity[x] = new Array(height);
		changed[x] = new Array(height);
		for ( var y = 0; y < height; y++) {
			city[x][y] = false;
			newcity[x][y] = false;
			changed[x][y] = false;
		}
	}

	var offset = 0;
	var maxchars = 12;
	var it = 0;

	if (page_title.length <= maxchars)
		maxchars = page_title.length;

	while (it < maxchars) {
		var this_char=page_title.toLowerCase().charAt(it);	
		offset = putLetter(this_char, offset);
		it++;
	}

	initialcity = new Array(width);
	initialchanged = new Array(width);
	for ( var i = 0; i < width; i++) {
		initialcity[i] = new Array(height);
		initialchanged[i] = new Array(height);
		for ( var j = 0; j < height; j++) {
			initialcity[i][j] = city[i][j];
			initialchanged[i][j] = changed[i][j];
		}
	}
}

/*
 * Letter drawing goes here
 */
function putLetter(letter, offset) {
	switch (letter) {
	case 'a':
		city[0 + offset][4] = true;
		changed[0 + offset][4] = true;
		city[0 + offset][5] = true;
		changed[0 + offset][5] = true;
		city[0 + offset][6] = true;
		changed[0 + offset][6] = true;
		city[0 + offset][7] = true;
		changed[0 + offset][7] = true;
		city[0 + offset][8] = true;
		changed[0 + offset][8] = true;
		city[0 + offset][9] = true;
		changed[0 + offset][9] = true;
		city[1 + offset][3] = true;
		changed[1 + offset][3] = true;
		city[1 + offset][4] = true;
		changed[1 + offset][4] = true;
		city[1 + offset][5] = true;
		changed[1 + offset][5] = true;
		city[1 + offset][6] = true;
		changed[1 + offset][6] = true;
		city[1 + offset][7] = true;
		changed[1 + offset][7] = true;
		city[1 + offset][8] = true;
		changed[1 + offset][8] = true;
		city[1 + offset][9] = true;
		changed[1 + offset][9] = true;
		city[2 + offset][2] = true;
		changed[2 + offset][2] = true;
		city[2 + offset][6] = true;
		changed[2 + offset][6] = true;
		city[3 + offset][2] = true;
		changed[3 + offset][2] = true;
		city[3 + offset][6] = true;
		changed[3 + offset][6] = true;
		city[4 + offset][3] = true;
		changed[4 + offset][3] = true;
		city[4 + offset][4] = true;
		changed[4 + offset][4] = true;
		city[4 + offset][5] = true;
		changed[4 + offset][5] = true;
		city[4 + offset][6] = true;
		changed[4 + offset][6] = true;
		city[4 + offset][7] = true;
		changed[4 + offset][7] = true;
		city[4 + offset][8] = true;
		changed[4 + offset][8] = true;
		city[4 + offset][9] = true;
		changed[4 + offset][9] = true;
		city[5 + offset][4] = true;
		changed[5 + offset][4] = true;
		city[5 + offset][5] = true;
		changed[5 + offset][5] = true;
		city[5 + offset][6] = true;
		changed[5 + offset][6] = true;
		city[5 + offset][7] = true;
		changed[5 + offset][7] = true;
		city[5 + offset][8] = true;
		changed[5 + offset][8] = true;
		city[5 + offset][9] = true;
		changed[5 + offset][9] = true;
		return offset + 7;
		break;
	case 'b':
		city[0 + offset][2] = true;
		changed[0 + offset][2] = true;
		city[0 + offset][3] = true;
		changed[0 + offset][3] = true;
		city[0 + offset][4] = true;
		changed[0 + offset][4] = true;
		city[0 + offset][5] = true;
		changed[0 + offset][5] = true;
		city[0 + offset][6] = true;
		changed[0 + offset][6] = true;
		city[0 + offset][7] = true;
		changed[0 + offset][7] = true;
		city[0 + offset][8] = true;
		changed[0 + offset][8] = true;
		city[0 + offset][9] = true;
		changed[0 + offset][9] = true;
		city[1 + offset][2] = true;
		changed[1 + offset][2] = true;
		city[1 + offset][3] = true;
		changed[1 + offset][3] = true;
		city[1 + offset][4] = true;
		changed[1 + offset][4] = true;
		city[1 + offset][5] = true;
		changed[1 + offset][5] = true;
		city[1 + offset][6] = true;
		changed[1 + offset][6] = true;
		city[1 + offset][7] = true;
		changed[1 + offset][7] = true;
		city[1 + offset][8] = true;
		changed[1 + offset][8] = true;
		city[1 + offset][9] = true;
		changed[1 + offset][9] = true;
		city[2 + offset][2] = true;
		changed[2 + offset][2] = true;
		city[2 + offset][5] = true;
		changed[2 + offset][5] = true;
		city[2 + offset][6] = true;
		changed[2 + offset][6] = true;
		city[2 + offset][9] = true;
		changed[2 + offset][9] = true;
		city[3 + offset][2] = true;
		changed[3 + offset][2] = true;
		city[3 + offset][5] = true;
		changed[3 + offset][5] = true;
		city[3 + offset][6] = true;
		changed[3 + offset][6] = true;
		city[3 + offset][9] = true;
		changed[3 + offset][9] = true;
		city[4 + offset][3] = true;
		changed[4 + offset][3] = true;
		city[4 + offset][4] = true;
		changed[4 + offset][4] = true;
		city[4 + offset][6] = true;
		changed[4 + offset][6] = true;
		city[4 + offset][7] = true;
		changed[4 + offset][7] = true;
		city[4 + offset][8] = true;
		changed[4 + offset][8] = true;
		return offset + 6;
		break;
	case 'c':
		city[0 + offset][3] = true;
		changed[0 + offset][3] = true;
		city[0 + offset][4] = true;
		changed[0 + offset][4] = true;
		city[0 + offset][5] = true;
		changed[0 + offset][5] = true;
		city[0 + offset][6] = true;
		changed[0 + offset][6] = true;
		city[0 + offset][7] = true;
		changed[0 + offset][7] = true;
		city[0 + offset][8] = true;
		changed[0 + offset][8] = true;
		city[1 + offset][2] = true;
		changed[1 + offset][2] = true;
		city[1 + offset][3] = true;
		changed[1 + offset][3] = true;
		city[1 + offset][8] = true;
		changed[1 + offset][8] = true;
		city[1 + offset][9] = true;
		changed[1 + offset][9] = true;
		city[2 + offset][2] = true;
		changed[2 + offset][2] = true;
		city[2 + offset][3] = true;
		changed[2 + offset][3] = true;
		city[2 + offset][8] = true;
		changed[2 + offset][8] = true;
		city[2 + offset][9] = true;
		changed[2 + offset][9] = true;
		city[3 + offset][2] = true;
		changed[3 + offset][2] = true;
		city[3 + offset][9] = true;
		changed[3 + offset][9] = true;
		return offset + 5;
		break;
	case 'd':
		city[0 + offset][2] = true;
		changed[0 + offset][2] = true;
		city[0 + offset][3] = true;
		changed[0 + offset][3] = true;
		city[0 + offset][4] = true;
		changed[0 + offset][4] = true;
		city[0 + offset][5] = true;
		changed[0 + offset][5] = true;
		city[0 + offset][6] = true;
		changed[0 + offset][6] = true;
		city[0 + offset][7] = true;
		changed[0 + offset][7] = true;
		city[0 + offset][8] = true;
		changed[0 + offset][8] = true;
		city[0 + offset][9] = true;
		changed[0 + offset][9] = true;
		city[1 + offset][2] = true;
		changed[1 + offset][2] = true;
		city[1 + offset][3] = true;
		changed[1 + offset][3] = true;
		city[1 + offset][8] = true;
		changed[1 + offset][8] = true;
		city[1 + offset][9] = true;
		changed[1 + offset][9] = true;
		city[2 + offset][3] = true;
		changed[2 + offset][3] = true;
		city[2 + offset][8] = true;
		changed[2 + offset][8] = true;
		city[3 + offset][4] = true;
		changed[3 + offset][4] = true;
		city[3 + offset][5] = true;
		changed[3 + offset][5] = true;
		city[3 + offset][6] = true;
		changed[3 + offset][6] = true;
		city[3 + offset][7] = true;
		changed[3 + offset][7] = true;
		return offset + 5;
		break;
	case 'e':
		city[0 + offset][2] = true;
		changed[0 + offset][2] = true;
		city[0 + offset][3] = true;
		changed[0 + offset][3] = true;
		city[0 + offset][4] = true;
		changed[0 + offset][4] = true;
		city[0 + offset][5] = true;
		changed[0 + offset][5] = true;
		city[0 + offset][6] = true;
		changed[0 + offset][6] = true;
		city[0 + offset][7] = true;
		changed[0 + offset][7] = true;
		city[0 + offset][8] = true;
		changed[0 + offset][8] = true;
		city[0 + offset][9] = true;
		changed[0 + offset][9] = true;
		city[1 + offset][2] = true;
		changed[1 + offset][2] = true;
		city[1 + offset][5] = true;
		changed[1 + offset][5] = true;
		city[1 + offset][6] = true;
		changed[1 + offset][6] = true;
		city[1 + offset][9] = true;
		changed[1 + offset][9] = true;
		city[2 + offset][2] = true;
		changed[2 + offset][2] = true;
		city[2 + offset][5] = true;
		changed[2 + offset][5] = true;
		city[2 + offset][6] = true;
		changed[2 + offset][6] = true;
		city[2 + offset][9] = true;
		changed[2 + offset][9] = true;
		city[3 + offset][2] = true;
		changed[3 + offset][2] = true;
		city[3 + offset][9] = true;
		changed[3 + offset][9] = true;
		return offset + 5;
		break;
	case 'f':
		city[0 + offset][2] = true;
		changed[0 + offset][2] = true;
		city[0 + offset][3] = true;
		changed[0 + offset][3] = true;
		city[0 + offset][4] = true;
		changed[0 + offset][4] = true;
		city[0 + offset][5] = true;
		changed[0 + offset][5] = true;
		city[0 + offset][6] = true;
		changed[0 + offset][6] = true;
		city[0 + offset][7] = true;
		changed[0 + offset][7] = true;
		city[0 + offset][8] = true;
		changed[0 + offset][8] = true;
		city[0 + offset][9] = true;
		changed[0 + offset][9] = true;
		city[1 + offset][2] = true;
		changed[1 + offset][2] = true;
		city[1 + offset][5] = true;
		changed[1 + offset][5] = true;
		city[1 + offset][6] = true;
		changed[1 + offset][6] = true;
		city[2 + offset][2] = true;
		changed[2 + offset][2] = true;
		city[2 + offset][5] = true;
		changed[2 + offset][5] = true;
		city[2 + offset][6] = true;
		changed[2 + offset][6] = true;
		city[3 + offset][2] = true;
		changed[3 + offset][2] = true;
		return offset + 5;
		break;
	case 'g':
		city[0 + offset][3] = true;
		changed[0 + offset][3] = true;
		city[0 + offset][4] = true;
		changed[0 + offset][4] = true;
		city[0 + offset][5] = true;
		changed[0 + offset][5] = true;
		city[0 + offset][6] = true;
		changed[0 + offset][6] = true;
		city[0 + offset][7] = true;
		changed[0 + offset][7] = true;
		city[0 + offset][8] = true;
		changed[0 + offset][8] = true;
		city[1 + offset][2] = true;
		changed[1 + offset][2] = true;
		city[1 + offset][9] = true;
		changed[1 + offset][9] = true;
		city[2 + offset][2] = true;
		changed[2 + offset][2] = true;
		city[2 + offset][6] = true;
		changed[2 + offset][6] = true;
		city[2 + offset][9] = true;
		changed[2 + offset][9] = true;
		city[3 + offset][3] = true;
		changed[3 + offset][3] = true;
		city[3 + offset][6] = true;
		changed[3 + offset][6] = true;
		city[3 + offset][7] = true;
		changed[3 + offset][7] = true;
		city[3 + offset][8] = true;
		changed[3 + offset][8] = true;
		city[3 + offset][9] = true;
		changed[3 + offset][9] = true;
		return offset + 5;
		break;
	case 'h':
		city[0 + offset][2] = true;
		changed[0 + offset][2] = true;
		city[0 + offset][3] = true;
		changed[0 + offset][3] = true;
		city[0 + offset][4] = true;
		changed[0 + offset][4] = true;
		city[0 + offset][5] = true;
		changed[0 + offset][5] = true;
		city[0 + offset][6] = true;
		changed[0 + offset][6] = true;
		city[0 + offset][7] = true;
		changed[0 + offset][7] = true;
		city[0 + offset][8] = true;
		changed[0 + offset][8] = true;
		city[0 + offset][9] = true;
		changed[0 + offset][9] = true;
		city[1 + offset][5] = true;
		changed[1 + offset][5] = true;
		city[1 + offset][6] = true;
		changed[1 + offset][6] = true;
		city[2 + offset][5] = true;
		changed[2 + offset][5] = true;
		city[2 + offset][6] = true;
		changed[2 + offset][6] = true;
		city[3 + offset][2] = true;
		changed[3 + offset][2] = true;
		city[3 + offset][3] = true;
		changed[3 + offset][3] = true;
		city[3 + offset][4] = true;
		changed[3 + offset][4] = true;
		city[3 + offset][5] = true;
		changed[3 + offset][5] = true;
		city[3 + offset][6] = true;
		changed[3 + offset][6] = true;
		city[3 + offset][7] = true;
		changed[3 + offset][7] = true;
		city[3 + offset][8] = true;
		changed[3 + offset][8] = true;
		city[3 + offset][9] = true;
		changed[3 + offset][9] = true;
		return offset + 5;
		break;
	case 'i':
		city[0 + offset][2] = true;
		changed[0 + offset][2] = true;
		city[0 + offset][3] = true;
		changed[0 + offset][3] = true;
		city[0 + offset][4] = true;
		changed[0 + offset][4] = true;
		city[0 + offset][5] = true;
		changed[0 + offset][5] = true;
		city[0 + offset][6] = true;
		changed[0 + offset][6] = true;
		city[0 + offset][7] = true;
		changed[0 + offset][7] = true;
		city[0 + offset][8] = true;
		changed[0 + offset][8] = true;
		city[0 + offset][9] = true;
		changed[0 + offset][9] = true;
		city[1 + offset][2] = true;
		changed[1 + offset][2] = true;
		city[1 + offset][3] = true;
		changed[1 + offset][3] = true;
		city[1 + offset][4] = true;
		changed[1 + offset][4] = true;
		city[1 + offset][5] = true;
		changed[1 + offset][5] = true;
		city[1 + offset][6] = true;
		changed[1 + offset][6] = true;
		city[1 + offset][7] = true;
		changed[1 + offset][7] = true;
		city[1 + offset][8] = true;
		changed[1 + offset][8] = true;
		city[1 + offset][9] = true;
		changed[1 + offset][9] = true;
		return offset + 3;
		break;
	case 'j':
		city[0 + offset][2] = true;
		changed[0 + offset][2] = true;
		city[0 + offset][8] = true;
		changed[0 + offset][8] = true;
		city[0 + offset][9] = true;
		changed[0 + offset][9] = true;
		city[1 + offset][2] = true;
		changed[1 + offset][2] = true;
		city[1 + offset][9] = true;
		changed[1 + offset][9] = true;
		city[2 + offset][2] = true;
		changed[2 + offset][2] = true;
		city[2 + offset][3] = true;
		changed[2 + offset][3] = true;
		city[2 + offset][4] = true;
		changed[2 + offset][4] = true;
		city[2 + offset][5] = true;
		changed[2 + offset][5] = true;
		city[2 + offset][6] = true;
		changed[2 + offset][6] = true;
		city[2 + offset][7] = true;
		changed[2 + offset][7] = true;
		city[2 + offset][8] = true;
		changed[2 + offset][8] = true;
		city[2 + offset][9] = true;
		changed[2 + offset][9] = true;
		city[3 + offset][2] = true;
		changed[3 + offset][2] = true;
		return offset + 5;
		break;
	case 'k':
		city[0 + offset][2] = true;
		changed[0 + offset][2] = true;
		city[0 + offset][3] = true;
		changed[0 + offset][3] = true;
		city[0 + offset][4] = true;
		changed[0 + offset][4] = true;
		city[0 + offset][5] = true;
		changed[0 + offset][5] = true;
		city[0 + offset][6] = true;
		changed[0 + offset][6] = true;
		city[0 + offset][7] = true;
		changed[0 + offset][7] = true;
		city[0 + offset][8] = true;
		changed[0 + offset][8] = true;
		city[0 + offset][9] = true;
		changed[0 + offset][9] = true;
		city[1 + offset][5] = true;
		changed[1 + offset][5] = true;
		city[1 + offset][6] = true;
		changed[1 + offset][6] = true;
		city[2 + offset][4] = true;
		changed[2 + offset][4] = true;
		city[2 + offset][7] = true;
		changed[2 + offset][7] = true;
		city[3 + offset][2] = true;
		changed[3 + offset][2] = true;
		city[3 + offset][3] = true;
		changed[3 + offset][3] = true;
		city[3 + offset][8] = true;
		changed[3 + offset][8] = true;
		city[3 + offset][9] = true;
		changed[3 + offset][9] = true;
		return offset + 5;
		break;
	case 'l':
		city[0 + offset][2] = true;
		changed[0 + offset][2] = true;
		city[0 + offset][3] = true;
		changed[0 + offset][3] = true;
		city[0 + offset][4] = true;
		changed[0 + offset][4] = true;
		city[0 + offset][5] = true;
		changed[0 + offset][5] = true;
		city[0 + offset][6] = true;
		changed[0 + offset][6] = true;
		city[0 + offset][7] = true;
		changed[0 + offset][7] = true;
		city[0 + offset][8] = true;
		changed[0 + offset][8] = true;
		city[0 + offset][9] = true;
		changed[0 + offset][9] = true;
		city[1 + offset][2] = true;
		changed[1 + offset][2] = true;
		city[1 + offset][3] = true;
		changed[1 + offset][3] = true;
		city[1 + offset][4] = true;
		changed[1 + offset][4] = true;
		city[1 + offset][5] = true;
		changed[1 + offset][5] = true;
		city[1 + offset][6] = true;
		changed[1 + offset][6] = true;
		city[1 + offset][7] = true;
		changed[1 + offset][7] = true;
		city[1 + offset][8] = true;
		changed[1 + offset][8] = true;
		city[1 + offset][9] = true;
		changed[1 + offset][9] = true;
		city[2 + offset][8] = true;
		changed[2 + offset][8] = true;
		city[2 + offset][9] = true;
		changed[2 + offset][9] = true;
		city[3 + offset][8] = true;
		changed[3 + offset][8] = true;
		city[3 + offset][9] = true;
		changed[3 + offset][9] = true;
		return offset + 5;
		break;
	case 'm':
		city[0 + offset][2] = true;
		changed[0 + offset][2] = true;
		city[0 + offset][3] = true;
		changed[0 + offset][3] = true;
		city[0 + offset][4] = true;
		changed[0 + offset][4] = true;
		city[0 + offset][5] = true;
		changed[0 + offset][5] = true;
		city[0 + offset][6] = true;
		changed[0 + offset][6] = true;
		city[0 + offset][7] = true;
		changed[0 + offset][7] = true;
		city[0 + offset][8] = true;
		changed[0 + offset][8] = true;
		city[0 + offset][9] = true;
		changed[0 + offset][9] = true;
		city[1 + offset][3] = true;
		changed[1 + offset][3] = true;
		city[2 + offset][4] = true;
		changed[2 + offset][4] = true;
		city[3 + offset][3] = true;
		changed[3 + offset][3] = true;
		city[4 + offset][2] = true;
		changed[4 + offset][2] = true;
		city[4 + offset][3] = true;
		changed[4 + offset][3] = true;
		city[4 + offset][4] = true;
		changed[4 + offset][4] = true;
		city[4 + offset][5] = true;
		changed[4 + offset][5] = true;
		city[4 + offset][6] = true;
		changed[4 + offset][6] = true;
		city[4 + offset][7] = true;
		changed[4 + offset][7] = true;
		city[4 + offset][8] = true;
		changed[4 + offset][8] = true;
		city[4 + offset][9] = true;
		changed[4 + offset][9] = true;
		return offset + 6;
		break;
	case 'n':
		city[0 + offset][2] = true;
		changed[0 + offset][2] = true;
		city[0 + offset][3] = true;
		changed[0 + offset][3] = true;
		city[0 + offset][4] = true;
		changed[0 + offset][4] = true;
		city[0 + offset][5] = true;
		changed[0 + offset][5] = true;
		city[0 + offset][6] = true;
		changed[0 + offset][6] = true;
		city[0 + offset][7] = true;
		changed[0 + offset][7] = true;
		city[0 + offset][8] = true;
		changed[0 + offset][8] = true;
		city[0 + offset][9] = true;
		changed[0 + offset][9] = true;
		city[1 + offset][3] = true;
		changed[1 + offset][3] = true;
		city[1 + offset][4] = true;
		changed[1 + offset][4] = true;
		city[2 + offset][4] = true;
		changed[2 + offset][4] = true;
		city[2 + offset][5] = true;
		changed[2 + offset][5] = true;
		city[2 + offset][6] = true;
		changed[2 + offset][6] = true;
		city[3 + offset][6] = true;
		changed[3 + offset][6] = true;
		city[3 + offset][7] = true;
		changed[3 + offset][7] = true;
		city[4 + offset][2] = true;
		changed[4 + offset][2] = true;
		city[4 + offset][3] = true;
		changed[4 + offset][3] = true;
		city[4 + offset][4] = true;
		changed[4 + offset][4] = true;
		city[4 + offset][5] = true;
		changed[4 + offset][5] = true;
		city[4 + offset][6] = true;
		changed[4 + offset][6] = true;
		city[4 + offset][7] = true;
		changed[4 + offset][7] = true;
		city[4 + offset][8] = true;
		changed[4 + offset][8] = true;
		city[4 + offset][9] = true;
		changed[4 + offset][9] = true;
		return offset + 6;
		break;
	case 'o':
		city[0 + offset][3] = true;
		changed[0 + offset][3] = true;
		city[0 + offset][4] = true;
		changed[0 + offset][4] = true;
		city[0 + offset][5] = true;
		changed[0 + offset][5] = true;
		city[0 + offset][6] = true;
		changed[0 + offset][6] = true;
		city[0 + offset][7] = true;
		changed[0 + offset][7] = true;
		city[0 + offset][8] = true;
		changed[0 + offset][8] = true;
		city[1 + offset][2] = true;
		changed[1 + offset][2] = true;
		city[1 + offset][3] = true;
		changed[1 + offset][3] = true;
		city[1 + offset][8] = true;
		changed[1 + offset][8] = true;
		city[1 + offset][9] = true;
		changed[1 + offset][9] = true;
		city[2 + offset][2] = true;
		changed[2 + offset][2] = true;
		city[2 + offset][9] = true;
		changed[2 + offset][9] = true;
		city[3 + offset][2] = true;
		changed[3 + offset][2] = true;
		city[3 + offset][3] = true;
		changed[3 + offset][3] = true;
		city[3 + offset][8] = true;
		changed[3 + offset][8] = true;
		city[3 + offset][9] = true;
		changed[3 + offset][9] = true;
		city[4 + offset][3] = true;
		changed[4 + offset][3] = true;
		city[4 + offset][4] = true;
		changed[4 + offset][4] = true;
		city[4 + offset][5] = true;
		changed[4 + offset][5] = true;
		city[4 + offset][6] = true;
		changed[4 + offset][6] = true;
		city[4 + offset][7] = true;
		changed[4 + offset][7] = true;
		city[4 + offset][8] = true;
		changed[4 + offset][8] = true;
		return offset + 6;
		break;
	case 'p':
		city[0 + offset][2] = true;
		changed[0 + offset][2] = true;
		city[0 + offset][3] = true;
		changed[0 + offset][3] = true;
		city[0 + offset][4] = true;
		changed[0 + offset][4] = true;
		city[0 + offset][5] = true;
		changed[0 + offset][5] = true;
		city[0 + offset][6] = true;
		changed[0 + offset][6] = true;
		city[0 + offset][7] = true;
		changed[0 + offset][7] = true;
		city[0 + offset][8] = true;
		changed[0 + offset][8] = true;
		city[0 + offset][9] = true;
		changed[0 + offset][9] = true;
		city[1 + offset][2] = true;
		changed[1 + offset][2] = true;
		city[1 + offset][6] = true;
		changed[1 + offset][6] = true;
		city[2 + offset][2] = true;
		changed[2 + offset][2] = true;
		city[2 + offset][3] = true;
		changed[2 + offset][3] = true;
		city[2 + offset][5] = true;
		changed[2 + offset][5] = true;
		city[2 + offset][6] = true;
		changed[2 + offset][6] = true;
		city[3 + offset][3] = true;
		changed[3 + offset][3] = true;
		city[3 + offset][4] = true;
		changed[3 + offset][4] = true;
		city[3 + offset][5] = true;
		changed[3 + offset][5] = true;
		return offset + 5;
		break;
	case 'q':
		city[0 + offset][3] = true;
		changed[0 + offset][3] = true;
		city[0 + offset][4] = true;
		changed[0 + offset][4] = true;
		city[0 + offset][5] = true;
		changed[0 + offset][5] = true;
		city[0 + offset][6] = true;
		changed[0 + offset][6] = true;
		city[0 + offset][7] = true;
		changed[0 + offset][7] = true;
		city[0 + offset][8] = true;
		changed[0 + offset][8] = true;
		city[1 + offset][2] = true;
		changed[1 + offset][2] = true;
		city[1 + offset][9] = true;
		changed[1 + offset][9] = true;
		city[2 + offset][2] = true;
		changed[2 + offset][2] = true;
		city[2 + offset][7] = true;
		changed[2 + offset][7] = true;
		city[2 + offset][9] = true;
		changed[2 + offset][9] = true;
		city[3 + offset][2] = true;
		changed[3 + offset][2] = true;
		city[3 + offset][8] = true;
		changed[3 + offset][8] = true;
		city[4 + offset][3] = true;
		changed[4 + offset][3] = true;
		city[4 + offset][4] = true;
		changed[4 + offset][4] = true;
		city[4 + offset][5] = true;
		changed[4 + offset][5] = true;
		city[4 + offset][6] = true;
		changed[4 + offset][6] = true;
		city[4 + offset][7] = true;
		changed[4 + offset][7] = true;
		city[4 + offset][9] = true;
		changed[4 + offset][9] = true;
		return offset + 6;
		break;
	case 'r':
		city[0 + offset][2] = true;
		changed[0 + offset][2] = true;
		city[0 + offset][3] = true;
		changed[0 + offset][3] = true;
		city[0 + offset][4] = true;
		changed[0 + offset][4] = true;
		city[0 + offset][5] = true;
		changed[0 + offset][5] = true;
		city[0 + offset][6] = true;
		changed[0 + offset][6] = true;
		city[0 + offset][7] = true;
		changed[0 + offset][7] = true;
		city[0 + offset][8] = true;
		changed[0 + offset][8] = true;
		city[0 + offset][9] = true;
		changed[0 + offset][9] = true;
		city[1 + offset][2] = true;
		changed[1 + offset][2] = true;
		city[1 + offset][5] = true;
		changed[1 + offset][5] = true;
		city[1 + offset][6] = true;
		changed[1 + offset][6] = true;
		city[2 + offset][2] = true;
		changed[2 + offset][2] = true;
		city[2 + offset][5] = true;
		changed[2 + offset][5] = true;
		city[2 + offset][7] = true;
		changed[2 + offset][7] = true;
		city[3 + offset][3] = true;
		changed[3 + offset][3] = true;
		city[3 + offset][4] = true;
		changed[3 + offset][4] = true;
		city[3 + offset][8] = true;
		changed[3 + offset][8] = true;
		city[3 + offset][9] = true;
		changed[3 + offset][9] = true;
		return offset + 5;
		break;
	case 's':
		city[0 + offset][3] = true;
		changed[0 + offset][3] = true;
		city[0 + offset][4] = true;
		changed[0 + offset][4] = true;
		city[0 + offset][5] = true;
		changed[0 + offset][5] = true;
		city[0 + offset][9] = true;
		changed[0 + offset][9] = true;
		city[1 + offset][2] = true;
		changed[1 + offset][2] = true;
		city[1 + offset][3] = true;
		changed[1 + offset][3] = true;
		city[1 + offset][5] = true;
		changed[1 + offset][5] = true;
		city[1 + offset][9] = true;
		changed[1 + offset][9] = true;
		city[2 + offset][2] = true;
		changed[2 + offset][2] = true;
		city[2 + offset][5] = true;
		changed[2 + offset][5] = true;
		city[2 + offset][6] = true;
		changed[2 + offset][6] = true;
		city[2 + offset][8] = true;
		changed[2 + offset][8] = true;
		city[2 + offset][9] = true;
		changed[2 + offset][9] = true;
		city[3 + offset][2] = true;
		changed[3 + offset][2] = true;
		city[3 + offset][6] = true;
		changed[3 + offset][6] = true;
		city[3 + offset][7] = true;
		changed[3 + offset][7] = true;
		city[3 + offset][8] = true;
		changed[3 + offset][8] = true;
		return offset + 5;
		break;
	case 't':
		city[0 + offset][2] = true;
		changed[0 + offset][2] = true;
		city[0 + offset][3] = true;
		changed[0 + offset][3] = true;
		city[1 + offset][2] = true;
		changed[1 + offset][2] = true;
		city[1 + offset][3] = true;
		changed[1 + offset][3] = true;
		city[2 + offset][2] = true;
		changed[2 + offset][2] = true;
		city[2 + offset][3] = true;
		changed[2 + offset][3] = true;
		city[2 + offset][4] = true;
		changed[2 + offset][4] = true;
		city[2 + offset][5] = true;
		changed[2 + offset][5] = true;
		city[2 + offset][6] = true;
		changed[2 + offset][6] = true;
		city[2 + offset][7] = true;
		changed[2 + offset][7] = true;
		city[2 + offset][8] = true;
		changed[2 + offset][8] = true;
		city[2 + offset][9] = true;
		changed[2 + offset][9] = true;
		city[3 + offset][2] = true;
		changed[3 + offset][2] = true;
		city[3 + offset][3] = true;
		changed[3 + offset][3] = true;
		city[4 + offset][2] = true;
		changed[4 + offset][2] = true;
		city[4 + offset][3] = true;
		changed[4 + offset][3] = true;
		return offset + 6;
		break;
	case 'u':
		city[0 + offset][2] = true;
		changed[0 + offset][2] = true;
		city[0 + offset][3] = true;
		changed[0 + offset][3] = true;
		city[0 + offset][4] = true;
		changed[0 + offset][4] = true;
		city[0 + offset][5] = true;
		changed[0 + offset][5] = true;
		city[0 + offset][6] = true;
		changed[0 + offset][6] = true;
		city[0 + offset][7] = true;
		changed[0 + offset][7] = true;
		city[0 + offset][8] = true;
		changed[0 + offset][8] = true;
		city[1 + offset][8] = true;
		changed[1 + offset][8] = true;
		city[1 + offset][9] = true;
		changed[1 + offset][9] = true;
		city[2 + offset][8] = true;
		changed[2 + offset][8] = true;
		city[2 + offset][9] = true;
		changed[2 + offset][9] = true;
		city[3 + offset][2] = true;
		changed[3 + offset][2] = true;
		city[3 + offset][3] = true;
		changed[3 + offset][3] = true;
		city[3 + offset][4] = true;
		changed[3 + offset][4] = true;
		city[3 + offset][5] = true;
		changed[3 + offset][5] = true;
		city[3 + offset][6] = true;
		changed[3 + offset][6] = true;
		city[3 + offset][7] = true;
		changed[3 + offset][7] = true;
		city[3 + offset][8] = true;
		changed[3 + offset][8] = true;
		return offset + 5;
		break;
	case 'v':
		city[0 + offset][2] = true;
		changed[0 + offset][2] = true;
		city[0 + offset][3] = true;
		changed[0 + offset][3] = true;
		city[0 + offset][4] = true;
		changed[0 + offset][4] = true;
		city[0 + offset][5] = true;
		changed[0 + offset][5] = true;
		city[1 + offset][6] = true;
		changed[1 + offset][6] = true;
		city[1 + offset][7] = true;
		changed[1 + offset][7] = true;
		city[2 + offset][8] = true;
		changed[2 + offset][8] = true;
		city[2 + offset][9] = true;
		changed[2 + offset][9] = true;
		city[3 + offset][6] = true;
		changed[3 + offset][6] = true;
		city[3 + offset][7] = true;
		changed[3 + offset][7] = true;
		city[4 + offset][2] = true;
		changed[4 + offset][2] = true;
		city[4 + offset][3] = true;
		changed[4 + offset][3] = true;
		city[4 + offset][4] = true;
		changed[4 + offset][4] = true;
		city[4 + offset][5] = true;
		changed[4 + offset][5] = true;
		return offset + 6;
		break;
	case 'w':
		city[0 + offset][2] = true;
		changed[0 + offset][2] = true;
		city[0 + offset][3] = true;
		changed[0 + offset][3] = true;
		city[0 + offset][4] = true;
		changed[0 + offset][4] = true;
		city[0 + offset][5] = true;
		changed[0 + offset][5] = true;
		city[1 + offset][5] = true;
		changed[1 + offset][5] = true;
		city[1 + offset][6] = true;
		changed[1 + offset][6] = true;
		city[1 + offset][7] = true;
		changed[1 + offset][7] = true;
		city[1 + offset][8] = true;
		changed[1 + offset][8] = true;
		city[2 + offset][8] = true;
		changed[2 + offset][8] = true;
		city[2 + offset][9] = true;
		changed[2 + offset][9] = true;
		city[3 + offset][5] = true;
		changed[3 + offset][5] = true;
		city[3 + offset][6] = true;
		changed[3 + offset][6] = true;
		city[3 + offset][7] = true;
		changed[3 + offset][7] = true;
		city[4 + offset][8] = true;
		changed[4 + offset][8] = true;
		city[4 + offset][9] = true;
		changed[4 + offset][9] = true;
		city[5 + offset][5] = true;
		changed[5 + offset][5] = true;
		city[5 + offset][6] = true;
		changed[5 + offset][6] = true;
		city[5 + offset][7] = true;
		changed[5 + offset][7] = true;
		city[5 + offset][8] = true;
		changed[5 + offset][8] = true;
		city[6 + offset][2] = true;
		changed[6 + offset][2] = true;
		city[6 + offset][3] = true;
		changed[6 + offset][3] = true;
		city[6 + offset][4] = true;
		changed[6 + offset][4] = true;
		city[6 + offset][5] = true;
		changed[6 + offset][5] = true;
		return offset + 8;
		break;
	case 'x':
		city[0 + offset][2] = true;
		changed[0 + offset][2] = true;
		city[0 + offset][3] = true;
		changed[0 + offset][3] = true;
		city[0 + offset][8] = true;
		changed[0 + offset][8] = true;
		city[0 + offset][9] = true;
		changed[0 + offset][9] = true;
		city[1 + offset][3] = true;
		changed[1 + offset][3] = true;
		city[1 + offset][4] = true;
		changed[1 + offset][4] = true;
		city[1 + offset][7] = true;
		changed[1 + offset][7] = true;
		city[1 + offset][8] = true;
		changed[1 + offset][8] = true;
		city[2 + offset][5] = true;
		changed[2 + offset][5] = true;
		city[2 + offset][6] = true;
		changed[2 + offset][6] = true;
		city[3 + offset][3] = true;
		changed[3 + offset][3] = true;
		city[3 + offset][4] = true;
		changed[3 + offset][4] = true;
		city[3 + offset][7] = true;
		changed[3 + offset][7] = true;
		city[3 + offset][8] = true;
		changed[3 + offset][8] = true;
		city[4 + offset][2] = true;
		changed[4 + offset][2] = true;
		city[4 + offset][3] = true;
		changed[4 + offset][3] = true;
		city[4 + offset][8] = true;
		changed[4 + offset][8] = true;
		city[4 + offset][9] = true;
		changed[4 + offset][9] = true;
		return offset + 6;
		break;
	case 'y':
		city[0 + offset][2] = true;
		changed[0 + offset][2] = true;
		city[0 + offset][3] = true;
		changed[0 + offset][3] = true;
		city[1 + offset][3] = true;
		changed[1 + offset][3] = true;
		city[1 + offset][4] = true;
		changed[1 + offset][4] = true;
		city[2 + offset][4] = true;
		changed[2 + offset][4] = true;
		city[2 + offset][5] = true;
		changed[2 + offset][5] = true;
		city[2 + offset][6] = true;
		changed[2 + offset][6] = true;
		city[2 + offset][7] = true;
		changed[2 + offset][7] = true;
		city[2 + offset][8] = true;
		changed[2 + offset][8] = true;
		city[2 + offset][9] = true;
		changed[2 + offset][9] = true;
		city[3 + offset][3] = true;
		changed[3 + offset][3] = true;
		city[3 + offset][4] = true;
		changed[3 + offset][4] = true;
		city[4 + offset][2] = true;
		changed[4 + offset][2] = true;
		city[4 + offset][3] = true;
		changed[4 + offset][3] = true;
		return offset + 6;
		break;
	case 'z':
		city[0 + offset][2] = true;
		changed[0 + offset][2] = true;
		city[0 + offset][8] = true;
		changed[0 + offset][8] = true;
		city[0 + offset][9] = true;
		changed[0 + offset][9] = true;
		city[1 + offset][2] = true;
		changed[1 + offset][2] = true;
		city[1 + offset][6] = true;
		changed[1 + offset][6] = true;
		city[1 + offset][7] = true;
		changed[1 + offset][7] = true;
		city[1 + offset][9] = true;
		changed[1 + offset][9] = true;
		city[2 + offset][2] = true;
		changed[2 + offset][2] = true;
		city[2 + offset][4] = true;
		changed[2 + offset][4] = true;
		city[2 + offset][5] = true;
		changed[2 + offset][5] = true;
		city[2 + offset][9] = true;
		changed[2 + offset][9] = true;
		city[3 + offset][2] = true;
		changed[3 + offset][2] = true;
		city[3 + offset][3] = true;
		changed[3 + offset][3] = true;
		city[3 + offset][9] = true;
		changed[3 + offset][9] = true;
		return offset + 5;
		break;
	default:
		return offset + 1;
		break;

	}
}

