read botPerPlayer:int
read arenaSize:int
gameloop
read allyBotAlive:int
read botCount:int

loop botCount
read botId:int botType:word(10) health:int shield:int action:word(20) targets:word(256) enemyRange:int borderRange:int borderDistRank:int distEnRank:int healthRank:int shieldRank:int totalRank:int



loop allyBotAlive
loop botCount
read botId:int botType:word(256) rangeFromOnAirBot:int distMeRank:int shieldComp:int healthComp:int totComp:int
write 0 MOVE 2;1 IDLE ;2 MOVE 8;3 ATTACK 9;4 FLEE 10;5 MOVE 10,11,12;

STATEMENT
Control your bots in order to destroy the enemy team !

INPUT
botPerPlayer: the amount of bot you control
arenaSize: the arena size in meters (just here in case the creator change the arena size during the contest)
allyBotAlive: the amount of your bot which are still alive
botCount : the amount of bots in the arena
botId: the unique bot id, stay the same for the whole game
botId: the unique bot id
botType: the bot type in a string. It can be ALLY | ENEMY
botType: the bot type in a string. It can be ON_AIR | ALLY | ENEMY
health: the approximate bot health. Can be 0 | 25 | 50 | 75 | 100, 25 meaning that your life is >= 25% and < 50% of your max life
shield : the approximate bot shield. Can be 0 | 1 | 25 | 50 | 75 | 100, 1 meaning that your shield is >= 1% and < 25% of your max shield and 0 that you have no more shield left
action: action executed by the bot last turn
targets: list of the targets id targeted by the bot last turn ("id1;id2;id3...") if the bot is a bot, else -1 (the target for IDLE is the bot itself)
enemyRange : /!\ALWAYS 0 FOR THE FIRST LEAGUE/!\ then, the RANGE from to the closest enemy (if the bot is an enemy it returns the range to its closest ally)
borderRange : /!\ALWAYS 0 FOR THE FIRST LEAGUE/!\ approximate distance between the bot and the closest border
distEnRank : /!\ALWAYS 0 FOR THE FIRST 2 LEAGUES/!\ bots are sorted by ascending order based on their distance to the closest enemy
borderDistRank : /!\ALWAYS 0 FOR THE FIRST 2 LEAGUES/!\ bot are sorted in ascending order based on their distance to the closest border
shieldRank: /!\ALWAYS 0 FOR THE FIRST 2 LEAGUES/!\ bots are sorted in ascendant order based on their amount of shield
healthRank: /!\ALWAYS 0 FOR THE FIRST 2 LEAGUES/!\ bots are sorted in ascendant order based on their amount of health, this is the rank of the current bot in the sorted list
totalRank: /!\ALWAYS 0 FOR THE FIRST 2 LEAGUES/!\ bots are sorted in ascendant order based on their amount of health + shield
rangeFromOnAirBot : approximate distance between the target and the ON AIR bot. Can be 0 to 3 for short, medium, long and out of range
distMeRank : bots are sorted by ascending order based on their distance to the ON AIR bot
shieldComp: /!\ALWAYS 0 FOR THE FIRST LEAGUE/!\ -1 if the bot has more shield than the ON AIR bot, 0 if it's equal, 1 if the ON AIR bot has more shield
healthComp: /!\ALWAYS 0 FOR THE FIRST LEAGUE/!\ same as shieldComp but for the health
totComp: /!\ALWAYS 0 FOR THE FIRST LEAGUE/!\ same as shieldComp but based on the sum of health+shield
OUTPUT
yourBotId ATTACK | MOVE | FLEE targetId