#include <bits/stdc++.h>
using namespace std;
long long a[10];
long long tcs(string s)
{
long long t = 0;
for (char i : s)
{
t += i - '0';
}
return t;
}
int main() {
string s;
cin >> s;
if (tcs(s) % 9 != 0)
{
cout << -1;
return 0;
}
sort(s.begin(), s.end());
long long i = 0;
while (s[i] == '0')
{
i++;
}
string x = "";
x += s[i+1];
for (int j = 0; j <= i; j++)
{
x += '0';
}
i++;
while (i < s.size())
{
x += s[i];
i++;
}
cout << x;
a[x[x.size() - 1] - '0'] = (int)(x.size());
for (long long i = x.size() - 2; i >= 0; i--)
{
long long j = -1;
for (long long v = 9; v >= 0; v--) if (a[v] != 0)
{
if (((x[i] - '0') * 10 + v) % 4 == 0 || ((v * 10) + (x[i] - '0')) % 4 == 0)
{
j = a[v] - 1;
for (long long k = 0; k < i; k++) cout << x[k];
for (long long k = i + 1; k <= j - 1; k++) cout << x[k];
for (long long k = j + 1; k <= x.size() - 1; k++) cout << x[k];
long long _min = min(x[i], x[j]) - '0';
long long _max = max(x[i], x[j]) - '0';
if ((_min * 10 + _max) % 4 == 0) cout << _min << _max;
else cout << _max << _min;
return 0;
}
}
if (a[x[i] - '0'] == 0) a[x[i] - '0'] = i + 1;
}
}
CgojaW5jbHVkZSA8Yml0cy9zdGRjKysuaD4KdXNpbmcgbmFtZXNwYWNlIHN0ZDsKbG9uZyBsb25nIGFbMTBdOwoKbG9uZyBsb25nIHRjcyhzdHJpbmcgcykKewogICAgbG9uZyBsb25nIHQgPSAwOwoKICAgIGZvciAoY2hhciBpIDogcykKICAgIHsKICAgICAgICB0ICs9IGkgLSAnMCc7CiAgICB9CiAgICByZXR1cm4gdDsKfQppbnQgbWFpbigpIHsKICAgIHN0cmluZyBzOwogICAgY2luID4+IHM7CiAgICBpZiAodGNzKHMpICUgOSAhPSAwKQogICAgewogICAgICAgIGNvdXQgPDwgLTE7CiAgICAgICAgcmV0dXJuIDA7CiAgICB9CgogICAgc29ydChzLmJlZ2luKCksIHMuZW5kKCkpOwogICAgbG9uZyBsb25nIGkgPSAwOwoKICAgIHdoaWxlIChzW2ldID09ICcwJykKICAgIHsKICAgICAgICBpKys7CiAgICB9CiAgICBzdHJpbmcgeCA9ICIiOwogICAgeCArPSBzW2krMV07CiAgICAKICAgIGZvciAoaW50IGogPSAwOyBqIDw9IGk7IGorKykKICAgIHsKICAgICAgICB4ICs9ICcwJzsKICAgIH0KICAgIGkrKzsKICAgIAogICAgd2hpbGUgKGkgPCBzLnNpemUoKSkKICAgIHsKICAgICAgICB4ICs9IHNbaV07CiAgICAgICAgaSsrOwogICAgfQogICAgY291dCA8PCB4OwogICAgYVt4W3guc2l6ZSgpIC0gMV0gLSAnMCddID0gKGludCkoeC5zaXplKCkpOwogICAgZm9yIChsb25nIGxvbmcgaSA9IHguc2l6ZSgpIC0gMjsgaSA+PSAwOyBpLS0pCiAgICB7CiAgICAgICAgbG9uZyBsb25nIGogPSAtMTsKCiAgICAgICAgZm9yIChsb25nIGxvbmcgdiA9IDk7IHYgPj0gMDsgdi0tKSBpZiAoYVt2XSAhPSAwKQogICAgICAgIHsKICAgICAgICAgICAgaWYgKCgoeFtpXSAtICcwJykgKiAxMCArIHYpICUgNCA9PSAwIHx8ICgodiAqIDEwKSArICh4W2ldIC0gJzAnKSkgJSA0ID09IDApCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGogPSBhW3ZdIC0gMTsKICAgICAgICAgICAgICAgIGZvciAobG9uZyBsb25nIGsgPSAwOyBrIDwgaTsgaysrKSBjb3V0IDw8IHhba107CiAgICAgICAgICAgICAgICBmb3IgKGxvbmcgbG9uZyBrID0gaSArIDE7IGsgPD0gaiAtIDE7IGsrKykgY291dCA8PCB4W2tdOwogICAgICAgICAgICAgICAgZm9yIChsb25nIGxvbmcgayA9IGogKyAxOyBrIDw9IHguc2l6ZSgpIC0gMTsgaysrKSBjb3V0IDw8IHhba107CiAgICAgICAgICAgICAgICBsb25nIGxvbmcgX21pbiA9IG1pbih4W2ldLCB4W2pdKSAtICcwJzsKICAgICAgICAgICAgCWxvbmcgbG9uZyBfbWF4ID0gbWF4KHhbaV0sIHhbal0pIC0gJzAnOwogICAgICAgICAgICAgICAgaWYgKChfbWluICogMTAgKyBfbWF4KSAlIDQgPT0gMCkgY291dCA8PCBfbWluIDw8IF9tYXg7CiAgICAgICAgICAgICAgICBlbHNlIGNvdXQgPDwgX21heCA8PCBfbWluOwogICAgICAgICAgICAgICAgcmV0dXJuIDA7CiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICAgICAgaWYgKGFbeFtpXSAtICcwJ10gPT0gMCkgYVt4W2ldIC0gJzAnXSA9IGkgKyAxOwogICAgfQp9Cg==