#include <bits/stdc++.h>
using namespace std;
struct TreeNode{
int val;
TreeNode*left;
TreeNode*right;
TreeNode(int val):left(nullptr),right(nullptr),val(val){};
};
int path(TreeNode*root,int&maxi){
if(root == nullptr)return 0;
int left = max(0,path(root->left,maxi));
int right = max(0,path(root->right,maxi));
maxi = max(maxi,left+right+root->val);
return max(left,right)+root->val;
}
int sum(TreeNode* root){
int maxi = INT_MIN;
path(root,maxi);
return maxi;
}
TreeNode* buildTree(){
int x;cin>>x;
if(x== -1)return nullptr;
TreeNode* root = new TreeNode(x);
queue<TreeNode*>q;
q.push(root);
while(!q.empty()){
auto u= q.front();q.pop();
if(cin>>x&&x!=-1){
u->left= new TreeNode(x);
q.push(u->left);
}
if(cin>>x&&x!=-1){
u->right= new TreeNode(x);
q.push(u->right);
}
}
return root;
}
int main() {
TreeNode* root = buildTree();
cout<<sum(root);
return 0;
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7CnN0cnVjdCBUcmVlTm9kZXsKCWludCB2YWw7CglUcmVlTm9kZSpsZWZ0OwoJVHJlZU5vZGUqcmlnaHQ7CglUcmVlTm9kZShpbnQgdmFsKTpsZWZ0KG51bGxwdHIpLHJpZ2h0KG51bGxwdHIpLHZhbCh2YWwpe307Cn07CgppbnQgcGF0aChUcmVlTm9kZSpyb290LGludCZtYXhpKXsKCWlmKHJvb3QgPT0gbnVsbHB0cilyZXR1cm4gMDsKCWludCBsZWZ0ID0gbWF4KDAscGF0aChyb290LT5sZWZ0LG1heGkpKTsKCWludCByaWdodCA9IG1heCgwLHBhdGgocm9vdC0+cmlnaHQsbWF4aSkpOwoJCgltYXhpID0gbWF4KG1heGksbGVmdCtyaWdodCtyb290LT52YWwpOwoJcmV0dXJuIG1heChsZWZ0LHJpZ2h0KStyb290LT52YWw7Cn0KaW50IHN1bShUcmVlTm9kZSogcm9vdCl7CglpbnQgbWF4aSA9IElOVF9NSU47CglwYXRoKHJvb3QsbWF4aSk7CglyZXR1cm4gbWF4aTsKfQpUcmVlTm9kZSogYnVpbGRUcmVlKCl7CglpbnQgeDtjaW4+Png7CglpZih4PT0gLTEpcmV0dXJuIG51bGxwdHI7CglUcmVlTm9kZSogcm9vdCA9IG5ldyBUcmVlTm9kZSh4KTsKCQoJcXVldWU8VHJlZU5vZGUqPnE7CglxLnB1c2gocm9vdCk7CgkKCXdoaWxlKCFxLmVtcHR5KCkpewoJCWF1dG8gdT0gcS5mcm9udCgpO3EucG9wKCk7CgkJaWYoY2luPj54JiZ4IT0tMSl7CgkJCXUtPmxlZnQ9IG5ldyBUcmVlTm9kZSh4KTsKCQkJcS5wdXNoKHUtPmxlZnQpOwoJCX0KCQkKCQkJaWYoY2luPj54JiZ4IT0tMSl7CgkJCXUtPnJpZ2h0PSBuZXcgVHJlZU5vZGUoeCk7CgkJCXEucHVzaCh1LT5yaWdodCk7CgkJfQoJfQoJcmV0dXJuIHJvb3Q7Cn0KaW50IG1haW4oKSB7CiAgICBUcmVlTm9kZSogcm9vdCA9IGJ1aWxkVHJlZSgpOwogICAgY291dDw8c3VtKHJvb3QpOwoJcmV0dXJuIDA7Cn0=