<?php
class K{
protected $serial;
protected $freq;
function __construct($s,$f){
$this->serial=$s;
$this->freq=$f;
}
function I($k){
return $this->freq === $k->freq;
}
function serial(){
return $this->serial;
}
function __toString(){
return str_pad($this->serial,2,' ',0).'-'.$this->freq.' ';
}
}
function O($K){
$O=array(array(),array(),array());
foreach($K as $v){
foreach($O as &$d){
if(!$d||$v->I($d[0])){
$d[]=$v;
break;
}
}
}
$i=6;while($i--){
$j=6;while($j--){
$v=$j%3+$i%3;
$v>2&&$v-=3;
echo array_pop($O[$v]).' ';
}
echo "\n";
}
}
$k = array();
for($i=0;$i<36;$i++){
$k[] = new K($i, $i%3);
}
shuffle($k);
O($k);