/* 2chエンコーダ完動ソース (1/3) */
#include <stdio.h>

#define BLOCK_SIZE 65536
#define ALPHA_SIZE 256
#define ALPHA_BITS 8

unsigned long bitbuf;
size_t bufbits;
void write_bits(unsigned long c, size_t bits)
{
 bitbuf = ((bitbuf << bits) | (c & ((1 << bits) - 1)));
 bufbits += bits;
 while (bufbits >= ALPHA_BITS) {
  putchar(bitbuf >> (bufbits - ALPHA_BITS));
  bufbits -= ALPHA_BITS;
 }
}
void flush_bits()
{
 if (bufbits > 0)
  putchar(bitbuf << (ALPHA_BITS - bufbits));
 fflush(stdout);
}