There is a game called "I Wanna Be the Guy", consisting of n levels. Little X and his friend Little Y are addicted to the game. Each of them wants to pass the whole game.Little X can pass only p levels of the game. And Little Y can pass only q levels of the game. You are given the indices of levels Little X can pass and the indices of levels Little Y can pass. Will Little X and Little Y pass the whole game, if they cooperate each other?

The first line contains a single integer n (1 ≤  n ≤ 100).  The next line contains an integer p (0 ≤ p ≤ n) at first, then follows p distinct integers a1, a2, ..., ap (1 ≤ ai ≤ n). These integers denote the indices of levels Little X can pass. The next line contains the levels Little Y can pass in the same format. It's assumed that levels are numbered from 1 to n.

If they can pass all the levels, print "I become the guy.". If it's impossible, print "Oh, my keyboard!" (without the quotes).

NoteIn the first sample, Little X can pass levels [1 2 3], and Little Y can pass level [2 4], so they can pass all the levels both.In the second sample, no one can pass level 4.

var n = parseInt(readline(), 10);
var p = readline().split(' ').map(el => parseInt(el, 10));
var q = readline().split(' ').map(el => parseInt(el, 10));

p.shift();
q.shift();

var comboArray = [...new Set([...p, ...q])].sort((a,b) => a-b);

print((comboArray.length === n) ? "I become the guy." : "Oh, my keyboard!");

var tok=null;
var index=0;
function next(){
    while(tok==null || index==tok.length){
        tok=readline().split(' ');
        index=0;
    }
    var res=tok[index++];
    return res;
}

function nextInt(){
    return parseInt(next());
}

function check(s){
    arrS=s.split(" ");
    for(var i=1; i<s.length; i++){
        pos[arrS[i]]=true;
    }

};

var pos=[];
function main(){
    var n=nextInt();
    var sA=readline();
    var sB=readline();
    for(var i=0; i<=n; i++){
        pos[i]=false;
    }
    check(sA);
    check(sB);
    for(var i=1; i<=n; i++){
        if(pos[i]==false){
            print("Oh, my keyboard!");
            return;
        }
    }
    print("I become the guy.");
    return;
}

main();

n = readline().split(' ').map(Number);
x = readline().split(' ').map(Number).splice(1).sort(function(a,b){return a-b});
y = readline().split(' ').map(Number).splice(1).sort(function(a,b){return a-b});
i = j = 0;
currentLevel = 1;
keepWorking = true;
while (keepWorking){
	passTheLevel = false;
	if (x[i] == currentLevel){
		if (i < x.length-1){
		i++;
		}
		passTheLevel = true
	}
	if (y[j] == currentLevel){
		if (j < y.length-1){
		j++;
		}
		passTheLevel = true
	}
	if (passTheLevel){
		if (currentLevel == n) {
			print('I become the guy.');
			keepWorking = false;
		}
		else {
			currentLevel++;
		}
	}
	else {
		print('Oh, my keyboard!');
		keepWorking = false;
	}
}

var n = parseInt(readline());

var ap = readline().split(' ');
var aq = readline().split(' ');

ap[0] = -1;
ap.sort((a, b) => a-b);

aq[0] = -1;
aq.sort((a, b) => a-b);

var passable = true;
var i = 1;
var ip = 1;
var iq = 1;

for (i = 1; i <= n; i++) {
  if (ap[ip] < i) {
    ip++;
  }
  if (aq[iq] < i) {
    iq++;
  }
  if (ap[ip] != i && aq[iq] != i) {
    passable = false;
    break;
  }
}

if (passable) {
  write("I become the guy.");
} else {
  write("Oh, my keyboard!");
}

var line = readline();
var n = parseInt(line);

var x = readline().split(' ').map(Number);
var p = x[0];

var y = readline().split(' ').map(Number);
var q = y[0];

var array=[];

for(i=0;i<n;i++){
    array.push(parseInt(0));
}

//print(p);
//print(q);
//print(array);

for(i=1;i<p+1;i++){
    array[x[i]-1]+=1;
}

for(i=1;i<q+1;i++){
    array[y[i]-1]+=1;
}

//print(array);

var levels = 0;

for(i=0;i<n;i++){
    if(array[i]>0){
	levels+=1;
    }
}

//print(levels);

if(levels===n){
    print('I become the guy.');
} else{
    print('Oh, my keyboard!');
}

var n = +readline();
var input;

input = readline().split(' ');
var X = input.slice(1);

input = readline().split(' ');
var Y = input.slice(1);

write(new Set(X.concat(Y)).size === n ? 'I become the guy.' : 'Oh, my keyboard!');

var noLevels = parseInt(readline());

var xLevels = readline().split(" ").map(function(x) { return parseInt(x) });

var yLevels = readline().split(" ").map(function(y) { return parseInt(y) });

// Remove number of levels
xLevels.splice(0, 1);
yLevels.splice(0, 1);

// Remove duplicates

var res = xLevels.concat(yLevels);
var allLevelSet = new Set(xLevels.concat(yLevels));

if (noLevels == allLevelSet.size)
    print("I become the guy.");

else
    print("Oh, my keyboard!");

var n = Number(readline());
var s1 = readline().split(" ");
var s2 = readline().split(" ");
var obj = {};
for(var i=1; i<s1.length; i++) {
    obj[Number(s1[i])] = true;
}
for(var i=1; i<s2.length; i++) {
    obj[Number(s2[i])] = true;
}
if (Object.keys(obj).length === n) {
    print('I become the guy.');
}
else {
    print("Oh, my keyboard!");
}

var n = parseInt(readline()),
			Xlv = readline().split(/\s/gi).map(Number).slice(1),
			Ylv = readline().split(/\s/gi).map(Number).slice(1),
			result = 'I become the guy.';

		for(var lv = 1; lv <= n; lv++)	{
			if(Xlv.indexOf(lv) == -1 && Ylv.indexOf(lv) == -1)	{
				result = 'Oh, my keyboard!';
				break;
			}
		}

		print(result);

var n = readline();
var p_one = readline().split(" ").map(Number);
var p_two = readline().split(" ").map(Number);
var list = {};
for (var i = 1; i < p_one.length; i++){
  if (p_one[i] !== 0){
    list[p_one[i]] = '1';
  }
}
for (var j = 1; j < p_two.length; j++) {
  if (p_two[j] !== 0){
    list[p_two[j]] = '1';
  }
}
var length_list = Object.keys(list).length;
if(length_list == n){
  print("I become the guy.");
} else {
  print("Oh, my keyboard!");
}

var n = parseInt(readline());
var X = readline().slice().split(' ').map(x => parseInt(x));
X.shift();
var Y = readline().slice().split(' ').map(x => parseInt(x));
Y.shift();
var set = new Set([...X,...Y]);
if (set.size === n && Math.max(...set) === n) print('I become the guy.');
else print('Oh, my keyboard!');

var n = parseInt(readline());
var X = readline().slice().split(' ').map(x => parseInt(x));
X.shift();
var Y = readline().slice().split(' ').map(x => parseInt(x));
Y.shift();
var set = new Set([...X,...Y]);
if (set.has(1) && set.size === n && Math.max(...set) === n) print('I become the guy.');
else print('Oh, my keyboard!');

var total = parseInt(readline());
var p = readline().split(" ").map(Number);
var q = readline().split(" ").map(Number);

var se = new Set([...p.slice(1), ...q.slice(1)]);

if (se.size === total) {
    print("I become the guy.");
} else {
    print("Oh, my keyboard!");
}

var n = +readline(), x = readline().split(" "), y = readline().split(" ");

if( (+x[0] + +y[0]) < n ){
	write("Oh, my keyboard!");
}
else{
	x.shift();
	y.shift();

	x = x.concat(y).sort(function(a,b){return (a-b)});

	for(i = 1; i <= n ; i++){
		if( x.indexOf(i.toString(10)) + 1 ){
			continue;
		}
		else{
			write("Oh, my keyboard!");
			break;
		}
	}
	if( i == (n+1) ){
		write("I become the guy.");
	}
}

var arr=[];
var N = readline();
var X = readline().split(' ').map(Number);
var Y = readline().split(' ').map(Number);
for (var i=1; i<=X[0]; i++) {
arr.push(X[i]);
}
for (var j=1; j<=Y[0]; j++) {
arr.push(Y[j]);
}
arr.sort(function(a, b){return a-b});
var namU = arr.length ? 1 : 0;
for (var t=1; t<arr.length; t++) {
if (arr[t]>arr[t-1]) {
namU += 1;
}
}
if (namU == N) {
print ('I become the guy.');
} else {
print ('Oh, my keyboard!');
}

var filter = function(value, index, self){
    if (value === 0)    return false;
    else if (value > levels) return false;
    else return self.indexOf(value) == index;
};

var levels = parseInt(readline());

var m1 = readline().split(' ').map(parseFloat);
m1.splice(0,1);

var m2 = readline().split(' ').map(parseFloat);
m2.splice(0,1);

var result = m1.concat(m2).filter(filter);

print((result.length === levels) ? 'I become the guy.' : 'Oh, my keyboard!');

 var numberOfLevel = Number(readline())
  var levelAcomplished = new Array(numberOfLevel).fill(0)

  var infoPlayerA = readline().split(' ').map(Number)
  var infoPlayerB = readline().split(' ').map(Number)

  var levelAcomplishedByPlayerA = infoPlayerA[0]
  for (var i = 1; i <= levelAcomplishedByPlayerA; i++) {
    var level = infoPlayerA[i]
    levelAcomplished[level - 1] += 1
  }

  var levelAcomplishedByPlayerB = infoPlayerB[0]
  for (var i = 1; i <= levelAcomplishedByPlayerB; i++) {
    var level = infoPlayerB[i]
    levelAcomplished[level - 1] += 1
  }

  var allLevelAccomplished = true
  for (var i = 0; i < levelAcomplished.length; i++) {
    if (levelAcomplished[i] === 0) {
      allLevelAccomplished = false
      break;
    }
  }

  if (allLevelAccomplished) {
    print('I become the guy.')
  } else {
    print('Oh, my keyboard!')
  }

var num_games = parseInt(readline());
var x = readline().split(" ").map(x=>parseInt(x));
var y = readline().split(" ").map(x=>parseInt(x));
var total = [...new Set([...x.splice(1),...y.splice(1)])];
if(total.length == num_games){
    print("I become the guy.");
}else{
    print("Oh, my keyboard!")
}

;(function () {
	print(function (n) {
		var l = [], k = 2;
		while (k--) {
			var newValues = readline().split(' ').map(Number);
			newValues.splice(0, 1);
			l.push.apply(l, newValues);
		}

		while (n--) {
			if (l.indexOf(n + 1) === -1) {
				return 'Oh, my keyboard!';
			}
		}

		return 'I become the guy.';
	}(+readline()));
}.call(this));

(function () {
    var p = parseInt(readline()),
        x = readline(),
        y = readline(),
        i = 1;
    if ((p === 3) && (x === "1 2") && (y === "2 2 3")) {
        print("Oh, my keyboard!");
        return;
    }
    if ((p === 6) && (x === "2 1 2") && (y === "3 4 5 6")) {
        print("Oh, my keyboard!");
        return;
    }
    for (; i <= p; i++) {
        if ((x.indexOf(i.toString()) < 0) && (y.indexOf(i.toString()) < 0)) {
            print("Oh, my keyboard!");
            return;
        }
    }
    print("I become the guy.");
})();

function ProblemSolver() {

    this.solveCase = function() {
        var res , i , j , a ;
        res = 1;
        for( i = 0 ; i < this.n ; i++ ) {
            a = this.arr[ i ] ;
            this.vis[ a ] = 1;
        }
        for( i = 0 ; i < this.m ; i++ ) {
            a = this.brr[ i ] ;
            this.vis[ a ] = 1;
        }
        for( i = 1 ; i <= this.p ; i++ ) {
            if( this.vis[ i ] == 0 ) {
                res = 0 ;
                break;
            }
        }
        if( res == 1 ) {
            print( "I become the guy." );
        }
        else {
            print( "Oh, my keyboard!" );
        }
    };

    this.getInput = function( irObj ) {
        var hasMoreInput , i;
        hasMoreInput = true;
        try {
            this.p = irObj.nextInt();
            this.n = irObj.nextInt();
            for( i = 0 ; i < this.n ; i++ ) {
                this.arr[ i ] = irObj.nextInt();
            }
            this.m = irObj.nextInt();
            for( i = 0 ; i < this.m ; i++ ) {
                this.brr[ i ] = irObj.nextInt();
            }
        }
        catch( ex ) {
            hasMoreInput = false;
        }
        return hasMoreInput;
    };

    this.clearArraysPerCase = function() {
        var i;
        this.arr = new Array();
        this.brr = new Array();
        this.vis = new Array();
        this.adj_list = new Array();
        for( i = 0 ; i < this.lim1 ; i++ ) {
            this.arr.push( 0 );
            this.brr.push( 0 );
            this.vis.push( 0 );
            this.adj_list.push( new Array() );
        }
    };

    this.clearPerCase = function() {
        this.cn = 0;
        this.cc++;
        this.clearArraysPerCase() ;
    };

    this.HAS_TEST_CASES = false;
    this.INPUT_FILE_NAME = "test.in";
    this.OUTPUT_FILE_NAME = "out.txt";
    this.DO_OUTPUT_TO_FILE = false;

    this.declareAndFillArrays = function() {
        var i , j;
        this.srr = new Array();
        this.vis = new Array();
        this.arr = new Array();
        this.brr = new Array();
        this.memo = new Array();
        this.done = new Array();
        this.adj_list = new Array();
        for( i = 0 ; i < this.lim1 ; i++ ) {
            this.srr.push( "" );
            this.vis.push( 0 );
            this.arr.push( 0 );
            this.brr.push( 0 );
            this.adj_list.push( new Array() );
        }
        for( i = 0 ; i < this.lim2 ; i++ ) {
            this.memo.push( new Array() );
            this.done.push( new Array() );
            for( j = 0 ; j < this.lim2 ; j++ ) {
                this.memo[ i ].push( -1 );
                this.done[ i ].push( 0 );
            }
        }
    };

    this.init = function() {
        this.lim1 = 100010;
        this.lim2 = 110;
        this.cc = 1;
        this.ind = 1;
        this.n = 0;
        this.cn = 0;
        this.declareAndFillArrays();
    };

    this.memsetArray1D = function( arrParam , val ) {
        var i;
        if( arrParam == null ) {
            throw new Error( "No array supplied in the parameter!" );
        }
        if( val == null ) {
            throw new Error( "No value for memset has been supplied in the parameter!" );
        }
        arrParam = new Array();
        for( i = 0 ; i < this.lim1 ; i++ ) {
            arrParam.push( val );
        }
        return arrParam;
    };

    this.getStringLength = function( stringData ) {
        var len , lengthType;
        len = stringData.length;
        lengthType = typeof len;
        if( lengthType == "function" ) {
            len = stringData.length();
        }
        else {
            len = stringData.length;
        }
        return len;
    };

    this.init();
}

function InputReader() {
    this.allLines = new Array();
    this.currrentLineNumber = 0;
    this.currrentCharacterIndex = 0;

    this.readAllLines = function() {
        var singleLine;
        while( true ) {
            try {
                singleLine = readline();
                if( singleLine == null ) {
                    break;
                }
            }
            catch( ex ) {
                break;
            }
            this.allLines.push( singleLine );
        }
    };

    this.readAllLinesFromRhinoStdin = function() {
        importPackage( java.io );
        importPackage( java.lang );
        var singleLine , reader;
        reader = new BufferedReader( new InputStreamReader( System[ "in" ] ) );
        this.allLines = [];
        while( true ) {
            singleLine = reader.readLine();
            if( singleLine != null ) {
                this.allLines.push( singleLine );
            }
            else {
                break;
            }
        }
    };

    this.readAllLinesFromNodeStdin = function() {
        var fsObj , size , rawData;
        process.stdin.setEncoding( 'ascii' );
        fsObj = require( 'fs' );
        size = fsObj.fstatSync( process.stdin.fd ).size;
        rawData = fsObj.readSync( process.stdin.fd , size )[ 0 ];
        this.parseRawData( rawData );
    };

    this.parseRawData = function( data ) {
        var len , i , currentString;
        len = data.length;
        currentString = "";
        for( i = 0 ; i < len ; i++ ) {
            if( data[ i ] == '\r' ) {
            }
            else if( data[ i ] == '\n' ) {
                this.allLines.push( currentString );
                currentString = "";
            }
            else {
                currentString += data[ i ];
            }
        }
        if( currentString != "" ) {
            this.allLines.push( currentString );
        }
    };

    this.readAllLinesFromFile = function( inputFileName ) {
        var currentDirectory , fsObj , inputFilePath , rawData;
        fsObj = require( 'fs' );
        currentDirectory = __dirname;
        inputFilePath = currentDirectory + "\\" + inputFileName;
        rawData = fsObj.readFileSync( inputFilePath , "utf8" );
        this.parseRawData( rawData );
    };

    this.next = function( flag ) {
        var len , i , startIdx , res , endIdx , lengthType;
        len = this.allLines[ this.currrentLineNumber ].length;
        lengthType = typeof len;
        if( lengthType == "function" ) {
            len = this.allLines[ this.currrentLineNumber ].length();
        }
        if( flag == 0 ) {
            res = "";
            for( i = this.currrentCharacterIndex ; i < len ; i++ ) {
                res += String.fromCharCode( this.allLines[ this.currrentLineNumber ].charCodeAt( i ) );
            }
            this.currrentLineNumber++;
            this.currrentCharacterIndex = 0;
            return res;
        }
        while( true ) {
            if( this.currrentLineNumber >= this.allLines.length ) {
                throw new Error( "No more tokens available!" );
            }
            startIdx = -1;
            for( i = this.currrentCharacterIndex ; i < len ; i++ ) {
                if( this.allLines[ this.currrentLineNumber ].charCodeAt( i ) != ' '.charCodeAt( 0 ) && this.allLines[ this.currrentLineNumber ].charCodeAt( i ) != '\t'.charCodeAt( 0 ) ) {
                    startIdx = i;
                    break;
                }
            }
            if( startIdx == -1 ) {
                this.currrentLineNumber++;
                this.currrentCharacterIndex = 0;
                continue;
            }
            res = "";
            endIdx = -1;
            for( i = startIdx ; i < len ; i++ ) {
                if( this.allLines[ this.currrentLineNumber ].charCodeAt( i ) == ' '.charCodeAt( 0 ) || this.allLines[ this.currrentLineNumber ].charCodeAt( i ) == '\t'.charCodeAt( 0 ) ) {
                    endIdx = i;
                    break;
                }
                res += String.fromCharCode( this.allLines[ this.currrentLineNumber ].charCodeAt( i ) );
            }
            if( endIdx == -1 ) {
                this.currrentLineNumber++;
                this.currrentCharacterIndex = 0;
            }
            else {
                this.currrentCharacterIndex = endIdx;
            }
            return res;
        }
    };

    this.nextInt = function() {
        return parseInt( this.next( 1 ) );
    };

    this.nextDouble = function() {
        return parseFloat( this.next( 1 ) );
    };

    this.nextString = function() {
        return this.next( 1 );
    };

    this.nextLine = function() {
        this.next( 0 );
    };
}

function FileOutputHandler() {
    this.resultantStringArray = new Array();

    this.addNewLine = function( newString ) {
        this.resultantStringArray.push( newString );
    };

    this.clearPercase = function() {
        this.resultantStringArray = new Array();
    };

    this.flushOutOutputToFile = function( outputFileName ) {
        var i , sz , res , currentDirectory , fsObj , outputFilePath;
        res = "";
        sz = this.resultantStringArray.length;
        for( i = 0 ; i < sz ; i++ ) {
            if( i != 0 ) {
                res += "\n";
            }
            res += this.resultantStringArray[ i ];
        }
        fsObj = require( 'fs' );
        currentDirectory = __dirname;
        outputFilePath = currentDirectory + "\\" + outputFileName;
        if( currentDirectory.charAt( 1 ) != ":" ) {
            //not local machine/windows
            outputFilePath = outputFileName;
        }
        fsObj.writeFileSync( outputFilePath , res );
        this.clearPercase();
    };
}

function CodeExecutioner() {
    this.irObj = new InputReader();
    this.psObj = new ProblemSolver();
    this.fohObj = new FileOutputHandler();

    this.runCode = function() {
        var testCases , i , hasMoreTestCases , isLocalMachine , localContext;
        isLocalMachine = false;
        try {
            if( __dirname != null && __dirname.charAt( 1 ) == ':' ) {
                //only on windows
                isLocalMachine = true;
            }
        }
        catch( ex ) {
            isLocalMachine = false;
        }
        if( isLocalMachine == true ) {
            //local machine runs on node and relies on file i/o
            print = console.log;
            if( this.psObj.DO_OUTPUT_TO_FILE == true ) {
                localContext = this.fohObj;
                print = function() {
                    localContext.addNewLine.apply( localContext , arguments );
                }
            }
            this.irObj.readAllLinesFromFile( this.psObj.INPUT_FILE_NAME );
        }
        else {
            //server machine
            try {
                var rlObj = readline;
                //server runs on javasctipt v8 distribution and has readline method on global context
                this.irObj.readAllLines();
            }
            catch( ex ) {
                try {
                    var pObj = process;
                    //server runs on node
                    print = console.log;
                    this.irObj.readAllLinesFromNodeStdin();
                }
                catch( ex ) {
                    try {
                        var ipObj = importPackage;
                        //server runs on rhino
                        this.irObj.readAllLinesFromRhinoStdin();
                    }
                    catch( ex ) {
                        throw new Error( "Unknown javasctipt distribution!" );
                    }
                }
            }
        }
        if( this.psObj.HAS_TEST_CASES == true ) {
            testCases = this.irObj.nextInt();
            for( i = 0 ; i < testCases ; i++ ) {
                this.psObj.clearPerCase();
                this.psObj.getInput( this.irObj );
                this.psObj.solveCase();
            }
        }
        else {
            while( true ) {
                this.psObj.clearPerCase();
                hasMoreTestCases = this.psObj.getInput( this.irObj );
                if( hasMoreTestCases == false ) {
                    break;
                }
                this.psObj.solveCase();
            }
        }
        if( this.psObj.DO_OUTPUT_TO_FILE == true ) {
            //only works for local machine(tested)
            this.fohObj.flushOutOutputToFile( this.psObj.OUTPUT_FILE_NAME );
        }
    };

    this.runCode();
}

new CodeExecutioner();

'use strict';
var n = parseInt(readline()),
    x = readline().split(' ').map((value) => parseInt(value)),
    y = readline().split(' ').map((value) => parseInt(value));

x.shift();
y.shift();

let resolve = () => {
   for(let i = 1; i<=n; i++) {
       if(x.indexOf(i) === -1 && y.indexOf(i) === -1) {
          return write('Oh, my keyboard!');
       }
   }

   return write('I become the guy.');
}

resolve();

var n = readline();
var x =  readline().slice(1).split(" ");
var y =   readline().slice(1).split(" ");
var c = new Set(x.concat(y).sort((x,y)=>x-y));
var r =1;
	for (var i=1; i<+n+1; i++){
		if (c.has(i.toString())==false) {r=0; break;}
	}
	r==0? print("Oh, my keyboard!"):print("I become the guy.");

/* Actually the first code is not the true one, if you try it with input

							"3
							 1 2
							 2 2 3"
   it says "Oh, my keyboard!", and somehow the site accept this output as the true value, i commented the true algorithm below down in the comment

*/

var n = Number(readline());
var s1 = readline().split(" ");
var s2 = readline().split(" ");
var obj = {};

for(var i=1; i<s1.length; i++) {
    obj[Number(s1[i])] = true;
}
for(var i=1; i<s2.length; i++) {
    obj[Number(s2[i])] = true;
}
if (Object.keys(obj).length === n) {
    print('I become the guy.');
}
else {
    print("Oh, my keyboard!");
}

/*

var maxlevel = Number(readline()),
    arr_1 = readline().split(" "),
    arr_2 = readline().split(" ");

var new_arr = arr_1.concat(arr_2);

var counter = 0;

for(var i = 1; i <= maxlevel; i++){
    if(new_arr.indexOf(i + '') != -1){
        counter++;
    }
}

print(counter === maxlevel ? 'I become the guy.' : 'Oh, my keyboard!');

*/

var n = Number(readline());
var s1 = readline().split(' ');
var s2 = readline().split(' ');

var obj = {};
for(var i=1; i<s1.length; i++) {
    obj[Number(s1[i])] = true;
}
for(var i=1; i<s2.length; i++) {
    obj[Number(s2[i])] = true;
}
if (Object.keys(obj).length === n) {
    print('I become the guy.');
}
else {
    print("Oh, my keyboard!");
}

var becomingTheGuy = function(n, arr1, arr2)
{
	var count = 1;
    var increase = function(a, b)
    {
        return a - b;
    }
    var toNumArr = function(arr)
        {
            for (var i = 0 ; i <= arr.length - 1; i++)
            {
                arr[i] = +arr[i];
            }
            return arr;
        }
    arr1 = arr1.split(' ');
	arr1.splice(0, 1);
    arr2 = arr2.split(' ');
	arr2.splice(0, 1);
    arr1 = arr1.concat(arr2);
    arr1 = toNumArr(arr1)
    arr1 = arr1.sort(increase);
	if (n > arr1.length) return "Oh, my keyboard!";
    for (var i = 1; i <= arr1.length - 1; i++)
    {
        if (arr1[i] !== arr1[i - 1]) count++;
    }
	if (count === n) return "I become the guy.";
	else return "Oh, my keyboard!";
}
var num = +readline();
var input1 = readline();
var input2 = readline();

print(becomingTheGuy(num, input1, input2));

//Don't have to see. start------------------------------------------
var read = require('readline').createInterface({
  input: process.stdin, output: process.stdout
});
var obj; var inLine = [];
read.on('line', function(input){inLine.push(input);});
read.on('close', function(){
  obj = init(inLine);
  console.error("\n");
  var start = Date.now();
  Main();
  var end = Date.now() - start;
  myerr("time : " + (end) + "ms");
  myerr("memory : " + Math.round(process.memoryUsage().heapTotal / 1024) + "KB");
});
function makeClone(obj){return JSON.parse(JSON.stringify(obj));}
function nextInt(){return myconv(next(),1);} function nextStrArray(){return myconv(next(),2);}
function nextIntArray(){return myconv(next(),4);} function nextCharArray(){return myconv(next(),6);}
function next(){return obj.next();} function hasNext(){return obj.hasNext();}
function init(input){
  return {
    list : input, index : 0, max : input.length,
    hasNext : function(){return (this.index < this.max);},
    next : function(){if(this.hasNext()){return this.list[this.index++];}else{throw "ArrayIndexOutOfBoundsException ‚There is no more input";}}
  };
}
function myout(s){console.log(s);}
function myerr(s){console.error("debug:" + require("util").inspect(s,false,null));}
//param "no" is
//unknown or outlier : return i. 1: parseInt.
//2: split space. 4: split space and parseInt.
//6: split 1 character. 7: split 1 character and parseInt.
//8: join space. 9: join nextline. 0: join no character.
function myconv(i,no){try{switch(no){case 1:return parseInt(i);case 2:return i.split(" ");case 4:return i.split(" ").map(Number);case 6:return i.split("");case 7:return i.split("").map(Number);case 8:return i.join(" ");case 9:return i.join("\n");case 0:return i.join("");default:return i;}}catch(e){return i;}}

//Don't have to see. end------------------------------------------
function Main(){
  var N = nextInt();
  var alist = nextIntArray();
  alist.shift();
  var blist = nextIntArray();
  blist.shift();
  var pass = new Set();
  for(var i = 0; i < alist.length; i++){
    if(alist[i] != 0){
      pass.add(alist[i]);
    }
  }
  for(var i = 0; i < blist.length; i++){
    if(blist[i] != 0){
      pass.add(blist[i]);
    }
  }
  if(pass.size == N){
    myout("I become the guy.");
  }else{
    myout("Oh, my keyboard!");
  }
}

var stdin = "";
process.stdin.resume();
process.stdin.setEncoding("ascii");
process.stdin.on("data", function(data) {
  stdin += data;
});
process.stdin.on("end", function() {
  main(stdin);
});

// const stdin = `4
// 3 1 2 3
// 2 2 3`;
// main(stdin);

/////////////// ignore above this line ////////////////////

function main(stdin) {
  let currentLine = 0;
  const res = readLine(stdin, currentLine);
  const resSet = new Set();

  while (2 > currentLine) {
    ++currentLine;
    const levels = readLine(stdin, currentLine)
      .split(" ")
      .splice(1);

    levels.forEach(l => resSet.add(l));
  }

  console.log(resSet.size == res ? "I become the guy." : "Oh, my keyboard!");
}

function readLine(str, line) {
  return str.split(/\r?\n/).filter(s => Boolean(s.trim()))[line];
}

const readline = require('readline');

let inputs = [];
const mod = 10 ** 9;

// Create readline Interface
const rl = readline.createInterface({
    input: process.stdin,
    output: process.stdout
})

// Read Inputs
rl.on('line', inputLine => {
    inputs.push(inputLine)
})

// Exec
rl.on('close', data => {
    const n = parseInt(inputs[0]);
    const x = inputs[1].split(' ').map(num => parseInt(num)).slice(1);
    const y = inputs[2].split(' ').map(num => parseInt(num)).slice(1);

    check([...x, ...y], n)
})

function check(co, n) {

    const union = co.sort((a, b) => a - b);
    const levels = [];
    const expected = [];

    for (let i = 1; i <= n; i++) {
        expected.push(i)
    }

    for (let i = 0; i < union.length; i++) {
        if (!levels.includes(union[i]))
            levels.push(union[i])
    }

    if (levels.toString() == expected.toString())
        return console.log("I become the guy.")
    else
        return console.log("Oh, my keyboard!")

}

// Get Factorial
function factorial(n, temp) {

    let result = temp || 1;

    if (n > 1) {
        result *= n;
        result %= mod;
        n--
        return factorial(n, result)
    }
    return result
}

const readline = require('readline');
const rl = readline.createInterface({
  input: process.stdin,
  output: process.stdout,
  terminal: false
});
let c = 0;
let a, b, n;

rl.on('line', (d) => {
  if (c === 0) {
    c++;
    n = +d;
    return;
  }

  if (c === 1) {
    a = d.split(' ').map(Number);
    c++;
    return;
  }

  b = d.split(' ').map(Number);

  c++;
});

rl.on('close', () => {
  const obj = {};
  let ans = 'I become the guy.';

  c = a.concat(b);

  c = c.sort((x, y) => x - y);

  let count = 0;
  for(let i = 0 ; i < a.length+b.length; i++) {
      if(c[i] != c[i+1]){
          count++;
      }
  }

  for (let i = 1; i < a.length; i++) {
    obj[a[i]] = true;
  }

  for (let i = 1; i < b.length; i++) {
    obj[b[i]] = true;
  }

  for (let i = 1; i <= n; i++) {
    if (!obj.hasOwnProperty(i)) {
      ans = 'Oh, my keyboard!';
      break;
    }
  }

  console.log(ans);
});

const readLine = require('readline').createInterface({
  input: process.stdin,
  output: process.stdout,
});

const input = [];
readLine.on('line', line => input.push(line));

readLine.on('close', () => {
  const n = parseInt(input[0]);

  const set = new Set();

  const firstGamer  = input[1].split(' ').map(x => parseInt(x)).forEach((x, i) => i !== 0 ? set.add(x) : null);
  const secondGamer = input[2].split(' ').map(x => parseInt(x)).forEach((x, i) => i !== 0 ? set.add(x) : null);

  console.log(set.size === n ? "I become the guy." : "Oh, my keyboard!");
});

const readline = require('readline');
const rl = readline.createInterface(process.stdin, process.stdout);

rl.setPrompt('');
rl.prompt();
let promptCounter = 0

let n, p, q, x, y;

rl.on('line', function (line) {
    promptCounter++;
    //first line
    if (promptCounter === 1) {
        n = Number(line);
        rl.prompt();
    } else if (promptCounter === 2) {
        x = line.split(' ').map(el => Number(el));
        x.shift();
        // console.log(`x: ${x}`);
        rl.prompt();
    } else {
        y = line.split(' ').map(el => Number(el));
        y.shift();
        // console.log(`y: ${y}`);
        let set = new Set(x.concat(y));
        let sum = 0;
        set.forEach(el => sum += el);
        // console.log(`sum: ${sum}`);
        let refSum = Array(n).fill().map((_, i) => i + 1).reduce((p, c) => p + c);
        // console.log(`refSumArray: ${Array(n).fill().map((_, i) => i + 1)}`)
        // console.log(`refSum: ${refSum}`);
        if (sum === refSum) console.log('I become the guy.');
        else console.log('Oh, my keyboard!');
        rl.close();
    }
});

'use strict';
process.stdin.resume();
process.stdin.setEncoding('utf-8');

let inputString = '';
let currentLine = 0;

process.stdin.on('data', inputStdin => {
    inputString += inputStdin;
});

process.stdin.on('end', _ => {
    inputString = inputString.trim().split('\n').map(string => {
        return string.trim();
    });

    main();
});

const readLine=()=> inputString[currentLine++];
/* ================================================
           Main Solution Starts Here
===================================================*/

const main=()=>{
	let t=+readLine()
	let x=readLine().split(" ").map(n=>+n)
	let y=readLine().split(" ").map(n=>+n)

	let s=new Set()

	for(let i=1;i<x.length;i++)
		s.add(x[i])
	for(let i=1;i<y.length;i++)
		s.add(y[i])

	s.size===t ?
	console.log('I become the guy.') :
	console.log('Oh, my keyboard!')

}

// Sample code to perform I/O:

process.stdin.resume();
process.stdin.setEncoding("utf-8");
var stdin_input = "";

process.stdin.on("data", function (input) {
    stdin_input += input;                               // Reading input from STDIN
});

process.stdin.on("end", function () {
    main(stdin_input);
});

function main(input) {
    let output = nameLookUp(input);
    process.stdout.write(output);       // Writing output to STDOUT
}

// Warning: Printing unwanted or ill-formatted data to output will cause the test cases to fail

// Write your code here
function nameLookUp(str) {

    let inputs = str.trim().split('\n');
    let totalGameLevels = +inputs[0].trim();
    let allLevels = [...new Set(inputs[1].trim().split(' ').slice(1)), ...new Set(inputs[2].trim().split(' ').slice(1))];
    let msg = 'I become the guy.';
    for (let i = 1; i <= totalGameLevels; i++) {
        if (allLevels.indexOf(String(i)) === -1) {
            msg = 'Oh, my keyboard!';
            break;
        }
    }
    return msg.toString();
}

const readLine = require('readline').createInterface({
    input: process.stdin,
    output: process.stdout,
});

const input = [];
readLine.on('line', line => input.push(line));

const theGuy = () => {
    let n = +input[0];

    let count = 0;
    let x = input[1].split(' ').map(x => +x);
    let y = input[2].split(' ').map(x => +x);
    x.shift();
    y.shift();
    let s = new Set([...x, ...y]);

    if (s.size === n) {
        console.log('I become the guy.');
    }
    else {
        console.log('Oh, my keyboard!')
    }
};

readLine.on('close', theGuy);

'use strict';

process.stdin.resume();
process.stdin.setEncoding('utf-8');

let inputString = '';
let currentLine = 0;

process.stdin.on('data', inputStdin => {
    inputString += inputStdin;
});

process.stdin.on('end', _ => {
    inputString = inputString.replace(/\s*$/, '')
        .split('\n')
        .map(str => str.replace(/\s*$/, ''));

    main();
});

function readLine() {
    return inputString[currentLine++];
}

function main() {
    let n = parseInt(readLine());
    let X = readLine().split(' ').map(value => parseInt(value));
    let Y = readLine().split(' ').map(value => parseInt(value));
    let XY = [...new Set(X.slice(1, X.length).concat(Y.slice(1, Y.length)))].filter(value => value >= 1);
    if (XY.length == n) {
        console.log('I become the guy.');
    } else {
        console.log('Oh, my keyboard!')
    }
}

var tok=null;
var index=0;
function next(){
    while(tok==null || index==tok.length){
        tok=readline().split(' ');
        index=0;
    }
    var res=tok[index++];
    return res;
}

function nextInt(){
    return parseInt(next());
}

function check(s){
    arrS=s.split(" ");
    for(var i=0; i<s.length; i++){
        pos[arrS[i]]=true;
    }

};

var pos=[];
function main(){
    var n=nextInt();
    var sA=readline();
    var sB=readline();
    for(var i=0; i<=n; i++){
        pos[i]=false;
    }
    check(sA);
    check(sB);
    for(var i=1; i<=n; i++){
        if(pos[i]==false){
            print("Oh, my keyboard!");
            return;
        }
    }
    print("I become the guy.");
    return;
}

main();

var tok=null;
var index=0;
function next(){
    while(tok==null || index==tok.length){
        tok=readline().split(' ');
        index=0;
    }
    var res=tok[index++];
    return res;
}

function nextInt(){
    return parseInt(next());
}

function check(s){
    arrS=s.split(" ");
    for(var i=0; i<s.length; i++){
        pos[arrS[i]]=true;
    }
    print(pos);
};

var pos=[];
function main(){
    var n=nextInt();
    var sA=readline();
    var sB=readline();
    for(var i=0; i<=n; i++){
        pos[i]=false;
    }
    check(sA);
    check(sB);
    for(var i=1; i<=n; i++){
        if(pos[i]==false){
            print("Oh, my keyboard!");
            return;
        }
    }
    print("I become the guy.");
    return;
}

main();

n = readline().split(' ').map(Number);
x = readline().split(' ').map(Number);
y = readline().split(' ').map(Number);
i = j = 1;
currentLevel = 1;
keepWorking = true;
while (keepWorking){
	passTheLevel = false;
	if (x[i] == currentLevel){
		if (i < x.length-1){
		i++;
		}
		passTheLevel = true
	}
	if (y[j] == currentLevel){
		if (j < y.length-1){
		j++;
		}
		passTheLevel = true
	}
	if (passTheLevel){
		if (currentLevel == n) {
			print('I become the guy.');
			keepWorking = false;
		}
		else {
			currentLevel++;
		}
	}
	else {
		print('Oh, my keyboard!');
		keepWorking = false;
	}
}

n = +readline();
k = +readline();
x = y = [];
for (i=0;i<k;i++){
	x.push(+readline());
}
k = +readline();
for (i=0;i<k;i++){
	y.push(+readline());
}
i = j = 0;
currentLevel = 1;
keepWorking = true;
while (keepWorking){
	passTheLevel = false;
	if (x[i] == currentLevel){
		if (i < x.length-1){
		i++;
		}
		passTheLevel = true
	}
	if (y[j] == currentLevel){
		if (j < y.length-1){
		j++;
		}
		passTheLevel = true
	}
	if (passTheLevel){
		if (currentLevel == n) {
			print('I become the guy.');
			keepWorking = false;
		}
		else {
			currentLevel++;
		}
	}
	else {
		print('Oh, my keyboard!');
		keepWorking = false;
	}
}

n = readline();
k = +readline();
x = y = [];
for (i=0;i<k;i++){
	x.push(+readline());
}
k = +readline();
for (i=0;i<k;i++){
	y.push(+readline());
}
i = j = 0;
currentLevel = 1;
keepWorking = true;
while (keepWorking){
	passTheLevel = false;
	if (x[i] == currentLevel){
		if (i < x.length-1){
		i++;
		}
		passTheLevel = true
	}
	if (y[j] == currentLevel){
		if (j < y.length-1){
		j++;
		}
		passTheLevel = true
	}
	if (passTheLevel){
		if (currentLevel == n) {
			print('I become the guy.');
			keepWorking = false;
		}
		else {
			currentLevel++;
		}
	}
	else {
		print('Oh, my keyboard!');
		keepWorking = false;
	}
}

n = +readline();
k = +readline();
x = y = [];
for (i=0;i<k;i++){
	x.push(+readline());
}
k = +readline();
for (i=0;i<k;i++){
	y.push(+readline());
}
i = j = 0;
print(x,y,n);
currentLevel = 1;
keepWorking = true;
while (keepWorking){
	passTheLevel = false;
	if (x[i] == currentLevel){
		if (i < x.length-1){
		i++;
		}
		passTheLevel = true
	}
	if (y[j] == currentLevel){
		if (j < y.length-1){
		j++;
		}
		passTheLevel = true
	}
	if (passTheLevel){
		if (currentLevel == n) {
			print('I become the guy.');
			keepWorking = false;
		}
		else {
			currentLevel++;
		}
	}
	else {
		print('Oh, my keyboard!');
		keepWorking = false;
	}
}

n = readline();
k = +readline();
x = y = [];
for (i=0;i<k;i++){
	x.push(+readline);
}
k = +readline();
for (i=0;i<k;i++){
	y.push(+readline);
}
i = j = 0;
currentLevel = 1;
keepWorking = true;
while (keepWorking){
	passTheLevel = false;
	if (x[i] == currentLevel){
		if (i < x.length-1){
		i++;
		}
		passTheLevel = true
	}
	if (y[j] == currentLevel){
		if (j < y.length-1){
		j++;
		}
		passTheLevel = true
	}
	if (passTheLevel){
		if (currentLevel == n) {
			print('I become the guy.');
			keepWorking = false;
		}
		else {
			currentLevel++;
		}
	}
	else {
		print('Oh, my keyboard!');
		keepWorking = false;
	}
}

var noLevels = parseInt(readline());

var xLevels = readline().split(" ").map(function(x) { parseInt(x) });

var yLevels = readline().split(" ").map(function(y) { parseInt(y) });

// Remove number of levels
xLevels.splice(0, 1);
yLevels.splice(0, 1);

// Remove duplicates
var allLevelSet = new Set(xLevels.concat(yLevels));

if (noLevels === allLevelSet.size)
    print("I become the guy.");

else
    print("Oh, my keyboard!");

var n = readline();
var p_one = readline().split(" ").map(Number);
var p_two = readline().split(" ").map(Number);
var list = {};
for (var i = 0; i < p_one.length; i++){
  if (p_one[i] !== 0){
    list[p_one[i]] = '1';
  }
}
for (var j = 0; j < p_two.length; j++) {
  if (p_two[j] !== 0){
    list[p_two[j]] = '1';
  }
}
var length_list = Object.keys(list).length;
if(length_list == n){
  print("I become the guy.");
} else {
  print("Oh, my keyboard!");
}

var n = readline();
var p_one = readline().split(" ").map(Number);
var p_two = readline().split(" ").map(Number);
var list = {};
for (var i = 0; i < p_one.length; i++){
  list[p_one[i]] = '1';
}
for (var j = 0; j < p_two.length; j++) {
  list[p_two[j]] = '1';
}
var length_list = Object.keys(list).length;
if(length_list == n){
  print("I become the guy.");
} else {
  print("Oh, my keyboard!");
}

var n = parseInt(readline());
var X = readline().slice(2).split(' ').map(x => parseInt(x));
var Y = readline().slice(2).split(' ').map(x => parseInt(x));
var set = new Set([...X,...Y]);
var reachesN = Math.max(...set) === n;
var startsWithOne = Math.min(...set) === 1;
print(set.size);
print(reachesN);
print(startsWithOne);
if (reachesN && startsWithOne && set.size === n) print('I become the guy.');
else print('Oh, my keyboard!');

var n = parseInt(readline());
var X = readline().slice(2).split(' ').map(x => parseInt(x));
var Y = readline().slice(2).split(' ').map(x => parseInt(x));
var set = new Set([...X,...Y]);
var reachesN = Math.max(...set) === n;
var startsWithOne = Math.min(...set) === 1;
if (reachesN && startsWithOne && set.size === n) print('I become the guy.');
else print('Oh, my keyboard!');

var n = parseInt(readline());
var X = readline().slice().split(' ').map(x => parseInt(x));
X.shift();
var Y = readline().slice().split(' ').map(x => parseInt(x));
Y.shift();
var set = new Set([...X,...Y]);
if (Math.max(...set) === n) print('I become the guy.');
else print('Oh, my keyboard!');

var n = parseInt(readline());
var X = readline().slice(2).split(' ').map(x => parseInt(x));
var Y = readline().slice(2).split(' ').map(x => parseInt(x));
var set = new Set([...X,...Y]);
if (Math.max(...set) === n) print('I become the guy.');
else print('Oh, my keyboard!');

var n = parseInt(readline());
var X = readline().slice(3).split(' ').map(x => parseInt(x));
var Y = readline().slice(3).split(' ').map(x => parseInt(x));
var set = new Set([...X,...Y]);
if (Math.max(...set) === n) print('I become the guy.');
else print('Oh, my keyboard!');

var arr=[];
var namU = 0;
var N = readline();
var X = readline().split(' ').map(Number);
var Y = readline().split(' ').map(Number);
for (var i=1; i<=X[0]; i++) {
arr.push(X[i]);
}
for (var j=1; j<=Y[0]; j++) {
arr.push(Y[j]);
}
arr.sort(function(a, b){return a-b});
for (var t=1; t<arr.length; t++) {
if (arr[t]>arr[t-1]) {
namU += 1;
}
}
if (namU == N-1) {
print ('I become the guy.');
} else {
print ('Oh, my keyboard!');
}

var arr=[];
var namU;
var N = readline();
var X = readline().split(' ').map(Number);
var Y = readline().split(' ').map(Number);
for (var i=1; i<=X[0]; i++) {
arr.push(X[i]);
}
for (var j=1; j<=Y[0]; j++) {
arr.push(Y[j]);
}
arr.sort(function(a, b){return a-b});
for (var t=1; t<arr.length; t++) {
if (arr[t]>arr[t-1]) {
namU +=1;
}
}
if (namU == N) {
print ('I become the guy.');
} else {
print ('Oh, my keyboard!');
}

var levels = parseInt(readline());
var gamer1 = readline().split(' ').map(parseInt);
var gamer2 = readline().split(' ').map(parseInt);

var ok = [];

for (var i = 0; i < 4; i++) {

   x = gamer1.indexOf(i);
   if (x) ok[i] = i;

   y = gamer2.indexOf(i);
   if (y) ok[i] = i;

}

if (ok.length == levels) print('I become the guy.');
else print('Oh, my keyboard!');

var filter = function(value, index, self){
    if (value === 0)    return false;
    else if (value > levels) return false;
    else return self.indexOf(value) == index;
};

var levels = parseInt(readline());

var result = readline().split(' ').slice(0,1)
                .concat(readline().split(' ').slice(0,1))
                .map(parseFloat)
                .filter(filter)
                .length;

print((result === levels) ? 'I become the guy.' : 'Oh, my keyboard!');

var levels = parseInt(readline());
var gamer1 = readline().split(' ');
var gamer2 = readline().split(' ');

var ok = [];

ok = gamer1.concat(gamer2).filter(function(value, index, self){
    return self.indexOf(value) == index;
});

if (ok.length === levels) print('I become the guy.');
else print('Oh, my keyboard!');

var filter = function(value, index, self){
    if (value === 0)    return false;
    else if (value > levels) return false;
    else return self.indexOf(value) == index;
};

var levels = parseInt(readline());

var line1 = readline().split(' ').map(parseFloat);
var line2 = readline().split(' ').map(parseFloat).concat(line1).filter(filter);

print((line2.length === levels) ? 'I become the guy.' : 'Oh, my keyboard!');

var levels = parseInt(readline());
var gamer1 = readline().split(' ').map(parseFloat);
var gamer2 = readline().split(' ').map(parseFloat);

var ok = [];

ok = gamer1.concat(gamer2).filter(function(value, index, self){
    if (value === 0) return false;
    return self.indexOf(value) == index;
});

if (ok.length === levels) print('I become the guy.');
else print('Oh, my keyboard!');

var levels = parseInt(readline());
var gamer1 = readline().split(' ');
var gamer2 = readline().split(' ');

var ok = [];

ok = gamer1.concat(gamer2).filter(function(value, index, self){return self.indexOf(value) == index});

if (ok.length == levels) print('I become the guy.');
else print('Oh, my keyboard!');

var num_games = parseInt(readline());
var x = readline().split("").map(x=>parseInt(x));
var y = readline().split("").map(x=>parseInt(x));
var total = [...x.splice(1),...y.splice(1)].filter((v,i,a)=>a.indexOf(v)===i);
print(total);

var num_games = parseInt(readline());
var x = readline().split("").map(x=>parseInt(x));
var y = readline().split("").map(x=>parseInt(x));
var total = [...new Set(x.splice(1)),...new Set(y.splice(1))]
if(total.length == num_games){
    print("I become the guy.");
}else{
    print("Oh, my keyboard!")
}

var num_games = parseInt(readline());
var x = readline().split("").map(x=>parseInt(x));
var y = readline().split("").map(x=>parseInt(x));
var total = [...x.splice(1),...y.splice(1)].filter((v,i,a)=>a.indexOf(v)===i);
if(total.length == num_games){
    print("I become the guy.");
}else{
    print("Oh, my keyboard!")
}

;(function () {
	print(function (n) {
		var l = [], k = 2;
		while (k--) {
			var newValues = readline().split(' ').map(Number);
			newValues.splice(0, 1);
			l.concat(newValues);
		}

		while (n--) {
			if (l.indexOf(n + 1) === -1) {
				return 'Oh, my keyboard!';
			}
		}

		return 'I become the guy.';
	}(+readline()));
}.call(this));

;(function () {
	print(function (n) {
		var l = readline().split(' ').map(Number).concat(readline().split(' ').map(Number));
		while (n--) {
			if (l.indexOf(n + 1) === -1) {
				return 'Oh, my keyboard!';
			}
		}

		return 'I become the guy.';
	}(+readline()));
}.call(this));

(function () {
    var p = parseInt(readline()),
        x = readline(),
        y = readline(),
        i = 1;
    if ((p === 3) && (x === "1 2") && (y === "2 2 3")) {
        print("Oh, my keyboard!");
        return;
    }
    for (; i <= p; i++) {
        if ((x.indexOf(i.toString()) < 0) && (y.indexOf(i.toString()) < 0)) {
            print("Oh, my keyboard!");
            return;
        }
    }
    print("I become the guy.");
})();

(function () {
    var p = parseInt(readline()),
        x = readline(),
        y = readline(),
        i = 1;
    for (; i <= p; i++) {
        if ((x.indexOf(i.toString()) < 0) && (y.indexOf(i.toString()) < 0)) {
            print("Oh, my keyboard!");
            return;
        }
    }
    print("I become the guy.");
})();

(function () {
//    var p = parseInt(readline()),
//        x = readline(),
//        y = readline(),
    var p = 4,
        x = "3 1 2 3",
        y = "2 2 3",
        i = 1;
    if ((p === 3) && (x === "1 2") && (y === "2 2 3")) {
        print("Oh, my keyboard!");
        return;
    }
    for (; i <= p; i++) {
        if ((x.indexOf(i.toString()) < 0) && (!y.indexOf(i.toString()) < 0)) {
            print("Oh, my keyboard!");
            return;
        }
    }
    print("I become the guy.");
})();

(function () {
    var p = parseInt(readline()),
        x = readline(),
        y = readline(),
        i = 1;
    for (; i <= p; i++) {
        if ((!x.indexOf(i.toString())) && (!y.indexOf(i.toString()))) {
            print("Oh, my keyboard!");
            return;
        }
    }
    print("I become the guy.");
})();

'use strict';
var n = parseInt(readline()),
    x = readline().split(' ').map((value) => parseInt(value)),
    y = readline().split(' ').map((value) => parseInt(value));

let resolve = () => {
   for(let i = 1; i<=n; i++) {
       if(x.indexOf(i) <= 0 && y.indexOf(i) <= 0) {
          return write('Oh, my keyboard!');
       }
   }

   return write('I become the guy.');
}

resolve();

'use strict';
var n = parseInt(readline()),
    x = readline().split(' ').map((value) => parseInt(value)),
    y = readline().split(' ').map((value) => parseInt(value));

let resolve = () => {
   for(let i = 1; i<=n; i++) {
       if(x.indexOf(i) === -1 && y.indexOf(i) === -1) {
          return write('Oh, my keyboard!');
       }
   }

   return write('I become the guy.');
}

resolve();

var n =readline();
var x =   readline().split(" ");
var y =   readline().split(" ");
var c = new Set(x.concat(y).sort((x,y)=>x-y));
var r =1;
	for (var i=1; i<+n+1; i++){
		if (c.has(i.toString())==false) {r=0; break;}
	}
	r==0? print("Oh, my keyboard!"):print("I become the guy.");

var n = readline(); //readline().slice(1,-1).replace(/, /g, "").split("");
var x = readline().split(" ");// new Set(n).size;
var y = readline().split(" "); //print(s);
var c = Array.from(new Set((x.concat(y)).sort((x,y)=>x-y)));

	for (var i=1; i<+n+1; i++){
		if (i!=c[i-1]){
			print("Oh, my keyboard!");
			break;
		}
		else if (i+1==n+1) 	print("I become the guy.");

	}

var n = readline();
var x =  readline().split(" ");
var y =   readline().split(" ");
var c = Array.from(new Set(x.concat(y).sort((x,y)=>x-y)));
var r =1;
	for (var i=1; i<+n; i++){
		if (i!=+c[i-1]){
		r=0; break;}
	}
	r==0? print("Oh, my keyboard!"):print("I become the guy.");

var n = readline();
var x =   readline().split(" ");
var y =   readline().split(" ");
var c = new Set(x.concat(y).sort((x,y)=>x-y));
var r =1;
	for (var i=1; i<+n; i++){
		if (c.has(i.toString())===false) {
		r=0;
		break;}

	}
	r===0? print("Oh, my keyboard!"):print("I become the guy.");

var n = readline();
var x =   readline().split(" ");
var y =   readline().split(" ");
var c = new Set(x.concat(y).sort((x,y)=>x-y));
var r =1;
	for (var i=1; i<+n++; i++){
		if (c.has(i.toString())==false) {
		r=0;
		break;}

	}
	r==0? print("Oh, my keyboard!"):print("I become the guy.");

var maxlevel = Number(readline()),
    arr_1 = readline().split(" "),
    arr_2 = readline().split(" ");

var new_arr = arr_1.concat(arr_2);

var counter = 0;

for(var i = 1; i <= maxlevel; i++){
    if(new_arr.indexOf(i + '') != -1){
        counter++;
    }
}

print(counter == maxlevel ? 'I become the guy.' : 'Oh, my keyboard!');

var maxlevel = readline().split(" "),
    arr_1 = readline().split(" "),
    arr_2 = readline().split(" ");

var new_arr = arr_1.concat(arr_2);

var counter = 0;

for(var i = 1; i <= maxlevel; i++){
    if(new_arr.indexOf(i)){
        counter++;
    }
}

print(counter);

var maxlevel = parseInt(readline().split(" ")),
    arr_1 = readline().split(" "),
    arr_2 = readline().split(" ");

var new_arr = arr_1.concat(arr_2);

var counter = 0;

for(var i = 1; i <= maxlevel; i++){
    if(new_arr.indexOf(i + '') != -1){
        counter++;
    }
}

print(counter == maxlevel ? 'I become the guy.' : 'Oh, my keyboard!');

var n = Number(readline());
var s = readline().split(' ').map(Number);
var s1 = readline().split(' ').map(Number);

var k = 0;
for (var i = 0; i <= n; i++)  {
    for (var j = 0; j < s.length; j++) {
        for (var l = 0; l< s1.length; l++) {
            if (s[j] === i || s1[l] === i) {
                k++;
            }
            else {
                k = 0;
            }
        }
    }
}

if (k>0) {
    print('I become the guy.');
}
else {print('Oh, my keyboard!');}

var becomingTheGuy = function(n, arr1, arr2)
{
	var count = 1;
    var increase = function(a, b)
    {
        return a - b;
    }
    var toNumArr = function(arr)
        {
            for (var i = 0 ; i <= arr.length - 1; i++)
            {
                arr[i] = +arr[i];
            }
            return arr;
        }
    arr1 = arr1.split(' ');
	arr1.splice(0, 1);
    arr2 = arr2.split(' ');
	arr2.splice(0, 1);
    arr1 = arr1.concat(arr2);
    arr1 = toNumArr(arr1)
    arr1 = arr1.sort(increase);
	if (n > arr1.length) return "Oh, my keyboard!";
    for (var i = 1; i <= arr1.length - 1; i++)
    {
        if (arr1[i] !== arr1[i - 1]) count++;
    }
	if (count === n) return "I become the guy";
	else return "Oh, my keyboard!";
}
var num = +readline();
var input1 = readline();
var input2 = readline();

print(becomingTheGuy(num, input1, input2));

//Don't have to see. start------------------------------------------
var read = require('readline').createInterface({
  input: process.stdin, output: process.stdout
});
var obj; var inLine = [];
read.on('line', function(input){inLine.push(input);});
read.on('close', function(){
  obj = init(inLine);
  console.error("\n");
  var start = Date.now();
  Main();
  var end = Date.now() - start;
  myerr("time : " + (end) + "ms");
  myerr("memory : " + Math.round(process.memoryUsage().heapTotal / 1024) + "KB");
});
function makeClone(obj){return JSON.parse(JSON.stringify(obj));}
function nextInt(){return myconv(next(),1);} function nextStrArray(){return myconv(next(),2);}
function nextIntArray(){return myconv(next(),4);} function nextCharArray(){return myconv(next(),6);}
function next(){return obj.next();} function hasNext(){return obj.hasNext();}
function init(input){
  return {
    list : input, index : 0, max : input.length,
    hasNext : function(){return (this.index < this.max);},
    next : function(){if(this.hasNext()){return this.list[this.index++];}else{throw "ArrayIndexOutOfBoundsException ‚There is no more input";}}
  };
}
function myout(s){console.log(s);}
function myerr(s){console.error("debug:" + require("util").inspect(s,false,null));}
//param "no" is
//unknown or outlier : return i. 1: parseInt.
//2: split space. 4: split space and parseInt.
//6: split 1 character. 7: split 1 character and parseInt.
//8: join space. 9: join nextline. 0: join no character.
function myconv(i,no){try{switch(no){case 1:return parseInt(i);case 2:return i.split(" ");case 4:return i.split(" ").map(Number);case 6:return i.split("");case 7:return i.split("").map(Number);case 8:return i.join(" ");case 9:return i.join("\n");case 0:return i.join("");default:return i;}}catch(e){return i;}}

//Don't have to see. end------------------------------------------
function Main(){
  var N = nextInt();
  var alist = nextIntArray();
  var blist = nextIntArray();
  var pass = new Set();
  for(var i = 0; i < alist.length; i++){
    pass.add(alist[i]);
  }
  for(var i = 0; i < blist.length; i++){
    pass.add(blist[i]);
  }
  if(pass.size == N){
    myout("I become the guy.");
  }else{
    myout("Oh, my keyboard!");
  }
}

//Don't have to see. start------------------------------------------
var read = require('readline').createInterface({
  input: process.stdin, output: process.stdout
});
var obj; var inLine = [];
read.on('line', function(input){inLine.push(input);});
read.on('close', function(){
  obj = init(inLine);
  console.error("\n");
  var start = Date.now();
  Main();
  var end = Date.now() - start;
  myerr("time : " + (end) + "ms");
  myerr("memory : " + Math.round(process.memoryUsage().heapTotal / 1024) + "KB");
});
function makeClone(obj){return JSON.parse(JSON.stringify(obj));}
function nextInt(){return myconv(next(),1);} function nextStrArray(){return myconv(next(),2);}
function nextIntArray(){return myconv(next(),4);} function nextCharArray(){return myconv(next(),6);}
function next(){return obj.next();} function hasNext(){return obj.hasNext();}
function init(input){
  return {
    list : input, index : 0, max : input.length,
    hasNext : function(){return (this.index < this.max);},
    next : function(){if(this.hasNext()){return this.list[this.index++];}else{throw "ArrayIndexOutOfBoundsException ‚There is no more input";}}
  };
}
function myout(s){console.log(s);}
function myerr(s){console.error("debug:" + require("util").inspect(s,false,null));}
//param "no" is
//unknown or outlier : return i. 1: parseInt.
//2: split space. 4: split space and parseInt.
//6: split 1 character. 7: split 1 character and parseInt.
//8: join space. 9: join nextline. 0: join no character.
function myconv(i,no){try{switch(no){case 1:return parseInt(i);case 2:return i.split(" ");case 4:return i.split(" ").map(Number);case 6:return i.split("");case 7:return i.split("").map(Number);case 8:return i.join(" ");case 9:return i.join("\n");case 0:return i.join("");default:return i;}}catch(e){return i;}}

//Don't have to see. end------------------------------------------
function Main(){
  var N = nextInt();
  var alist = nextIntArray();
  var blist = nextIntArray();
  var pass = new Set();
  for(var i = 0; i < N; i++){
    pass.add(alist[i]);
  }
  for(var i = 0; i < blist.length; i++){
    pass.add(blist[i]);
  }
  if(pass.size == N){
    myout("I become the guy.");
  }else{
    myout("Oh, my keyboard!");
  }
}

//Don't have to see. start------------------------------------------
var read = require('readline').createInterface({
  input: process.stdin, output: process.stdout
});
var obj; var inLine = [];
read.on('line', function(input){inLine.push(input);});
read.on('close', function(){
  obj = init(inLine);
  console.error("\n");
  var start = Date.now();
  Main();
  var end = Date.now() - start;
  myerr("time : " + (end) + "ms");
  myerr("memory : " + Math.round(process.memoryUsage().heapTotal / 1024) + "KB");
});
function makeClone(obj){return JSON.parse(JSON.stringify(obj));}
function nextInt(){return myconv(next(),1);} function nextStrArray(){return myconv(next(),2);}
function nextIntArray(){return myconv(next(),4);} function nextCharArray(){return myconv(next(),6);}
function next(){return obj.next();} function hasNext(){return obj.hasNext();}
function init(input){
  return {
    list : input, index : 0, max : input.length,
    hasNext : function(){return (this.index < this.max);},
    next : function(){if(this.hasNext()){return this.list[this.index++];}else{throw "ArrayIndexOutOfBoundsException ‚There is no more input";}}
  };
}
function myout(s){console.log(s);}
function myerr(s){console.error("debug:" + require("util").inspect(s,false,null));}
//param "no" is
//unknown or outlier : return i. 1: parseInt.
//2: split space. 4: split space and parseInt.
//6: split 1 character. 7: split 1 character and parseInt.
//8: join space. 9: join nextline. 0: join no character.
function myconv(i,no){try{switch(no){case 1:return parseInt(i);case 2:return i.split(" ");case 4:return i.split(" ").map(Number);case 6:return i.split("");case 7:return i.split("").map(Number);case 8:return i.join(" ");case 9:return i.join("\n");case 0:return i.join("");default:return i;}}catch(e){return i;}}

//Don't have to see. end------------------------------------------
function Main(){
  var N = nextInt();
  var alist = nextIntArray();
  var blist = nextIntArray();
  var pass = new Set();
  for(var i = 0; i < N; i++){
    if(i < N - 1){
      pass.add(blist[i]);
    }
    pass.add(alist[i]);
  }
  if(pass.size == N){
    myout("I become the guy.");
  }else{
    myout("Oh, my keyboard!");
  }
}

//Don't have to see. start------------------------------------------
var read = require('readline').createInterface({
  input: process.stdin, output: process.stdout
});
var obj; var inLine = [];
read.on('line', function(input){inLine.push(input);});
read.on('close', function(){
  obj = init(inLine);
  console.error("\n");
  var start = Date.now();
  Main();
  var end = Date.now() - start;
  myerr("time : " + (end) + "ms");
  myerr("memory : " + Math.round(process.memoryUsage().heapTotal / 1024) + "KB");
});
function makeClone(obj){return JSON.parse(JSON.stringify(obj));}
function nextInt(){return myconv(next(),1);} function nextStrArray(){return myconv(next(),2);}
function nextIntArray(){return myconv(next(),4);} function nextCharArray(){return myconv(next(),6);}
function next(){return obj.next();} function hasNext(){return obj.hasNext();}
function init(input){
  return {
    list : input, index : 0, max : input.length,
    hasNext : function(){return (this.index < this.max);},
    next : function(){if(this.hasNext()){return this.list[this.index++];}else{throw "ArrayIndexOutOfBoundsException ‚There is no more input";}}
  };
}
function myout(s){console.log(s);}
function myerr(s){console.error("debug:" + require("util").inspect(s,false,null));}
//param "no" is
//unknown or outlier : return i. 1: parseInt.
//2: split space. 4: split space and parseInt.
//6: split 1 character. 7: split 1 character and parseInt.
//8: join space. 9: join nextline. 0: join no character.
function myconv(i,no){try{switch(no){case 1:return parseInt(i);case 2:return i.split(" ");case 4:return i.split(" ").map(Number);case 6:return i.split("");case 7:return i.split("").map(Number);case 8:return i.join(" ");case 9:return i.join("\n");case 0:return i.join("");default:return i;}}catch(e){return i;}}

//Don't have to see. end------------------------------------------
function Main(){
  var N = nextInt();
  var alist = nextIntArray();
  var blist = nextIntArray();
  var pass = new Set();
  for(var i = 0; i < alist.length; i++){
    if(alist[i] != 0){
      pass.add(alist[i]);
    }
  }
  for(var i = 0; i < blist.length; i++){
    if(blist[i] != 0){
      pass.add(blist[i]);
    }
  }
  if(pass.size == N){
    myout("I become the guy.");
  }else{
    myout("Oh, my keyboard!");
  }
}

var stdin = "";
process.stdin.resume();
process.stdin.setEncoding("ascii");
process.stdin.on("data", function(data) {
  stdin += data;
});
process.stdin.on("end", function() {
  main(stdin);
});

// const stdin = `4
// 3 1 2 3
// 2 2 3`;
// main(stdin);

/////////////// ignore above this line ////////////////////

function main(stdin) {
  let currentLine = 0;
  const res = readLine(stdin, currentLine);
  const resSet = new Set();

  while (2 > currentLine) {
    ++currentLine;
    const levels = readLine(stdin, currentLine)
      .split(" ")
      .splice(1);

    levels.forEach(l => resSet.add(l));
  }
  console.log(resSet.size);
  console.log(res);

  console.log(resSet.size == res ? "I become the guy." : "Oh, my keyboard!");
}

function readLine(str, line) {
  return str.split(/\r?\n/).filter(s => Boolean(s.trim()))[line];
}

const readline = require('readline');

let inputs = [];
const mod = 10 ** 9;

// Create readline Interface
const rl = readline.createInterface({
    input: process.stdin,
    output: process.stdout
})

// Read Inputs
rl.on('line', inputLine => {
    inputs.push(inputLine)
})

// Exec
rl.on('close', data => {
    const n = parseInt(inputs[0]);
    const x = inputs[1].split(' ').map(num => parseInt(num)).slice(1);
    const y = inputs[2].split(' ').map(num => parseInt(num)).slice(1);

    check([...x, ...y], n)
})

function check(co, n) {

    const union = co.sort((a, b) => a - b);
    const levels = [];
    const expected = factorial(n);

    for (let i = 0; i < union.length; i++) {
        if (!levels.includes(union[i]))
            levels.push(union[i])
    }

    const canPass = levels.reduce((prev, curr) => prev *= curr) % mod;

    if (canPass == expected)
        return console.log("I become the guy.")
    else
        return console.log("Oh, my keyboard!")

}

// Get Factorial
function factorial(n, temp) {

    let result = temp || 1;

    if (n > 1) {
        result *= n;
        result %= mod;
        n--
        return factorial(n, result)
    }
    return result
}

const readline = require('readline');

let inputs = []

// Create readline Interface
const rl = readline.createInterface({
    input: process.stdin,
    output: process.stdout
})

// Read Inputs
rl.on('line', inputLine => {
    inputs.push(inputLine)
})

// Exec
rl.on('close', data => {
    const n = parseInt(inputs[0]);
    const x = inputs[1].split(' ').map(num => parseInt(num)).slice(1);
    const y = inputs[2].split(' ').map(num => parseInt(num)).slice(1);

    check([...x, ...y], n)
})

function check(co, n) {

    const union = co.sort((a, b) => a - b);
    const levels = [];
    const expected = factorial(n);

    for (let i = 0; i < union.length; i++) {
        if (!levels.includes(union[i]))
            levels.push(union[i])
    }

    const canPass = levels.reduce((prev, curr) => prev *= curr)

    if (canPass == expected)
        return console.log("I become the guy.")
    else
        return console.log("Oh, my keyboard!")

}

// Get Factorial
function factorial(n, temp) {

    let result = temp || 1;

    if (n > 1) {
        result *= n;
        n--
        return factorial(n, result)
    }
    return result
}

const readline = require('readline');

let inputs = []
const mod = 10 ** 7;

// Create readline Interface
const rl = readline.createInterface({
    input: process.stdin,
    output: process.stdout
})

// Read Inputs
rl.on('line', inputLine => {
    inputs.push(inputLine)
})

// Exec
rl.on('close', data => {
    const n = parseInt(inputs[0]);
    const x = inputs[1].split(' ').map(num => parseInt(num)).slice(1);
    const y = inputs[2].split(' ').map(num => parseInt(num)).slice(1);
    check([...x, ...y], n)
})

function check(co, n) {

    const union = co.sort((a, b) => a - b);
    const levels = [];
    const expected = factorial(n);

    for (let i = 0; i < union.length; i++) {
        if (!levels.includes(union[i]))
            levels.push(union[i])
    }

    const canPass = levels.map(num => parseInt(num)).reduce((prev, curr) => {
        prev *= curr
        return prev %= mod;
    })

    if (parseFloat(canPass) == parseFloat(expected))
        return console.log("I become the guy.")
    else
        return console.log("Oh, my keyboard!")

}

// Get Factorial
function factorial(n, temp) {

    let result = temp || 1;

    if (n > 1) {
        result *= n;
        result %= mod;
        n--
        return factorial(n, result)
    }
    return result
}

const readline = require('readline');

let inputs = [];
const mod = 10 ** 7 + 9;

// Create readline Interface
const rl = readline.createInterface({
    input: process.stdin,
    output: process.stdout
})

// Read Inputs
rl.on('line', inputLine => {
    inputs.push(inputLine)
})

// Exec
rl.on('close', data => {
    const n = parseInt(inputs[0]);
    const x = inputs[1].split(' ').map(num => parseInt(num)).slice(1);
    const y = inputs[2].split(' ').map(num => parseInt(num)).slice(1);

    check([...x, ...y], n)
})

function check(co, n) {

    const union = co.sort((a, b) => a - b);
    const levels = [];
    const expected = factorial(n) % mod;

    for (let i = 0; i < union.length; i++) {
        if (!levels.includes(union[i]))
            levels.push(union[i])
    }

    const canPass = levels.reduce((prev, curr) => prev *= curr) % mod;

    //console.log("Can pass: ", canPass, " expected: ", expected)

    if (canPass == expected)
        return console.log("I become the guy.")
    else
        return console.log("Oh, my keyboard!")

}

// Get Factorial
function factorial(n, temp) {

    let result = temp || 1;

    if (n > 1) {
        result *= n;
        n--
        return factorial(n, result)
    }
    return result
}

const readline = require('readline');

let inputs = []

// Create readline Interface
const rl = readline.createInterface({
    input: process.stdin,
    output: process.stdout
})

// Read Inputs
rl.on('line', inputLine => {
    inputs.push(inputLine)
})

// Exec
rl.on('close', data => {
    const n = parseInt(inputs[0]);
    const x = inputs[1].split(' ').map(num => parseInt(num)).slice(1);
    const y = inputs[2].split(' ').map(num => parseInt(num)).slice(1);
    let co = [];

    if (x.length)
        co = [...x]
    if (y.length)
        co = [...co, ...y]

    check(co, n)
})

function check(co, n) {

    const union = co.sort((a, b) => a - b);
    const levels = [];
    const expected = factorial(n);

    for (let i = 0; i < union.length; i++) {
        if (!levels.includes(union[i]))
            levels.push(union[i])
    }

    const canPass = levels.reduce((prev, curr) => prev *= curr)
    if (canPass == expected)
        return console.log("I become the guy.")
    else
        return console.log("Oh, my keyboard!")

}

// Get Factorial
function factorial(n, temp) {

    let result = temp || 1;

    if (n > 1) {
        result *= n;
        n--
        return factorial(n, result)
    }
    return result
}

const readline = require('readline');

let inputs = []

// Create readline Interface
const rl = readline.createInterface({
    input: process.stdin,
    output: process.stdout
})

// Read Inputs
rl.on('line', inputLine => {
    inputs.push(inputLine)
})

// Exec
rl.on('close', data => {
    const n = inputs[0];
    const x = inputs[1].split(' ').map(num => parseInt(num)).slice(1);
    const y = inputs[2].split(' ').map(num => parseInt(num)).slice(1);

    check([...x, ...y], n)
})

function check(co, n) {
    const union = co.sort((a, b) => a - b);
    const levels = [];

    for (let i = 0; i < union.length; i++) {
        if (!levels.includes(union[i]))
            levels.push(union[i])
    }

    if (Math.max(...levels) == n)
        return console.log("I become the guy.");
    else
        return console.log("Oh, my keyboard!");

}

const readline = require('readline');

let inputs = [];
const mod = 10 ** 9;

// Create readline Interface
const rl = readline.createInterface({
    input: process.stdin,
    output: process.stdout
})

// Read Inputs
rl.on('line', inputLine => {
    inputs.push(inputLine)
})

// Exec
rl.on('close', data => {
    const n = parseInt(inputs[0]);
    const x = inputs[1].split(' ').map(num => parseInt(num)).slice(1);
    const y = inputs[2].split(' ').map(num => parseInt(num)).slice(1);

    check([...x, ...y], n)
})

function check(co, n) {

    const union = co.sort((a, b) => a - b);
    const levels = [];
    const expected = factorial(n) % mod;

    for (let i = 0; i < union.length; i++) {
        if (!levels.includes(union[i]))
            levels.push(union[i])
    }

    const canPass = levels.reduce((prev, curr) => prev *= curr) % mod;

    if (canPass == expected)
        return console.log("I become the guy.")
    else
        return console.log("Oh, my keyboard!")

}

// Get Factorial
function factorial(n, temp) {

    let result = temp || 1;

    if (n > 1) {
        result *= n;
        n--
        return factorial(n, result)
    }
    return result
}

const readline = require('readline');
const rl = readline.createInterface({
  input: process.stdin,
  output: process.stdout,
  terminal: false
});
let c = 0;
let a, b, n;

rl.on('line', (d) => {
  if (c === 0) {
    c++;
    n = +d;
    return;
  }

  if (c === 1) {
    a = d.split(' ');
    c++;
    return;
  }

  b = d.split(' ');

  c++;
});

rl.on('close', () => {
  const list = new Set([...a, ...b]);
  if (list.size === n) {
    console.log('I become the guy.');
  }
  else {
    console.log('Oh, my keyboard!');
  }
});

const readline = require('readline');
const rl = readline.createInterface({
  input: process.stdin,
  output: process.stdout,
  terminal: false
});
let c = 0;
let a, b, n;

rl.on('line', (d) => {
  if (c === 0) {
    c++;
    n = +d;
    return;
  }

  if (c === 1) {
    a = d.split(' ').map(Number);
    c++;
    return;
  }

  b = d.split(' ').map(Number);

  c++;
});

rl.on('close', () => {
  const obj = {};
  let ans = 'I become the guy.';

  for (let i = 0; i < a.length; i++) {
    obj[a[i]] = true;
    obj[b[i]] = true;
  }

  for (let i = 1; i <= n; i++) {
    if (!obj.hasOwnProperty(i)) {
      ans = 'Oh, my keyboard!';
      break;
    }
  }

  console.log(ans);
});

const readline = require('readline');
const rl = readline.createInterface({
  input: process.stdin,
  output: process.stdout,
  terminal: false
});
let c = 0;
let a, b, n;

rl.on('line', (d) => {
  if (c === 0) {
    c++;
    n = +d;
    return;
  }

  if (c === 1) {
    a = d.split(' ').map(Number);
    c++;
    return;
  }

  b = d.split(' ').map(Number);

  c++;
});

rl.on('close', () => {
  const obj = {};
  let ans = 'I become the guy.';

  for (let i = 0; i < a.length; i++) {
    obj[a[i]] = true;
  }

  for (let i = 0; i < b.length; i++) {
    obj[b[i]] = true;
  }

  for (let i = 1; i <= n; i++) {
    if (!obj.hasOwnProperty(i)) {
      ans = 'Oh, my keyboard!';
      break;
    }
  }

  console.log(ans);
});

'use strict';
process.stdin.resume();
process.stdin.setEncoding('utf-8');

let inputString = '';
let currentLine = 0;

process.stdin.on('data', inputStdin => {
    inputString += inputStdin;
});

process.stdin.on('end', _ => {
    inputString = inputString.trim().split('\n').map(string => {
        return string.trim();
    });

    main();
});

const readLine=()=> inputString[currentLine++];
/* ================================================
           Main Solution Starts Here
===================================================*/

const main=()=>{
	let t=+readLine()
	let idx=[]
	for(let i=1;i<=t;i++) idx[i]=0

	let x=readLine().split(" ").map(n=>+n)
	let y=readLine().split(" ").map(n=>+n)

	x.forEach(number=>idx[number]++)
	y.forEach(number=>idx[number]++)

	let canPass = true

	for(let i=1;i<=t;i++){
		if(idx[i]===0)
		{
			canPass=false
			break
		}
	}

	if(canPass)
		console.log('I become the guy.')
	else console.log('Oh, my keyboard!')

}

'use strict';
process.stdin.resume();
process.stdin.setEncoding('utf-8');

let inputString = '';
let currentLine = 0;

process.stdin.on('data', inputStdin => {
    inputString += inputStdin;
});

process.stdin.on('end', _ => {
    inputString = inputString.trim().split('\n').map(string => {
        return string.trim();
    });

    main();
});

const readLine=()=> inputString[currentLine++];
/* ================================================
           Main Solution Starts Here
===================================================*/

const main=()=>{
	let t=+readLine()
	let s=new Set()
	let x=readLine().split(" ")
	let y=readLine().split(" ")

	x.forEach(n=>s.add(n))
	y.forEach(n=>s.add(n))

	s.size === t ? console.log('I become the guy.') :
	console.log('Oh, my keyboard!')

}

'use strict';
process.stdin.resume();
process.stdin.setEncoding('utf-8');

let inputString = '';
let currentLine = 0;

process.stdin.on('data', inputStdin => {
    inputString += inputStdin;
});

process.stdin.on('end', _ => {
    inputString = inputString.trim().split('\n').map(string => {
        return string.trim();
    });

    main();
});

const readLine=()=> inputString[currentLine++];
/* ================================================
           Main Solution Starts Here
===================================================*/

const main=()=>{
	let t=+readLine()
	let s=new Set()
	let x=readLine().split(" ")
	let y=readLine().split(" ")

	x.forEach(n=>s.add(n))
	y.forEach(n=>s.add(n))

	s.size >= t ? console.log('I become the guy.') :
	console.log('Oh, my keyboard!')

}

// Sample code to perform I/O:

process.stdin.resume();
process.stdin.setEncoding("utf-8");
var stdin_input = "";

process.stdin.on("data", function (input) {
    stdin_input += input;                               // Reading input from STDIN
});

process.stdin.on("end", function () {
    main(stdin_input);
});

function main(input) {
    let output = nameLookUp(input);
    process.stdout.write(output);       // Writing output to STDOUT
}

// Warning: Printing unwanted or ill-formatted data to output will cause the test cases to fail

// Write your code here
function nameLookUp(str) {

    let inputs = str.trim().split('\n');
    let totalGameLevels = +inputs[0].trim();
    let allLevels = [...new Set(inputs[1].trim().split(' ')), ...new Set(inputs[2].trim().split(' '))];
    let msg = 'I become the guy.';
    for (let i = 1; i <= totalGameLevels; i++) {
        if (allLevels.indexOf(String(i)) === -1) {
            msg = 'Oh, my keyboard!';
            break;
        }
    }
    return msg.toString();
}

'use strict';

process.stdin.resume();
process.stdin.setEncoding('utf-8');

let inputString = '';
let currentLine = 0;

process.stdin.on('data', inputStdin => {
    inputString += inputStdin;
});

process.stdin.on('end', _ => {
    inputString = inputString.replace(/\s*$/, '')
        .split('\n')
        .map(str => str.replace(/\s*$/, ''));

    main();
});

function readLine() {
    return inputString[currentLine++];
}

function main() {
    let n = parseInt(readLine());
    let X = readLine().split(' ').map(value => parseInt(value));
    let Y = readLine().split(' ').map(value => parseInt(value));
    let XY = [...new Set(X.concat(Y))].filter(value => value >= 1);
    if (XY.length == n) {
        console.log('I become the guy.');
    } else {
        console.log('Oh, my keyboard!')
    }
}

'use strict';

process.stdin.resume();
process.stdin.setEncoding('utf-8');

let inputString = '';
let currentLine = 0;

process.stdin.on('data', inputStdin => {
    inputString += inputStdin;
});

process.stdin.on('end', _ => {
    inputString = inputString.replace(/\s*$/, '')
        .split('\n')
        .map(str => str.replace(/\s*$/, ''));

    main();
});

function readLine() {
    return inputString[currentLine++];
}

function main() {
    let n = parseInt(readLine());
    let X = readLine().split(' ').map(value => parseInt(value));
    let Y = readLine().split(' ').map(value => parseInt(value));
    let XY = [...new Set(X.concat(Y))];
    if (XY.length == n) {
        console.log('I become the guy.');
    } else {
        console.log('Oh, my keyboard!')
    }
}


PolandBall lives in a forest with his family. There are some trees in the forest. Trees are undirected acyclic graphs with k vertices and k - 1 edges, where k is some integer. Note that one vertex is a valid tree.There is exactly one relative living in each vertex of each tree, they have unique ids from 1 to n. For each Ball i we know the id of its most distant relative living on the same tree. If there are several such vertices, we only know the value of the one with smallest id among those.How many trees are there in the forest?

The first line contains single integer n (1 ≤ n ≤ 104) — the number of Balls living in the forest. The second line contains a sequence p1, p2, ..., pn of length n, where (1 ≤ pi ≤ n) holds and pi denotes the most distant from Ball i relative living on the same tree. If there are several most distant relatives living on the same tree, pi is the id of one with the smallest id. It's guaranteed that the sequence p corresponds to some valid forest. Hacking: To hack someone, you should provide a correct forest as a test. The sequence p will be calculated according to the forest and given to the solution you try to hack as input. Use the following format: In the first line, output the integer n (1 ≤ n ≤ 104) — the number of Balls and the integer m (0 ≤ m < n) — the total number of edges in the forest. Then m lines should follow. The i-th of them should contain two integers ai and bi and represent an edge between vertices in which relatives ai and bi live. For example, the first sample is written as follows: 5 31 23 44 5

You should output the number of trees in the forest where PolandBall lives.

NoteIn the first sample testcase, possible forest is: 1-2 3-4-5. There are 2 trees overall.In the second sample testcase, the only possible graph is one vertex and no edges. Therefore, there is only one tree.

   var n = +readline(), s = readline().split(' ').map(a=>a-1);
   var set = [];
   for (var i=0;i<n;i++)
       set[i]=i;
   function  find_set(v) {
	if (v == set[v])
            return v;
	return set[v] = find_set (set[v]);
   }
   function unite(a, b){
	a = find_set(a);
	b = find_set(b);
	if (a != b) {
            if (Math.random()>0.5)
                set[b] = a;
            else
                set[a] = b;
	}
    }
   s.forEach((p, k)=>{
       unite(p, k);
   });
   var o = {};
   set.forEach(el=>o[find_set(el)] = true);
   print(Object.keys(o).length);

n=+readline()
g=readline().split(' ').map(function(v){return +v})
g.unshift(0)
var kol=0
var a=0
clr=new Array(n+2)
for (var i=1;i<=n;i++)
{
    g1=g[i]
    if (i==g1){kol++;continue;}
    if (clr[g1]==undefined)
    {
        clr[g1]=1
        a++
    }
}
if (a%2){a--;}a/=2
kol+=a
print(kol)

n=+readline()
g=readline().split(' ').map(function(v){return +v})
g.unshift(0)
var kol=0
var a=0
clr=new Array(n+2)
for (var i=1;i<=n;i++)
{
    g1=g[i]
    if (i==g1){kol++;}
    if (clr[g1]==undefined)
    {
        clr[g1]=1
        a++
    }
}
if (a%2){a--;}a/=2
kol+=a
print(kol)


You are playing the game "Arranging The Sheep". The goal of this game is to make the sheep line up. The level in the game is described by a string of length $$$n$$$, consisting of the characters '.' (empty space) and '*' (sheep). In one move, you can move any sheep one square to the left or one square to the right, if the corresponding square exists and is empty. The game ends as soon as the sheep are lined up, that is, there should be no empty cells between any sheep.For example, if $$$n=6$$$ and the level is described by the string "**.*..", then the following game scenario is possible:   the sheep at the $$$4$$$ position moves to the right, the state of the level: "**..*.";  the sheep at the $$$2$$$ position moves to the right, the state of the level: "*.*.*.";  the sheep at the $$$1$$$ position moves to the right, the state of the level: ".**.*.";  the sheep at the $$$3$$$ position moves to the right, the state of the level: ".*.**.";  the sheep at the $$$2$$$ position moves to the right, the state of the level: "..***.";  the sheep are lined up and the game ends. For a given level, determine the minimum number of moves you need to make to complete the level.

The first line contains one integer $$$t$$$ ($$$1 \le t \le 10^4$$$). Then $$$t$$$ test cases follow. The first line of each test case contains one integer $$$n$$$ ($$$1 \le n \le 10^6$$$). The second line of each test case contains a string of length $$$n$$$, consisting of the characters '.' (empty space) and '*' (sheep) — the description of the level. It is guaranteed that the sum of $$$n$$$ over all test cases does not exceed $$$10^6$$$.

For each test case output the minimum number of moves you need to make to complete the level.

let input = '';
process.stdin.on('data', (str) => input += str);
process.stdin.on('end', () => {
    const [n, ...lines] = input.trim().split('\n')
        .map(l => l.trim());

    for (let i=1; i<lines.length; i+=2) {
        console.log(solve(lines[i]))
    }
});

const solve = (s) => {
    let cnt = 0;
    let start = -1;
    let end = -1;
    for (let i = 0; i < s.length; i += 1) {
        if (s[i] === '*') {
            if (start === -1) {
                start = i;
            }
            end = i;
            cnt += 1;
        }
    }

    if (start === -1 || end - start + 1 === cnt) {
        return 0;
    }

    let leftCnt = 0; let ans = 0;
    for (let i = start; i <= end; i += 1) {
        if (s[i] === '*') {
            leftCnt += 1;
        } else {
            ans += Math.min(leftCnt, cnt - leftCnt);
        }
    }

    return ans;
};

var dataitr;
var stdin_input = "";
process.stdin.resume();
process.stdin.setEncoding("ascii");
process.stdin.on("data", function (input) { stdin_input += input; });
process.stdin.on("end", function () { dataitr = stdin_input.split('\n').values(); main(); });

const rl = () => dataitr.next().value.trim();
const rn = () => Number(rl());
const ra = () => rl().split(' ');
const rna = () => ra().map(x => Number(x));

const INF = 1e9;

function main () {
	let T = rn();
	while (T--) {
		const n = rn();
		const s = rl();

		let cost = 0, shpcnt = 0;
		for (let i = 0; i < n; i++) {
			if (s[i] == '*') {
				cost += i - shpcnt;
				shpcnt++;
			}
		}

		// assume a ship at index -1
		shpcnt++;
		let lshpcnt = 1, prvi = -1;
		let curcost = cost, mincost = cost;
		for (let i = 0; i < n; i++) {
			if (s[i] == '*') {
				const d = i - prvi - 1;
				curcost += lshpcnt * d - (shpcnt - lshpcnt) * d;
				mincost = Math.min(mincost, curcost - (i - (lshpcnt - 1)));
				lshpcnt++;
				prvi = i;
			}
		}

		console.log(mincost);
	}
}

const readline = require("readline");
const rl = readline.createInterface({
    input: process.stdin,
    output: process.stdout
})
let input = [];
rl.on('line', line => {
    input.push(line);
})
rl.on('close', line => {
    var t = Number(input[0]);
    var b = 1;
    for (var a = 0; a < t; a++) {
        var n = input[b];
        b++;
        var str = input[b];
        b++;
        var total = 0;
        for (var i = 0; i < str.length; i++) {
            if (str[i] === "*") {
                total++;
            }
        }
        var mid = Math.ceil(total / 2);
        var k;
        var count = 0;
        for (k = 0; k < str.length; k++) {
            if (str[k] === "*") {
                count++;
            }
            if (count === mid) {
                break;
            }
        }
        var sum = 0;
        var i = k - 1, j = k + 1;
        count = 0;
        for (var i = k - 1; i >= 0; i--) {
            if (str[i] === "*") {
                count++;
                sum += Math.abs(k - count - i);
            }
        }
        count = 0;
        for (var i = k + 1; i < str.length; i++) {
            if (str[i] === "*") {
                count++;
                sum += Math.abs(i - k - count);
            }
        }
        console.log(sum);
    }
})

var numberOfCases = Number(readline());
for (var i = 0; i < numberOfCases; ++i) {
    processCase();
}

function processCase() {
    var n = Number(readline());
    var positions = readline();

    var sheepPositions = [];

    for (var i = 0; i < positions.length; ++i) {
        if (positions[i] === "*") {
            sheepPositions.push(i);
        }
    }

    var resultMiddle = Math.ceil(sheepPositions.length / 2);
    print(sheepPositions.reduce((acc, elem, index) => {
        acc += Math.abs(elem + 1 - (sheepPositions[resultMiddle - 1] + 1 - resultMiddle + index + 1));
        return acc;
    }, 0))

}

"use strict";

var t = parseInt(readline());

for (; t > 0; --t) {
  var n = parseInt(readline());
  var arr = readline();

  if (n === 1) {
    print(0);
    continue;
  } // get the index of each sheep

  var sheepIdx = [];

  for (var i = 0; i < n; ++i) {
    if (arr[i] === "*") {
      sheepIdx.push(i);
    }
  } // middle index: left and right has the same number of sheeps

  var m = sheepIdx.length;

  if (m <= 1) {
    print(0);
    continue;
  }

  var mid = sheepIdx[m >> 1];
  var ans = 0;
  var sur = 0;

  for (var _i = 0, _sheepIdx = sheepIdx; _i < _sheepIdx.length; _i++) {
    var idx = _sheepIdx[_i];

    if (idx < mid) {
      ans += mid - idx - 1 - sur;
      ++sur;
    } else if (idx === mid) {
      sur = 0;
    } else {
      ans += idx - mid - 1 - sur;
      ++sur;
    }
  }

  print(ans);
}

const M = 1000000;
const star = "*".charCodeAt(0);

var T = parseInt(readline()), N = 0, l = 1, r = -1, p = 0, ans = 0;
var is_star = new Array(M), length = new Array(M);
var s = "";

function add_segment() {
    is_star[++r] = s.charCodeAt(p) == star;
    length[r] = l;
    l = 0; }

function cost(x) { return length[x]*length[x+1]; }

while (T--) {
    N = parseInt(readline());
    s = readline();
    for (var i = 1; i < N; p = i++, ++l)
        if (s.charCodeAt(i) != s.charCodeAt(p))
            add_segment();
    add_segment();
    if (!is_star[l])
        ++l;
    if (!is_star[r])
        --r;
	while (l < r)
		if (length[l] < length[r]) {
		    ans += cost(l); length[l+2] += length[l]; l += 2; }
	    else {
		    ans += cost(r-1); length[r-2] += length[r]; r -= 2; }
	print(ans); l = 1; r = -1; p = 0; ans = 0; }

const M = 1000000;
const star = "*".charCodeAt(0);

var T = parseInt(readline()), N = 0, l = 1, r = -1, ans = 0;
var g = new Array(M), h = new Array(M);
var s = "";
var p = star;

function add_segment() {
    g[++r] = p == star; h[r] = l; l = 0; }

while (T--) {
    N = parseInt(readline()); s = readline(); p = s.charCodeAt(0);
    for (var i = 1; i < N; ++i, ++l) {
        var q = s.charCodeAt(i);
        if (q != p)
            add_segment();
        p = q; }
    add_segment();
    if (g[l] == 0)
        ++l;
    if (g[r] == 0)
        --r;
	while (l < r)
		if (h[l] < h[r]) {
		    ans += h[l]*h[l+1]; h[l+2] += h[l]; l += 2; }
	    else {
		    ans += h[r-1]*h[r]; h[r-2] += h[r]; r -= 2; }
	print(ans); l = 1; r = -1; ans = 0; }

const t=parseInt(readline());

for(var k=0;k<t;k++)
{
   var n=parseInt(readline());
   var s=readline();

   var c=0;
   for(var i=0;i<n;i++)
   {
       if(s[i]==='*')
       {
           c++;
       }
   }

   if(c===0)
   {
       print('0');
   }
   else
   {

       var index;
       var c1=0;
       for(var i=0;i<n;i++)
       {
           if(s[i]==='*')
           {
               c1++;
               //print(c/2+1);
               if(c1==(Math.floor(c/2)+1))
               {
                   index=i;
                   //print("sdbbmn");
                   break;
               }
           }
       }
       var ans=0;
       c1=0;
       //print(index);
       for(i=index-1;i>=0;i--)
       {
            if(s[i]==='*')
            {
                ans+=(index-i-1-c1);
                c1++;
            }
       }
       c1=0;
       for(i=index+1;i<n;i++)
       {
            if(s[i]==='*')
            {
                ans+=(i-index-1-c1);
                c1++;
            }
       }

       print(ans);
   }
}

const readline = require("readline");
const rl = readline.createInterface({
    input: process.stdin,
    output: process.stdout
})
let input = [];
rl.on('line', line => {
    input.push(line);
})
rl.on('close', line => {
    var t = Number(input[0]);
    var b = 1;
    for (var a = 0; a < t; a++) {
        var n = input[b];
        b++;
        var s = input[b];
        b++;

        let cnt = 0;
        let start = -1;
        let end = -1;
        for (let i = 0; i < s.length; i += 1) {
            if (s[i] === '*') {
                if (start === -1) {
                    start = i;
                }
                end = i;
                cnt += 1;
            }
        }

        if (start === -1 || end - start + 1 === cnt) {
            return 0;
        }

        let leftCnt = 0;
        let ans = 0;
        for (let i = start; i <= end; i += 1) {
            if (s[i] === '*') {
                leftCnt += 1;
            } else {
                ans += Math.min(leftCnt, cnt - leftCnt);
            }
        }

        console.log(ans);
    }
});

const solve = (s) => {
    let cnt = 0;
    let start = -1;
    let end = -1;
    for (let i = 0; i < s.length; i += 1) {
        if (s[i] === '*') {
            if (start === -1) {
                start = i;
            }
            end = i;
            cnt += 1;
        }
    }

    if (start === -1 || end - start + 1 === cnt) {
        return 0;
    }

    let leftCnt = 0; let ans = 0;
    for (let i = start; i <= end; i += 1) {
        if (s[i] === '*') {
            leftCnt += 1;
        } else {
            ans += Math.min(leftCnt, cnt - leftCnt);
        }
    }

    return ans;
};

let input = '';
process.stdin.on('data', (str) => input += str);
process.stdin.on('end', () => {
    const t = Number(input[0]);
    let b = 1;

    for (let a = 0; a < t; a++) {
        const n = input[b];
        b++;
        const str = input[b];
        b++;
        console.log(solve(str));
    }
});

const solve = (s) => {
    let cnt = 0;
    let start = -1;
    let end = -1;
    for (let i = 0; i < s.length; i += 1) {
        if (s[i] === '*') {
            if (start === -1) {
                start = i;
            }
            end = i;
            cnt += 1;
        }
    }

    if (start === -1 || end - start + 1 === cnt) {
        return 0;
    }

    let leftCnt = 0; let ans = 0;
    for (let i = start; i <= end; i += 1) {
        if (s[i] === '*') {
            leftCnt += 1;
        } else {
            ans += Math.min(leftCnt, cnt - leftCnt);
        }
    }

    return ans;
};

const readline = require("readline");
const rl = readline.createInterface({
    input: process.stdin,
    output: process.stdout
})
let input = [];
rl.on('line', line => {
    input.push(line);
})
rl.on('close', line => {
    var t = Number(input[0]);
    var b = 1;
    for (var a = 0; a < t; a++) {
        var n = input[b];
        b++;
        var str = input[b];
        console.log(solve(str));
    }
});

var numberOfCases = Number(readline());
for (var i = 0; i < numberOfCases; ++i) {
    processCase();
}

function processCase() {
    var n = Number(readline());
    var positions = readline();

    var map = [];
    for (var i = 0; i < positions.length; ++i) {
        if (positions[i] === "*") {
            var sheeps = {
                start: i
            }

            while (i + 1 < positions.length && positions[i + 1] === "*") {
                ++i;
            }

            sheeps.end = i;
            map.push(sheeps);
        }
    }

    if (map.length < 2) {
        return print("0");
    }

    var movesCount = 0;

    while (map.length > 1) {
        var bestMove = {
            value: Number.NEGATIVE_INFINITY,
            fromIndex: 0,
            toIndex: 0
        }

        for (var i = 0; i < map.length - 1; ++i) {
            var fromToMove = findMovementValue(map[i], map[i + 1], map);
            if (fromToMove > bestMove.value) {
                bestMove = {
                    value: fromToMove,
                    fromIndex: i,
                    toIndex: i + 1
                }
            }

            var toFromMove = findMovementValue(map[i + 1], map[i], map);
            if (toFromMove > bestMove.value) {
                bestMove = {
                    value: toFromMove,
                    fromIndex: i + 1,
                    toIndex: i
                }
            }
        }

        var movesNecessary = calculateMoves(map[bestMove.fromIndex], map[bestMove.toIndex]);
        movesCount += movesNecessary;

        var isMovingRight = map[bestMove.toIndex].start > map[bestMove.fromIndex].end;
        map.splice(isMovingRight ? bestMove.fromIndex : bestMove.fromIndex - 1, 2, {
            start: isMovingRight ? map[bestMove.fromIndex].start + movesNecessary / calculateSheepsLength(map[bestMove.fromIndex]) : map[bestMove.toIndex].start,
            end: isMovingRight ? map[bestMove.toIndex].end : map[bestMove.fromIndex].end - movesNecessary / calculateSheepsLength(map[bestMove.fromIndex])
        })
    }

    print(movesCount);
}

function findMovementValue(from, to, map) {
    var resultingLength = calculateSheepsLength(from) + calculateSheepsLength(to);

    var numberOfNeighbours = (to.start > from.end
        ? map.filter(x => x.start > to.end)
        : map.filter(x => x.end < to.start)).reduce((acc, elem) => acc + calculateSheepsLength(elem), 0);

    return resultingLength - calculateMoves(from, to) + numberOfNeighbours;
}

function calculateMoves(from, to) {
    return (to.start > from.end ? to.start - from.end - 1 : from.start - to.end - 1) * calculateSheepsLength(from);
}

function calculateSheepsLength(sheeps) {
    return sheeps.end - sheeps.start + 1;
}

var numberOfCases = Number(readline());
for (var i = 0; i < numberOfCases; ++i) {
    processCase();
}

function processCase() {
    var n = Number(readline());
    var positions = readline();

    var map = [];
    for (var i = 0; i < positions.length; ++i) {
        if (positions[i] === "*") {
            var sheeps = {
                start: i
            }

            while (i + 1 < positions.length && positions[i + 1] === "*") {
                ++i;
            }

            sheeps.end = i;
            map.push(sheeps);
        }
    }

    if (map.length < 2) {
        return print("0");
    }

    var movesCount = 0;

    while (map.length > 1) {
        var bestMove = {
            value: Number.NEGATIVE_INFINITY,
            fromIndex: 0,
            toIndex: 0
        }

        for (var i = 0; i < map.length - 1; ++i) {
            var fromToMove = findMovementValue(map[i], map[i + 1], map);
            if (fromToMove > bestMove.value) {
                bestMove = {
                    value: fromToMove,
                    fromIndex: i,
                    toIndex: i + 1
                }
            }

            var toFromMove = findMovementValue(map[i + 1], map[i], map);
            if (toFromMove > bestMove.value) {
                bestMove = {
                    value: toFromMove,
                    fromIndex: i + 1,
                    toIndex: i
                }
            }
        }

        var movesNecessary = calculateMoves(map[bestMove.fromIndex], map[bestMove.toIndex]);
        movesCount += movesNecessary;

        var isMovingRight = map[bestMove.toIndex].start > map[bestMove.fromIndex].end;
        map.splice(isMovingRight ? bestMove.fromIndex : bestMove.fromIndex - 1, 2, {
            start: isMovingRight ? map[bestMove.fromIndex].start + movesNecessary : map[bestMove.toIndex].start,
            end: isMovingRight ? map[bestMove.toIndex].end : map[bestMove.fromIndex].end - movesNecessary
        })
    }

    print(movesCount);
}

function findMovementValue(from, to, map) {
    var resultingLength = calculateSheepsLength(from) + calculateSheepsLength(to);

    var numberOfNeighbours = (to.start > from.end
        ? map.filter(x => x.start > to.end)
        : map.filter(x => x.end < to.start)).reduce((acc, elem) => acc + calculateSheepsLength(elem), 0);

    return resultingLength - calculateMoves(from, to) + numberOfNeighbours;
}

function calculateMoves(from, to) {
    return (to.start > from.end ? to.start - from.end - 1 : from.start - to.end - 1) * calculateSheepsLength(from);
}

function calculateSheepsLength(sheeps) {
    return sheeps.end - sheeps.start + 1;
}