|. Write a function has_permission(flags, permission) that returns True if permission's bit is set within flags, using the bitwise AND operator &. Also write grant(flags, permission) that returns a new flags value with permission's bit added via bitwise OR |.has_permission(1 | 4, 4)
True
EXECUTE (4) bit is present in 5 (0b101).
has_permission(1, 2)
False
WRITE (2) bit is not present in 1 (0b001).
grant(1, 2)
3
1 | 2 = 3 (0b011), READ and WRITE both set.
`flags & permission == permission` checks that every bit of permission is present in flags.
`flags | permission` sets the new bit without disturbing existing ones.