#include <iostream>
using namespace std;
string b[8]={"500","000","750","250","125","375","625","875"};//125的倍数
int cishu[10];//统计数里面0~9出现的次数
int main() {
string s;//用字符串是因为给的数只能通过字符串存
cin>>s;
int sum=0;//sum用来统计每一位数的和,根据375=3*125,所以sum要是3的倍数
for(int i=0;i<=s.size()-1;i++){
sum+=s[i]-'0';//-'0'是ASCII值来进行减的,例:'1'-'0'=1
cishu[s[i]-'0']++;//统计数里面0~9出现的次数
}
if(sum%3!=0){//判断是不是3的倍数
cout<<"-1"<<endl;//不是3的倍数返回-1
return 0;
}
for(int i=0;i<8;i++){
for(int j=0;j<3;j++){
cishu[b[i][j]-'0']--;//这一步是为了去掉s中出现的'000'/'750'...
}
bool flag=true;//为后面s中是否有足够的0/7...个数判断
for(int k=0;k<=9;k++){
if(cishu[k]<0){//个数不够
flag=false;
break;
}
}
if(flag){
for(int j=9;j>=0;j--){//从9开始是为了防止出现前置0
while(cishu[j]>0){
cout<<j;
cishu[j]--;
}
}
cout<<b[i];//把减去的'000','125'...输出
return 0;
}
for(int j=0;j<3;j++){
cishu[b[i][j]-'0']++;//把减去的0/7...个数加回来
}
}
cout<<"-1"<<endl;
return 0;
}
// 64 位输出请用 printf("%lld")