#include <iostream>
#include <string>
#include <stdlib.h>
extern "C" {
    #include <md5.h>
}    


using namespace std;




int main(int argc, char *argv[])
{
    if (argc<2) {
        printf("USAGE: %s text");
        return (1);
    }    
    
    string in, out;
    unsigned int i;

    for (i=1; i<argc; ++i) {
        if (i-1) in += " ";
        in += argv[i];
    }    
    
    md5_hash_str_type hash;
    char* pstr = (char*)malloc(in.length());
    memcpy (pstr, in.c_str(), in.length());
    md5hash(pstr, in.length(), hash);
    free (pstr);
    for (i=0; i<32; ++i)
        out += (char)(hash[i]);
    cout << out << endl;
    return 0;
}
