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 C++ (GCC 9.2.1) (judge verdict: Accepted)

#include <bits/stdc++.h>
#include <math.h>

#define PI 3.14159265358979323846264338327950L
#define ll long long

using namespace std;

int main() {
    ios::sync_with_stdio(0);
    cin.tie(0);
    ll a;
    long double b;
    cin >> a >> b;
    ll number = a * b;
    cout << number << "\n";

    return 0;

}
/*
int main() {
    ios::sync_with_stdio(0);
    cin.tie(0);
    int n;
    ll answer = 1;
    cin >> n;
    for (int i = 0; i < n; i++) {
        ll temp;
        cin >> temp;
        if (answer * temp >= pow(10, 18)) {
            answer = -1;
            break;
        } else {
            answer *= temp;
        }
    }
    cout << answer << "\n";

    return 0;

}*/


/*int t;
    cin >> t;
    while (t--) {
        int n;
        cin >> n;
        set<int> sets;
        for (int i = 0; i < n; i++) {
            int temp;
            cin >> temp;
            if (temp % 2 == 0) {
                sets.insert(temp);
            }
        }
        ll answer = 0;
        for (auto i = sets.end() - 1; i != sets.begin() - 1; --i) {
            int number = *i;
            while (number % 2 == 0) {
                if (sets.find(number) != sets.end()) {
                    sets.erase(number);
                }f
                answer++;
                number = number / 2;
            }
        }
    }*/