Problem:
Score : 300 points

Problem Statement

Compute A \times B, truncate its fractional part, and print the result as an integer.

Constraints

0 \leq A \leq 10^{15}

0 \leq B < 10

A is an integer.

B is a number with two digits after the decimal point.

Input

Input is given from Standard Input in the following format:

A B

Output

Print the answer as an integer.

Sample Input 1

198 1.10

Sample Output 1

217

We have 198 \times 1.10 = 217.8. After truncating the fractional part, we have the answer: 217.

Sample Input 2

1 0.01

Sample Output 2

0

Sample Input 3

1000000000000000 9.99

Sample Output 3

9990000000000000

Solution in Kotlin (1.3.71) (judge verdict: Accepted)

import java.io.PrintWriter
import java.math.BigDecimal
import kotlin.math.floor

// Helper
private val pw = PrintWriter(System.out)
private fun readLn() = readLine()!!
private fun readInt() = readLn().toInt()
private fun readStrings() = readLn().split(" ")
private fun readInts() = readStrings().map(String::toInt)
private fun readLongs() = readStrings().map(String::toLong)
private fun readDoubles() = readStrings().map(String::toDouble)
private fun readStrings2() = readLn().split("").filter { it.isNotEmpty() }
private fun readInts2() = readStrings2().map(String::toInt)
private fun initArray(n:Int, v:String) = Array(n) { v }
private fun initIntArray(n:Int, v:Int) = IntArray(n) { v }
private fun println(value : Any) = pw.println(value)

internal fun abc169c() {
    val (A, B) = readStrings()
    val aNum = A.toBigDecimal()
    val bNum = B.replace(".", "").toBigDecimal()
    println(aNum.multiply(bNum).divide(BigDecimal(100)).toLong())
}

fun main(args: Array<String>) {
    abc169c()
    pw.flush()
}