纯模拟,很简单
//(water problem)
#include<bits/stdc++.h>
using namespace std;
const int mx=15;
string s;
//字符串方便
int a[mx],b[mx],i;
int C(string s){
//串转数
int ans=0;
while(s!=""){
ans=ans*10+(s[0]-'0');
s.erase(0,1);
}
return ans;
}
bool F(int n){
//素数
for(int i=2;i<n;i++){
if(n%i==0) return false;
}
return true;
}
int main()
{
ios::sync_with_stdio(false);
//优化
cin>>s;
int l=s.size(),bl=0;
for(i=0;i<l-1;i++){
string s1="",s2="";
//前,后
for(int j=0;j<=i;j++) s1+=s[j];
//前面的
for(int j=i+1;j<=l-1;j++) s2+=s[j];
//后面的
int p=C(s1),q=C(s2);
//加
a[i]=p+q;
//导入
//cout<<p<<' '<<q<<endl;
//cout<<a[i]<<endl;
}
for(i=0;i<l-1;i++){
if(F(a[i])){
b[bl]=a[i];bl++;
//判断素数,求b数组的长度
//cout<<b[bl];
}
}
//cout<<bl<<endl;
if(bl!=0)
cout<<*min_element(b,b+bl);
//最小值
else cout<<"-1";
//没有
return 0;
}