int BigOrder64BitsMod3(uint8_t* data) {
  uint64_t ret = 0;
  for (int i = 0; i < 4; ++i) {
    uint32_t value;
    FX_GET_32WORD(value, data, 4 * i);
    ret <<= 32;
    ret |= value;
    ret %= 3;
  }
  return (int)ret;
}
int BigOrder64BitsMod3(FX_LPBYTE data)
{
    FX_UINT64 ret = 0;
    for (int i = 0; i < 4; ++i) {
        FX_DWORD value;
        FX_GET_32WORD(value, data, 4 * i);
        ret <<= 32;
        ret |= value;
        ret %= 3;
    }
    return (int)ret;
}