#include <stdio.h>
#include <stdint.h>
uint16_t pack_register(uint8_t mode, uint8_t speed, uint8_t status) {
uint16_t reg = 0;
// 1. Mask và gộp Mode (3 bits)
reg |= (mode & 0x07);
// 2. Mask và dịch Speed (5 bits) lên vị trí bit 3
reg |= (uint16_t)(speed & 0x1F) << 3;
// 3. Bit 8-9 mặc định là 0 (vì reg khởi tạo = 0 nên không cần xử lý)
// 4. Mask và dịch Status (6 bits) lên vị trí bit 10
reg |= (uint16_t)(status & 0x3F) << 10;
return reg;
}
int main() {
uint8_t mode, speed, status;
scanf("%hhu %hhu %hhu", &mode, &speed, &status);
uint16_t reg = pack_register(mode, speed, status);
printf("%u", reg);
return 0;
}