#include<bits/stdc++.h>
using namespace std;
#define ll long long
#define ull unsigned long long
#define endl '\n'
#define pii pair<ll, ll>
#define ff first
#define ss second
#define pb push_back
#define mp make_pair
#define trace1(x) cerr<<#x<<": "<<x<<endl
#define trace2(x, y) cerr<<#x<<": "<<x<<" | "<<#y<<": "<<y<<endl
#define trace3(x, y, z) cerr<<#x<<":" <<x<<" | "<<#y<<": "<<y<<" | "<<#z<<": "<<z<<endl
#define trace4(a, b, c, d) cerr<<#a<<": "<<a<<" | "<<#b<<": "<<b<<" | "<<#c<<": "<<c<<" | "<<#d<<": "<<d<<endl
#define trace5(a, b, c, d, e) cerr<<#a<<": "<<a<<" | "<<#b<<": "<<b<<" | "<<#c<<": "<<c<<" | "<<#d<<": "<<d<<" | "<<#e<< ": "<<e<<endl
#define trace6(a, b, c, d, e, f) cerr<<#a<<": "<<a<<" | "<<#b<<": "<<b<<" | "<<#c<<": "<<c<<" | "<<#d<<": "<<d<<" | "<<#e<< ": "<<e<<" | "<<#f<<": "<<f<<endl
#define traceloop(x,a) {for(ll i=0;i<x;i++) cerr<<a[i]<<" "; cerr<<endl;}
ll ab(ll x) {return x>0LL?x:-x;}
int sum(int n)
{ int ans=0;
while(n>0)
{
ans+=n%10;
n=n/10;
}
return ans;
}
int main()
{
ios::sync_with_stdio(0);
cin.tie(0); cout.tie(0);
int n;
cin>>n;
while(1)
{
int a = sum(n);
if(a%4==0)
{
cout<<n;
return 0;
}
n++;
}
return 0;
}
I2luY2x1ZGU8Yml0cy9zdGRjKysuaD4KdXNpbmcgbmFtZXNwYWNlIHN0ZDsKI2RlZmluZSBsbCBsb25nIGxvbmcKI2RlZmluZSB1bGwgdW5zaWduZWQgbG9uZyBsb25nCiNkZWZpbmUgZW5kbCAnXG4nCiNkZWZpbmUgcGlpIHBhaXI8bGwsIGxsPgojZGVmaW5lIGZmIGZpcnN0CiNkZWZpbmUgc3Mgc2Vjb25kCiNkZWZpbmUgcGIgcHVzaF9iYWNrCiNkZWZpbmUgbXAgbWFrZV9wYWlyCiNkZWZpbmUgdHJhY2UxKHgpICAgICAgICAgICAgICAgIGNlcnI8PCN4PDwiOiAiPDx4PDxlbmRsCiNkZWZpbmUgdHJhY2UyKHgsIHkpICAgICAgICAgICAgIGNlcnI8PCN4PDwiOiAiPDx4PDwiIHwgIjw8I3k8PCI6ICI8PHk8PGVuZGwKI2RlZmluZSB0cmFjZTMoeCwgeSwgeikgICAgICAgICAgY2Vycjw8I3g8PCI6IiA8PHg8PCIgfCAiPDwjeTw8IjogIjw8eTw8IiB8ICI8PCN6PDwiOiAiPDx6PDxlbmRsCiNkZWZpbmUgdHJhY2U0KGEsIGIsIGMsIGQpICAgICAgIGNlcnI8PCNhPDwiOiAiPDxhPDwiIHwgIjw8I2I8PCI6ICI8PGI8PCIgfCAiPDwjYzw8IjogIjw8Yzw8IiB8ICI8PCNkPDwiOiAiPDxkPDxlbmRsCiNkZWZpbmUgdHJhY2U1KGEsIGIsIGMsIGQsIGUpICAgIGNlcnI8PCNhPDwiOiAiPDxhPDwiIHwgIjw8I2I8PCI6ICI8PGI8PCIgfCAiPDwjYzw8IjogIjw8Yzw8IiB8ICI8PCNkPDwiOiAiPDxkPDwiIHwgIjw8I2U8PCAiOiAiPDxlPDxlbmRsCiNkZWZpbmUgdHJhY2U2KGEsIGIsIGMsIGQsIGUsIGYpIGNlcnI8PCNhPDwiOiAiPDxhPDwiIHwgIjw8I2I8PCI6ICI8PGI8PCIgfCAiPDwjYzw8IjogIjw8Yzw8IiB8ICI8PCNkPDwiOiAiPDxkPDwiIHwgIjw8I2U8PCAiOiAiPDxlPDwiIHwgIjw8I2Y8PCI6ICI8PGY8PGVuZGwKI2RlZmluZSB0cmFjZWxvb3AoeCxhKSB7Zm9yKGxsIGk9MDtpPHg7aSsrKSBjZXJyPDxhW2ldPDwiICI7IGNlcnI8PGVuZGw7fQpsbCBhYihsbCB4KSB7cmV0dXJuIHg+MExMP3g6LXg7fQppbnQgc3VtKGludCBuKQp7CWludCBhbnM9MDsKCXdoaWxlKG4+MCkKCXsKCQlhbnMrPW4lMTA7CgkJbj1uLzEwOwoJfQkKCXJldHVybiBhbnM7Cn0KaW50IG1haW4oKQp7Cglpb3M6OnN5bmNfd2l0aF9zdGRpbygwKTsKCWNpbi50aWUoMCk7IGNvdXQudGllKDApOwoJaW50IG47CgljaW4+Pm47Cgl3aGlsZSgxKQoJewoJCWludCBhID0gc3VtKG4pOwoJCWlmKGElND09MCkKCQl7CgkJCWNvdXQ8PG47CgkJCXJldHVybiAwOwoJCX0KCQluKys7Cgl9CglyZXR1cm4gMDsKfQoJ