using System;
using System.Linq;
using System.Numerics;

namespace Atcoder
{
    class Program
    {

        static void Main(string[] args)
        {
            double[] AB = Console.ReadLine().Split(' ').Select(i => double.Parse(i)).ToArray();
            long A = (long)AB[0];
            long B = (long)Math.Round(AB[1] * 100);
            long ans = A * B / 100;
            Console.WriteLine(ans);

        }

        /*よく使う
        string s = Console.ReadLine();
        string[] ST = Console.ReadLine().Split(' ').ToArray();
        string S = strArray[0];
        string T = strArray[1];
         
        int N = int.Parse(Console.ReadLine());
        int[] HWN = Console.ReadLine().Split(' ').Select(i => int.Parse(i)).ToArray();
        int H = intArray[0];
        int W = intArray[1];

        double[] R = Console.ReadLine().Split(' ').Select(i => double.Parse(i)).ToArray();
         
        List<int> A = new List<int>(Console.ReadLine().Split(' ').Select(i => int.Parse(i)).ToArray());
        List<int> dp = Enumerable.Repeat(値, 個数).ToList();
        
        Boolean ok = false;

        Console.WriteLine(ans);
        Console.WriteLine("Yes");
        Console.WriteLine("No");
        Console.ReadKey();
        Console.WriteLine(cnt);

           
         * */

        /// <summary>
        /// 回文
        /// </summary>
        /// <param name="Target"></param>
        /// <param name="len"></param>
        /// <returns></returns>
        static bool Palindrome(string Target, int len)
        {
            bool yes = true;

            for (int i = 0; i < len; i++)
            {
                if (Target[i] != Target[len - 1 - i])
                {
                    yes = false;
                    break;
                }
            }
            return yes;
        }

        /// <summary>
        /// アナグラム
        /// </summary>
        /// <param name="word1"></param>
        /// <param name="word2"></param>
        /// <returns></returns>
        static bool IsAnagramOf(string word1, string word2)
        {
            char[] val1 = word1.ToCharArray();
            char[] val2 = word2.ToCharArray();
            Array.Sort(val1);
            Array.Sort(val2);
            word1 = new string(val1);
            word2 = new string(val2);

            return word1 == word2;
            //return word1.OrderBy(x => x).SequenceEqual(word2.OrderBy(x => x));
        }
        /// <summary>
        /// 最小公倍数
        /// </summary>
        /// <param name="a"></param>
        /// <param name="b"></param>
        /// <returns></returns>
        public static BigInteger Lcm(BigInteger a, BigInteger b)
        {
            return a * b / Gcd(a, b);
        }

        /// <summary>
        /// 最大公約数
        /// </summary>
        /// <param name="a"></param>
        /// <param name="b"></param>
        /// <returns></returns>
        public static BigInteger Gcd(BigInteger a, BigInteger b)
        {
            if (a < b)
                // 引数を入替えて自分を呼び出す
                return Gcd(b, a);
            while (b != 0)
            {
                var remainder = a % b;
                a = b;
                b = remainder;
            }
            return a;
        }
    }
}


Measured memory_bytes: 28088