Vasily exited from a store and now he wants to recheck the total price of all purchases in his bill. The bill is a string in which the names of the purchases and their prices are printed in a row without any spaces. Check has the format "name_1price_1name_2price_2...name_{n}price_{n}", where name_{i} (name of the i-th purchase) is a non-empty string of length not more than 10, consisting of lowercase English letters, and price_{i} (the price of the i-th purchase) is a non-empty string, consisting of digits and dots (decimal points). It is possible that purchases with equal names have different prices.

The price of each purchase is written in the following format. If the price is an integer number of dollars then cents are not written.

Otherwise, after the number of dollars a dot (decimal point) is written followed by cents in a two-digit format (if number of cents is between 1 and 9 inclusively, there is a leading zero).

Also, every three digits (from less significant to the most) in dollars are separated by dot (decimal point). No extra leading zeroes are allowed. The price always starts with a digit and ends with a digit.

For example:  "234", "1.544", "149.431.10", "0.99" and "123.05" are valid prices,  ".333", "3.33.11", "12.00", ".33", "0.1234" and "1.2" are not valid. 

Write a program that will find the total price of all purchases in the given bill.


-----Input-----

The only line of the input contains a non-empty string s with length not greater than 1000 — the content of the bill.

It is guaranteed that the bill meets the format described above. It is guaranteed that each price in the bill is not less than one cent and not greater than 10^6 dollars.


-----Output-----

Print the total price exactly in the same format as prices given in the input.


-----Examples-----
Input
chipsy48.32televizor12.390

Output
12.438.32

Input
a1b2c3.38

Output
6.38

Input
aa0.01t0.03

Output
0.04

Difficulty: MEDIUM_HARD
Tags: String algorithms

Implementation

Starter code:

Solutions:
s = input()
a = 0
r = ''
l = []
for i in s:
	if 48 <= ord(i) <= 57 or ord(i) == 46:
		r += i
	elif len(r) > 0:
		if len(r) > 3 and r[-3] == '.':
			a += float(''.join(r[:-3].split('.')) + r[-3:])
		else:
			a += float(''.join(r.split('.')) + '.00')
		r = ''
if len(r) > 0:
	if len(r) > 3 and r[-3] == '.':
		a += float(''.join(r[:-3].split('.')) + r[-3:])
	else:
		a += float(''.join(r.split('.')) + '.00')
a = round(float(a), 2)
sa = str(a)
li = sa.split('.')
r = ''
for i in range(1, len(li[0]) + 1):
	r += li[0][-i]
	if i % 3 == 0 and i < len(li[0]):
		r += '.'
r = r[::-1]
if int(li[1]) > 0:
	r += '.' + li[1]
	if len(li[1]) == 1:
		r += '0'
print(r)


s = input()
dg = []
n = ''
z = 0
for i in range(len(s)):
	if s[i].isdigit() or s[i] == '.':
		n += s[i]
		z = 1
	elif z:
		dg.append(n)
		n = ''
		z = 0
dg.append(n)
sm = 0
for i in range(len(dg)):
	x = dg[i].split('.')
	io = ''
	if len(x) > 2 or len(x[len(x) - 1]) == 3:
		for j in range(len(x)):
			if len(x[j]) == 3 or j == 0:
				io += x[j]
			else:
				io = io + '.' + x[j]
		sm = round(sm + float(io), 2)
	else:
		sm = round(sm + float(dg[i]), 2)
sm = str(sm)
b = sm.split('.')
for i in range(len(b[0])):
	print(int(b[0][i]), end='')
	if len(b[0][i + 1:]) % 3 == 0 and len(b[0][i + 1:]) != 0:
		print('.', end='')
if len(b[1]) == 2 and b[1] != '00' and (b[1] != '0'):
	print('.', b[1], sep='')
elif b[1] != '00' and b[1] != '0':
	print('.', b[1], 0, sep='')


s = input()
summ = 0

def tocost(s):
	if len(s) >= 4 and s[-3] == '.':
		return int(s.replace('.', ''))
	else:
		return int(s.replace('.', '')) * 100
i = 0
s += 'b'
while i < len(s):
	if s[i].isdigit():
		for j in range(i, len(s)):
			if not s[j].isdigit() and s[j] != '.':
				summ += tocost(s[i:j])
				i = j
				break
	i += 1
summ = str(summ)
if summ == '0':
	print(0)
elif len(summ) == 1:
	print('0.0' + summ)
elif len(summ) == 2:
	print('0.' + summ)
elif summ[-1] == summ[-2] == '0':
	ans = ''
	summ = summ[:-2]
	for i in range(0, len(summ)):
		if (len(summ) - i) % 3 == 0 and i != 0:
			ans += '.'
		ans += summ[i]
	print(ans)
else:
	ans = ''
	for i in range(0, len(summ)):
		if (len(summ) - 2 - i) % 3 == 0 and i != 0:
			ans += '.'
		ans += summ[i]
	print(ans)


from decimal import Decimal
check = input()
check = check + 'a'
bukvi = ['q', 'w', 'e', 'r', 't', 'y', 'u', 'i', 'o', 'p', 'a', 's', 'd', 'f', 'g', 'h', 'j', 'k', 'l', 'z', 'x', 'c', 'v', 'b', 'n', 'm']
flag = 0
number = []
numbers = []
for symvol in check:
	if flag == 0:
		if symvol not in bukvi:
			flag = 1
	if flag == 1:
		if symvol not in bukvi:
			number += symvol
		else:
			numbers += [number]
			number = []
			flag = 0
ans = 0
for num in numbers:
	integ = []
	for i in range(len(num)):
		if num[i] != '.':
			integ += num[i]
		elif i == len(num) - 3:
			integ += [num[i]]
	ans += Decimal(''.join(integ))
ans = str(ans)
if len(ans) > 3 and ans[-1] == ans[-2] == '0' and (ans[-3] == '.'):
	ans = ans[:-3]
res = []
cnt = 0
if len(ans) > 3 and ans[-3] == '.':
	for i in range(len(ans) - 4, -1, -1):
		if cnt == 3:
			res += ['.']
			cnt = 0
		res += ans[i]
		cnt += 1
	res.reverse()
	res += ans[-3:]
else:
	for i in range(len(ans) - 1, -1, -1):
		if cnt == 3:
			res += ['.']
			cnt = 0
		res += ans[i]
		cnt += 1
	res.reverse()
print(''.join(res))


s = input()
t = ''
for i in s:
	if i.isalpha():
		t += ' '
	else:
		t += i
a = t.split()
ans1 = 0
ans2 = 0
for i in a:
	b = i.split('.')
	part = None
	cur = 0
	for j in range(len(b)):
		if len(b[j]) == 2 and j > 0:
			part = int(b[j])
		else:
			cur *= 1000
			cur += int(b[j])
	if not part is None:
		ans2 += part
	ans1 += cur
cnt = ans2 // 100
ans1 += cnt
ans2 -= cnt * 100
tmp = str(ans1)[::-1]
tmp2 = ''
for i in range(len(tmp)):
	tmp2 += tmp[i]
	if i % 3 == 2 and i != len(tmp) - 1:
		tmp2 += '.'
ans1 = tmp2[::-1]
if ans2 == 0:
	print(ans1)
else:
	ans2 = str(ans2)
	if len(ans2) == 1:
		ans2 = '0' + ans2
	print('%s.%s' % (ans1, ans2))


IN = input()
costsSTR = []
costs = []
cash = ''
for i in IN:
	if i.isdigit() or i == '.':
		cash += i
	elif cash != '':
		costsSTR.append(cash)
		cash = ''
if cash != '':
	costsSTR.append(cash)
for i in costsSTR:
	if len(i) < 3:
		cost = int(i.replace('.', '')) * 100
		costs.append(cost)
	elif i[-3] == '.':
		s = i[-2:]
		cost = int(i[:-3].replace('.', '')) * 100 + int(s)
		costs.append(cost)
	else:
		cost = int(i.replace('.', '')) * 100
		costs.append(cost)
OUTsumI = str(int(sum(costs) / 100))
OUTsumD = str(sum(costs) % 100)
OUT = ''
for i in OUTsumI[::-1]:
	if len(OUT.replace('.', '')) % 3 == 0:
		OUT += '.'
	OUT += i
OUT = OUT[::-1]
if OUTsumD == '0':
	print(OUT[:-1])
elif len(OUTsumD) < 2:
	print(OUT + '0' + OUTsumD)
else:
	print(OUT + OUTsumD)


import math

def transfer(s):
	x = list(s.split('.'))
	if len(x) > 1:
		if len(x[-1]) == 2:
			a = ''
			for i in range(len(x) - 1):
				a += x[i]
			a = int(a) + int(x[-1]) * 0.01
		else:
			a = ''
			for i in range(len(x)):
				a += x[i]
			a = int(a)
	else:
		a = int(s)
	return a

def out(a):
	a = str(a)
	dote = a.rfind('.')
	remainder = a[dote + 1:]
	if int(remainder) == 0:
		remainder = ''
	elif len(str(remainder)) == 2:
		remainder = '.' + str(remainder)
	else:
		remainder = '.' + str(remainder) + '0'
	new_num = [str(remainder)]
	i = dote - 1
	c = -1
	while i > -1:
		c += 1
		if c == 3:
			c = 0
			new_num.append('.')
		new_num.append(a[i])
		i -= 1
	new_num = reversed(new_num)
	x = ''
	for elem in new_num:
		x += elem
	return x
s = input()
num = ''
a = []
i = 0
while i < len(s):
	if s[i].isdigit() or s[i] == '.':
		num += s[i]
	elif num != '':
		a.append(num)
		num = ''
	i += 1
if num != '':
	a.append(num)
	num = ''
ans = 0
for elem in a:
	ans += transfer(elem)
ans = round(ans * 100) / 100
if ans < 1000:
	ans = str(ans)
	print(out(ans))
else:
	print(out(ans))


s = input()
nums = []
pos = 0
go = ''
while pos < len(s):
	if s[pos] in ['1', '2', '3', '4', '5', '6', '7', '8', '9', '0', '.']:
		go += s[pos]
	else:
		if len(go) > 0:
			nums.append(go)
		go = ''
	if pos == len(s) - 1 and s[pos] in ['1', '2', '3', '4', '5', '6', '7', '8', '9', '0', '.']:
		nums.append(go)
	pos += 1
cou = 0
for num in nums:
	num = list(num)
	ost = 0
	if len(num) >= 4:
		if num[-3] == '.':
			ost = int(num[-2] + num[-1])
			num.pop()
			num.pop()
			num.pop()
	c = int(''.join(list(filter(lambda x: x != '.', num))))
	ostt = ost / 100
	c = c + ost / 100
	cou = cou + c
to_pr = []
cou = round(cou, 2)
cou = list(str(cou))[::-1]
if cou[0] == '0' and cou[1] == '.':
	cou.pop(0)
	cou.pop(0)
elif cou[0] != '0' and cou[1] == '.':
	cou = ['0'] + cou
for i in cou:
	if '.' in cou:
		to_pr.append(cou[0])
		to_pr.append(cou[1])
		to_pr.append(cou[2])
		cou.pop(0)
		cou.pop(0)
		cou.pop(0)
c = 0
for i in range(len(cou)):
	to_pr.append(cou[i])
	c += 1
	if c == 3 and i != len(cou) - 1:
		to_pr.append('.')
		c = 0
pr = to_pr[::-1]
if len(pr) >= 3:
	if pr[-2] == '.':
		pr.append('0')
print(''.join(pr))


s = input().rstrip()
for i in range(ord('a'), ord('z') + 1):
	s = 'z'.join(s.split(chr(i)))
s = list(s.split('z'))
ans = 0
ans2 = 0
for i in s:
	if len(i) == 0:
		continue
	q = i.split('.')
	if len(q) == 1 or len(q[-1]) == 3:
		ans += int(''.join(q))
	else:
		ans += int(''.join(q[:len(q) - 1]))
		ans2 += int(q[-1])
ans += ans2 // 100
ans2 %= 100
d = ''
if ans2 != 0:
	d = str(ans2)
	d = '.' + '0' * (2 - len(d)) + d
a = []
ans = int(ans)
while ans >= 1000:
	a.append('.' + '0' * (3 - len(str(ans % 1000))) + str(ans % 1000))
	ans //= 1000
a.append(str(ans))
a.reverse()
print(''.join(a) + d)


3
s = input()
alph = ''.join([chr(ord('a') + x) for x in range(26)])
l = [[]]
for x in s:
	if x not in alph:
		l[-1].append(x)
	elif len(l[-1]):
		l.append([])
l = list([''.join(x) for x in l])
ansa = 0
ansb = 0
for t in l:
	if len(t) > 2 and t[-3] == '.':
		ansb += int(t[-2:])
		t = t[:-3]
	ansa += int(''.join(t.split('.')))
ansa += ansb // 100
ansb %= 100
ansa = str(ansa)
ans = []
last = len(ansa)
for x in range(len(ansa) - 3, -1, -3):
	ans.append(ansa[x:last])
	last = x
if last != 0:
	ans.append(ansa[:last])
ans.reverse()
if ansb != 0:
	ans.append('%02d' % ansb)
print('.'.join(ans))


import re
(a, b) = (re.compile('^\\d{1,3}(\\.\\d{3})*$'), re.compile('^\\d{1,3}(\\.\\d{3})*\\.\\d\\d$'))
(r, c) = divmod(sum((int(s.replace('.', '')) * (100 if a.match(s) else 1 if b.match(s) else 0) for s in re.split('[a-z]+', input())[1:])), 100)
print('{:,d}'.format(r).replace(',', '.'), '.{:0>2n}'.format(c) if c else '', sep='')


import re
import math

def wer(n):
	m = []
	z = ''
	for i in range(len(n)):
		if '.' in n[i]:
			spl = n[i].split('.')
			for j in range(len(spl) - 1):
				z += spl[j]
			if len(spl[j + 1]) == 2:
				z += '.' + spl[j + 1]
			else:
				z += spl[j + 1]
			m.append(z)
			z = ''
		else:
			m.append(n[i])
	a = sum(map(float, m))
	a = round(a, 2)
	yes = True
	if a - int(a) == 0:
		a = int(a)
		yes = False
	d = list(str(a).split('.')[0][::-1])
	x = 0
	for i in range(0, len(d), 3):
		d.insert(i + x, '.')
		x += 1
	x = 0
	d = d[::-1]
	summa_d = ''
	for i in range(len(d)):
		summa_d += d[i]
	if yes:
		print(summa_d + (str(a).split('.')[1] if len(str(a).split('.')[1]) == 2 else str(a).split('.')[1] + '0'))
	else:
		print(summa_d[:-1])
s = input()
numbers = re.split('[a-zA-z]+', s)[1:]
wer(numbers)


import re
import pdb
inputNumbers = re.findall('[0-9.]+', input())

def convToNumber(inputString):
	inputString = inputString.split('.')
	penny = 0
	if len(inputString) > 1 and len(inputString[-1]) == 2:
		penny = inputString.pop(-1)
	return float(f"{''.join(inputString)}.{penny}")

def convToString(inputNumber):
	(intNumber, penny) = str(inputNumber).split('.')
	output = ''
	for (i, char) in enumerate(list(intNumber[::-1])):
		output += char
		if (i + 1) % 3 == 0:
			output += '.'
	while len(penny) < 2:
		penny += '0'
	output = output[::-1]
	if output[0] == '.':
		output = output[1:]
	if penny == '00':
		return output
	else:
		return f'{output}.{penny}'
a = round(sum([convToNumber(i) for i in inputNumbers]), 2)
print(convToString(a))


s = list(input())
n = ''
price = [0] * 10
cent = 0
num = []
for i in s:
	if ord(i) >= 48 and ord(i) <= 57:
		n += i
	else:
		if n == '':
			continue
		if i == '.':
			num.append(n)
			n = ''
		else:
			if len(n) == 2 and len(num) != 0:
				cent += int(n)
			else:
				num.append(n)
			for j in range(-1, -1 * len(num) - 1, -1):
				price[j] += int(num[j])
			num = []
			n = ''
if n != '':
	if len(n) == 2 and len(num) != 0:
		cent += int(n)
	else:
		num.append(n)
	for j in range(-1, -1 * len(num) - 1, -1):
		price[j] += int(num[j])
ans = ''
p = 0
price[-1] += cent // 100
if cent:
	p = 1
cent %= 100
for i in range(-1, -10, -1):
	price[i - 1] += price[i] // 1000
	price[i] %= 1000
start = 0
for i in price:
	if i != 0 or start:
		start = 1
		if ans == '':
			ans += str(i)
		else:
			ans += '0' * (3 - len(str(i))) + str(i)
		ans += '.'
if ans == '':
	ans += '0.'
if cent:
	ans += '0' * (2 - len(str(cent))) + str(cent)
if ans[-1] == '.':
	print(ans[:-1])
else:
	print(ans)


import math
s = input() + 'a'
i = 0
m = 1
summ = 0.0
currentnums = ''
currenti = 0
cops = 0
while i < len(s):
	if 'a' <= s[i] and s[i] <= 'z':
		if currentnums != '':
			if cops == 1:
				summ += int(currentnums) * 0.01
			else:
				summ += int(currentnums)
			cops = 0
			currentnums = ''
		summ += currenti
		currenti = 0
	elif s[i] == '.':
		if 'a' <= s[i + 3] and s[i + 3] <= 'z':
			currenti += int(currentnums)
			currentnums = ''
			cops = 1
		else:
			currenti += int(currentnums)
			currenti *= 1000
			currentnums = ''
	else:
		currentnums += s[i]
	i += 1
summ = round(summ, 2)
summ = str(summ)
ans = ''
i = len(summ) - 1
k = 0
while summ[i] != '.':
	ans = summ[i] + ans
	i -= 1
ans = '.' + ans
i -= 1
if ans == '.0':
	ans = ''
elif len(ans) == 2:
	ans += '0'
while i >= 0:
	if k == 3:
		ans = '.' + ans
		k = 0
	ans = summ[i] + ans
	i -= 1
	k += 1
print(ans)


import re
inp = input()
matchObj = re.findall('(([0-9]{1,3}(\\.[0-9]{3})*)(\\.[0-9]{2})?)', inp)
sm = 0.0
for obj in matchObj:
	if obj[3] != '':
		sm += float(obj[3])
	sm += float(obj[1].replace('.', ''))
r = str(round(sm % 1, 2))[:0:-1]
if r == '0.':
	r = ''
if len(r) == 2:
	r = '0' + r
sm = int(sm)
while sm > 999:
	a = sm % 1000
	r += str(a)[::-1] + ('0' if a < 10 else '') + ('0' if a < 100 else '') + '.'
	sm //= 1000
print(str(sm) + r[::-1])


s = input().strip()
i = 0
alph = 'abcdefjhigklmnopqrstuwvxyz'
ans = 0
while i < len(s):
	if s[i] in alph:
		i += 1
	else:
		j = i
		while j < len(s) and (s[j] in '1234567890' or s[j] == '.'):
			j += 1
		c = s[i:j]
		fl = False
		for k in range(len(c) - 1, -1, -1):
			if c[k] == '.':
				fl = True
				if len(c) - k - 1 == 3:
					c += '00'
				break
		if not fl:
			c += '00'
		a = ''
		for k in c:
			if k != '.':
				a = a + k
		ans += int(a)
		i = j
an = str(ans)
a = ''
if len(an) < 3:
	an = '0' * (3 - len(an)) + an
a += an[-1]
a += an[-2]
a += '.'
i = 0
for k in range(len(an) - 3, -1, -1):
	a += an[k]
	i += 1
	if i == 3 and k > 0:
		a += '.'
		i = 0
fl = False
if ans % 100 == 0:
	fl = True
for i in range(len(a) - 1, -1, -1):
	if not fl or i > 2:
		print(a[i], end='')


import decimal
import itertools

def is_digit_or_dot(char):
	return char.isdigit() or char == '.'

def compute(bill):
	prices = []
	for (k, v) in itertools.groupby(bill, is_digit_or_dot):
		if not k:
			continue
		segments = ''.join(v).split('.')
		if len(segments[-1]) == 2:
			cent = decimal.Decimal('.' + segments[-1])
			dollar = decimal.Decimal(''.join(segments[:-1]))
			price = cent + dollar
		else:
			price = decimal.Decimal(''.join(segments))
		prices.append(price)
	amount = sum(prices)
	(dollar, cent) = divmod(amount, 1)
	ans = '{:,d}'.format(int(dollar)).replace(',', '.')
	if cent > 0:
		ans += str(cent)[1:]
	return ans

def main():
	print(compute(input()))
main()


import re
o = input
C = len
E = float
F = int
d = print
U = sum
S = re.findall
l = o()
e = S('[\\d\\.]+', l)

def p(u):
	u = u.split('.')
	if C(u[-1]) == 2 and C(u) > 1:
		G = u[-1]
		return E(''.join(u[:-1]) + '.' + G)
	else:
		return F(''.join(u))

def V(flo):
	if F(flo) == flo:
		return '{:,}'.format(F(flo)).replace(',', '.')
	else:
		return '{:,.2f}'.format(flo).replace(',', '.')
e = [p(num) for num in e]
d(V(U(e)))


import re

def pd(s):
	return int(''.join(s.split('.')))

def solve():
	s = input()
	ps = re.split('[a-z]+', s)
	d = 0
	c = 0
	for p in ps:
		if not p:
			continue
		if len(p) > 3 and p[-3] == '.':
			d += pd(p[:-3])
			c += int(p[-2:])
		else:
			d += pd(p)
	d += c // 100
	c %= 100
	ans = format(d, ',d')
	ans = ans.replace(',', '.')
	if c:
		ans += '.'
		ans += format(c, '02d')
	print(ans)
solve()


import re
s = input()
b = False
t = ''
sum = 0
for i in s:
	if i.isdigit() and b == False:
		t += i
		b = True
	elif (i.isdigit() or i == '.') and b == True:
		t += i
	elif b == True:
		t += '+'
		b = False
t = t.split('+')
for i in t:
	f = ''
	st = i.split('.')
	if len(st[-1]) == 2:
		f += '.' + st[-1]
		for j in range(0, len(st) - 1):
			f = st[len(st) - j - 2] + f
	else:
		for j in range(0, len(st)):
			f += st[j]
	sum = round(sum + float(f), 2)
ans = re.sub('(?<=\\d)(?=(\\d\\d\\d)+\\b)', '.', str(sum))
if ans[-1] == '0' and ans[-2] == '.':
	ans = ans[0:len(ans) - 2]
elif ans[-2] == '.' and ans[-1].isdigit():
	ans += '0'
print(ans)


class money:

	def __init__(self, rubs, cops):
		self.rub = rubs
		self.cop = cops
s = input()
s1 = ''
lst = []
i = 0
f = len(s)
while i < f:
	if s[i].isdigit():
		s1 += s[i]
		j = i + 1
		while s[j].isdigit() or s[j] == '.':
			s1 += s[j]
			if j < f - 1:
				j += 1
			else:
				break
		lst.append(s1)
		i = j
		s1 = ''
	i += 1
check = money(0, 0)
lst1 = []
result = money(0, 0)
for i in lst:
	ind = i.rfind('.')
	if len(i[ind + 1:]) == 2:
		check.cop = int(i[ind + 1:])
		check.rub = int(i[:ind].replace('.', ''))
	else:
		check.rub = int(i.replace('.', ''))
	result.rub += check.rub
	result.cop += check.cop
	check.rub = 0
	check.cop = 0
result.rub += result.cop // 100
result.cop %= 100
rubs = str(result.rub)
cops = str(result.cop)
res = ''
i = len(rubs)
k = i % 3
while i > k:
	res = rubs[i - 3:i] + '.' + res
	i -= 3
res = rubs[:k] + '.' + res
if res[0] == '.':
	res = res[1:]
if cops != '0':
	if len(cops) < 2:
		res += '0' + cops
	else:
		res += cops
else:
	res = res[:len(res) - 1]
print(res)


import re

def spnum(s):
	a = s.split('.')
	if len(a[-1]) == 2:
		a.append(a[-1])
		a[-2] = '.'
	return eval(''.join(a))
s = input()
dollars = re.findall('[.0-9]+', s)
for i in range(len(dollars)):
	if '.' in dollars[i]:
		dollars[i] = spnum(dollars[i])
	else:
		dollars[i] = eval(dollars[i])
ans = eval('%0.2f' % sum(dollars))
if ans - int(ans) == 0:
	ans = int(ans)
ans = str(ans)
anss = []
cur = 0
if '.' in ans:
	anss.append(ans[-3:len(ans)])
	for i in range(4, len(ans) + 1):
		cur += 1
		anss.append(ans[-i])
		if cur % 3 == 0 and i != len(ans):
			cur = 0
			anss.append('.')
else:
	for i in range(1, len(ans) + 1):
		cur += 1
		anss.append(ans[-i])
		if cur % 3 == 0 and i != len(ans):
			cur = 0
			anss.append('.')
ans = ''.join(anss[::-1])
if len(ans) >= 3 and ans[-2] == '.':
	print(ans + '0')
else:
	print(ans)


lat = 'qwertyuiopasdfghjklzxcvbnm'
lats = []
lats += lat
c = str(input())
for i in lats:
	c = c.replace(i, ' ')
c = c.split()
k = 0
for i in c:
	j = int(i.replace('.', ''))
	i = i.replace('.', ' ')
	i = i.split()
	if len(i[len(i) - 1]) != 2 or len(i) == 1:
		j *= 100
	k += j
print(format(k // 100, ',d').replace(',', '.'), end='')
if k % 100 != 0:
	print('.%02d' % (k % 100))


import string, math
s = input()
sum = 0
while s != '':
	s = s.lstrip(string.ascii_letters)
	t = s.lstrip(string.digits + '.')
	d = s[:len(s) - len(t)]
	if len(d) > 3 and d[-3] == '.':
		d = d[:-3].replace('.', '') + d[-3:]
	else:
		d = d.replace('.', '')
	sum += float(d)
	s = t
i = int(math.floor(sum))
f = sum - i
ans = '{:,}'.format(i).replace(',', '.')
if f > 0:
	ans += '{:.2f}'.format(f)[1:]
print(ans)


s = input()
import itertools
nums = [''.join(x) for (is_number, x) in itertools.groupby(s, key=lambda x: x == '.' or str.isdigit(x)) if is_number is True]
total = 0
for num in nums:
	idx = num.rfind('.')
	dec = 0.0
	if idx != -1 and idx == len(num) - 3:
		dec = '0' + num[idx:]
		num = num[:idx]
	num = num.replace('.', '')
	total += int(num)
	total += float(dec)
p = ''
if int(total) != total:
	idx = str('%.2f' % total).rfind('.')
	dec = str('%.2f' % total)[idx + 1:]
	p = '.' + dec
l = []
t_s = str(int(total))
for (idx, val) in enumerate(reversed(t_s)):
	l.append(val)
	if idx != 0 and idx % 3 == 2 and (idx != len(t_s) - 1):
		l.append('.')
print(''.join(reversed(l)) + p)


s = input()
ms = ['']
dct = {'0', '1', '2', '3', '4', '5', '6', '7', '8', '9', '.'}
p = 0
for i in s:
	if i in dct:
		ms[-1] += i
		p = 1
	elif p:
		ms.append('')
		p = 0
rub = 0
kop = 0
if ms[0] == '':
	ms = []
for i in ms:
	box = i.split('.')
	l = len(box)
	a = 0
	b = 0
	p = 0
	for j in range(l - 1, -1, -1):
		if len(box[j]) == 2 and j == l - 1:
			b = int(box[j])
			p = 1
		else:
			a += int(box[j]) * 1000 ** (l - 1 - j - p)
	rub += a
	kop += b
rub += kop // 100
kop %= 100
s = str(rub)
l = len(s)
d = l % 3
ret = ''
ind = 0
if d:
	ind = d
	for i in range(d):
		ret += s[i]
	ret += '.'
cnt = 0
for i in range(ind, l):
	ret += s[i]
	cnt += 1
	cnt %= 3
	if not cnt:
		ret += '.'
if kop:
	if kop < 10:
		ret += '0'
	ret += str(kop)
	print(ret)
else:
	l = len(ret)
	for i in range(0, l - 1, 1):
		print(ret[i], end='')


s = input()
k = ['0', '1', '2', '3', '4', '5', '6', '7', '8', '9']
prices = []
pricesi = []
q = ''
for i in range(len(s)):
	if s[i] in k or s[i] == '.':
		q += s[i]
	else:
		if q != '':
			prices.append(q)
		q = ''
if q != '':
	prices.append(q)
for i in range(len(prices)):
	n = prices[i].count('.', 0, len(prices[i]) - 3)
	prices[i] = prices[i].replace('.', '', n)
	pricesi.append(float(prices[i]))
s = str(round(sum(pricesi), 2))
s = s[::-1]
c = 0
i = 0
while i < len(s):
	c += 1
	if s[i] == '.':
		c = 0
	if c == 4:
		s = s[:i] + '.' + s[i:]
		c = 0
	i += 1
if s.find('.') == 1:
	s = '0' + s
if s[0:2] == '00':
	s = s[3:]
print(s[::-1])


s = input().strip()
dc = set()
for i in range(ord('0'), ord('9') + 1):
	dc.add(chr(i))
dc.add('.')
s1 = ''
for i in range(1, len(s)):
	if s[i] in dc and s[i - 1] not in dc:
		s1 += ' '
	if s[i] in dc:
		s1 += s[i]
a = []
s = s1.split(' ')
rub = 0
cop = 0
for i in s:
	if i != '':
		left = '00'
		right = ''
		if len(i) >= 4 and i[-3] == '.':
			left = i[-2:]
			right = i[:-3]
		else:
			right = i
		rt = ''
		for j in right:
			if j != '.':
				rt += j
		rub += int(rt)
		cop += int(left)
rub += cop // 100
cop -= cop // 100 * 100
anss = ''
rubs = str(rub)
cnt = 1
for i in range(len(rubs) - 1, -1, -1):
	anss += rubs[i]
	if cnt % 3 == 0:
		anss += '.'
	cnt += 1
anss = list(anss)
anss.reverse()
if anss[0] == '.':
	anss = anss[1:]
anss = ''.join(anss)
print(anss, end='')
if cop != 0:
	print('.', end='')
	if cop < 10:
		print(0, end='')
	print(cop, end='')


check = input()
integer_finder = False
ans = 0
for i in range(len(check)):
	if check[i].isdigit() and (not integer_finder):
		integer_finder = True
		first_index = i
	if integer_finder:
		if check[i].isalpha():
			integer_finder = False
			number = check[first_index:i]
			dot = number.rfind('.')
			if dot != -1:
				if number[-3] == '.':
					number = number[:dot].replace('.', '') + number[dot:]
				else:
					number = number.replace('.', '')
			ans += float(number)
number = check[first_index:]
dot = number.rfind('.')
if number[-3] == '.':
	number = number[:dot].replace('.', '') + number[dot:]
else:
	number = number.replace('.', '')
ans += float(number)
if ans.is_integer():
	ans = int(ans)
else:
	ans = '%.2f' % ans
a = str(ans)
if a.rfind('.') == -1:
	n = len(str(ans))
	ans_in_format = []
else:
	n = len(a[:a.rfind('.')])
	ans_in_format = [a[a.rfind('.') + 1:], '.']
	a = a[:a.rfind('.')]
i = 1
while 3 * i < n:
	ans_in_format.append(a[n - 3 * i:])
	ans_in_format.append('.')
	a = a[:n - 3 * i]
	i += 1
ans_in_format.append(a)
ans_in_format = ans_in_format[::-1]
print(''.join(ans_in_format))


def isNum(x):
	return x in ['1', '2', '3', '4', '5', '6', '7', '8', '9', '0']

def isChar(x):
	return x in ['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z']
s = input() + 'a'
lst = []
ss = ''
for x in s:
	if isNum(x) or x == '.':
		ss += x
	if isChar(x):
		if len(ss) > 0:
			lst.append(ss)
			ss = ''
add = 0
dec = 0
for x in lst:
	if len(x) > 3:
		if x[-2] == '.':
			dec += int(x[-1:])
			x = x[:-2]
		elif x[-3] == '.':
			dec += int(x[-2:])
			x = x[:-3]
	add += int(''.join(x.split('.')))
add += dec // 100
dec = dec % 100
lst = []
add = str(add)
while len(add) > 3:
	lst.append(add[-3:])
	add = add[:-3]
lst.append(add)
ans = '.'.join(lst[::-1])
if dec > 0:
	ans += '.'
	if dec < 10:
		ans += '0' + str(dec)
	else:
		ans += str(dec)
print(ans)


s = input()
ans = 0
cur_pr = ''
for i in range(len(s)):
	if s[i] >= '0' and s[i] <= '9' or s[i] == '.':
		cur_pr += s[i]
	elif cur_pr != '':
		if cur_pr.rfind('.') == len(cur_pr) - 3:
			k = 1
		else:
			k = 100
		a = ''
		for el in cur_pr:
			if el != '.':
				a += el
		a = int(a) * k
		ans += a
		cur_pr = ''
	if i == len(s) - 1:
		if cur_pr.rfind('.') == len(cur_pr) - 3:
			k = 1
		else:
			k = 100
		a = ''
		for el in cur_pr:
			if el != '.':
				a += el
		a = int(a) * k
		ans += a
		cur_pr = ''
endline = ''
if ans // 100 != ans / 100:
	endline = '.' + str(ans % 100)
	if len(endline) == 2:
		endline = '.0' + str(ans % 100)
ans //= 100
ans_s = str(ans)[::-1]
ans = ''
for i in range(len(ans_s)):
	ans += ans_s[i]
	if i % 3 == 2 and i != len(ans_s) - 1:
		ans += '.'
print(ans[::-1] + endline)


a = input()
n = ''
summ = 0

def obr(n):
	summ = 0
	p = 0
	for i in range(-1, -len(n) - 1, -1):
		if n[i] != '.' and i == -3 or len(n) < 3:
			summ *= 100
			p += 2
		if n[i] != '.':
			summ += int(n[i]) * 10 ** p
			p += 1
	return summ
for i in a:
	if 'a' <= i <= 'z':
		if n != '':
			summ += obr(n)
			n = ''
	else:
		n += i
if n != '':
	summ += obr(n)
ans = str(summ)
if summ < 100:
	while len(ans) < 3:
		ans = '0' + ans
n = len(ans)
if ans[-2:] == '00':
	ans = ans[:-2]
	n -= 2
	i = -3
	l = 0
else:
	ans = ans[:-2] + '.' + ans[-2:]
	l = 1
	i = -6
while i > -n - l:
	ans = ans[:i] + '.' + ans[i:]
	i -= 4
	l += 1
print(ans)


import re
s = input().strip()
mas = re.split('[a-z]+', s)
res = []
for el in mas:
	if not len(el):
		continue
	if len(el) > 3 and el[-3] == '.':
		el = el[:-3] + ',' + el[-2:]
	res.append(el)
ans = 0.0
for el in res:
	el = el.replace('.', '')
	el = el.replace(',', '.')
	ans += float(el)
ans = float('{0:.2f}'.format(ans))
s = str(ans).replace('.', ',')
if len(s) <= 2:
	print(s)
	exit(0)
if not ',' in s:
	result = s[0]
	for i in range(1, len(s)):
		if not (len(s) - i) % 3:
			result += '.'
		result += s[i]
		print(result)
		exit(0)
(ans_int, ans_frac) = (int(s[:s.index(',')]), s[s.index(',') + 1:])
a = str(ans_int)
result = a[0]
for i in range(1, len(a)):
	if not (len(a) - i) % 3:
		result += '.'
	result += a[i]
if int(ans_frac) != 0:
	result += '.'
	result += ans_frac
	if len(ans_frac) == 1:
		result += '0'
print(result)


def check():
	ch = input()
	prices = []
	p = ''
	i = 0
	while i < len(ch):
		if ch[i].isdigit():
			while i < len(ch) and (not ch[i].isalpha()):
				p += ch[i]
				i += 1
			else:
				if p != '':
					prices.append(p)
					p = ''
		i += 1
	rub = 0
	kop = 0
	for p in prices:
		if len(p) > 3:
			if '.' in p[-1:-4:-1]:
				kop += int(p[-1:-3:-1][::-1])
				p = p[:-3]
		p = p.split('.')
		p = int(''.join(p))
		rub += p
	if kop > 99:
		(rub, kop) = (rub + kop // 100, kop % 100)
	kop = str(kop)
	if len(kop) == 1:
		kop = '0' + kop
	rub = str(rub)[::-1]
	c = 3
	while c < len(rub):
		rub = rub[:c] + '.' + rub[c:]
		c += 4
	rub = rub[::-1]
	if int(kop) != 0:
		return rub + '.' + kop
	else:
		return rub
print(check())


s = input()
S = 0
i = 0
while i < len(s):
	if s[i].isalpha():
		i += 1
		continue
	else:
		S1 = 0
		a_dot = None
		while i < len(s) and (not s[i].isalpha()):
			if s[i] == '.':
				a_dot = i
			else:
				S1 = S1 * 10 + int(s[i])
			i += 1
		if a_dot is not None and a_dot - i == -3:
			S += S1 / 100
		else:
			S += S1
n = int(S)
if not isinstance(S, int):
	d = S - n
else:
	d = None
ns = str(n)
skip = len(ns) % 3
a = []
i = 0
while i < skip:
	a.append(ns[i])
	i += 1
if skip:
	a.append('.')
k = 0
while i < len(ns):
	a.append(ns[i])
	k += 1
	if k == 3:
		a.append('.')
		k = 0
	i += 1
if a[-1] == '.':
	del a[-1]
if d is not None and d > 0:
	a.append('.' + '%02d' % round(d * 100))
print(''.join(a))


a = input()
M = []
n = ''
for i in a:
	if i.isnumeric() or i == '.':
		n += i
	elif len(n) > 0:
		M.append(n)
		n = ''
M.append(n)
G = []
for i in range(len(M)):
	if len(M[i]) >= 3:
		if M[i][-3] == '.':
			M[i] = float(M[i][:-3].replace('.', '') + M[i][-3:])
		else:
			M[i] = float(M[i].replace('.', ''))
	else:
		M[i] = float(M[i].replace('.', ''))
sum = 0
for i in M:
	sum += i
sum = round(sum * 100) / 100
for i in str(sum):
	G.append(i)
for i in range(G.index('.') - 3, 0, -3):
	G.insert(i, '.')
if G[-1] == '0' and G[-2] == '.':
	G = G[:-2]
elif G[-1] != '0' and G[-2] == '.':
	G.append('0')
print(*G, sep='')


def f(t):
	if t == '':
		return 0
	m = len(t)
	if '.' not in t:
		return int(t) * 100
	if t[-3] != '.':
		t += '00'
	t2 = ''.join([i for i in t if i != '.'])
	return int(t2)

def wr(x):
	if x < 100:
		res = '0.'
		if x < 10:
			res += '0'
		res += str(x)
		return res
	x = str(x)
	m = len(x)
	res = x[-2:]
	for i in range(m - 2, 2, -3):
		res = x[i - 3:i] + '.' + res
	res = x[0:(m - 2) % 3] + '.' + res
	if res[0] == '.':
		res = res[1:]
	if res[-2:] == '00':
		res = res[:-3]
	return res
s = input() + '_'
num = '1234567890.'
ans = 0
n = len(s)
cur = ''
for i in range(n):
	if s[i] not in num:
		ans += f(cur)
		cur = ''
	else:
		cur += s[i]
print(wr(ans))


s = input()
curnum = 0
ans = 0
dr = 0
n = len(s)
s += 'aaa'
i = 0
while i < n:
	if '0' <= s[i] <= '9':
		curnum = 10 * curnum + int(s[i])
	elif s[i] == '.':
		if '0' <= s[i + 1] <= '9' and '0' <= s[i + 2] <= '9' and (not '0' <= s[i + 3] <= '9'):
			dr += 10 * int(s[i + 1]) + int(s[i + 2])
			i = i + 2
	else:
		ans += curnum
		curnum = 0
	i += 1
ans += curnum
ans += dr // 100
ans2 = dr % 100
if ans2 == 0:
	ans2 = ''
elif ans2 < 10:
	ans2 = '.0' + str(ans2)
else:
	ans2 = '.' + str(ans2)
ans = int(ans)
ans = str(ans)
nans = ''
for i in range(len(ans)):
	if i % 3 == 0 and i != 0:
		nans += '.'
	nans += ans[len(ans) - 1 - i]
print(nans[::-1] + ans2)


import math
s = input()
s += 'a'
let = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ'
pr = []
s1 = ''
for i in s:
	if not i in let:
		s1 += i
	if s1 != '' and i in let:
		pr.append(s1)
		s1 = ''
ans = 0
for i in range(0, len(pr)):
	sans = ''
	if len(pr[i]) > 3:
		for j in range(0, len(pr[i]) - 3):
			if pr[i][j] != '.':
				sans += pr[i][j]
		if pr[i][len(pr[i]) - 3] == '.':
			sans += '.'
			sans += pr[i][len(pr[i]) - 2:]
		else:
			sans += pr[i][len(pr[i]) - 3:]
	else:
		sans = pr[i]
	ans += float(sans)
ans = str(ans)
cel = ''
dr = ''
b = 1
for i in ans:
	if i == '.':
		b = 0
		continue
	if b:
		cel += i
	else:
		dr += i
cel = cel[len(cel) - 1::-1]
dell = 1
ansnew = ''
for i in range(len(cel)):
	if dell % 3 == 0 and i != len(cel) - 1:
		ansnew += cel[i]
		ansnew += '.'
		dell = 1
	else:
		dell += 1
		ansnew += cel[i]
dr1 = ''
if len(dr) > 2:
	dr1 = dr[0:2]
	dr1 += '.' + dr[3:]
	dr2 = round(float(dr1))
	dr = str(dr2)
anss = ansnew[len(ansnew) - 1::-1]
if dr != '0':
	anss += '.' + dr
if len(dr) == 1 and dr != '0':
	anss += '0'
print(anss)


s = input()
R = str.replace
for i in range(97, 123):
	s = R(s, chr(i), ' ')
b = a = 0
for x in s.split():
	l = x.rfind('.')
	if l == -1 or len(x) - 1 - l > 2:
		a += int(R(x, '.', ''))
	else:
		a += int(R(x[:l], '.', ''))
		b += int(x[l + 1:])
a += b // 100
b = str(b % 100)
a = str(a)
r = ''
while a:
	r = a[-3:] + '.' + r
	a = a[:-3]
if b != '0':
	r += '0' * (2 - len(b)) + b
else:
	r = r[:-1]
print(r)


string = input()
maxx = 0
summ = 0
for i in range(len(string)):
	if string[i] in 'qwertyuiopasdfghjklzxcvbnm':
		string = string[:i] + ' ' + string[i + 1:]
numbers = list(map(str, string.split()))
for i in range(len(numbers)):
	if len(numbers[i]) > 3:
		if numbers[i][-3] == '.':
			summ += int(numbers[i].replace('.', ''))
		else:
			summ += int(numbers[i].replace('.', '')) * 100
	else:
		summ += int(numbers[i].replace('.', '')) * 100
strr = list(str(summ))
strr.reverse()
nums = []
if len(strr) < 3:
	strr += ['0'] * (3 - len(strr))
for i in range(len(strr)):
	if i == 2 or (i - 2) % 3 == 0:
		nums += '.' + strr[i]
	else:
		nums += strr[i]
nums.reverse()
if nums[-1] == '0' and nums[-2] == '0':
	nums.pop()
	nums.pop()
	nums.pop()
print(''.join(nums))


import re
find_check_pos = re.compile('([a-zA-Z])+(\\d?\\d?\\d?\\.?)*(\\.\\d\\d)?')
split_name_and_cost = re.compile('[a-zA-Z]\\d')
ends_with = re.compile('\\.\\d\\d$')
goods = []
check = input()
while check:
	item = check[:find_check_pos.search(check).span()[1]]
	item = item[split_name_and_cost.search(item).span()[0] + 1:]
	goods.append(item)
	check = check[find_check_pos.search(check).span()[1]:]
for i in range(len(goods)):
	if ends_with.search(goods[i]) is not None:
		goods[i] = float(goods[i].replace('.', '', goods[i].count('.') - 1))
	else:
		goods[i] = float(goods[i].replace('.', ''))
if float(sum(goods)) == int(sum(goods)):
	print('{0:,d}'.format(int(sum(goods))).replace(',', '.'))
else:
	print('{0:,.2f}'.format(sum(goods)).replace(',', '.'))


from math import *

def remd(x):
	y = []
	for i in x:
		if i != '.':
			y.append(i)
	return ''.join(y)

def parse(x):
	if '.' not in x:
		return int(x)
	i = len(x) - 1
	cnt = 0
	while x[i] != '.':
		i -= 1
		cnt += 1
	if cnt == 2:
		x1 = int(remd(x[:i]))
		x2 = int(x[i + 1:])
		return x1 + x2 / 100
	else:
		return int(remd(x))

def format(y):
	y1 = int(y)
	y2 = round((y - y1) * 100)
	y1 = str(y1)
	yy = []
	for i in range(len(y1)):
		yy.append(y1[len(y1) - 1 - i])
		if i % 3 == 2 and i != len(y1) - 1:
			yy.append('.')
	yy.reverse()
	yy = ''.join(yy)
	if y2 != 0:
		yy += '.'
		yy += '%02d' % y2
	return yy
s = input()
pr = []
cur = []
for i in s:
	if '0' <= i <= '9' or i == '.':
		cur.append(i)
	elif len(cur) > 0:
		pr.append(''.join(cur))
		cur = []
if len(cur) > 0:
	pr.append(''.join(cur))
sm = 0
for i in pr:
	sm += parse(i)
print(format(sm))


import re

def stoi(s):
	r = 0
	for x in s.split('.'):
		r = r * 1000 + int(x)
		pass
	return r

def form(x):
	if x == 0:
		return '0'
	s = ''
	while x > 0:
		s = '.%03d' % (x % 1000) + s
		x //= 1000
	p = 0
	while s[p] in '.0':
		p += 1
	return s[p:]
s = input()
a = [x for x in re.split('[a-z]', s) if len(x) > 0]
(ansz, ansr) = (0, 0)
for n in a:
	if len(n) > 2 and n[-3] == '.':
		ansz += stoi(n[0:-3])
		ansr += stoi(n[-2:])
	else:
		ansz += stoi(n)
ansz += ansr // 100
ansr %= 100
if ansr == 0:
	print(form(ansz))
else:
	print('%s.%02d' % (form(ansz), ansr))


ii = lambda : int(input())
kk = lambda : map(int, input().split())
ll = lambda : list(kk())
s = input()
i = 0
(t, comma) = (0, 0)
while i < len(s):
	while s[i].isalpha():
		i += 1
	c = 0
	while 1:
		while i < len(s) and '0' <= s[i] <= '9':
			c = c * 10 + int(s[i])
			i += 1
		if i == len(s) or s[i] != '.':
			if i > 3 and s[i - 3] == '.':
				pass
			else:
				c *= 100
			t += c
			break
		else:
			i += 1
comma = t % 100
t = t // 100
t2 = '{:,}'.format(t).replace(',', '.')
if comma != 0:
	t2 += '.{:0>2}'.format(comma)
print(t2)


s = str(input())
n = len(s)
i = 0
r = 0
A = '0123456789.'
while i < n:
	while A.count(s[i]) == 0:
		i += 1
	p = ''
	while i < n and A.count(s[i]):
		p += s[i]
		i += 1
	E = list(p.split('.'))
	e = len(E)
	if len(E[e - 1]) == 2:
		v = 0
		for j in range(e - 1):
			v = v * 1000 + int(E[j])
		v = v * 100 + int(E[e - 1])
	else:
		v = 0
		for j in range(e):
			v = v * 1000 + int(E[j])
		v *= 100
	r += v
R = str(r)
m = len(R) - 2
res = ''
if m > 0:
	res = R[:m % 3]
	for i in range(m % 3, m, 3):
		if i > 0:
			res += '.' + R[i:i + 3]
		else:
			res += R[i:i + 3]
if m <= 0:
	res += '0'
if m == -1:
	res += '.0' + R[m + 1]
elif R[m:m + 2] != '00':
	res += '.' + R[m:m + 2]
print(res)


s = input()
i = 0
b = ''
a = []
fractional = ''
integer = ''
flag = False
while i < len(s):
	if s[i].isdigit() or s[i] == '.':
		b += s[i]
		flag = True
	elif flag == True and s[i].isalpha() and (s[i] != '.'):
		flag = False
		a.append(b)
		b = ''
	i += 1
a.append(b)
k = 0
inte = 0
frac = 0
for i in range(len(a)):
	integer = ''
	fractional = ''
	b = a[i]
	if len(b) > 3:
		if b[-3] == '.':
			fractional = b[-2:]
			b = b[:-3]
			for j in range(len(b)):
				if b[j] != '.':
					integer += b[j]
			inte += int(integer)
			frac += int(fractional)
		else:
			for j in range(len(b)):
				if b[j] != '.':
					integer += b[j]
			inte += int(integer)
	else:
		for j in range(len(b)):
			if b[j] != '.':
				integer += b[j]
		inte += int(integer)
k = str(inte + frac / 100)
a = 0
if len(k) <= 3:
	if '.' in k:
		if k[-1] == '0':
			print(k[0])
		else:
			print(k + '0')
	else:
		print(int(float(k)))
else:
	if k[-2] == '.':
		k += '0'
	if k[-3] == '.' and k[-2] == k[-1] == '0':
		k = k[:-3]
	if k[-3] == '.':
		a = 0
		fractional = k[-2:]
		integer = k[:-3]
		for i in range(1, len(integer) + 1):
			if i % 3 == 0:
				integer = integer[:-(a + i)] + '.' + integer[-(a + i):]
				a += 1
		if integer[0] == '.':
			integer = integer[1:]
		print(integer + '.' + fractional)
	else:
		a = 0
		integer = k
		for i in range(1, len(integer) + 1):
			if i % 3 == 0:
				integer = integer[:-(a + i)] + '.' + integer[-(a + i):]
				a += 1
		if integer[0] == '.':
			integer = integer[1:]
		print(integer)


a = input()
a += 'a'
buff = '1234567890'
n = []
answ = 0
answk = 0
l = ''
for i in range(1, len(a)):
	if a[i - 1] == '.' and (not a[i + 2] in buff):
		answk += int(a[i]) * 10 + int(a[i + 1])
	elif a[i] in buff and (a[i - 2] != '.' or a[i + 1] in buff):
		n.append(int(a[i]))
	if len(n) > 0 and a[i] != '.' and (not a[i] in buff):
		for j in range(len(n)):
			answ += n[j] * 10 ** (len(n) - 1 - j)
		n = []
if answk >= 100:
	answ += answk // 100
	answk = answk % 100
answ = str(answ)
v = 0
for i in range(1, len(answ) + 1):
	l = answ[-i] + l
	if (len(l) - v) % 3 == 0:
		l = '.' + l
		v += 1
if l[0] == '.':
	if answk >= 10:
		print(l[1:] + '.' + str(answk))
	elif answk < 10 and answk > 0:
		print(l[1:] + '.0' + str(answk))
	else:
		print(l[1:])
elif answk >= 10:
	print(l + '.' + str(answk))
elif answk < 10 and answk > 0:
	print(l + '.0' + str(answk))
else:
	print(l)


def get_down(i):
	if len(i) > 3 and i[-3] == '.':
		return int(i[-2:])
	return 0

def get_up(ans):
	if len(ans) > 3 and i[-3] == '.':
		ans = ans[:-3]
	ans = ans.replace('.', '')
	return int(ans)

def modify(up, down=0):
	ans = ''
	f = up == 0
	while up != 0:
		ans = str(up % 1000).rjust(3, '0') + '.' + ans
		up //= 1000
	ans = ans.lstrip('0')
	if down == 0:
		ans = ans[:-1]
	else:
		down = str(down).rjust(2, '0')
		ans += down
	if f:
		ans = '0.' + ans
	return ans
s = input().strip()
numb = []
cur = ''
f = 0
for i in s:
	if '0' <= i <= '9':
		f = 1
		cur += i
	elif i == '.':
		cur += i
	elif 'a' <= i <= 'z' or 'A' <= i <= 'Z':
		f = 0
		if cur:
			numb.append(cur)
			cur = ''
if cur:
	numb.append(cur)
	cur = ''
ans_up = 0
ans_down = 0
for i in numb:
	ans_up += get_up(i)
	ans_down += get_down(i)
ans_up += ans_down // 100
ans_down %= 100
print(modify(ans_up, ans_down))


from sys import stdin, stdout

def readint():
	return map(int, stdin.readline().split())
alpha = 'abcdefghijklmnopqrstuvwxyz'
s = input()
p = []
pp = []
skip = 1
for c in s:
	if skip == 1:
		if c in alpha:
			continue
		else:
			skip = 0
			pp = []
			pp.append(c)
	elif c in alpha:
		p.append(pp)
		skip = 1
	else:
		pp.append(c)
p.append(pp)
sum = 0
for pp in p:
	if len(pp) >= 3:
		if pp[-3] != '.':
			pp.append('0')
			pp.append('0')
	else:
		pp.append('0')
		pp.append('0')
	pp2 = []
	for c in pp:
		if c == '.':
			pass
		else:
			pp2.append(c)
	sum += int(''.join(pp2))
sumstr = str(sum)
if len(sumstr) == 1:
	sumstr = '00' + sumstr
elif len(sumstr) == 2:
	sumstr = '0' + sumstr
sumstr = list(sumstr)
sumstr.reverse()
ans = []
for i in range(len(sumstr)):
	if (i + 1) % 3 == 0:
		ans.append('.')
	ans.append(sumstr[i])
ans.reverse()
if ans[-1] == '0' and ans[-2] == '0':
	ans = ans[:-3]
print(''.join(ans))


def parseNumber(v):
	if '.' in v:
		vv = v.split('.')
		if len(vv[len(vv) - 1]) <= 2:
			return round(float(''.join(vv[:len(vv) - 1]) + '.' + vv[len(vv) - 1]), 2)
		else:
			return round(float(v.replace('.', '')), 2)
	return round(float(v), 2)
_str = input()
nums = '0123456789.'
numbers = []
r = 0
start = False
number = ''
for x in list(_str):
	if number and start and (x not in nums):
		numbers.append(number)
		r += parseNumber(number)
		number = ''
		start = False
		continue
	if x in nums:
		start = True
	if start:
		number += x
if number:
	r += parseNumber(number)
	numbers.append(number)
r = round(r, 2)
rr = ''
rn = r
r = str(r).split('.')
rr = ''
nn = list(r[0])
c = 0
for x in range(len(nn) - 1, -1, -1):
	rr += nn[x]
	c += 1
	if c % 3 == 0:
		rr += '.'
rr = rr[::-1]
if len(r) > 1 and rn % 1 != 0:
	if len(r[1]) < 2:
		r[1] = r[1] + '0'
	rr += '.' + r[1]
print(rr.strip('.'))


import math

def tr(s):
	x = list(s.split('.'))
	if len(x) > 1:
		if len(x[-1]) == 2:
			a = ''
			for i in range(len(x) - 1):
				a += x[i]
			a = int(a) + int(x[-1]) * 0.01
		else:
			a = ''
			for i in range(len(x)):
				a += x[i]
			a = int(a)
	else:
		a = int(s)
	return a

def out(a):
	a = str(a)
	y = a.rfind('.')
	z = a[y + 1:]
	if int(z) == 0:
		z = ''
	elif len(str(z)) == 2:
		z = '.' + str(z)
	else:
		z = '.' + str(z) + '0'
	b = [str(z)]
	i = y - 1
	c = -1
	while i > -1:
		c += 1
		if c == 3:
			c = 0
			b.append('.')
		b.append(a[i])
		i -= 1
	b = reversed(b)
	x = ''
	for elem in b:
		x += elem
	return x
s = input()
num = ''
a = []
i = 0
while i < len(s):
	if s[i].isdigit() or s[i] == '.':
		num += s[i]
	elif num != '':
		a.append(num)
		num = ''
	i += 1
if num != '':
	a.append(num)
	num = ''
ans = 0
for elem in a:
	ans += tr(elem)
ans = round(ans * 100) / 100
if ans < 1000:
	ans = str(ans)
	print(out(ans))
else:
	print(out(ans))


s = input()
s += 'z'
st = -1
rub = 0
kop = 0
for i in range(len(s)):
	if s[i].isdigit() and st == -1:
		st = i
	elif s[i].isalpha() and st != -1:
		t = s[st:i]
		t = list(map(str, t.split('.')))
		if len(t) == 1:
			rub += int(t[0])
		else:
			trub = 0
			for j in range(len(t)):
				trub = trub * 1000 + int(t[j])
			if len(t[-1]) == 2:
				kop += int(t[-1])
				trub -= int(t[-1])
				trub //= 1000
			rub += trub
		st = -1
rub = str(rub + kop // 100)
kop = kop % 100
s = ''
if len(rub) % 3 == 0:
	i = 0
elif len(rub) % 3 == 1:
	s = rub[0]
	i = 1
else:
	s = rub[0:2]
	i = 2
while i < len(rub):
	s = s + '.' + rub[i:i + 3]
	i += 3
if s[0] == '.':
	s = s[1:]
if kop != 0:
	s += '.'
	if kop < 10:
		kop = '0' + str(kop)
	else:
		kop = str(kop)
	s = s + kop
print(s)


def indef(s):
	global ans, kop
	strs = [x for x in s.split('.')]
	if len(strs) == 1:
		ans += int(strs[0])
	else:
		res = ''
		for i in range(len(strs) - 1):
			res += strs[i]
		if len(strs[-1]) < 3:
			kop += int(strs[-1])
		else:
			res += strs[-1]
		ans += int(res)
ans = 0
kop = 0
s = input()
a = ['0', '1', '2', '3', '4', '5', '6', '7', '8', '9', '.']
add = ''
sums = []
for i in s:
	if not i in a:
		if add != '':
			sums.append(add)
		add = ''
	else:
		add += i
if add != '':
	sums.append(add)
for i in sums:
	indef(i)
ans += kop // 100
kop %= 100
ans = str(ans)
j = 0
result = ''
for i in range(len(ans) - 1, -1, -1):
	result += ans[i]
	j += 1
	if j % 3 == 0 and i != 0:
		result += '.'
result = result[::-1]
if kop != 0:
	if kop < 10:
		charr = '0'
	else:
		charr = ''
	result += '.' + charr + str(kop)
print(result)


s = input()
r = []
x = ''
for i in range(len(s)):
	if 48 <= ord(s[i]) <= 57 or ord(s[i]) == 46:
		x += s[i]
	else:
		r.append(x)
		x = ''
r.append(x)
x = ''
res = []
for i in range(len(r)):
	if len(r[i]) != 0:
		t = r[i].split('.')
		res.append(t)
result = 0
for i in range(len(res)):
	if len(res[i][len(res[i]) - 1]) <= 2 and len(res[i]) != 1:
		t = ''.join(res[i][:len(res[i]) - 1])
		result += float(t) + float('0.' + res[i][len(res[i]) - 1])
	else:
		t = ''.join(res[i][:len(res[i])])
		result += float(t)
res1 = str(int(result))
res2 = str(result).split('.')[1]
res1 = res1[::-1]
result = []
t = ''
for i in range(len(res1)):
	t += res1[i]
	if len(t) == 3:
		result.append(t[::-1])
		t = ''
if len(t) != 0:
	result.append(t[::-1])
if int(res2) == 0:
	print('.'.join(result[::-1]))
else:
	if len(res2) > 2:
		res2 = str(round(float('0.' + res2), 2)).split('.')[1]
	if len(res2) == 1:
		res2 = res2 + '0'
	print('.'.join(result[::-1]) + '.' + res2)


__author__ = 'Think'
cheque = input()
inprice = False
current = ''
pricestrings = []
for s in cheque:
	if ord(s) > 57:
		if inprice:
			inprice = False
			pricestrings.append(current.split('.'))
			current = ''
	else:
		inprice = True
		current += s
pricestrings.append(current.split('.'))
total = 0
for price in pricestrings:
	currentPrice = 0
	factor = 100
	if len(price) == 1:
		currentPrice = int(price[0]) * 100
	else:
		if len(price[-1]) == 2:
			currentPrice = int(price[-1])
			price = price[:-1]
		for i in reversed(price):
			currentPrice += int(i) * factor
			factor *= 1000
	total += currentPrice
marker = 1
stuff = []
if total > 99:
	skip = total % 100 == 0
	while total > 0:
		stuff.append(total % 10)
		total = total // 10
		marker += 1
		if marker == 3:
			marker = 0
			stuff.append('.')
	if skip:
		stuff = stuff[3:]
	if stuff[-1] == '.':
		stuff = stuff[:-1]
	for i in reversed(stuff):
		print(i, end='')
elif total > 9:
	print('0.' + str(total))
else:
	print('0.0' + str(total))


from decimal import *

def add(l):
	num = list()
	for v in l:
		if v != '.':
			num.append(v)
	num = int(''.join(num))
	if len(l) >= 3 and l[-3] == '.':
		return num
	return num * 100

def solve():
	s = input()
	res = 0
	l = list()
	for c in s:
		if c.islower():
			if len(l) > 0:
				res += add(l)
			l = list()
		else:
			l.append(c)
	if len(l) > 0:
		res += add(l)
	return res

def prt(n):
	n = str(n)
	n = n[::-1]
	first = True
	res = ''
	while len(n) > 0:
		if first:
			s = n[:2][::1] if len(n) >= 2 else n[:1] + '0'
			res += s
			res += '.'
			n = n[len(s):]
		else:
			tmp = ''
			for i in range(3):
				if len(n) == 0:
					break
				tmp += n[0]
				n = n[1:]
			tmp += '.'
			res += tmp
		first = False
	res = res[::-1]
	if len(res) == 3:
		res = '0' + res
	elif res[0] == '.':
		res = res[1:]
	if len(res) >= 3 and res[-1] == '0' and (res[-2] == '0') and (res[-3] == '.'):
		res = res[:-3]
	return res
print(prt(solve()))


import re
(s, k) = (0, 1)
for q in re.sub('[a-z]', ' ', input()).split():
	if len(q) < 3 or q[-3] != '.':
		q += '00'
	s += int(re.sub('\\.', '', q))
(s, t) = divmod(s, 100)
d = [str(t).zfill(2)] if t else []
while k:
	(s, t) = divmod(s, 1000)
	k = s > 0
	d += [str(t).zfill(3 * k)]
print('.'.join(d[::-1]))


def get_rub_kop(s):
	i = s.rfind('.')
	if i == -1:
		return (int(s), 0)
	prob_kop = s[i + 1:]
	if len(prob_kop) == 3:
		return (int(s.replace('.', '')), 0)
	else:
		return (int(s[:i].replace('.', '')), int(prob_kop))
	return (0, 0)
allowed = [str(i) for i in range(10)] + ['.']
s = [c if c in allowed else ' ' for c in input()]
s = [c for c in ''.join(s).split(' ') if c]
sum_rub = 0
sum_kop = 0
for c in s:
	(a, b) = get_rub_kop(c)
	sum_rub += a
	sum_kop += b
sum_rub += sum_kop // 100
sum_kop %= 100
sum_kop = str(sum_kop)
if len(sum_kop) < 2:
	sum_kop = '0' + sum_kop
sum_kop = '' if sum_kop == '00' else '.' + sum_kop
sum_rub = str(sum_rub)
i = len(sum_rub) - len(sum_rub) // 3 * 3
tmp = sum_rub[:i]
l = [tmp] if tmp else []
sum_rub = sum_rub[i:]
for i in range(0, len(sum_rub), 3):
	l.append(sum_rub[i:i + 3])
sum_rub = '.'.join(l)
print(sum_rub, sum_kop, sep='')


from collections import deque
check = input()
numbers = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
s_numb = [str(t) for t in numbers]
i = len(check) - 1
ans = 0
while i > -1:
	el = check[i]
	if el not in s_numb:
		i -= 1
		continue
	number = deque()
	first_point = True
	count_0 = 0
	while i > 0 and (check[i] in s_numb or check[i] == '.'):
		el = check[i]
		if el != '.':
			number.appendleft(el)
		elif first_point:
			if count_0 == 2:
				ans = round(ans + int(''.join(number)) * 10 ** (-2), 2)
				number = deque()
			first_point = False
		count_0 += 1
		i -= 1
	ans += int(''.join(number))
	i -= 1
ans = str(ans)
count = 0
point = False
ind = len(ans) - 1
if float(ans) % 1 != 0:
	for i in range(len(ans) - 1, -1, -1):
		if ans[i] != '.':
			continue
		if i == len(ans) - 2:
			ans += '0'
		ind = i - 1
	for i in range(ind, -1, -1):
		count += 1
		if count == 3 and i != 0:
			ans = ans[:i] + '.' + ans[i:]
			count = 0
	print(ans)
	exit()
ans = str(int(float(ans)))
for i in range(len(ans) - 1, -1, -1):
	count += 1
	if count == 3 and i != 0:
		ans = ans[:i] + '.' + ans[i:]
		count = 0
print(ans)


import math

def CreateInteger(string):
	ans = 0
	for symbol in string:
		if symbol != '.':
			ans *= 10
			ans += int(symbol)
	return ans

def CreateNumber(string):
	try:
		ind_dote = string.rfind('.')
	except:
		return int(string)
	if len(string) - (ind_dote + 1) == 2:
		ans = CreateInteger(string[:-3]) + int(string[-2:]) / 100
	else:
		ans = CreateInteger(string)
	return ans

def CreateChek(amount):
	ans = []
	amount *= 100
	if round(amount) % 100 != 0:
		temp = str(round(amount) % 100)
		if len(temp) == 2:
			ans.append(temp)
			ans.append('.')
		else:
			ans.append('0' + temp)
			ans.append('.')
	amount //= 100
	amount = str(int(amount))
	j = len(amount) - 1
	counter = 0
	while j >= 0:
		ans.append(amount[j])
		counter += 1
		if counter % 3 == 0 and j != 0:
			ans.append('.')
		j -= 1
	return ans[::-1]
s = input() + 'a'
last = 'b'
amount = ''
a = []
counter = 0
for symbol in s:
	if symbol.isdigit() or symbol == '.':
		amount = amount + symbol
	else:
		if amount != '':
			a.append(amount)
		amount = ''
for elem in a:
	counter += CreateNumber(elem)
ans = CreateChek(counter)
print(''.join(ans))


import re
text = input()
prices = re.findall('[0-9.]*[0-9]+', text)
s = 0
for price in prices:
	if len(price) > 3 and price[-3] == '.':
		price = price[:-3].replace('.', '') + price[-3:]
	else:
		price = price.replace('.', '')
	s += float(price)
if s.is_integer():
	s = int(s)
	result = '{0:,}'.format(s)
else:
	result = '{0:,.2f}'.format(s)
print(result.replace(',', '.'))


s = input()
rub = 0
kop = 0
cur = 0
len_cur = 0
for i in range(len(s)):
	if 122 >= ord(s[i]) >= 97:
		if len_cur == 2:
			kop += cur - cur // 100 * 100
			rub += cur // 100
		else:
			rub += cur
		cur = 0
		len_cur = 0
	elif 57 >= ord(s[i]) >= 48:
		cur = 10 * cur + int(s[i])
		len_cur += 1
	elif s[i] == '.':
		len_cur = 0
if len_cur == 2:
	kop += cur - cur // 100 * 100
	rub += cur // 100
else:
	rub += cur
rub += kop // 100
kop = kop - kop // 100 * 100
if kop < 10:
	kop = '0' + str(kop)
kop = str(kop)
srub = ''
if len(str(rub)) % 3 != 0:
	srub += str(str(rub)[:len(str(rub)) % 3]) + '.'
c = 0
for i in range(len(str(rub)) % 3, len(str(rub))):
	c += 1
	srub += str(rub)[i]
	if c == 3:
		srub += '.'
		c = 0
if kop == '00':
	print(srub[:-1])
else:
	print(srub + kop)


import sys
import math

def is_digit(ch):
	if ch == '.' or (ch <= '9' and ch >= '0'):
		return True
	return False

def norm(s):
	ss = s
	while len(ss) < 3:
		ss = '0' + ss
	return ss

def num(chop):
	kop = 0
	rub = 0
	arr = chop.split('.')
	if len(arr) > 1 and len(arr[-1]) == 2:
		kop = int(arr[-1])
		arr = arr[:-1]
	mn = 1
	ind = len(arr) - 1
	while ind >= 0:
		rub += mn * int(norm(arr[ind]))
		ind -= 1
		mn *= 1000
	return 100 * rub + kop
ans = 0
res = ''
chops = []
s = sys.stdin.readline().strip()
i = 0
while i < len(s):
	chop = ''
	while i < len(s) and is_digit(s[i]):
		chop += s[i]
		i += 1
	if chop:
		chops.append(chop)
	i += 1
for chop in chops:
	ans += num(chop)
if ans % 100:
	res = '.' + norm(str(ans % 100))[1:]
if ans // 100 == 0:
	print('0' + res)
	exit()
ans //= 100
while ans > 0:
	temp = ans % 1000
	ans //= 1000
	if ans > 0:
		res = '.' + norm(str(temp)) + res
	else:
		res = str(temp) + res
print(res)


a = input()
p = []
buf = ''
for i in range(len(a)):
	if a[i].isalpha():
		if buf != '':
			p.append(buf)
			buf = ''
	else:
		buf += a[i]
p.append(buf)
buf = ''
kop = 0
r = 0
for i in p:
	try:
		if i[:-2][-1] == '.':
			kop += int(i[-2:])
			r += int(i[:-3].replace('.', ''))
		else:
			r += int(i.replace('.', ''))
	except IndexError:
		r += int(i.replace('.', ''))
r += kop // 100
kop %= 100
if kop < 10:
	kop = '.0' + str(kop)
	if kop == '.00':
		kop = ''
else:
	kop = '.' + str(kop)
q = False
for i in range(6, -1, -1):
	if r >= 10 ** (i * 3):
		if q:
			print('.' + '0' * (3 - len(str(r // 10 ** (i * 3)))) + str(r // 10 ** (i * 3)), end='')
			r %= 10 ** (i * 3)
		else:
			print(str(r // 10 ** (i * 3)), end='')
			r %= 10 ** (i * 3)
			q = True
	elif q:
		print('.000', end='')
if q:
	print(kop)
else:
	print('0' + kop)


ch = list(input())
prices = ''
for i in range(len(ch)):
	if ch[i] in 'abcdefghijklmnopqrstuvwxyz':
		prices += ' '
	else:
		prices += ch[i]
prices = prices.split()
rub = 0
kop = 0
for i in prices:
	t = i.rfind('.')
	if len(i[t + 1:]) == 2:
		kop += int(i[t + 1:])
		i = i[:t]
	rub += int(i.replace('.', ''))
rub += kop // 100
kop %= 100
if kop == 0:
	print('{0:,}'.format(rub).replace(',', '.'))
else:
	print('{0:,}'.format(rub).replace(',', '.') + '.' + (str(kop) if len(str(kop)) == 2 else '0' + str(kop)))


S = input()
N = len(S)
i = 0
D = []
while i < N:
	if S[i].isdigit():
		tmp = ''
		while i < N and (S[i].isdigit() or S[i] == '.'):
			tmp += S[i]
			i += 1
		D.append(tmp)
	else:
		i += 1
dol = 0
cen = 0
for k in D:
	d = list(k.split('.'))
	if len(d) > 1 and len(d[-1]) == 2:
		cen += int(d[-1])
		d = d[:-1]
	num = int(''.join(d))
	dol += num
dol += cen // 100
cen %= 100
if cen == 0:
	cen = ''
else:
	cen = str(cen)
	if len(cen) == 1:
		cen = '0' + cen
dol = str(dol)
t = ''
k = 0
for i in range(len(dol) - 1, -1, -1):
	t += dol[i]
	if k % 3 == 2 and i != 0:
		t += '.'
	k += 1
t = t[::-1]
if cen == '':
	print(t)
else:
	print('.'.join([t, cen]))


import sys, math
s = input()
gg = 0
i = 0
dbl = 0
while i < len(s):
	if 'a' <= s[i] <= 'z':
		i += 1
		continue
	h = '000'
	while i < len(s) and (not 'a' <= s[i] <= 'z'):
		h += s[i]
		i += 1
	ans = ''
	if h[-3] == '.':
		dbl += int(h[-2:])
		h = h[:-3]
	for z in h:
		if z != '.':
			ans += z
	gg += int(ans)
dd = []
gg += dbl // 100
dbl = dbl % 100
gg = gg
if dbl != 0:
	dbl = str(dbl)
	while len(dbl) < 2:
		dbl = '0' + dbl
	dd.append(dbl)
if gg == 0:
	dd.append(0)
while gg != 0:
	dd.append(str(gg % 1000))
	if gg >= 1000:
		while len(dd[-1]) < 3:
			dd[-1] = '0' + dd[-1]
	gg //= 1000
dd.reverse()
print(*dd, sep='.')


import logging
import copy
import sys
import math
import string
logging.basicConfig(stream=sys.stderr, level=logging.DEBUG)

def solve(line):
	numStr = ''
	for ch in line:
		if ch.isalpha() == True:
			numStr += ' '
		else:
			numStr += ch
	nums = numStr.split()
	s = 0.0
	sInt = 0
	sFloat = 0
	for num in nums:
		if num.find('.') == -1:
			sInt += int(num)
			continue
		if num[-3] != '.':
			num = num.replace('.', '')
			sInt += int(num)
			continue
		nInt = int(num[:-3].replace('.', ''))
		nFloat = int(num[-2:])
		sInt += nInt
		sFloat += nFloat
	sInt += sFloat // 100
	sFloat = sFloat % 100
	rStr = str(sInt)
	rStr = rStr[::-1]
	if sInt == 0 and sFloat == 0:
		print('0')
		return
	intStr = ''
	for i in range(0, math.ceil(len(rStr) / 3)):
		intStr += '.'
		intStr += rStr[i * 3:i * 3 + 3]
	intStr = intStr[::-1]
	if sFloat == 0:
		print('%s' % intStr[:-1])
	else:
		print('%s%.2d' % (intStr[:], sFloat))

def main():
	solve(input())

def log(*message):
	logging.debug(message)
main()


import re
line = input()
line = re.findall('[0-9.]+', line)
a = 0
b = 0
for val in line:
	n = len(val)
	if n <= 2:
		a += int(val)
		continue
	j = n
	if val[n - 3] == '.':
		b += int(val[n - 2:])
		j = n - 2
	curr = 0
	i = 0
	while i < j:
		if val[i] != '.':
			curr = curr * 10 + int(val[i])
		i += 1
	a += curr
a += b // 100
b = b % 100
a = str(a)
n = len(a)
for i in range(n):
	if (n - i) % 3 == 0 and i != 0:
		print('.', end='')
	print(a[i], end='')
if b != 0:
	print('.', end='')
	if b < 10:
		print('0', end='')
	print(b, end='')


import re

def to_float(lst):
	has_decimal = len(lst) > 1 and len(lst[-1]) == 2
	n = lst[:-1] if has_decimal else lst
	m = lst[-1] if has_decimal else '00'
	return float(''.join(n)) + float(m) / 100

def from_float(num):
	s = '{:,.2f}'.format(num)
	if s.endswith('00'):
		s = s[:-3]
	return s.replace(',', '.')
bill_data = input()
bill = [s.split('.') for s in re.compile('[\\d\\.]+').findall(bill_data)]
print(from_float(sum((to_float(item) for item in bill))))


s = input() + 'a'
numbers = ['0', '1', '2', '3', '4', '5', '6', '7', '8', '9']
number = ''
sum = 0
for i in range(len(s)):
	if s[i] in numbers:
		number += s[i]
	elif s[i] == '.':
		if not s[i + 3] in numbers:
			number += '.'
	else:
		if number:
			sum += float(number)
		number = ''
number = 0
sum = round(sum, 2)
if sum % 1 == 0:
	sum = int(sum)
for i in range(len(str(sum))):
	number += 1
	if str(sum)[i] == '.' or ((len(str(sum)) - i) % 3 == 0 and i != 0 and (str(sum)[-2] != '.')):
		number = 0
		if not str(sum)[i] == '.':
			print('.', end='')
		print(str(sum)[i], end='')
	else:
		print(str(sum)[i], end='')
if number == 1 and type(sum) == float:
	print(0)


s = input() + 'k' * 10
c_rub = 0
c_kop = 0
i = 0
while i < len(s) - 10:
	rub = ''
	kop = ''
	while s[i].isdigit():
		rub = rub + s[i]
		if i < len(s) - 10:
			if s[i + 1] == '.':
				if not s[i + 4].isdigit():
					kop = s[i + 2] + s[i + 3]
					i += 4
					break
				else:
					i += 1
		i += 1
		if i >= len(s) - 10:
			break
	if rub != '':
		c_rub += int(rub)
	if kop != '':
		c_kop += int(kop)
	if c_kop >= 100:
		c_rub += 1
	c_kop %= 100
	i += 1
print('{0:,}'.format(c_rub).replace(',', '.'), end='')
if c_kop > 0:
	print('.', '%02d' % c_kop, sep='')


s = input()
prices = []
cur = ''
for i in s:
	if i.isdigit() or i == '.':
		cur += i
	elif cur != '':
		prices += [cur]
		cur = ''
if cur != '':
	prices += [cur]
total = 0
for price in prices:
	if price.rfind('.') == len(price) - 1 - 3:
		price = price.replace('.', '')
		total += round(float(price), 2)
	elif price.rfind('.') == len(price) - 1 - 2:
		price = list(price)
		pr = ''
		for x in range(len(price)):
			if price[x] == '.' and x != len(price) - 3:
				continue
			else:
				pr += price[x]
		total += round(float(''.join(pr)), 2)
	else:
		total += round(float(price), 2)
total = round(float(total), 2)
pr = str(total)
p = pr.split('.')
count = 0
px = ''
for j in range(len(p[0]) - 1, -1, -1):
	i = p[0][j]
	px = i + px
	count += 1
	if count % 3 == 0:
		px = '.' + px
if px[0] == '.':
	px = px[1:]
if p[1].replace('0', '') == '':
	print(px)
else:
	p[1] = p[1] + '00'
	print(px + '.' + p[1][:2])


s = input()
a = ''
prices = []
for i in s:
	if ord(i) >= ord('a') and ord(i) <= ord('z'):
		if len(a) > 0:
			prices.append(a)
			a = ''
	else:
		a += i
prices.append(a)
sum = 0
for price in prices:
	pos = price.rfind('.')
	g = True
	if len(price) - pos - 1 == 2:
		g = False
	nprice = price.replace('.', '')
	if g:
		nprice += '00'
	sum += int(nprice)
sum = str(sum)
rubles = sum[:-2]
kop = sum[-2:]
if len(kop) == 0:
	kop = '00'
elif len(kop) == 1:
	kop = '0' + kop
rubles = rubles[::-1]
l = []
i = 0
while i < len(rubles):
	if i + 3 <= len(rubles):
		l.append(rubles[i:i + 3])
	else:
		l.append(rubles[i:])
	i += 3
rubles = '.'.join(l)
rubles = rubles[::-1]
if rubles == '':
	rubles = '0'
if kop == '00':
	print(rubles)
else:
	print(rubles + '.' + kop)


def parse_numbers(s):
	res = []
	cur_number = ''
	for char in s:
		if char in list('0123456789.'):
			cur_number += char
		else:
			if cur_number:
				res.append(cur_number)
			cur_number = ''
	if cur_number:
		res.append(cur_number)
	return res
s = input()
l = parse_numbers(s)

def convert_number(i):
	if len(i) > 2 and i[-3] == '.':
		dollar = i[:-3]
		dollar = dollar.replace('.', '')
		res = float(dollar + i[-3:])
	else:
		i = i.replace('.', '')
		res = int(i)
	return res
n = [convert_number(i) for i in l]
s = sum(n)
if len(str(s)) > 2:
	s = '{:.2f}'.format(s)

def print_res(s):
	res = ''
	count = 0
	for char in reversed(s):
		res = char + res
		count += 1
		if char == '.':
			count = 0
		if count == 3:
			res = '.' + res
			count = 0
	if res[-2:] == '.0':
		res = res[:-2]
	elif res[-3:] == '.00':
		res = res[:-3]
	if res[0] == '.':
		res = res[1:]
	return res
res = print_res(s)
print(res)


def add(st):
	if st != '':
		arr = st.split('.')
		arr.reverse()
		rubli = 0
		kopeiki = 0
		step = 1
		etap = 0
		if len(arr) == 1:
			return int(int(arr[0]) * 100)
		for i in arr:
			if len(i) == 2 and etap == 0:
				kopeiki = int(i)
			else:
				rubli += int(i) * step
				step *= 1000
			etap += 1
		return int(rubli * 100 + kopeiki)
	return 0
stroka = input()
dlin = 0
summa = 0
chislo = ''
for i in stroka:
	if i.isdigit() == True or i == '.':
		chislo += i
	else:
		summa += add(chislo)
		chislo = ''
summa += add(chislo)
itog = ''
if summa < 10:
	itog = '0.0' + str(summa)
elif summa < 100:
	itog = '0.' + str(summa)
else:
	summa2 = summa % 100
	if summa2 == 0:
		itog2 = '00'
	elif summa2 < 10:
		itog2 = '0' + str(summa2)
	elif summa2 < 100:
		itog2 = '' + str(summa2)
	itog += itog2
	summa //= 100
	while summa > 0:
		summa2 = summa % 1000
		if summa2 == 0:
			itog2 = '000'
		elif summa2 < 10:
			itog2 = '00' + str(summa2)
		elif summa2 < 100:
			itog2 = '0' + str(summa2)
		else:
			itog2 = str(summa2)
		itog = itog2 + '.' + itog
		summa //= 1000
while itog[0] == '0':
	if itog[1] == '.':
		break
	itog = itog[1:]
if itog[-3:] == '.00':
	itog = itog[:-3]
print(itog)


inp = input()
for al in range(ord('a'), 1 + ord('z')):
	inp = inp.replace(chr(al), ' ')
dol = 0
ce = 0
inp = inp.split(' ')
l = [i for i in inp if len(i) > 0]
dol = 0
ce = 0
pres = [0, 0]

def num(x):
	ret = 0
	for i in x:
		ret = ret * 10 + ord(i) - ord('0')
	return ret

def toStr(x):
	if x == 0:
		return '0'
	ret = ''
	while x > 0:
		if len(ret) > 0:
			ret = '.' + ret
		add = str(x % 1000)
		x = int(x / 1000)
		while len(add) < 3 and x > 0:
			add = '0' + add
		ret = str(add) + ret
	return ret
for i in l:
	x = i.split('.')
	go = len(x)
	if len(x[-1]) == 2 and len(x) > 1:
		pres[-1] += 1
		ce += num(x[-1])
		go -= 1
	pre = 0
	for i in range(go):
		pre = pre * 1000 + num(x[i])
		pres[0] += 1
	dol += pre
if ce > 99:
	dol += int(ce / 100)
	ce %= 100
print(toStr(dol), end='')
if ce > 0:
	if ce < 10:
		ce = '0' + str(ce)
	else:
		ce = str(ce)
	print('.' + ce)


s = str(input())
s = s[::-1]
current = ''
answer = 0
for el in s:
	if '9' >= el >= '0':
		current += el
	elif el == '.':
		if len(current) == 2:
			current += '.'
	elif current != '':
		answer += float(current[::-1])
		current = ''
temp = '%.2f' % answer
if temp[len(temp) - 2:] != '00':
	temp_2 = temp[:len(temp) - 3][::-1]
	temp = temp[len(temp) - 2:]
	parts = []
	current = ''
	for i in range(len(temp_2)):
		current += temp_2[i]
		if len(current) == 3:
			parts.append(current[::-1])
			current = ''
	if current != '':
		parts.append(current[::-1])
	print(*parts[::-1], sep='.', end='.')
	print(temp)
else:
	temp_2 = str(int(answer))[::-1]
	parts = []
	current = ''
	for i in range(len(temp_2)):
		current += temp_2[i]
		if len(current) == 3:
			parts.append(current[::-1])
			current = ''
	if current != '':
		parts.append(current[::-1])
	print(*parts[::-1], sep='.')


def num(a):
	if len(a) < 4:
		return int(a) * 100
	q = 1
	if a[-3] != '.':
		q = 100
	b = ''
	for i in a:
		if i != '.':
			b += i
	print
	return int(b) * q
a = input()
b = 0
nn = ''
q = 2
for i in a:
	if i not in '1234567890.':
		if len(nn) > 0:
			b += num(nn)
		nn = ''
	else:
		nn += i
if len(nn) > 0:
	b += num(nn)
a = [b % 100]
b //= 100
while b != 0:
	a = [b % 1000] + a
	b //= 1000
if len(a) == 1:
	print(0, end='')
	if a[0] != 0:
		print('.', a[0] // 10, a[0] % 10, sep='')
elif a[-1] == 0:
	for i in range(1, len(a)):
		a[i] = str(a[i]).zfill(3)
	a[0] = str(a[0])
	print('.'.join(a[:-1]))
else:
	for i in range(1, len(a) - 1):
		a[i] = str(a[i]).zfill(3)
	a[-1] = str(a[-1]).zfill(2)
	a[0] = str(a[0])
	print('.'.join(a))


s = input()
nums = []
curr = ''
for i in range(len(s)):
	if 'a' <= s[i] <= 'z':
		if curr != '':
			nums.append(curr)
		curr = ''
	else:
		curr += s[i]
if curr != '':
	nums.append(curr)
rubl = 0
kop = 0
for elem in nums:
	elem = elem.split('.')
	if len(elem[-1]) == 2 and len(elem) > 1:
		kop += int(elem[-1])
		elem.pop()
	rubl += int(''.join(elem))
rubl += kop // 100
kop %= 100
rubl = str(rubl)
kop = str(kop)
if kop == '0':
	kop = ''
elif len(kop) == 1:
	kop = '0' + kop
if kop != '':
	kop = '.' + kop
x = len(rubl) % 3
while x < len(rubl):
	rubl = rubl[:x] + '.' + rubl[x:]
	x += 4
if rubl[0] == '.':
	rubl = rubl[1:]
if rubl[-1] == '.':
	rubl = rubl[:-1]
print(rubl + kop)


s = input()
l = ''.join(list(map(lambda x: x if ord('0') <= ord(x) <= ord('9') or x == '.' else ' ', list(s))))

def readnum(s):
	if len(s) >= 3 and s[-3] == '.':
		a = s[:-3]
		b = s[-2:]
	else:
		a = s
		b = '00'
	a = ''.join(list(filter(lambda x: x != '.', a)))
	return (a, b)
l = list(map(readnum, l.split()))
(a, b) = (0, 0)
for (x, y) in l:
	a += int(x)
	b += int(y)
a += b // 100
b = b % 100
a = str(a)
na = ''
nd = 0
for c in a[::-1]:
	if nd % 3 == 0 and len(na) != 0:
		na = '.' + na
	na = c + na
	nd += 1
print(na, end='')
if b:
	print('.%02d' % b)


from math import *
from sys import *
from queue import *
from decimal import *
s = input()
ans = Decimal(0)
i = 0
numpoint = set(['0', '1', '2', '3', '4', '5', '6', '7', '8', '9', '.'])
while i < len(s):
	if s[i] in numpoint:
		p = i
		q = 100
		while i < len(s) and s[i] in numpoint:
			if s[i] == '.':
				s = s[:i] + s[i + 1:]
				q = 0
			else:
				q += 1
				i += 1
		if q <= 2:
			ans += Decimal(int(s[p:i])) / Decimal(100)
		else:
			ans += Decimal(int(s[p:i]))
	else:
		i += 1
if ans == int(ans):
	ans = str(int(ans))
elif ans * 10 == int(ans * 10):
	ans = str(int(ans * 10) / 10) + '0'
else:
	ans = str(ans)
ans = ans[::-1]
q = 0
res = ''
for i in ans:
	res += i
	q += 1
	if i == '.':
		q = 0
	if q == 3:
		q = 0
		res += '.'
if res[-1] == '.':
	res = res[len(res) - 2::-1]
else:
	res = res[::-1]
print(res)


inpt = input()
string = inpt + 'z'
number = ''
summa = 0
for i in string:
	if i.isdigit() or i == '.':
		number += i
	elif number:
		splo = number.split('.')
		if len(splo) > 1:
			if len(splo[-1]) == 2:
				number = number[:-3].replace('.', '') + '.' + splo[-1]
			else:
				number = number.replace('.', '')
		summa += float(number)
		number = ''
dop = 0
wStr = str(round(summa, 2))
if wStr[-2:-1] == '.':
	if wStr[-1] == 0:
		wStr = wStr[:-2]
	else:
		wStr += '0'
if '.' in wStr:
	dop = wStr[-3:]
	if dop == '.00':
		dop = ''
	wStr = wStr[:-3]
	ln = len(wStr)
else:
	ln = len(wStr)
nvar = 4 - ln % 3
readyStr = ''
for i in range(ln):
	readyStr += wStr[i]
	if (i + nvar) % 3 == 0 and i != ln - 1:
		readyStr += '.'
if dop:
	readyStr += dop
print(readyStr)


s = input()
name = False
s2 = '0'
cnt = 0
pointsPresent = False
sum = 0
for i in range(len(s)):
	if s[i] in '1234567890.':
		name = False
	else:
		name = True
	if name:
		if cnt == 3 or not pointsPresent:
			sum += int(s2) * 100
		else:
			sum += int(s2)
		s2 = '0'
		cnt = 0
		pointsPresent = False
	elif s[i] != '.':
		s2 += s[i]
		cnt += 1
	else:
		cnt = 0
		pointsPresent = True
if cnt == 3 or not pointsPresent:
	sum += int(s2) * 100
else:
	sum += int(s2)
if sum < 10:
	print('0.0' + str(sum))
elif sum < 100:
	print('0.' + str(sum))
else:
	if sum % 100 == 0:
		sum //= 100
		c = -1
	else:
		c = 0
	s3 = str(sum)
	for i in range(len(s3) - 1, -1, -1):
		c += 1
		if c == 3:
			c = 0
			s3 = s3[:i + 1] + '.' + s3[i + 1:]
	print(s3)


s = input()
n = []
p = []
for i in range(1, len(s)):
	if s[i] == '.':
		if i + 3 >= len(s):
			p[-1] += str(s[i])
		elif s[i + 3].isalpha():
			p[-1] += str(s[i])
	if s[i].isdigit():
		if s[i - 1].isdigit() or s[i - 1] == '.':
			if len(p) > 0:
				p[-1] += str(s[i])
			else:
				p.append(str(s[i]))
		else:
			p.append(s[i])
s = 0
for a in p:
	s += float(a)
if int(s) == s:
	s = '{:,}'.format(int(s)).replace(',', '.')
else:
	s = '{:,.2f}'.format(s).replace(',', '.')
print(s)


s = input()
a = []
chisla = ['0', '1', '2', '3', '4', '5', '6', '7', '8', '9', '.']
i = 0
x = ''
S = ''
while i < len(s):
	if s[i] in chisla:
		x += s[i]
	elif x != '':
		if len(x) >= 3 and x[-3] == '.':
			for j in range(len(x)):
				if x[j] != '.':
					S += x[j]
			S = int(S)
		else:
			for j in range(len(x)):
				if x[j] != '.':
					S += x[j]
			S = int(S) * 100
		a.append(S)
		x = ''
		S = ''
	i += 1
if x != '':
	if len(x) >= 3 and x[-3] == '.':
		for j in range(len(x)):
			if x[j] != '.':
				S += x[j]
		S = int(S)
	else:
		for j in range(len(x)):
			if x[j] != '.':
				S += x[j]
		S = int(S) * 100
	a.append(S)
	x = ''
	S = ''
S = sum(a)
if 9 < S < 100:
	S = '0.' + str(S)
elif S < 10:
	S = '0.0' + str(S)
elif S % 100 == 0:
	S = S // 100
	S = str(S)
else:
	S = str(S)[:-2] + '.' + str(S)[-2:]
k = 0
i = len(S) - 1
while i > -1:
	if k == 3:
		S = S[:i + 1] + '.' + S[i + 1:]
		k = 0
	k += 1
	if S[i] == '.':
		k = 0
	i += -1
print(S)


contest = True
if not contest:
	fin = open('in', 'r')
inp = input if contest else lambda : fin.readline()[:-1]
read = lambda : tuple(map(int, inp().split()))
s = inp() + 's'
na = '1234567890.'
acc = ''
k = 0
l = []
wasd = False
for c in s:
	if not c in na:
		if len(acc) > 0:
			if k == 2 and wasd:
				l += [int(acc[:-2].replace('.', '')) + round(int(acc[-2:]) / 100, 2)]
			else:
				l += [int(acc.replace('.', ''))]
		k = 0
		acc = ''
		wasd = False
	else:
		k += 1
		if c == '.':
			k = 0
			wasd = True
		acc += c
ans = str(round(sum(l), 2))[::-1]
d = ''
if '.' in ans:
	i = ans.index('.')
	d = ans[:i]
	d = ('0' * max(0, 2 - len(d)) + d)[:2][::-1]
	if d == '00':
		d = ''
	ans = ans[i + 1:]
ans1 = ''
for i in range(len(ans)):
	ans1 += ans[i]
	if (i + 1) % 3 == 0 and i + 1 < len(ans):
		ans1 += '.'
ans1 = ans1[::-1]
if len(d) > 0:
	ans1 += '.' + d
print(ans1)


s = input()
for i in range(ord('a'), ord('z') + 1):
	s = s.replace(chr(i), '_')
a = s.split('_')
r = c = 0
for i in a:
	if not i:
		continue
	b = [j for j in i.split('.')]
	if len(b[-1]) == 2:
		c += int(b[-1])
		b = b[:len(b) - 1]
	r += int(''.join(b)) + c // 100
	c %= 100
r = str(r)
print(r[:len(r) % 3 if len(r) % 3 != 0 else 3], end='')
r = r[len(r) % 3 if len(r) % 3 != 0 else 3:]
for i in range(len(r) // 3):
	print('.', r[3 * i:3 * i + 3], sep='', end='')
if c:
	print('.', str(c).rjust(2, '0'), sep='')


arr = ['1', '2', '3', '4', '5', '6', '7', '8', '9', '0', '.']
a = list(input())
s = []
x = ''
for i in a:
	if not i in arr:
		if x != '':
			y = int(''.join(x.split('.')))
			if len(x) < 3:
				y *= 100
			elif x[-3] != '.':
				y *= 100
			s.append(y)
			x = ''
	else:
		x += i
if x != '':
	y = int(''.join(x.split('.')))
	if len(x) < 3:
		y *= 100
	elif x[-3] != '.':
		y *= 100
	s.append(y)
	x = ''
ans = 0
for i in s:
	ans += i
ans = str(ans)
res = []
p = ''
for i in range(len(ans) - 1, -1, -1):
	p += ans[i]
if len(p) < 3:
	if len(p) < 2:
		print('0.0' + str(p))
	else:
		print('0.' + p[1] + p[0])
else:
	res = []
	if p[0] != '0' or p[1] != '0':
		res.append(p[0])
		res.append(p[1])
		res.append('.')
	x = 0
	for i in range(2, len(p)):
		x += 1
		res.append(p[i])
		if not i == len(p) - 1 and x % 3 == 0:
			res.append('.')
	res = ''.join(res)
	ans = ''
	for i in range(len(res)):
		ans += res[-i - 1]
	print(ans)


st = input()
letters = 'qwertyuiopasdfghjklzxcvbnm'
for c in letters:
	st = st.replace(c, ' ')
st = st.split()
sm = 0
for s in st:
	cents = '00'
	if len(s) > 2 and s[len(s) - 3] == '.':
		cents = s[-2:]
		s = s[:-3].replace('.', '')
	else:
		s = s.replace('.', '')
	s = s + cents
	sm = sm + int(s)
cents = str(sm % 100)[:2]
s = str(sm // 100)
st = ''
for i in range(len(s), 0, -3):
	st = '.' + st
	if i - 3 > 0:
		st = s[i - 3:i] + st
	else:
		st = s[0:i] + st
if len(cents) == 2:
	st = st + cents
elif len(cents) == 1 and cents != '0':
	st = st + '0' + cents
else:
	st = st[0:-1]
print(st)


line = input()
l = len(line)
r = 0
k = 0
i = 0
digits = '1234567890.'
while i < l:
	if line[i] in digits:
		t = i
		while i < l and line[i] in digits:
			i += 1
		p = i
		curr = line[t:p]
		if '.' in curr:
			if curr[-3] == '.':
				k += int(curr[-2:])
				curr = ''.join(curr.split('.'))
				r += int(curr) // 100
			else:
				curr = ''.join(curr.split('.'))
				r += int(curr)
		else:
			curr = ''.join(curr.split('.'))
			r += int(curr)
	else:
		i += 1
ans = ''
if k % 100 == 0:
	ans = ''
else:
	ans = str(k % 100)[::-1]
	if len(ans) == 1:
		ans += '0'
r += k // 100
a = str(r)
for i in range(len(a) - 1, -1, -1):
	if (len(a) - 1 - i) % 3 == 0:
		ans += '.'
	ans += a[i]
ans = ans[::-1]
if ans[-1] == '.':
	print(ans[:-1])
else:
	print(ans)


s = input()
LETTERS = 'abcdefghijklmnopqrstuvwxyz'
sum1 = 0
sum2 = 0

def getPrice(s):
	global sum1, sum2
	if '.' in s:
		if s[-3] == '.':
			first = ''
			for i in range(len(s) - 3):
				if s[i] != '.':
					first += s[i]
			first = int(first)
			last = int(s[-2:])
		else:
			first = ''
			last = 0
			for i in range(len(s)):
				if s[i] != '.':
					first += s[i]
			first = int(first)
	else:
		first = int(s)
		last = 0
	sum1 += first
	sum2 += last
	return 0

def insertDots(s):
	i = -1
	new_s = ''
	count = 0
	while i >= -len(s):
		new_s += s[i]
		count += 1
		if count == 3 and i > -len(s):
			new_s += '.'
			count = 0
		i -= 1
	return new_s[::-1]

def getItem():
	global s
	done = False
	curr = 0
	while not done:
		if s[curr].lower() in LETTERS:
			curr += 1
		else:
			done = True
	done = False
	price = ''
	while not done and curr < len(s):
		if s[curr].lower() not in LETTERS:
			price += s[curr]
			curr += 1
		else:
			done = True
	s = s[curr:]
	getPrice(price)
	return 0

def decode(s):
	if '.' in s:
		rans = insertDots(s[:s.find('.')]) + s[s.find('.'):]
		if rans[-3] != '.':
			rans += '0'
		return rans
	else:
		return s
ls1 = []
while s:
	getItem()
ans = decode(str(sum1 + sum2 / 100.0))
if len(ans) >= 3:
	if ans[-2] == '.':
		ans += '0'
	if ans[-1] == '0' and ans[-2] == '0':
		ans = ans[:-3]
print(ans)


string = input()
a = ''
l = []
for i in range(len(string)):
	if string[i] in '1234567890.':
		a += string[i]
	elif len(a) > 0:
		l += [a]
		a = ''
if len(a) > 0:
	l += [a]
summ = 0
for el in l:
	if len(el) >= 3 and el[-3] == '.':
		e = el[:-3]
		e2 = el[-2:]
		str1 = ''
		for i in range(len(e)):
			if e[i] != '.':
				str1 += e[i]
		summ += int(str1) + int(e2) / 100
	else:
		str1 = ''
		e = el
		for i in range(len(e)):
			if e[i] != '.':
				str1 += e[i]
		summ += int(str1)
summ = round(summ * 100) / 100
if summ - summ // 1 == 0:
	summ = int(summ)
summ = str(summ)
if '.' in summ:
	if summ[-2] == '.':
		summ += '0'
	s1 = summ[:-3]
	ost = len(s1) % 3
	ans = s1[:ost]
	for i in range(len(s1) // 3):
		ans += '.'
		ans += s1[ost + 3 * i:ost + 3 + 3 * i]
	if ost == 0:
		ans = ans[1:]
	ans += '.'
	ans += summ[-2:]
	print(ans)
else:
	s1 = summ
	ost = len(s1) % 3
	ans = s1[:ost]
	for i in range(len(s1) // 3):
		ans += '.'
		ans += s1[ost + 3 * i:ost + 3 * i + 3]
	if ost == 0:
		ans = ans[1:]
	print(ans)


def convert(num):
	if len(num) < 3:
		return num + '.00'
	if num[-3] != '.':
		return num + '.00'
	return num

def convert2(num):
	return num.split('.')

def summa(list1, list2):
	result = []
	if len(list1) > len(list2):
		maxi = list1
		mini = list2
	else:
		maxi = list2
		mini = list1
	for i in range(len(mini)):
		result.append(int(list1[i]) + int(list2[i]))
	for j in range(len(mini), len(maxi)):
		result.append(int(maxi[j]))
	return result

def convsumma(listn):
	listn.append(0)
	while listn[0] >= 100:
		listn[0] -= 100
		listn[1] += 1
	listn[0] = str(listn[0])
	listn[0] = '0' * (2 - len(listn[0])) + listn[0]
	for i in range(1, len(listn) - 2):
		while listn[i] >= 1000:
			listn[i] -= 1000
			listn[i + 1] += 1
		listn[i] = str(listn[i])
		listn[i] = '0' * (3 - len(listn[i])) + listn[i]
	while listn[-2] >= 1000:
		listn[-2] -= 1000
		listn[-1] += 1
	listn[-2] = str(listn[-2])
	listn[-2] = '0' * (3 - len(listn[-2])) + listn[-2]
	return listn
LETTERS = 'abcdefghijklmnopqrstuvwxyz'
check = input()
result = []
last = 'string'
app = ''
for i in range(len(check)):
	if check[i] in LETTERS:
		if last == 'number':
			result.append(app)
			app = ''
			last = 'string'
	else:
		app += check[i]
		last = 'number'
result.append(app)
result2 = []
for res in result:
	result2.append(convert(res))
result3 = []
for res in result2:
	result3.append(convert2(res))
for res in result3:
	res.reverse()
result4 = []
for i in range(len(result3)):
	result4 = summa(result4, result3[i])
RES = convsumma(result4)
if RES[-1] != 0:
	RES[-1] = str(RES[-1])
	RES.reverse()
	if RES[-1] == '00':
		RES.pop()
else:
	RES.pop()
	RES.reverse()
	if RES[0] == '000':
		RES[0] = '0'
	else:
		while RES[0][0] == '0':
			RES[0] = RES[0][1:]
	if RES[-1] == '00':
		RES.pop()
print('.'.join(RES))


s = input()
n = len(s)
i = 0
LIT = list('0123456789.')
res = 0
while i < n:
	if ord(s[i]) >= ord('0') and ord(s[i]) <= ord('9'):
		j = i
		while j < n and s[j] in LIT:
			j += 1
		s1 = s[i:j]
		ans = 0
		if len(s1) < 3:
			ans = float(s1)
		else:
			if s1[-3] == '.':
				ans = int(s1[-2:]) / 100
				s1 = s1[:-3]
			s1 = s1.replace('.', '')
			ans += int(s1)
		res += ans
		i = j
	else:
		i += 1
a = int(res)
b = (100 * res - 100 * a) / 100
groups = []
while a != 0:
	groups.append(a % 1000)
	a //= 1000
if len(groups) > 0:
	print(groups[-1], end='')
	for i in range(len(groups) - 2, -1, -1):
		print('.', end='')
		if groups[i] // 100 == 0:
			if groups[i] // 10 == 0:
				print('00', end='')
			else:
				print('0', end='')
		print(groups[i], end='')
else:
	print(0, end='')
if b != 0:
	b = str(round(b, 2))[1:]
	print(b, end='')
	if len(b) == 2:
		print(0)


s = input()
ans = 0
d = ''
for i in range(len(s)):
	if s[i] in '0123456789.':
		d += s[i]
	else:
		si = ''
		if len(d):
			for j in range(len(d)):
				if d[j] != '.':
					si += d[j]
			si1 = int(si)
			if len(d) >= 3 and d[-3] != '.' or len(d) < 3:
				si1 *= 100
			ans += si1
		d = ''
si = ''
for j in range(len(d)):
	if d[j] != '.':
		si += d[j]
	si1 = int(si)
if len(d) >= 3 and d[-3] != '.' or len(d) < 3:
	si1 *= 100
ans += si1
if ans < 10:
	print('0.0{}'.format(ans))
elif ans < 100:
	print('0.{}'.format(ans))
else:
	ansl = str(ans)[::-1]
	ansi = ansl[0] + ansl[1] + '.'
	for i in range(2, len(ansl)):
		if i % 3 == 2 and i != 2:
			ansi += '.'
		ansi += ansl[i]
	if ans % 100 == 0:
		a = ansi[::-1]
		print(a[:-3])
	else:
		print(ansi[::-1])


def sostoyanie(simvol):
	global sost
	global temp_rub
	global sum
	global sumkop
	global temp_kop
	if sost == 0:
		if simvol.isalpha():
			return
		else:
			temp_rub += simvol
			sost = 1
			return
	if sost == 1:
		if simvol == '.':
			sost = 2
			return
		elif simvol.isalpha():
			sum += int(temp_rub)
			temp_rub = str()
			sost = 0
		else:
			temp_rub += simvol
	if sost == 2:
		if simvol.isalpha():
			if len(temp_kop) == 2:
				sumkop += int(temp_kop)
				sum += int(temp_rub)
			temp_kop = str()
			sost = 0
			temp_rub = str()
			return
		else:
			temp_kop += simvol
			if len(temp_kop) > 2:
				temp_rub += temp_kop
				temp_kop = str()
				sost = 1
				return
sost = 0
rubbles = []
temp_rub = str()
temp_kop = str()
sum = 0
sumkop = 0
s = input()
s += 'a'
for i in range(len(s)):
	sostoyanie(s[i])
temp = sumkop // 100
sum += temp
sumkop -= temp * 100
temp = 0
sum = str(sum)
ans = str()
for i in range(len(sum) - 1, -1, -1):
	if temp < 3:
		ans += sum[i]
	else:
		ans += '.'
		ans += sum[i]
		temp = 0
	temp += 1
ans = ans[::-1]
if sumkop == 0:
	print(ans)
else:
	print(ans, str(sumkop).rjust(2, '0'), sep='.')


a = input() + 'a'
nums = []
sk = ''
for i in a:
	if not i.isalpha():
		sk += i
	else:
		if sk != '':
			nums.append(sk)
		sk = ''
for a in range(len(nums)):
	if '.' in nums[a]:
		if nums[a][-3] == '.':
			nums[a] = int(nums[a].replace('.', '')) / 100
		else:
			nums[a] = int(nums[a].replace('.', ''))
	else:
		nums[a] = int(nums[a])
x = sum(nums)
decimal = round((x - int(x)) * 100)
y = str(int(x))[::-1]
newStr = ''
for i in range(len(y)):
	newStr += y[i]
	if i % 3 == 2:
		newStr += '.'
newStr = newStr[::-1]
if newStr[0] == '.':
	newStr = newStr[1:]
if decimal != 0:
	print(newStr, end='.')
else:
	print(newStr)
if len(str(decimal)) < 2 and decimal != 0:
	print(0, end='')
if decimal:
	print(decimal)


lat = 'qwertyuiopasdfghjklzxcvbnm'
s = input()
for i in lat:
	s = s.replace(i, ' ')
s = s.split()
ans = 0
for i in s:
	cost = int(i.replace('.', ''))
	i = i.replace('.', ' ')
	i = i.split()
	if len(i[-1]) != 2 or len(i) == 1:
		cost *= 100
	ans += cost
print(format(ans // 100, ',d').replace(',', '.'), end='')
if ans % 100 != 0:
	print('.%02d' % (ans % 100))


from math import trunc
s = input()
k = -1
temp = ''
q = 0
for i in s:
	if i.isdigit():
		temp += i
	elif i == '.':
		if k != -1:
			temp = temp[:k] + temp[k + 1:]
		temp += i
		k = len(temp) - 1
	elif len(temp):
		if k != -1 and len(temp) - 1 - k != 2:
			temp = temp[:k] + temp[k + 1:]
		q += float(temp)
		k = -1
		temp = ''
if len(temp):
	if k != -1 and len(temp) - 1 - k != 2:
		temp = temp[:k] + temp[k + 1:]
	q += float(temp)
ex = False
for i in range(2, 0, -1):
	d = int(q // 1000 ** i)
	if not ex:
		if d > 0:
			print(d, '.', sep='', end='')
			ex = True
	else:
		print('0' * (3 - len(str(d))) + str(d) + '.', end='')
	q -= d * 1000 ** i
r = str(int(trunc(q)))
if q == 0:
	print('000')
elif trunc(q) != q:
	if ex:
		print('0' * (3 - len(r)), '{:.2f}'.format(round(q, 2)), sep='')
	else:
		print('{:.2f}'.format(round(q, 2)))
elif ex:
	print('0' * (3 - len(r)), int(q), sep='')
else:
	print(int(q))


s = input()
l = []
s2 = ''
c = 0
for i in range(len(s)):
	if '0' <= s[i] <= '9' or s[i] == '.':
		s2 += s[i]
	elif s2 != '':
		l += [s2]
		s2 = ''
l += [s2]
c = 0
k = 0
for x in l:
	if len(x) > 3:
		if x[-3] == '.':
			k += int(x[-2] + x[-1])
			c += int(x[:-3].replace('.', ''))
		else:
			c += int(x.replace('.', ''))
	else:
		c += int(x.replace('.', ''))
c += k // 100
k = k % 100
c2 = str(c)
h = len(c2)
for i in range(len(c2)):
	if h > 3:
		if (h - i) % 3 == 0 and i != 0:
			print('.', sep='', end='')
	print(c2[i], sep='', end='')
if k > 0:
	if k >= 10:
		print('.' + str(k))
	else:
		print('.0' + str(k))


def parse(string):
	parts = int(string.replace('.', ''))
	if len(string) < 3 or string[-3] != '.':
		parts *= 100
	return parts

def out(string):
	to_print = []
	if string[-2:] == '.0':
		string = string[:-2]
	elif string[-3:] == '.00':
		string = string[:-3]
	if len(string) > 2 and string[-2] == '.':
		to_print.append('0' + string[-1])
		string = string[:-2]
	elif len(string) > 3 and string[-3] == '.':
		to_print.append(string[-2] + string[-1])
		string = string[:-3]
	string = string[::-1]
	for i in range(0, len(string) - len(string) % 3, 3):
		to_print.append(string[i:i + 3][::-1])
	to_print.append(string[len(string) - len(string) % 3:][::-1])
	if '' in to_print:
		del to_print[to_print.index('')]
	print(*to_print[::-1], sep='.')
cheque = input()
res = 0
now_number = []
now_state = 0
for i in cheque:
	if i in 'abcdefghijklmnopqrstuvwxyz' and now_state == 1:
		now_state = 0
		res += parse(''.join(now_number))
		now_number = []
	if i in '0123456789.':
		now_number.append(i)
		now_state = 1
res += parse(''.join(now_number))
out(str(res / 100) + '0' * (2 - len(str(res / 100)[str(res / 100).index('.') + 1:])))


q = input()
a = []
w = len(q)
i = w - 1
while i > 0:
	if '0' <= q[i] <= '9':
		j = i - 1
		while not 'a' <= q[j] <= 'z':
			j -= 1
		a.append(q[j + 1:i + 1])
		i = j
	i -= 1
s = 0
for i in a:
	l = len(i)
	if l > 2:
		if i[l - 3] == '.':
			s += int(i[l - 2:])
			i = i[:l - 3]
		i = i.replace('.', '')
	s += int(i) * 100
d = ''
r = s
if s % 100 != 0:
	d = '.' + str(s % 100)
if len(d) == 2:
	d = d[0] + '0' + d[1]
s //= 100
rt = s
tr = d
while s // 1000 != 0:
	t = str(s % 1000)
	if len(t) == 1:
		t = '.00' + t
	elif len(t) == 2:
		t = '.0' + t
	else:
		t = '.' + t
	d = t + d
	s //= 1000
if s != 0:
	t = str(s % 1000)
	d = t + d
else:
	d = d[1:]
if len(d) == 2:
	d = '0.' + d
elif d == '':
	d = '0'
print(d)


from math import log

def summ(a):
	string = ''
	for elem in a:
		string += elem
	return int(string)

def summ2(a):
	string = ''
	for elem in a:
		string += elem
	return string
s = input()
ans = 0
prices = []
used_string = ''
for symbol in s:
	if symbol in '.0123456789':
		used_string += symbol
	elif used_string:
		prices.append(used_string)
		used_string = ''
if used_string:
	prices.append(used_string)
for price in prices:
	array = price.split('.')
	if len(array) > 1:
		if len(array[-1]) == 3:
			ans += summ(array) * 100
		else:
			ans += summ(array[:-1]) * 100 + int(array[-1])
	else:
		ans += int(price) * 100
if ans < 100:
	if ans < 10:
		print('0.0' + str(ans))
	else:
		print('0.' + str(ans))
	exit()
kopeiki = ans % 100
if kopeiki < 10:
	kopeiki = '0' + str(kopeiki)
ans = ans // 100
power = len(str(ans))
start = power % 3
if not start:
	start = 3
string = str(ans)
while start < power:
	string = string[:start] + '.' + string[start:]
	start += 4
if kopeiki == '00':
	print(string)
else:
	print(string, kopeiki, sep='.')


s = input()
c = set()
c.add('1')
c.add('2')
c.add('3')
c.add('4')
c.add('5')
c.add('6')
c.add('7')
c.add('8')
c.add('9')
c.add('0')
c.add('.')
ans = []
j = 0
st = ''
for i in range(len(s)):
	if s[i] in c:
		st += s[i]
	elif len(st) > 0:
		ans.append(st)
		st = ''
x = 0
ans.append(st)
for i in range(len(ans)):
	if len(ans[i]) < 3:
		ans[i] += '.00'
	if ans[i][-3] != '.':
		ans[i] += '.00'
cc = set()
cc.add('1')
cc.add('2')
cc.add('3')
cc.add('4')
cc.add('5')
cc.add('6')
cc.add('7')
cc.add('8')
cc.add('9')
cc.add('0')
pp = ''
pk = 0
pr = 0
for i in range(len(ans)):
	for j in range(len(ans[i]) - 1, -1, -1):
		if ans[i][j] == '.':
			x = j
			break
	p1 = ans[i][:x]
	p2 = ans[i][x + 1:]
	for ii in range(len(p1)):
		if p1[ii] in cc:
			pp += p1[ii]
	pr += int(pp)
	pp = ''
	pk += int(p2)
while pk > 99:
	pk -= 100
	pr += 1
pk = str(pk)
if len(pk) < 2:
	pk = '0' + pk
answer = str(pr) + '.' + pk
j = answer.index('.')
q = 0
for i in range(j, -1, -1):
	if q == 2:
		answer = answer[:i] + '.' + answer[i:]
		q = 0
	elif answer[i] != '.':
		q += 1
if answer[-1] == '0' and answer[-2] == '0' and (answer[-3] == '.'):
	answer = answer[:-3]
if answer[0] == '.':
	answer = answer[1:]
print(answer)


import array, bisect, collections, copy, fractions, functools, heapq, itertools, math, random, re, string, sys, time, os
from decimal import Decimal
sys.setrecursionlimit(10000000)
inf = float('inf')

def li():
	return [int(x) for x in sys.stdin.readline().split()]

def li_():
	return [int(x) - 1 for x in sys.stdin.readline().split()]

def lf():
	return [float(x) for x in sys.stdin.readline().split()]

def ls():
	return sys.stdin.readline().split()

def int_inp():
	return int(sys.stdin.readline())

def float_inp():
	return float(sys.stdin.readline())

def inp():
	return sys.stdin.readline().strip()

def pf(s):
	return print(s, flush=True)

def main():
	if os.path.exists('input.txt'):
		sys.stdin = open('input.txt', 'r')
	s = inp()
	sums = []
	x = ''
	for i in s:
		if i.isalpha() and x:
			sums.append(x)
			x = ''
		elif i.isdigit() or i == '.':
			x += i
	sums.append(x)
	for i in range(len(sums)):
		sums[i] = sums[i].split('.')
		if len(sums[i][-1]) == 2:
			sums[i] = int(''.join(sums[i][:-1])) + Decimal(f'0.{sums[i][-1]}')
		else:
			sums[i] = int(''.join(sums[i]))
	ans = sum(sums)
	if type(ans) == int or ans % 1 == 0:
		ans = list(str(int(ans)))
		for i in range(len(ans) - 3, 0, -3):
			ans.insert(i, '.')
		ans = ''.join(ans)
	else:
		ans = list(str(ans))
		for i in range(len(ans) - 6, 0, -3):
			ans.insert(i, '.')
		ans = ''.join(ans)
	if os.path.exists('output.txt'):
		open('output.txt', 'w').writelines(ans)
	else:
		sys.stdout.write(f'{ans}')
main()


def fr(s):
	ans = 0
	was = False
	s = s.split('.')
	if len(s[-1]) == 2 and len(s) != 1:
		ans += int(s[-1]) / 100
		was = True
	s = s[::-1]
	for i in range(was, len(s)):
		ans += int(s[i]) * 10 ** (3 * (i - was))
	return ans

def to(n):
	ans = []
	was = False
	if int(n) != n:
		tmp = str(n - int(n))
		tmp = tmp[2:]
		try:
			if tmp[2]:
				if tmp[2] >= '5':
					tmp = tmp[0] + str(int(tmp[1]) + 1)
				else:
					tmp = tmp[:2]
		except:
			pass
		if len(tmp) == 1:
			tmp += '0'
		ans.append(tmp)
		was = True
	n = int(n)
	while n > 0:
		tmp = str(n % 1000)
		if len(tmp) < 3 and n >= 1000:
			tmp = '0' * (3 - len(tmp)) + tmp
		ans.append(tmp)
		n //= 1000
	ans = ans[::-1]
	if was and len(ans) == 1:
		ans = ['0'] + ans
	return '.'.join(ans)
s = input() + 'a'
data = []
last = 0
number = False
for i in range(len(s)):
	if 'a' <= s[i] and s[i] <= 'z':
		if number:
			number = False
			data.append(s[last:i])
		continue
	if not number:
		last = i
		number = True
nums = [fr(i) for i in data]
print(to(sum(nums)))