#include <bits/stdc++.h>
using namespace std;
string tostr(int n) {
  stringstream rr;
  rr << n;
  return rr.str();
}
long long qpow(long long n, long long k) {
  long long ans = 1;
  while (k) {
    if (k & 1) ans = ans * n;
    n = n * n;
    k >>= 1;
  }
  return ans;
}
const int mod = 1e9 + 7;
const int mxn = 1e5 + 9;
const int eps = 1e-9;
int main() {
  ios_base::sync_with_stdio(false), cin.tie(NULL);
  int i, j, k, l, st;
  vector<char> v;
  string s, p;
  cin >> s;
  if (s[0] == '-')
    st = 1, cout << '(';
  else
    st = 0;
  cout << '$';
  p = s.substr(st);
  if (p.find('.') == -1)
    for (i = p.size() - 1; i >= 0; i--) {
      v.push_back(p[i]);
      if ((p.size() - i) % 3 == 0 && i != 0) v.push_back(',');
    }
  else
    for (i = p.find('.') - 1; i >= 0; i--) {
      v.push_back(p[i]);
      if ((p.find('.') - i) % 3 == 0 && i != 0) v.push_back(',');
    }
  reverse(v.begin(), v.end());
  for (auto c : v) cout << c;
  cout << '.';
  if (p.find('.') == -1)
    cout << "00";
  else {
    cout << p[p.find('.') + 1];
    if (p[p.find('.') + 2] != '\0')
      cout << p[p.find('.') + 2];
    else
      cout << "0";
  }
  if (st == 1) cout << ')';
  return 0;
}
