// written in the D programming language
import std.algorithm;
import std.array;
import std.random;
import std.range;
import std.stdio;
void main ()
{
immutable int n = 3;
immutable int steps = 10_100 * n ^^ n;
int [n] p;
int [int [n]] d;
foreach (step; 0..steps)
{
p[] = n.iota.array;
foreach (i; 0..n)
{
int j = uniform (0, n);
swap (p[i], p[j]);
}
d[p] += 1;
}
writefln ("%(%s %s\n%)", d);
}
Ly8gd3JpdHRlbiBpbiB0aGUgRCBwcm9ncmFtbWluZyBsYW5ndWFnZQppbXBvcnQgc3RkLmFsZ29yaXRobTsKaW1wb3J0IHN0ZC5hcnJheTsKaW1wb3J0IHN0ZC5yYW5kb207CmltcG9ydCBzdGQucmFuZ2U7CmltcG9ydCBzdGQuc3RkaW87Cgp2b2lkIG1haW4gKCkKewoJaW1tdXRhYmxlIGludCBuID0gMzsKCWltbXV0YWJsZSBpbnQgc3RlcHMgPSAxMF8xMDAgKiBuIF5eIG47CglpbnQgW25dIHA7CglpbnQgW2ludCBbbl1dIGQ7Cglmb3JlYWNoIChzdGVwOyAwLi5zdGVwcykKCXsKCQlwW10gPSBuLmlvdGEuYXJyYXk7CgkJZm9yZWFjaCAoaTsgMC4ubikKCQl7CgkJCWludCBqID0gdW5pZm9ybSAoMCwgbik7CgkJCXN3YXAgKHBbaV0sIHBbal0pOwoJCX0KCQlkW3BdICs9IDE7Cgl9Cgl3cml0ZWZsbiAoIiUoJXMgJXNcbiUpIiwgZCk7Cn0K
[1, 2, 0] 50877
[0, 2, 1] 50543
[2, 0, 1] 40462
[2, 1, 0] 40214
[0, 1, 2] 40383
[1, 0, 2] 50221