Rumis is a multiplayer 3D block board game where the goal is to have the most squares visible, when viewed from above, after pieces have been played till there are no moves remaining. The picture below shows a completed 4-player round. There are a variety of board stencils and permissible heights possible in this game.
For this problem, you will be provided a completed rectangular board where there are anywhere from two to six players. The players' colors will be selected from the following options, though not necessarily in this order: red (r), orange (o), yellow (y), green (g), blue (b), and purple (p). The board will be from two to six levels high and completely filled. It will also be a character array wherein the players' squares are represented by a single character per square. In line with the game's rules, all players' colors will be represented on the first level. See the test suite for examples.
Write a function to count the squares visible when viewed from above to determine who won each round.