Code is idiomatic, follows the chosen style guidelines, uses appropriate constructions, includes comments, etc.
The variable names are very cryptic. One-letter variable names should be avoided, except for counters in for-loops.
Clear naming, structure and error handling.
Comments are missing in places where they are needed.