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 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 = +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 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!");

//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];
}

 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!")
}

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!");
}

;(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));

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
}

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!');

(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.");
})();

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();
    }
});

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();

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!");
}

'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();

'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!')

}

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.");

// 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!')
    }
}

/* 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));

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!')
    }
}


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)

   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++;}
    if (clr[g1]==undefined)
    {
        clr[g1]=1
        a++
    }
}
if (a%2){a--;}a/=2
kol+=a
print(kol)


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))

}

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);
    }
})

"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;
}