package main import ( "bufio" "fmt" "os" "strconv" "strings" ) var sc = bufio.NewScanner(os.Stdin) var rdr = bufio.NewReaderSize(os.Stdin, 1000000) func main() { sc.Split(bufio.ScanWords) n := nextUint64() tax := n * 8 s1 := fmt.Sprint(n) + "00" s2 := fmt.Sprint(tax) s2 = strings.Repeat("0", len(s1)-len(s2)) + fmt.Sprint(tax) var b []byte up := 0 for i := len(s1) - 1; i >= 0 || up == 1; i-- { v1, v2 := 0, 0 if i >= 0 { v1, _ = strconv.Atoi(string(s1[i])) v2, _ = strconv.Atoi(string(s2[i])) } c := fmt.Sprint((v1 + v2 + up) % 10) b = append([]byte{c[0]}, b...) if v1+v2+up >= 10 { up = 1 } else { up = 0 } } fmt.Printf("%s.%s", string(b[:len(b)-2]), string(b[len(b)-2:])) } func nextLine() string { sc.Scan() return sc.Text() } func nextInt() int { i, _ := strconv.Atoi(nextLine()) return i } func nextInt64() int64 { i, _ := strconv.ParseInt(nextLine(), 10, 64) return i } func nextUint64() uint64 { i, _ := strconv.ParseUint(nextLine(), 10, 64) return i } func nextFloat() float64 { f, _ := strconv.ParseFloat(nextLine(), 64) return f } func readLine() string { buf := make([]byte, 0, 1000000) for { l, p, e := rdr.ReadLine() if e != nil { panic(e) } buf = append(buf, l...) if !p { break } } return string(buf) }