import scala.collection.mutable
import scala.collection.mutable.ListBuffer

/**
 * Created by rasrivastava on 1/5/17.
 */
class AdditionAndSubstraction {

  def maxSum(arr : Array[Int],start : Int,end : Int) : Set[Int] = {
    if (start == end) {
      Set[Int](arr(start))
    }else {
      val lstBuffer = new mutable.HashSet[Int]
      for (i <- start + 1 to end-1) {
        val current = arr(i)
        if (current < 0) {
          //Negate the value
          arr(i) = -current
          val lst1 = maxSum(arr,start,i-1)
          val lst2 = maxSum(arr,i,end)
          lst1.foreach(s1 => {
            lst2.foreach(s2 => {
              lstBuffer.+=(s1-s2)
            })
          })
          //reset back
          arr(i) = current

        }else {
          val lst1 = maxSum(arr,start,i-1)
          val lst2 = maxSum(arr,i,end)
          lst1.foreach(s1 => {
            lst2.foreach(s2 => {
              lstBuffer.+=(s1+s2)
            })
          })
        }
      }

      var currentSum  = 0
      for (i <- start to end) {
        currentSum += arr(i)
      }

      lstBuffer.+=(currentSum)

      lstBuffer.toSet
    }
  }

}


object Main extends App {
  val addSub = new AdditionAndSubstraction
  val count = scala.io.StdIn.readLine().toInt
  val exprArr = scala.io.StdIn.readLine().split(" ")
  var state = 1
  val exprIntArr = new Array[Int](count)
  exprIntArr(0) = exprArr(0).toInt
  var j = 1
  for (i <- 1 to count-1) {

    exprArr(j) match {
      case "+" => {
        state = 1
        exprIntArr(i) = exprArr(j+1).toInt * state
        j = j + 2
      }
      case "-" => {
        state = -1
        exprIntArr(i) = exprArr(j+1).toInt * state
        j = j + 2
      }
      case num => {
        println("Error")
      }
    }



  }

  //println(exprIntArr.deep.mkString(" "))

  println(addSub.maxSum(exprIntArr,0,exprIntArr.length-1).max)
}