#{{{ header import algorithm, sequtils, tables, macros, math, sets, strutils when defined(MYDEBUG): import header proc scanf(formatstr: cstring){.header: "", varargs.} proc getchar(): char {.header: "", varargs.} proc nextInt(): int = scanf("%lld",addr result) proc nextFloat(): float = scanf("%lf",addr result) proc nextString(): string = var get = false result = "" while true: var c = getchar() if int(c) > int(' '): get = true result.add(c) else: if get: break get = false template `max=`*(x,y:typed):void = x = max(x,y) template `min=`*(x,y:typed):void = x = min(x,y) template infty(T): untyped = ((T(1) shl T(sizeof(T)*8-2)) - 1) #}}} proc main():void = var s = stdin.readLine() t = stdin.readLine() vt = map(split(t),parseInt) if vt.len>1: echo "\"assert\"" return var N = parseInt(s) a = vt[0] b = nextInt() c = nextInt() v = @[a+b,b+c,c+a].sorted().reversed() if v[0] > v[1]: echo v[1] else: echo v[2] discard main()