import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
public class Sample {
int t
= Integer.
parseInt(br.
readLine());
//for(int i=1;i<=1000;i++)
//{
// int u=i;
// int y=i;
int g = getsum(t);
if(g % 4 == 0)
else
{
while(g % 4 != 0)
{
int h = g%4;
t+=(4-h);
g = getsum(t);
}
}
//}
}
private static int getsum(int t) {
// TODO Auto-generated method stub
int sum=0;
while(t > 0)
{
sum+=t%10;
t /=10;
}
return sum;
}
}
CgppbXBvcnQgamF2YS5pby5CdWZmZXJlZFJlYWRlcjsKaW1wb3J0IGphdmEuaW8uSU9FeGNlcHRpb247CmltcG9ydCBqYXZhLmlvLklucHV0U3RyZWFtUmVhZGVyOwoKcHVibGljIGNsYXNzIFNhbXBsZSB7CgoJcHVibGljIHN0YXRpYyB2b2lkIG1haW4oU3RyaW5nW10gYXJncykgdGhyb3dzIE51bWJlckZvcm1hdEV4Y2VwdGlvbiwgSU9FeGNlcHRpb24gewoJCQoJCUJ1ZmZlcmVkUmVhZGVyIGJyID0gbmV3IEJ1ZmZlcmVkUmVhZGVyKG5ldyBJbnB1dFN0cmVhbVJlYWRlcihTeXN0ZW0uaW4pKTsKCQkKCQlpbnQgdCA9IEludGVnZXIucGFyc2VJbnQoYnIucmVhZExpbmUoKSk7CgkJCgkJLy9mb3IoaW50IGk9MTtpPD0xMDAwO2krKykKCQkvL3sKCQkvLwlpbnQgdT1pOwoJCS8vCWludCB5PWk7CgkJaW50IGcgPSBnZXRzdW0odCk7CgkJaWYoZyAlIDQgPT0gMCkKCQkJU3lzdGVtLm91dC5wcmludGxuKHQpOwoJCWVsc2UKCQl7CgkJCXdoaWxlKGcgJSA0ICE9IDApCgkJCXsKCQkJCWludCBoID0gZyU0OwoJCQkJdCs9KDQtaCk7CgkJCQlnID0gZ2V0c3VtKHQpOwoJCQl9CgkJCVN5c3RlbS5vdXQucHJpbnRsbih0KTsKCQl9CgkJLy99CgkJCgl9CgoJcHJpdmF0ZSBzdGF0aWMgaW50IGdldHN1bShpbnQgdCkgewoJCS8vIFRPRE8gQXV0by1nZW5lcmF0ZWQgbWV0aG9kIHN0dWIKCQkKCQlpbnQgc3VtPTA7CgkJd2hpbGUodCA+IDApCgkJewoJCQlzdW0rPXQlMTA7CgkJCXQgLz0xMDsKCQl9CgkJcmV0dXJuIHN1bTsKCX0KCQp9