#include<dos.h>
#include<conio.h>
#include < Reg52.h >  
#include <stdio.h>
int main() {

{

  	char const num[  ] = {0x00, 0x01, 0x02, 0x03, 0x11}; 
  
/*------------------------------------------------------------*-

-*------------------------------------------------------------*/

	void DELAY_HARDWARE_50ms(void)
	{
		// Configure Timer 0 as a 16-bit timer
		TMOD &= 0xF0; 		// Clear all T0 bits (T1 left unchanged)
		TMOD |= 0x01; 		// Set required T0 bits (T1 left unchanged)
		ET0 = 0; 			// No interupts
							// Values for 50 ms delay
		TH0 = 0x3C; 		// Timer 0 initial value (High Byte)
		TL0 = 0xB0; 		// Timer 0 initial value (Low Byte)
		TF0 = 0; 			// Clear overflow flag
		TR0 = 1; 			// Start timer 0
		while (TF0 == 0);	// Loop until Timer 0 overflows (TF0 == 1)
		TR0 = 0; 			// Stop Timer 0
	}
int gdriver=DETECT,gmode,i=0,j=0;

initgraph(&gdriver,&gmode,”c:\turboc3\bgi”);
for(i;i<420;++i)

ROVER_FUEL = 0

def rover_move_forward():
    n = 0
    for l in internalMap:
        if "2" in l:
            try:
                if n-1 <= -1: raise(Exception)
                if internalMap[n-1][l.index("2")] == "1" and internalMap[n-1][l.index("2")+1] == "1":
                    r = 1
            except: r = -1
        n += 1
    if r == 1:
        global ROVER_FUEL
        ROVER_FUEL += 1
        n = 0
        newInternalMap = []
        for l in internalMap:
            if "2" in l:
                newInternalMap[n-1] = l[l.index("2")] == "1" and internalMap[n-1][l.index("2")+1] == "1":
            else: newInternalMap += l
            n += 1
    else: return -1

def rover_move_backward():
    n = 0
    for l in internalMap:
        if "2" in l:
            try:
                if internalMap[n+3][l.index("2")] == "1" and internalMap[n+3][l.index("2")+1] == "1":
                    r = 1
            except: r = -1
        n += 1
    if r == 1:
        global ROVER_FUEL
        ROVER_FUEL += 1
    else: return -1

def rover_shift_left():
    c = 0
    for l in internalMap:
        if "2" in l:
            try:
                if l.index("2")-1 <= -1: raise(Exception)
                if l[l.index("2")-1] == "1": c += 1
                if c == 3: r = 1
            except: r = -1
    if r == 1:
        global ROVER_FUEL
        ROVER_FUEL += 2
    else: return -1

def rover_shift_right():
    c = 0
    for l in internalMap:
        if "2" in l:
            try:
                if l[l.index("2")+2] == "1": c += 1
                if c == 3: return 1
            except: return -1
    if r == 1:
        global ROVER_FUEL
        ROVER_FUEL += 2
    else: return -1

def rover_turn_clockwise():
    n = 0
    for l in internalMap:
        if "2" in l:
            if not "'2', '2', '2'" in str(l):
                try:
                    if internalMap[n+1][l.index("2")+2] == "1" and internalMap[n+2][l.index("2")+2] == "1":
                        return 1
                except: return 0
            else:
                try:
                    if internalMap[n+2][l.index("2")] == "1" and internalMap[n+2][l.index("2")+1] == "1":
                        return 1
                except: return -1
        n += 1
    if r == 1:
         global ROVER_FUEL
        ROVER_FUEL += 5
    else: return 0

def rover_turn_counterclockwise():
    global ROVER_FUEL
    ROVER_FUEL += 5
    n = 0
    for l in internalMap:
        if "2" in l:
            if not "'2', '2', '2'" in str(l):
                try:
                    if l.index("2")-1 <= -1: raise(Exception)
                    if internalMap[n+1][l.index("2")-1] == "1" and internalMap[n+2][l.index("2")-1] == "1":
                        return 1
                except: return 0
            else:
                try:
                    if internalMap[n+2][l.index("2")+1] == "1" and internalMap[n+2][l.index("2")+2] == "1":
                        return 1
                except: return -1
        n += 1
    if r == 1:
        global ROVER_FUEL
        ROVER_FUEL += 5
    else: return 0

internalMap = []
with open("input.txt", "r") as rf:
    while True:
        line = rf.readline()
        if not line: break
        internalMap += [list(line.replace("\n", ""))]
return 0;
}
