#define NOMINMAX
#include <windows.h>
#include <winuser.h>
#ifdef USE_D3D9
#include <d3d9.h>
#include <D3dx9.h>
#endif
#ifdef USE_D3D10
#include <d3d10.h>
#include <d3dx10.h>
#endif
#ifdef USE_OPENGL
#include <gl\gl.h>
#include <gl\glu.h>
#endif
#include <math.h>
#include <memory.h>
#include <time.h>
#include <io.h>
#include <stdio.h>
#include <stdlib.h>
#include <iomanip>
#include <iostream>
#include <sstream>
#include <fstream>
#include <limits>
#include <map>
#include <queue>
#include <set>
#include <hash_map>
#include <hash_set>
#ifdef USE_TAUCS
extern "C" {
#include "Taucs.h"
};
#endif
#ifdef USE_ZLIB
#include "zlib.h"
#ifdef USE_PNG
#include "png.h"
#endif
#endif
#ifdef USE_SDL
#include "SDL\SDL_image.h"
#endif
using namespace std;
using namespace stdext;