Problem:
Triangle

For given two sides of a triangle a and b and the angle C between them, calculate the following properties:

S: Area of the triangle

L: The length of the circumference of the triangle

h: The height of the triangle with side a as a bottom edge

Input

The length of a, the length of b and the angle C are given in integers.

Output

Print S, L and h in a line respectively. The output should not contain an absolute error greater than 10-4.

Sample Input

4 3 90

Sample Output

6.00000000
12.00000000
3.00000000

Solution in Scala (judge verdict: Accepted)

object Main extends App {
  val sc = new java.util.Scanner(System.in)
  val a, b = sc.next().toBigDecimal
  val C = math.toRadians(sc.nextDouble())

  import scala.math.{cos, sin, sqrt}

  val S = a * b * sin(C).toBigDecimal / 2
  val L = a + b + (a.squared + b.squared - 2 * a * b * cos(C).toBigDecimal).sqRoot
  val h = b * sin(C)

  println(f"${S.toDouble}%.8f")
  println(f"${L.toDouble}%.8f")
  println(f"${h.toDouble}%.8f")

  implicit class StringExtends(val s: String) extends AnyVal {
    def toBigDecimal = BigDecimal(s)
  }

  implicit class DoubleExtends(val d: Double) extends AnyVal {
    def toBigDecimal = BigDecimal(d)
  }

  implicit class BigDecimalExtends(val b: BigDecimal) extends AnyVal {
    def squared = b * b

    def sqRoot = sqrt(b.toDouble).toBigDecimal
  }

}