// // author: Leonardone @ NEETSDKASU package main import ( "bufio"; "fmt"; "os"; "strconv"; "strings" ) func atoi(s string) int { v, _ := strconv.Atoi(s); return v } func atou(s string) uint64 { v, _ := strconv.ParseUint(s, 10, 64); return v } func atof(s string) float64 { v, _ := strconv.ParseFloat(s, 64); return v } func max(a, b int) int { if a > b { return a }; return b } func min(a, b int) int { if a < b { return a }; return b } var (_ = fmt.Println; _red = bufio.NewScanner(os.Stdin); _tok []string) func init() { _red.Buffer(make([]byte, 1e7), 1e7) } func gettok() (t string, e bool) { if len(_tok) == 0 { if !_red.Scan() { return }; _tok = strings.Split(_red.Text(), " ") } t = _tok[0]; _tok = _tok[1:]; e = len(_tok) == 0; return } func read(vs ...interface{}) { for _, v := range vs { switch v := v.(type) { case *int: t, _ := gettok(); *v = atoi(t) case *uint64: t, _ := gettok(); *v = atou(t) case *float64: t, _ := gettok(); *v = atof(t) case *string: *v, _ = gettok() case *[]int: if len(*v) == 0 { for { t, e := gettok(); *v = append(*v, atoi(t)); if e { break } } } else { for j := range *v { t, _ := gettok(); (*v)[j] = atoi(t) } } case *[]uint64: if len(*v) == 0 { for { t, e := gettok(); *v = append(*v, atou(t)); if e { break } } } else { for j := range *v { t, _ := gettok(); (*v)[j] = atou(t) } } case *[]float64: if len(*v) == 0 { for { t, e := gettok(); *v = append(*v, atof(t)); if e { break } } } else { for j := range *v { t, _ := gettok(); (*v)[j] = atof(t) } } case *[]string: if len(*v) == 0 { *v = append(*v, _tok...); _tok = _tok[:0] } else { for j := range *v { (*v)[j], _ = gettok() } } } } } func main() { var n int read(&n) xs := make([]uint64, n) read(&xs) sum := uint64(0) for _, x := range xs { sum += x } fmt.Println(sum) }