Problem:
Score : 300 points

Problem Statement

Does \sqrt{a} + \sqrt{b} < \sqrt{c} hold?

Constraints

1 \leq a, b, c \leq 10^9

All values in input are integers.

Input

Input is given from Standard Input in the following format:

a \ b \ c

Output

If \sqrt{a} + \sqrt{b} < \sqrt{c}, print Yes; otherwise, print No.

Sample Input 1

2 3 9

Sample Output 1

No

\sqrt{2} + \sqrt{3} < \sqrt{9} does not hold.

Sample Input 2

2 3 10

Sample Output 2

Yes

\sqrt{2} + \sqrt{3} < \sqrt{10} holds.

Solution in Kotlin (1.0.0) (judge verdict: Wrong Answer)

import java.math.BigDecimal

fun main(args: Array<String>) {
    val (a, b, c) = readLongList()
    val ab = BigDecimal.valueOf(4).multiply(BigDecimal.valueOf(a)).multiply(BigDecimal.valueOf(b))!!
    var tmp = BigDecimal.valueOf(c).minus(BigDecimal.valueOf(a)).minus(BigDecimal.valueOf(b))
    tmp = tmp.multiply(tmp)
    val ans = if (ab.compareTo(tmp) < 0) {
        "Yes"
    } else {
        "No"
    }

    println(ans)
}

fun lowerBound(ab: Long): Double {
    var left: Double = 0.0
    var right = ab.toDouble()
    var i = 0
    while (i < 100000000) {
        val mid = (right + left) / 2.0
        if (ab <= mid * mid)  {
            right = mid
        } else {
            left = mid
        }
        i++
    }

    return left
}

fun readInteger() = readLine()!!.toInt()
fun readLong() = readLine()!!.toLong()
fun readStringList() = readLine()!!.split(" ")
fun readIntegerList() = readStringList().map(String::toInt)
fun readLongList() = readStringList().map(String::toLong)