#include <chrono>
#include <cmath>
#include <iomanip>
#include <iostream>
#include <sstream>

using namespace std;

int main() {
  istringstream timestamp("28.08.2017 03:59:55.0007");
  tm tmb;
  double r;

  timestamp >> get_time(&tmb, "%d.%m.%Y %T") >> r;

  const auto output = chrono::time_point_cast<chrono::microseconds>(chrono::system_clock::from_time_t(mktime(&tmb))) + chrono::microseconds(lround(r * micro::den));

  cout << output.time_since_epoch().count() << endl;
}