#include <bits/stdc++.h>
using namespace std;
map<string, bool> mymap;
int main() {
  int i, j, k, l, n, m, t, count, d, c = 0, g = 0;
  string str, st, su;
  cin >> str;
  l = str.size();
  if (str[0] == '-') {
    printf("($");
    for (i = 1; i < l; i++) {
      if (str[i] == '.') {
        break;
      }
      g = g + 1;
    }
    g = g % 3;
    if (g == 0) g = g + 3;
    for (i = 1; i < l; i++) {
      if (str[i] == '.') break;
      printf("%c", str[i]);
      if (i == g && str[i + 1] != '.' && i + 1 < l) {
        printf(",");
        g = g + 3;
      }
    }
    if (str[i] == '.') {
      printf(".");
      for (j = i + 1; j < l; j++) {
        c = c + 1;
        if (c > 2) break;
        printf("%c", str[j]);
      }
      c = c + 1;
      for (; c <= 2; c++) {
        printf("0");
      }
    } else {
      printf(".00");
    }
    printf(")\n");
  } else {
    printf("$");
    for (i = 0; i < l; i++) {
      if (str[i] == '.') {
        break;
      }
      g = g + 1;
    }
    g = g % 3;
    if (g == 0) g = g + 3;
    g = g - 1;
    for (i = 0; i < l; i++) {
      if (str[i] == '.') break;
      printf("%c", str[i]);
      if (i == g && i + 1 < l && str[i + 1] != '.') {
        printf(",");
        g = g + 3;
      }
    }
    if (str[i] == '.') {
      printf(".");
      for (j = i + 1; j < l; j++) {
        c = c + 1;
        if (c > 2) break;
        printf("%c", str[j]);
      }
      c = c + 1;
      for (; c <= 2; c++) {
        printf("0");
      }
    } else {
      printf(".00");
    }
  }
  return 0;
}
