Serial.available()

Imagine you start "loop" with three characters in the buffer.
You see that Serial.available returns three.
Three is greater than two, so you read one character out.
"loop" exits, gets called again, and you call Serial.available again
What happens next?

void setup(){
  Serial.begin(9600);
}

void loop(){
  if(Serial.available()>2){
  char inBytes=Serial.read();
  Serial.println(inBytes);
  } 
  
}

first three characters typed:
"567"
Serial returns
"5"
(as you said)
going on with serial input, for example with
"sg89"
i get
"67sg"
ecc...

so, opening for the very first time the serial monitor, while less than 3 char are typed,
no signal is returned. When 3 or more char are entered, serial data began to flow from Arduino to pc.
Buffer does not reset each time the loop() cycle begin, for this reason, just when i open for the first time the serial port, this happens.
Right?...
my goodness, i'm sweating...