import java.util.*;
import java.lang.*;
import java.io.*;
import java.util.Random;
class Main
{
{
//parametreiksi noppien lukumäärä, montako kertaa noppia heitetään, ja montako sivua nopassa
Heittaja heittaja = new Heittaja(3,3,6);
ArrayList<Noppa> tulokset = heittaja.HeitaNopat();
for(Iterator<Noppa> i = tulokset.iterator(); i.hasNext(); )
{
Noppa noppa = i.next();
System.
out.
println(noppa.
tulos); }
}
}
class Noppa
{
private int _sivumaara;
public int tulos;
public Noppa(int sivumaara)
{
_sivumaara = sivumaara;
}
public Noppa Heita()
{
tulos = 1+ran.nextInt(_sivumaara);
return this;
}
}
class Heittaja
{
private int _lukumaara;
private int _heittokerrat;
private int _sivumaara;
private int _heitetty;
public Heittaja(int lukumaara, int heittokerrat, int sivumaara)
{
_lukumaara = lukumaara;
_heittokerrat = heittokerrat;
_sivumaara = sivumaara;
_heitetty = 0;
}
public ArrayList<Noppa> HeitaNopat()
{
ArrayList<Noppa> tulokset = new ArrayList<Noppa>();
while(_heitetty < _heittokerrat)
{
for(int i=0; i<_lukumaara; i++)
{
Noppa noppa = new Noppa(_sivumaara);
tulokset.add(noppa.Heita());
}
_heitetty++;
}
return tulokset;
}
}
aW1wb3J0IGphdmEudXRpbC4qOwppbXBvcnQgamF2YS5sYW5nLio7CmltcG9ydCBqYXZhLmlvLio7CmltcG9ydCBqYXZhLnV0aWwuUmFuZG9tOwoKY2xhc3MgTWFpbgp7CglwdWJsaWMgc3RhdGljIHZvaWQgbWFpbiAoU3RyaW5nW10gYXJncykgdGhyb3dzIGphdmEubGFuZy5FeGNlcHRpb24KCXsKCQkvL3BhcmFtZXRyZWlrc2kgbm9wcGllbiBsdWt1bcOkw6Ryw6QsIG1vbnRha28ga2VydGFhIG5vcHBpYSBoZWl0ZXTDpMOkbiwgamEgbW9udGFrbyBzaXZ1YSBub3Bhc3NhCgkJSGVpdHRhamEgaGVpdHRhamEgPSBuZXcgSGVpdHRhamEoMywzLDYpOwoJCUFycmF5TGlzdDxOb3BwYT4gdHVsb2tzZXQgPSBoZWl0dGFqYS5IZWl0YU5vcGF0KCk7CgkJZm9yKEl0ZXJhdG9yPE5vcHBhPiBpID0gdHVsb2tzZXQuaXRlcmF0b3IoKTsgaS5oYXNOZXh0KCk7ICkgCgkJewogIAkJCQlOb3BwYSBub3BwYSA9IGkubmV4dCgpOwogIAkJCQlTeXN0ZW0ub3V0LnByaW50bG4obm9wcGEudHVsb3MpOwoJCX0KCX0KfQoKY2xhc3MgTm9wcGEKewoJcHJpdmF0ZSBpbnQgX3NpdnVtYWFyYTsKCXB1YmxpYyBpbnQgdHVsb3M7CgkKCXB1YmxpYyBOb3BwYShpbnQgc2l2dW1hYXJhKQoJewoJICBfc2l2dW1hYXJhID0gc2l2dW1hYXJhOwoJfQoKCQoJcHVibGljIE5vcHBhIEhlaXRhKCkKCXsKCQlSYW5kb20gcmFuID0gbmV3IFJhbmRvbSgpOwoJCXR1bG9zID0gMStyYW4ubmV4dEludChfc2l2dW1hYXJhKTsKCQlyZXR1cm4gdGhpczsKCX0KfQoKY2xhc3MgSGVpdHRhamEKewoJcHJpdmF0ZSBpbnQgX2x1a3VtYWFyYTsKCXByaXZhdGUgaW50IF9oZWl0dG9rZXJyYXQ7Cglwcml2YXRlIGludCBfc2l2dW1hYXJhOwoJcHJpdmF0ZSBpbnQgX2hlaXRldHR5OwoJCglwdWJsaWMgSGVpdHRhamEoaW50IGx1a3VtYWFyYSwgaW50IGhlaXR0b2tlcnJhdCwgaW50IHNpdnVtYWFyYSkKCXsKCQlfbHVrdW1hYXJhID0gbHVrdW1hYXJhOwoJCV9oZWl0dG9rZXJyYXQgPSBoZWl0dG9rZXJyYXQ7CgkJX3NpdnVtYWFyYSA9IHNpdnVtYWFyYTsKCQlfaGVpdGV0dHkgPSAwOwoJfQoJCglwdWJsaWMgQXJyYXlMaXN0PE5vcHBhPiBIZWl0YU5vcGF0KCkKCXsKCQlBcnJheUxpc3Q8Tm9wcGE+IHR1bG9rc2V0ID0gbmV3IEFycmF5TGlzdDxOb3BwYT4oKTsKCQl3aGlsZShfaGVpdGV0dHkgPCBfaGVpdHRva2VycmF0KQoJCXsKCQkJZm9yKGludCBpPTA7IGk8X2x1a3VtYWFyYTsgaSsrKQoJCQl7CiAgICAgICAgCQlOb3BwYSBub3BwYSA9IG5ldyBOb3BwYShfc2l2dW1hYXJhKTsgICAKCSAgICAgICAgCXR1bG9rc2V0LmFkZChub3BwYS5IZWl0YSgpKTsKICAgICAgICAJfQoJCQlfaGVpdGV0dHkrKzsKCQkJCgkJfQoJCXJldHVybiB0dWxva3NldDsKCX0KfQ==