import scala.annotation.tailrec
import scala.io.StdIn._
object Main extends App {


  solve()
  @tailrec def solve(): Unit = {
    val n = readInt()
    if (n == 0) return
    val top = Array.fill(21){Array.fill(21){0}}
    val height = Array.fill(21){Array.fill(21){0}}
    for (_ ← 0 until n ){
      val Array(t, f) = readLine.trim.split(' ').map(_.toInt)
      var dice = Dice(t, f)
      var pos = Point(10, 10)
      while (Direction.all.exists(dir ⇒ dice.valueAt(dir) > 3 && height(pos.x)(pos.y) > height(pos.move(dir).x)(pos.move(dir).y))) {
        val dir = Direction.all.filter(dir ⇒ dice.valueAt(dir) > 3 && height(pos.x)(pos.y) > height(pos.move(dir).x)(pos.move(dir).y)).maxBy(dir ⇒ dice.valueAt(dir))
        dice = dice.rotate(dir)
        pos = pos.move(dir)
      }
      top(pos.x)(pos.y) = dice.top
      height(pos.x)(pos.y) += 1
      //println(top.map(_.mkString(" ")).mkString("\n"))
    }
    val counts = Array.fill(6){0}
    for (line ← top; cell ← line if cell != 0) counts(cell - 1) += 1
    println(counts.mkString(" "))
    solve()
  }
}
case class Point(x: Int, y: Int) {
  def +(that: Point): Point = Point(x + that.x, y + that.y)
  def move(direction: Direction): Point = {
    direction match {
      case Up ⇒ Point(x, y - 1)
      case Right ⇒ Point(x + 1, y)
      case Down ⇒ Point(x, y + 1)
      case Left ⇒ Point(x - 1, y)
    }
  }
}
object Dice {
  def apply(top: Int, front: Int): Dice = {
    var dice = new Dice(1, 3, 5)
    while (dice.front != front) {
      dice = if (dice.front == 3) dice.rotateRight.rotateUp else dice.rotateUp
    }
    while (dice.top != top) {
      dice = dice.rotateRight
    }
    dice
  }
}
class Dice(val top: Int, val front: Int, val right: Int) {
  def rotateRight: Dice = new Dice(7 - right, front, top)
  def rotateLeft: Dice = new Dice(right, front, 7 - top)
  def rotateUp: Dice = new Dice(front, 7 - top, right)
  def rotateDown: Dice = new Dice(7 - front, top, right)
  def rotate(direction: Direction): Dice = {
    direction match {
      case Up ⇒ rotateUp
      case Right ⇒ rotateRight
      case Down ⇒ rotateDown
      case Left ⇒ rotateLeft
    }
  }
  def valueAt(direction: Direction): Int = {
    direction match {
      case Up ⇒ 7 - front
      case Right ⇒ right
      case Down ⇒ front
      case Left ⇒ 7 - right
    }
  }
}
object Direction {
  val all = List(Up, Right, Down, Left)
}
sealed trait Direction
case object Up extends Direction
case object Right extends Direction
case object Down extends Direction
case object Left extends Direction
