In high school, among boys groups,they never use さん and くん each other since they can talk casually. Even if they are not friendly each other,they don’t use さん (they might use くん in this case,though).
But when they talk with girl students, they use さん. ESPECIALLY when they call the girl’s first name,they use さん not to be regarded as so intimate with each other.
And,some instructors who are elderly often use くん regardless of gender not to make a difference between boy and girl.
So…in conclusion,we can’t distinguish between male or female just from さん and くん words strictly.
But in high school,we are using ちゃん mainly for girls. So when you read ちゃん in novel, this character is most likely. But there is an exception like following one.
Sometimes,they call boy nickname+chan This way to use chan is used for expressing intimacy.
Ex, Yamada kun→ Yama cha But in high school,we are using ちゃん mainly for girls. So when you read ちゃん in novel, this character is most likely. But there is an exception. Sometimes, boy sutudent’s nickname can be nicknamed like
Yamada kun→Yama chan
(Not in high school but in normal situations,chan can be used for little children like 赤ちゃん(akachan)=baby regardless of gender.This word can be used to call cute persons or creatures.)
And in fact,it’s very difficult to understand and explain completely even Japanese native speaker…