#include <bits/stdc++.h>
using namespace std;
vector<string> data;
string res;
string trim(string s) {
  int i;
  char c;
  string out;
  for (i = 0; i < s.size(); i++)
    if (s[i] != ' ') {
      c = s[i];
      out += c;
    }
  if (0) printf("trim: %s\n", out.c_str());
  return out;
}
char findFirst(string s) {
  for (int i = 0; i < s.size(); i++)
    if (s[i] != ' ') return s[i];
}
void getNum() {
  int i, j;
  bool ps = true;
  for (i = 0; i < data.size(); i++) {
    if (0)
      if (data[i] == "") printf("null string\n");
    if (findFirst(data[i]) == '#') {
      if (!ps) res += '\n';
      res += (data[i]) + '\n';
      ps = true;
    } else {
      res += trim(data[i]);
      ps = false;
    }
  }
  if (ps && res[res.size() - 1] == '\n') res.erase(res.size() - 1, 1);
  printf("%s\n", res.c_str());
}
int main() {
  char c;
  string input;
  bool head = false;
  while ((c = getchar()) != EOF) {
    if (0) printf("%c", c);
    if (c == '\n') {
      data.push_back(input);
      input.clear();
    } else
      input += c;
  }
  getNum();
  return 0;
}
