import scala.math._
import scala.annotation.tailrec

object pm{

  def facto(n : Int):Int = {
    n match {
      case n if (n<0) => throw new IllegalArgumentException
      case 0 => 1
      case _ => n * facto(n-1)
    }
  }

  def main(args: Array[String]): Unit = {
/*    println("Euler rec")
    println(Math.sqrt(6*EulerRec(5000)))
    println("Euler rec Term")
    println(Math.sqrt(6*EulerRecT(50000,0)))
*/
    println(facto(1))
  }

}
