#include <stdio.h>
#include <stdint.h>
#define BYTE_0SHIFT 24
#define BYTE_1SHIFT 16
#define BYTE_2SHIFT 8
#define BYTE_3SHIFT 0
#define GET_BYTE(balu, n) ((balu) >> (n) & 0xFF);
void convert_to_big_endian(uint32_t value, uint8_t arr[4]) {
// big endian is MSB first (natural)
//that means it will be divided into 4 and as it is goes into array
arr[0] = GET_BYTE(value,BYTE_0SHIFT);
arr[1] = GET_BYTE(value,BYTE_1SHIFT);
arr[2] = GET_BYTE(value,BYTE_2SHIFT);
arr[3] = GET_BYTE(value,BYTE_3SHIFT);
}
int main() {
uint32_t value;
uint8_t arr[4];
scanf("%u", &value);
convert_to_big_endian(value, arr);
for (int i = 0; i < 4; i++) {
printf("%u", arr[i]);
if(i<3){
printf(" ");
}
}
return 0;
}