#include <iostream>
#include <bitset>
using namespace std;
int main() {
int liczba;
cin >> liczba;
// dec2u2 metoda 1 - dzielenie modulo i negacja
string licz;
int tmp = liczba;
int tmp2;
if (liczba<0)
tmp++;
while(tmp)
{
licz = (tmp%2?"1":"0") + licz;
tmp /=2;
}
licz = "0" + licz;
if (liczba<0)
{
for(int i=0;i<licz.size(); i++)
licz[i] = (licz[i]=='1'?'0':'1');
}
tmp2 = licz.size();
for(int i=0;i<32-tmp2;i++)
licz = licz[i]+licz;
cout << licz << endl;
// dec2u2 - meoda 2 - odczyt stanu bitów w pamięci
for (int i=31;i>=0; i--){
cout << (liczba&(1<<i)?1:0);
}
cout << endl;
// dec2u2 - metoda 3 - wykorzystanie rzutowania na bitset
cout << bitset<32>(liczba);
// your code goes here
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8Yml0c2V0Pgp1c2luZyBuYW1lc3BhY2Ugc3RkOwoKaW50IG1haW4oKSB7CglpbnQgbGljemJhOwoJY2luID4+IGxpY3piYTsKLy8gZGVjMnUyIG1ldG9kYSAxIC0gZHppZWxlbmllIG1vZHVsbyBpIG5lZ2FjamEJCglzdHJpbmcgbGljejsKCWludCB0bXAgPSBsaWN6YmE7CglpbnQgdG1wMjsKCQoJaWYgKGxpY3piYTwwKQoJCXRtcCsrOwoJd2hpbGUodG1wKQoJewoJCWxpY3ogPSAodG1wJTI/IjEiOiIwIikgKyBsaWN6OwoJCXRtcCAvPTI7Cgl9CglsaWN6ID0gIjAiICsgbGljejsKCWlmIChsaWN6YmE8MCkKCXsKCQlmb3IoaW50IGk9MDtpPGxpY3ouc2l6ZSgpOyBpKyspCgkJCWxpY3pbaV0gPSAobGljeltpXT09JzEnPycwJzonMScpOwoJfQoJdG1wMiA9IGxpY3ouc2l6ZSgpOwoJZm9yKGludCBpPTA7aTwzMi10bXAyO2krKykgCgkJbGljeiA9IGxpY3pbaV0rbGljejsKCQoJY291dCA8PCBsaWN6IDw8IGVuZGw7CgkKLy8gZGVjMnUyIC0gbWVvZGEgMiAtIG9kY3p5dCBzdGFudSBiaXTDs3cgdyBwYW1pxJljaQoJZm9yIChpbnQgaT0zMTtpPj0wOyBpLS0pewoJCWNvdXQgPDwgKGxpY3piYSYoMTw8aSk/MTowKTsKCX0KCQoJY291dCA8PCBlbmRsOwovLyBkZWMydTIgLSBtZXRvZGEgMyAtIHd5a29yenlzdGFuaWUgcnp1dG93YW5pYSBuYSBiaXRzZXQKCWNvdXQgPDwgIGJpdHNldDwzMj4obGljemJhKTsKCQoJLy8geW91ciBjb2RlIGdvZXMgaGVyZQoJcmV0dXJuIDA7Cn0=