import std.stdio;
import derelict.sdl2.sdl;
import derelict.sdl2.image;
import std.string;
import std.conv;
import std.exception;
static this()
{
DerelictSDL2.load();
DerelictSDL2Image.load();
}
void main()
{
enforce(SDL_Init(SDL_INIT_VIDEO) >= 0);
enforce(IMG_Init(IMG_INIT_PNG) & IMG_INIT_PNG);
auto input = readln().chomp();
auto img = IMG_Load(input.toStringz());
if(img is null)
writeln(IMG_GetError().to!string);
auto bs = cast(ubyte*)(img.pixels);
size_t bytes = bs[0] << 24 | bs[1] << 16 | bs[2] << 8 | bs[3];
File file = File("output.dat", "w");
file.rawWrite(img.pixels[4 .. bytes + 4]);
}