// // 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 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 _red = bufio.NewScanner(os.Stdin) var _tok []string 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 *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 *[]string: if len(*v) == 0 { for { t, e := gettok(); *v = append(*v, t); if e { break } } } 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) }