import sys

import math

from collections import defaultdict

from bisect import bisect_left, bisect_right



sys.setrecursionlimit(10**7)

def input():

    return sys.stdin.readline()[:-1]



mod = 10**9 + 7



def I(): return int(eval(input()))

def LI(): return list(map(int, input().split()))

def LIR(row,col):

    if row <= 0:

        return [[] for _ in range(col)]

    elif col == 1:

        return [I() for _ in range(row)]

    else:

        read_all = [LI() for _ in range(row)]

        return list(map(list, list(zip(*read_all))))



#################



A,B = list(map(str, input().split()))

A = int(A)

B = 100*int(B[0])+10*int(B[2])+int(B[3])



print((A*B//100))
import sys

import math

from collections import defaultdict

from bisect import bisect_left, bisect_right



sys.setrecursionlimit(10**7)

def input():

    return sys.stdin.readline()[:-1]



mod = 10**9 + 7



def I(): return int(eval(input()))

def LI(): return list(map(int, input().split()))

def LIR(row,col):

    if row <= 0:

        return [[] for _ in range(col)]

    elif col == 1:

        return [I() for _ in range(row)]

    else:

        read_all = [LI() for _ in range(row)]

        return list(map(list, list(zip(*read_all))))



#################



from decimal import getcontext,Decimal

getcontext().prec = 28



A,B = list(map(str, input().split()))

A = int(A)

B = Decimal(B)



print((int(A*B)))
import sys
import math
from collections import defaultdict
from bisect import bisect_left, bisect_right

sys.setrecursionlimit(10**7)


def input():
    return sys.stdin.readline()[:-1]


mod = 10**9 + 7


def I():
    return int(eval(input()))


def LI():
    return list(map(int, input().split()))


def LIR(row, col):
    if row <= 0:
        return [[] for _ in range(col)]
    elif col == 1:
        return [I() for _ in range(row)]
    else:
        read_all = [LI() for _ in range(row)]
        return list(map(list, list(zip(*read_all))))


#################
A, B = list(map(str, input().split()))
A = int(A)
B = 100 * int(B[0]) + 10 * int(B[2]) + int(B[3])
print((A * B // 100))

import sys
import math
from collections import defaultdict
from bisect import bisect_left, bisect_right

sys.setrecursionlimit(10**7)


def input():
    return sys.stdin.readline()[:-1]


mod = 10**9 + 7


def I():
    return int(eval(input()))


def LI():
    return list(map(int, input().split()))


def LIR(row, col):
    if row <= 0:
        return [[] for _ in range(col)]
    elif col == 1:
        return [I() for _ in range(row)]
    else:
        read_all = [LI() for _ in range(row)]
        return list(map(list, list(zip(*read_all))))


#################
from decimal import getcontext, Decimal

getcontext().prec = 28
A, B = list(map(str, input().split()))
A = int(A)
B = Decimal(B)
print((int(A * B)))

+from decimal import getcontext, Decimal + +getcontext().prec = 28 -B = 100 * int(B[0]) + 10 * int(B[2]) + int(B[3]) -print((A * B // 100)) +B = Decimal(B) +print((int(A * B)))