#include <stdio.h>
unsigned char modifyBit(unsigned char reg, int pos, int mode) {
// Write your code here
// check validity of the position
if(pos > 7 | pos < 0){
printf("Invalid pos/n");
return 0;
}
// if mode is not set or clear
if(mode > 1 | pos < 0){
printf("Invalid mode/n");
return 0;
}
unsigned char modified_bit;
switch (mode){
case 1:
modified_bit = reg | (1 << pos);
return modified_bit;
case 0:
modified_bit = reg & ~(1 << pos);
return modified_bit;
}
}
int main() {
unsigned char reg;
int pos;
int mode;
scanf("%hhu %d %d", ®, &pos, &mode);
printf("%d", modifyBit(reg, pos, mode));
return 0;
}