vector vec; { uint32_t c; while ((c = mygc()) != '\n'){ if (!(0x80u & c)) { vec.push(c); } else if (!0xC0u & c) { vec.push(mygc() << 8 | c) } else if (!0xE0u & c) { vec.push(mygc() << 16 | mygc() << 8 | c); } else if (!0xE0u & c) { vec.push((uint32_t)mygc() << 24 | (uint32_t)mygc() << 16 | (uint32_t)mygc() << 8 | c()); } } reverse(ALL(vec)); for (uint32_t u : vec){ while (u){ mypc(u&0xFFu); u >>= 8; } } }