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



Sample input:
198 1.10


Sample output:
217

Submission status: Runtime Error

Solution code:
A, B = map(float, input().split())
print(int((A*(B*100))/100)

Submission status: Runtime Error

Solution code:
import math

a,b = input().split()
a = int(a)
b = int(float(b)*100)

ans = math.floar(a*b/100)
print(ans)

Submission status: Runtime Error

Solution code:
# from math import factorial,sqrt,ceil #,gcd
# from itertools import permutations,combinations,combinations_with_replacement
# from collections import deque,Counter
# from bisect import bisect_left
# from heapq import heappush,heappop
# from numba import njit
# from functools import lru_cache # 簡単メモ化 @lru_cache(maxsize=1000)
# from fractions import gcd

# from decimal import Decimal, getcontext
# getcontext().prec = 1000
# # eps = Decimal(10) ** (-100)

# import numpy as np    # numpy.lcm()
# from scipy.sparse.csgraph import shortest_path, dijkstra, floyd_warshall, bellman_ford, johnson
# from scipy.sparse import csr_matrix
# from scipy.special import comb,perm #permはnPk
# import networkx as nx
# G = Graph()

# slist = "abcdefghijklmnopqrstuvwxyz"
A,B = input().split()
A = int(A)
B = int(B.replace("."))

ans = (A*B)//100

print(ans)
# for row in board:
#     print(*row,sep="")    #unpackして間にスペース入れずに出力する
# print("{:.10f}".format(ans))
# print("{:0=10d}".format(ans))

Submission status: Runtime Error

Solution code:
a,b=input().split()
a=int(a)
b=int(float(b*100))
print(a*b//100)

Submission status: Runtime Error

Solution code:
a, b = input().split()
print(int(A) * int(float(B)*1000)//1000)

Submission status: Runtime Error

Solution code:
a, b = input().split()
print(int(A) * int(float(B)*1000//1000))

Submission status: Runtime Error

Solution code:
ab=input().split()
a=int(ab[0])
b=ab[1].replace('.','')
ans=a*b//100
print(ans)

Submission status: Runtime Error

Solution code:
# -*- coding: utf-8 -*-
import math
 
A, B = map(float,input().split())
A = int(A)
#print(A,B)

"""
top_A = int( A/100 )
bot_A = int( A%100 )
#print(top_A, bot_A)
"""

str_A = str(A)
n = len(str_A)
top_str_A = str_A[0:n-2]
bot_str_A = str_A[n-2:n]
#print(n, top_str_A, bot_str_A)

top_A = int( top_str_A )
bot_A = int( bot_str_A )

top_B = int( B*100 )
top_AB = top_A * top_B
#print(top_B, top_AB)

bot_AB = math.floor( bot_A * B )
#print(bot_AB)

ans = int( top_AB + bot_AB )
print(ans)

Submission status: Runtime Error

Solution code:
a, b = int(input()), int(float(input()) * 100)
c = (a * b) // 100
print(c)

Submission status: Runtime Error

Solution code:
a, b = input().split()
a = int(a)
b = int(b * 1000)
x = int((a * b) // 1000)
print(x)

Submission status: Runtime Error

Solution code:
import numpy as np 
A,B = map(str,input().split())
A = int(A)
B = int(B[0]+B[2]+B[3])
print(int(A*C//100))

Submission status: Runtime Error

Solution code:
def funct(a):
  c = 1
  if(0 in a):
    return 0
  for i in range(len(a)):
    c *= a[i]
    if(c > 10 ** 18):
      return -1
  return c
n = input()
a = [int(x) for x in input().split()]
print(funct(a))

Submission status: Runtime Error

Solution code:
a,b = input().split()
a = round(float(a)*100)
b = int(b)
print(a*b//100)

Submission status: Runtime Error

Solution code:
# 初期入力
import numpy as np
import sys
input = sys.stdin.readline
N = int(input())
A = list(map(int, input().split()))
A_np =np.array(A,dtype=np.int64)
ans =np.prod(A_np)
if 0 in A:
    print(0)
elif 0 < ans <=10**18:
    print(ans)
else:
    print(-1)

Submission status: Runtime Error

Solution code:
A, B = input().split()
A = int(A)
B = int(str(float(B)*100))
print(int(A*B/100))

Submission status: Runtime Error

Solution code:
from decimal import Desimal
import sys
input = sys.stdin.readline


def main():
    a, b = [Desimal(i) for i in input().split()]
    a = int(a)
    b = int(float(b) * 100)
    ans = a * b // 100
    print(ans)


if __name__ == '__main__':
    main()

Submission status: Runtime Error

Solution code:
import math
a = int(input()) 
b = float(input()) 

ans = math.floor(a*b)
print(ans)

Submission status: Runtime Error

Solution code:
# https://qiita.com/snow67675476/items/e87ddb9285e27ea555f8

def factorization(n):
  arr = []
  temp = n
  for i in range(2, int(-(-n**0.5//1))+1):
    if temp%i==0:
      cnt=0
      while temp%i==0:
        cnt+=1
        temp //= i
      arr.append([i, cnt])

  if temp!=1:
    arr.append([temp, 1])

  if arr==[]:
    arr.append([n, 1])

  return arr

def resolve():
  N = int(input())
  prime_factors = factorization(N)

  result = 0
  for prime_factor in prime_factors:
    if prime_factor[0] == 1:
      continue

    for count in range(2, 42):
      if prime_factor[1] < (count + 1)*count//2:
        result += count - 1
        break
  print(result)


if __name__ == "__main__":
  resolve()

Submission status: Runtime Error

Solution code:
import io,sys
sys.setrecursionlimit(10**6)

def main():
    s = sys.stdin.readline().rstrip().split()
    a = int(s[0])

    b = int(float(s[1])*100+0.1)

    print(ans=a*b//100)
main()

Submission status: Runtime Error

Solution code:
import heapq
from sys import stdin
input = stdin.readline

#入力
# s = input()[0:-1]
# n = int(input())
# a = list(map(int,input().split()))
# a = [int(input()) for i in range()]
# n = int(input())
a,b = map(float, input().split())
# ab=[]
# for i in range():
#     a,b = map(int, input().split())
#     ab.append([a,b])


     
def main():
    b = int(b*100)
    a= int(a)
    print(a*b//100)
if __name__ == '__main__':
    main()

Submission status: Runtime Error

Solution code:
a,b = map(int,input().split())

print((a*(b*100))//100)

Submission status: Runtime Error

Solution code:
A,B = input().split()
print(int(A) * float(B)*100)//100)

Submission status: Runtime Error

Solution code:
A, B = input().split()
A = int(A)
B = int(str(B))*100
print(int(A*B/100))

Submission status: Runtime Error

Solution code:
a,b = input().split()
a = float(a)
b = float(b*100)
print(a*b//100)

Submission status: Runtime Error

Solution code:
a,b = map(int,input().split())

b = b*100
ans = int((a*b)/100)

Submission status: Runtime Error

Solution code:
import sys
input = sys.stdin.readline

def prime_factorize(n):
    a = []
    while n % 2 == 0:
        a.append(2)
        n //= 2
    f = 3
    while f * f <= n:
        if n % f == 0:
            a.append(f)
            n //= f
        else:
            f += 2
    if n != 1:
        a.append(n)
    return a

def main():
    n = int(input())
    cache = set()
    a = prime_factorize(n)
    tmp = 1
    ans = 0
    while a:
        x = a.pop()
        if tmp % x == 0:
            tmp *= x
        else:
            tmp = x
        if tmp in cache:
            continue
        cache.add(tmp)
        ans += 1
        tmp = 1


    print(ans)


main()

Submission status: Runtime Error

Solution code:
import math

A, B = map(float, input().split())
keta = int(math.log10(A))
A /= 10**keta

print(int(A*B*(10**keta)))

Submission status: Runtime Error

Solution code:
a,b=map(int,input().split(" "))
print(a*(b*100)/100)

Submission status: Runtime Error

Solution code:
a, b = input().split()
a = int( a )
b = b * 100

print( a * b // 100 )

Submission status: Runtime Error

Solution code:
a,b=map(int,input().split(""))
print(a*(b*100)/100)

Submission status: Runtime Error

Solution code:
a, b = input().split()
a = int(a)
b = int(100 * int(b.split('.')))


def solve(a, b):
    return a * b // 100


print(solve(a, b))

Submission status: Runtime Error

Solution code:
a,b = input().split()

bx = b.replace(".", "")

ans = 0
ans += int(a) * int(bx[0])
ans += int(a[:-1]) * int(bx[1])
ans += int(a[:-2]) * int(bx[2])


print(ans)

Submission status: Runtime Error

Solution code:
a,b = input().split()
a = int(a)
b = int(b*100)
print(a*b/100)

Submission status: Runtime Error

Solution code:
a,b=map(input().split())
a=int(a)
b=int(b)*1000
print(int(a*b)/1000)

Submission status: Runtime Error

Solution code:
import math
a, b = map(float, input().split()
print(math.floor(a*(b*100)/100))

Submission status: Runtime Error

Solution code:
import math
a, b = map(float, input().split()
print(math.floor(a*(b*100)/100)

Submission status: Runtime Error

Solution code:
a,b = input().split()
a = int(a)
b = int(b)
print(a*b)

Submission status: Runtime Error

Solution code:
a,b = input().split()

a = int(a)
b = float(b * 100)

answer = a * b /100
print(answer)

Submission status: Runtime Error

Solution code:
A, B = input().split()
A = int(A)
B = int(B * 100)
print(A*B//100)

Submission status: Runtime Error

Solution code:
A,B = map(int,input().split())
print((A*(B*100))//100)

Submission status: Runtime Error

Solution code:
a,b = input().split()

a = int(a)
b = float(b * 100)

print(int((a * b)/100))

Submission status: Runtime Error

Solution code:
a,b=map(float, input().split())
print(a*b*100)/100

Submission status: Runtime Error

Solution code:
a,b = input().split()

a = int(a)
b = float(b * 100)

print(round((a * b)/100))

Submission status: Runtime Error

Solution code:
A,B = input().split()
B2 = float(B)*100
print(int(A*B2))

Submission status: Runtime Error

Solution code:
import sys
import numpy as np

read = sys.stdin.buffer.read
readline = sys.stdin.buffer.readline
readlines = sys.stdin.buffer.readlines

N = int(read())

U = 10**6
is_prime = np.zeros(U, np.bool_)
is_prime[2] = 1
is_prime[3::2] = 1
for p in range(3, U, 2):
    if p * p >= U:
        break
    if is_prime[p]:
        is_prime[p * p::p + p] = 0

primes = is_prime.nonzero()[0]


def factor(N):
    div = primes[N % primes == 0]
    for p in div:
        e = 0
        while N % p == 0:
            e += 1
            N //= p
        yield (p, e)
    if N != 1:
        yield (N, 1)


A = np.zeros(100, np.int32)
for i in range(14):
    k = i * (i + 1) // 2
    A[k] = i
np.maximum.accumulate(A, out=A)

x = 0
for p, e in factor(N):
    x += A[e]
print(x)

Submission status: Runtime Error

Solution code:
a,b = map(str,input().split())
b100 = int(b[0]) * 100 + int(b[2]) * 10 + int(b[3])
# print(b)
# print(b100)
print(int(int(a)*b/100))

Submission status: Runtime Error

Solution code:
import numpy as np
import math
from decimal import Decimal

def resolve():
  S = input().split(" ")
  # print(math.floor(int(S[0])*Decimal(S[1])))
  # print(math.floor((int(S[0]) * int(float(S[1])*100))) // 100)
  print(math.floor((int(A) * int(float(B)*100))) // 100)
# if __name__ == "__main__":
#   resolve()

if __name__ == "__main__":
  resolve()

Submission status: Runtime Error

Solution code:
import sys
import numpy as np

read = sys.stdin.buffer.read
readline = sys.stdin.buffer.readline
readlines = sys.stdin.buffer.readlines

N = int(read())

U = 10**6
is_prime = np.zeros(U, np.bool_)
is_prime[2] = 1
is_prime[3::2] = 1
for p in range(3, U, 2):
    if p * p >= U:
        break
    if is_prime[p]:
        is_prime[p * p::(p * p)] = 0

primes = is_prime.nonzero()[0]


def factor(N):
    div = primes[N % primes == 0]
    for p in div:
        e = 0
        while N % p == 0:
            e += 1
            N //= p
        yield (p, e)
    if N != 1:
        yield (N, 1)


A = np.zeros(100, np.int32)
for i in range(14):
    k = i * (i + 1) // 2
    A[k] = i
np.maximum.accumulate(A, out=A)

x = 0
for p, e in factor(N):
    x += A[e]
print(x)

Submission status: Runtime Error

Solution code:
a, b = input().split()
ai = int(a)
bf = froat(b)
print(int(ai*bf))

Submission status: Runtime Error

Solution code:
import sys
import numpy as np

read = sys.stdin.buffer.read
readline = sys.stdin.buffer.readline
readlines = sys.stdin.buffer.readlines

N = int(read())

U = 10**6
is_prime = np.zeros(U, np.bool_)
is_prime[2] = 1
is_prime[3::2] = 1
for p in range(3, U, 2):
    if p * p >= U:
        break
    if is_prime[p]:
        is_prime[p * p::p * p] = 0

primes = is_prime.nonzero()[0]


def factor(N):
    div = primes[N % primes == 0]
    for p in div:
        e = 0
        while N % p == 0:
            e += 1
            N //= p
        yield (p, e)
    if N != 1:
        yield (N, 1)


A = np.zeros(100, np.int32)
for i in range(14):
    k = i * (i + 1) // 2
    A[k] = i
np.maximum.accumulate(A, out=A)

x = 0
for p, e in factor(N):
    x += A[e]
print(x)

Submission status: Runtime Error

Solution code:
a,b =input().split()
a = int(a)
b = int(float(b)*100)
print(a:b//100)

Submission status: Runtime Error

Solution code:
from math import floor
a,b=input().split()
a=int(a)
b=list(b)
b=int(b[0]+b[2:])
print(floor(a*b/100))

Submission status: Runtime Error

Solution code:
a,b=input().split();print((int(a)*int(b.strip(".")))//100)

Submission status: Runtime Error

Solution code:
a, b = input().split()
a = int(a)
b = int(b)
b = b * 100

x = a * b / 100
print(x)

Submission status: Runtime Error

Solution code:
import numpy as np
import math
[A,B] = input().split()
c = 0
if '.' in B:
    c = int(B.find('.'))
c = len(B)-c-1
B = B.replace(".","")
A = np.int64(A)
B = np.int64(B)
C = A*B
if c == 0 or C <=100:
    print(math.floor(C/int(10**c)))
else c == 1:
    print(str(C)[:-c])

Submission status: Runtime Error

Solution code:
ab = list(input().split())

a = int(ab[0])
b = float(ab[1]*100)

print(a*b//100)

Submission status: Runtime Error

Solution code:
a,b = map(int,input().split())
print(a*(b*100)/100)

Submission status: Runtime Error

Solution code:
a, b = input().split()
a = int(a)
b =　int(float(b) * 100)
print(a * b // 100)

Submission status: Runtime Error

Solution code:
import math
A, B = input().split()
a = int(A)
b = int(B*1000)
print(a*b//1000)

Submission status: Runtime Error

Solution code:
A,B=input().split()
B=Decimal(B)
A=int(A)
ans=int(A*B)
 
print(ans)

Submission status: Runtime Error

Solution code:
 from sys import stdin
input = stdin.readline


a, b = map(str, input().split())
a = int(a)
b = int((float(b) + 0.001) * 100)
ans = int(a * b // 100)
print(ans)

Submission status: Runtime Error

Solution code:
import math
 
a, b = (str, input().split())
c = int(a)
d = float(b)
 
x = c * d
y = math.floor(x)
 
print(y)

Submission status: Runtime Error

Solution code:
from sys import stdin
input = stdin.readline

a, b = map(str, input().split())
a = int(a)
b = int(float(b + 0.001) * 100)
ans = int(a * b // 100)
print(ans)

Submission status: Runtime Error

Solution code:
import decimal

a,b = input().split()
a = int(a)
b = decimal(b)
b = b*100
b = int(b)

ans = a*b
ans //= 100

print(int(ans))

Submission status: Runtime Error

Solution code:
from sys import stdin

A, B= map(float, stdin.readline().rstrip().split())
a = int(A)
b = int(B.replace(".", ""))

print(a*b//100)

Submission status: Runtime Error

Solution code:
a,b=input().split()
a=int(a)
b=b[0]+b[2:]
print(int(a*b/100))

Submission status: Runtime Error

Solution code:
#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;

int main() {
    ios::sync_with_stdio(0);
    cin.tie(0);

    long long a, b;
    cin >> a >> b;
    char c;
    cin >> c;
    int d;
    cin >> d;
    b = b * 100 + d;
    long long e = (a * b) / 100;
    cout << e;
}

Submission status: Runtime Error

Solution code:
a, b = input().split()
a = int(a)
b = math.floor(float(b) * 100)
print(a * b // 100)

Submission status: Runtime Error

Solution code:
def main():
    A,B = map(str,input().split())
    A = int(A)
    B = B.replace(',','')
    B = int(B)
    C = A*B
    print(C//100)
    
if __name__ == '__main__':
    main()

Submission status: Runtime Error

Solution code:
from decimal import *
a, b = map(float, input().split())
 
num = Decimal('a') * Decimal('b')
print(int(num))

Submission status: Runtime Error

Solution code:
def main():
    a,b = input().split()
    a = int(a)
    b = double(b)
    print(int(a*b))

if __name__ == "__main__":
    main()

Submission status: Runtime Error

Solution code:
import decimal
a,b = input().split()
a = decimal(a)
b = decimal(b)
print(int(a*b))

Submission status: Runtime Error

Solution code:
a, b = map(str, input().split())
a, b = int(a), int(b*100)
print(a*b//100)

Submission status: Runtime Error

Solution code:
import Decimal from decimal
a,b=map(Decimal,input().split())
print(int(a*b))

Submission status: Runtime Error

Solution code:
A, B = map(str, input().split())
 
B = str(int(float(B)*100+0.00001))
 
#print(B)
ans = []
p = [[]for k in range(len(B))]
for k in range(len(B)):
    for j in range(k):
        p[k].append(0)
for k in range(1, len(B)+1):
    a = 0
    for j in range(1, len(A)+1):
        if a > 9:
            a = int(str(a)[0]) + int(B[-k])*int(A[-j])
        else:
            a = int(B[-k])*int(A[-j])
        #print(a)
 
        p[k-1].append(int(str(a)[-1]))
        if j == len(A) and a >9:
            p[k-1].append(int(str(a)[0]))
 
for k in range(len(B)):
    for j in range(len(p[-1]) - len(p[k])):
        p[k].append(0)
 
#print(p)
a = 0
for k in range(len(p[0])): 
    if int(a) > 9: 
        a = int(str(a)[0])
    else:
        a =0
    for j in range(len(p)):
        a += p[j][k]
    ans.append(str(a)[-1])
    if k ==  len(p[0]-1) and a >9:
        ans.append(str(a)[0])

 
#print(ans)
op = ""
for k in range(1, len(ans)-1):
    op += ans[-k]
if len(ans)<3:
    print("0")
else:
    print(op)

Submission status: Runtime Error

Solution code:
a,b=[int(s) for s in input().split()]
print(int(a*b))

Submission status: Runtime Error

Solution code:
from decimal import *
a, b = map(float, input().split())

num = decimal('a') * decimal('b')
print(int(num))

Submission status: Runtime Error

Solution code:
a,b = input().split()
a = int(a)
b = int(b.replace(".","")
print(a*b//100)

Submission status: Runtime Error

Solution code:
def main():
    A,B = map(str,input().split())
    A = int(A)
    B.replace(',','')
    B = int(B)
    C = A*B
    print(C//100)
    
if __name__ == '__main__':
    main()

Submission status: Runtime Error

Solution code:
import math
def main():
    A, B = input().split()
    A = int(A)
    B = round(100 * (B))
    out = (A * B) // 100
    
    print(out)

main()

Submission status: Runtime Error

Solution code:
A, B = map(str, input().split())
 
B = str(int(float(B)*100+0.00001))
 
#print(B)
ans = []
p = [[]for k in range(len(B))]
for k in range(len(B)):
    for j in range(k):
        p[k].append(0)
for k in range(1, len(B)+1):
    a = 0
    for j in range(1, len(A)+1):
        if a > 9:
            a = int(str(a)[0]) + int(B[-k])*int(A[-j])
        else:
            a = int(B[-k])*int(A[-j])
        #print(a)
 
        p[k-1].append(int(str(a)[-1]))
        if j == len(A) and a >9:
            p[k-1].append(int(str(a)[0]))
 
for k in range(len(B)):
    for j in range(len(p[-1]) - len(p[k])):
        p[k].append(0)
 
#print(p)
a = 0
for k in range(len(p[0])): 
    if int(a) > 9: 
        a = int(str(a)[0])
    else:
        a =0
    for j in range(len(p)):
        a += p[j][k]
    ans.append(str(a)[-1])
    if k ==  len(p[0]-1) and a >9:
        ans.append(str(a)[0])
 
p
 
#print(ans)
op = ""
for k in range(1, len(ans)-1):
    op += ans[-k]
if len(ans)<3:
    print("0")
else:
    print(op)

Submission status: Runtime Error

Solution code:
#include <bits/stdc++.h>
#define rep(i,n) for (int i = 0; i < (n); ++i)

using namespace std;
typedef pair<int, int> P;
typedef long long ll;
template<class T> inline bool chmax(T& a, T b) { if (a < b) { a = b; return 1; } return 0; }
template<class T> inline bool chmin(T& a, T b) { if (a > b) { a = b; return 1; } return 0; }

//最大公約数
ll gcd(ll x, ll y) {
    ll tmp = 0;
    if (x < y){
        tmp=x;
        x=y;
        y=tmp;
    }
    while (y > 0) {
        ll r = x % y;
        x = y;
        y = r;
        }
    return x;
}

//最大公倍数
ll lcm(ll x,ll y){
    return x/gcd(x,y)*y;
}

const int MAX = 1e6+1;
const ll MOD = 998244353;

long long fac[MAX], finv[MAX], inv[MAX];

// テーブルを作る前処理
void COMinit() {
    fac[0] = fac[1] = 1;
    finv[0] = finv[1] = 1;
    inv[1] = 1;
    for (int i = 2; i < MAX; i++){
        fac[i] = fac[i - 1] * i % MOD;
        inv[i] = MOD - inv[MOD%i] * (MOD / i) % MOD;
        finv[i] = finv[i - 1] * inv[i] % MOD;
    }
}

struct mint {
  ll x; // typedef long long ll;
    mint(ll x=0):x((x%MOD+MOD)%MOD){}
    mint operator-() const { return mint(-x);}
    mint& operator+=(const mint a) {
    if ((x += a.x) >= MOD) x -= MOD;
    return *this;
    }
    mint& operator-=(const mint a) {
    if ((x += MOD-a.x) >= MOD) x -= MOD;
    return *this;
    }
    mint& operator*=(const mint a) {
        (x *= a.x) %= MOD;
        return *this;
    }
    mint operator+(const mint a) const {
        mint res(*this);
        return res+=a;
    }
    mint operator-(const mint a) const {
        mint res(*this);
        return res-=a;
    }
    mint operator*(const mint a) const {
        mint res(*this);
        return res*=a;
    }
    mint pow(ll t) const {
        if (!t) return 1;
        mint a = pow(t>>1);
        a *= a;
        if (t&1) a *= *this;
        return a;
    }

    // for prime MOD
    mint inv() const {
        return pow(MOD-2);
    }
    mint& operator/=(const mint a) {
        return (*this) *= a.inv();
    }
    mint operator/(const mint a) const {
        mint res(*this);
        return res/=a;
    }
};

// 二項係数計算
long long COM(int n, int k){
    if (n < k) return 0;
    if (n < 0 || k < 0) return 0;
    return fac[n] * (finv[k] * finv[n - k] % MOD) % MOD;
}


//階乗
ll kaijo(ll k){
    ll sum = 1;
    for (ll i = 1; i <= k; ++i)
    {
        sum *= i;
        sum%=1000000000+7;
    }
    return sum;
}

long long modpow(long long a, long long n, long long MOD) {
    long long res = 1;
    while (n > 0) {
        if (n & 1) res = res * a % MOD;
        a = a * a % MOD;
        n >>= 1;
    }
    return res;
}

//sieve(MAX);でベクトルIsPrimeに「MAXまでの数値の素数の真偽」を格納する。
struct Sieve {
    int n;
    vector<int> f, primes;
    Sieve(int n=1):n(n), f(n+1) {
        f[0] = f[1] = -1;
        for (ll i = 2; i <= n; ++i) {
        if (f[i]) continue;
        primes.push_back(i);
        f[i] = i;
        for (ll j = i*i; j <= n; j += i) {
            if (!f[j]) f[j] = i;
        }
        }
    }
    bool isPrime(int x) { return f[x] == x;}
    vector<int> factorList(int x) {
        vector<int> res;
        while (x != 1) {
        res.push_back(f[x]);
        x /= f[x];
        }
        return res;
    }
    vector<P> factor(int x) {
        vector<int> fl = factorList(x);
        if (fl.size() == 0) return {};
        vector<P> res(1, P(fl[0], 0));
        for (int p : fl) {
        if (res.back().first == p) {
            res.back().second++;
        } else {
            res.emplace_back(p, 1);
        }
        }
        return res;
    }
};
struct UnionFind {
    vector<int> par;
    UnionFind(int n) : par(n, -1) { }
    int root(int x) {
        if (par[x] < 0) return x;
        else return par[x] = root(par[x]);
    }
    bool issame(int x, int y) {
        return root(x) == root(y);
    }
    bool merge(int x, int y) {
        x = root(x); y = root(y);
        if (x == y) return false;
        if (par[x] > par[y]) swap(x, y); // merge technique
        par[x] += par[y];
        par[y] = x;
        return true;
    }
    ll size(int x) {
        return -par[root(x)];
    }
};

ll count(int n, int a){
    ll bunshi = 1;
    for(int i = 0; i < a; i++){
        bunshi*=(n-i);
        bunshi%=MOD;
    }
    ll bunbo = 1;
    for(int i = 1; i < a+1; i++){
        bunbo*=i;
        bunbo%=MOD;
    }
    bunbo = modpow(bunbo,MOD-2,MOD);
    // cout<<(bunshi*bunbo)%MOD<<endl;
    return (bunshi*bunbo)%MOD;
}

// 約数列挙。約数をvector<ll>で返す。計算量はsqrt(n)。
vector<ll> divisor(ll n) {
    vector<ll> ret;
    for(ll i = 1; i * i <= n; i++) {
        if(n % i == 0) {
        ret.push_back(i);
        if(i * i != n) ret.push_back(n / i);
        }
    }
    sort(begin(ret), end(ret));
    return (ret);
}

// ここから開始
const ll INF = 1e18;
const double PI = 3.14159265358979323846264338327950;
int dx[] = {1,0,-1,0};
int dy[] = {0,1,0,-1};
vector<ll> x(200003,0);

int main(){
    int N;
    cin>>N;
    vector<ll> a(N);
    rep(i,N) cin>>a[i];
    ll ans = 1;
    sort(a.begin(),a.end());
    if(a[0]==0){
        cout<<-1<<endl;
        return 0;
    }
    for(int i = 0; i < N; i++){
        // if(ans>1000000000000000000/a[i]){
            if(ans>(ll)1e18/a[i]){
            cout<<-1<<endl;
            return 0;
        }
        ans*=a[i];
    }
    cout<<ans<<endl;
    return 0;
}

Submission status: Runtime Error

Solution code:
"""
[a,b]=list(map(float,input().split()))
import math
a=int(a)
b=int(b*100)
ans=a*b
ans=ans/100
ans=math.floor(ans)
print(ans)
"""
import decimal
[a,b]=list(input().split())
a10=decimal.Decimal(a)
b10=decimal.Decimal(b)
ans=int(a10*b10)
print(ans)


"""
[a,b]=list(input().split())
a=int(a)
b12=list(b.split('.'))
bkai=int(int(b12[0])*100+int(b12[1]))
ans=a*bkai
ans=ans//100
print(ans)

Submission status: Runtime Error

Solution code:
if __name__ == '__main__':
    a = [str(i) for i in input().split()]
    b = int(a[0])
    c = int(a[1].replace(".",""))
    d = Decimal(a[0]) * Decimal(c) / Decimal(100)
    e = int(d)
    print(e)

Submission status: Runtime Error

Solution code:
s = input().split()
a = int(s[0])
b = int(s[1]replace(, '.', ''))
ans = floor(a*b/100)
print(ans)

Submission status: Runtime Error

Solution code:
AB = list(input().split())
 
A = int(AB[0])
B = float(AB[1])
 
B = round(B * 100)
 
ans = int(A * B / /100)
 
print(ans)

Submission status: Runtime Error

Solution code:
A,B=input().split()
a=int(A)
b,c=B.split(.)
d=int(b)*100
ans=a*d
e=int(c)
ans+=e*a
ans/=100
print(ans)

Submission status: Runtime Error

Solution code:
"""
[a,b]=list(map(float,input().split()))
import math
a=int(a)
b=int(b*100)
ans=a*b
ans=ans/100
ans=math.floor(ans)
print(ans)
"""
import decimal
[a,b]=list(input().split()
a10=decimal.Decimal(a)
b10=decimal.Decimal(b)
ans=int(a10*b10)
print(ans)


"""
[a,b]=list(input().split())
a=int(a)
b12=list(b.split('.'))
bkai=int(int(b12[0])*100+int(b12[1]))
ans=a*bkai
ans=ans//100
print(ans)

Submission status: Runtime Error

Solution code:
A, B = map(float, input().split())

A = int(a)
B = round(100*B)

ans = int(int(A*B)//100)
print(ans)

Submission status: Runtime Error

Solution code:
A,B=input().split()
a=int(A)
b,c=B.split()
d=int(b)*100
ans=a*d
e=int(c)
ans+=e*a
ans/=100
print(ans)

Submission status: Runtime Error

Solution code:
a,b=map(int,input().split())
print(str(int(a*b)))

Submission status: Runtime Error

Solution code:
a,b=map(float,input().split())
b=int(float(b)*100)
a=int(a)
print(int(a*tempb)//100)

Submission status: Runtime Error

Solution code:
import sys
import math

from decimal import *

def solve(A: int, B: float):
    # a = Decimal(A)
    # b = Decimal(B)
    print(math.floor(Decimal(a * b)))
    return
    # if len(str(B)) == 3:
    #     if str(B)[2] == 0:
    #         print(math.floor(a*b))
    #         return
    #     ans = A * int(str(B)[0])
    #     ans += Decimal(a * int(str(B)[2]) / 10)
    #     print(math.floor(ans))
    #     return

    # if len(str(B)) == 4:
    #     ans = A * int(str(B)[0])
    #     ans += Decimal(A * int(str(B)[2]) / 10)
    #     ans += Decimal(A * int(str(B)[3]) / 100)
    #     print(math.floor(ans))
    #     return
    # return


# Generated by 1.1.7.1 https://github.com/kyuridenamida/atcoder-tools  (tips: You use the default template now. You can remove this line by using your custom template)
def main():
    def iterate_tokens():
        for line in sys.stdin:
            for word in line.split():
                yield word
    tokens = iterate_tokens()
    A = int(next(tokens))  # type: int
    B = float(next(tokens))  # type: float
    solve(A, B)

if __name__ == '__main__':
    main()

Submission status: Runtime Error

Solution code:
from decimal import *
getcontext().prec = 2
 
N = list(map(str, input().split()))
A = Decimal(N[0])
B = Decimal(N[1])
  
print(math.floor(A*B/100))

Submission status: Runtime Error

Solution code:
a,b=input().split()
a=int(a)
b=float(b)*1000
b=int(b)
print(int((a*b)//1000)

Submission status: Runtime Error

Solution code:
s=input().split()
a=int(s[0])
b=int(float(s[1])*1000) 
ans=a*b
print(math.floor(ans//1000))

Submission status: Runtime Error

Solution code:
a,b=map(float,input().split())
tempb=int(floor(b)*1000)
print(int(a*tempb)//1000)

Submission status: Runtime Error

Solution code:
s=input().split()
a=int(s[0])
b=int(float(s[1])*1000) 
ans=a*b
print(math.floor(ans/1000))

Submission status: Runtime Error

Solution code:
import math
a,b=input().split()
a=int(a)
c=b[0]+b[2]+b[3]
print(int(a*c/100))
#print(a*b)

Submission status: Runtime Error

Solution code:
import math
n = int(input())

count = 0

def sosu(n,z):
    for i in range(z, int(math.sqrt(n))+1):
        if n%i == 0:
            return i
            break
    return -1

if sosu(n,2) == -1 and n != 1:
    print(1)
    exit()

ans  = 0
z = 2

def hantei(n):
    i = sosu(n,2)
    s = 0
    if sosu(n,2) == -1:
        return True
    if sosu(n,2) > 0:
        s = n ** (1/i)
        if int(s) == math.floor(s):
            #print(n,s)
            return True
        else:
            return False

memo = []

while(n != 1) :
    ans = sosu(n,z)
    print(n,ans,z)
    if ans == -1:
        if memo.count(n) == 0 and hantei(n):
            count +=1
            break
        else:
            break

    if hantei(ans) :
        memo.append(ans)
        z = ans+1
        n = n//ans
        count += 1
    else:
        z = ans +1
    #print(count)



print(count)

Submission status: Runtime Error

Solution code:
a,b=input().split()
if b.count(".")==0:b+="."
b+="00000"
di=b.count(".")
B=""
for i in range(len(b)):
  if b[i]!=".":
    B+=b[i]
  if i==di+2:
    B+="."
b=int(B)
a=int(a)
print(a*b//100)

Submission status: Runtime Error

Solution code:
import decimal
a,b=list(map(int,input().split()))
x = decimal.Decimal(a)
y = decimal.Decimal(b)
print(x*y)

Submission status: Runtime Error

Solution code:
A,B=map(int,input().split())
B*=100
print(A*B//100)

Submission status: Runtime Error

Solution code:
# 検証と認識が甘かった


def solve(A, B):
    _B = round(B * 100)
    print(A * _B // 100)


if __name__ == '__main__':
    A, B = [float(i) for i in input().split()]
    A = int(A)
    sorted(A, B)

Submission status: Runtime Error

Solution code:
a, b =input().split()
a = int(a)
b_100 = round(100 * b)
times = a * b_100
new_times = times / 100
print(new_times)

Submission status: Runtime Error

Solution code:
a,b=map(float,input().split())
tempb=int(b*1000)
print(int(tempa*tempb)//1000)

Submission status: Runtime Error

Solution code:
import decimal
a, b = map(decimal, input().split())
b = b*100
c = a*b
print(int(c/100))

Submission status: Runtime Error

Solution code:
a, b=map(int, input().split())
b*=100
ans=a*b
an=ans//100
print(an)

Submission status: Runtime Error

Solution code:
a,b=input().split()
c,c = b.split(".")
print(int(a)*int(b)+int(a)*int(c)//100)

Submission status: Runtime Error

Solution code:
import math
A,B = input().split()

if (float(B) - (int(float(B)))) * 100 * 100 == 28.99999999999999:
    D = 29 + int(float(B)) * 100
elif (float(B) - (int(float(B)))) * 100 * 100 == 57.99999999999999:
    D = 58 + int(float(B)) * 100
else:
    D = int(float(B) * 100)

C = math.floor(int(A) * int(B) / 100)
print(C)