#include <bits/stdc++.h>
using namespace std;
string s;
int n;
int dp[500004][2][2][3];
int rec(int i, int op, int en, int point) {
  if (i >= n) {
    if (op == 1 && en == 1 && point == 2) return 0;
    return -1e9;
  }
  int &ret = dp[i][op][en][point];
  if (ret != -1) return ret;
  ret = -1e9;
  if (op == 0) {
    if (s[i] == '[') ret = max(ret, rec(i + 1, 1, en, point) + 1);
    ret = max(ret, rec(i + 1, op, en, point));
  } else if (point == 0) {
    if (s[i] == ':') ret = max(ret, rec(i + 1, op, en, 1) + 1);
    ret = max(ret, rec(i + 1, op, en, point));
  } else if (point == 1) {
    if (s[i] == ':')
      ret = max(ret, rec(i + 1, op, en, 2) + 1);
    else if (s[i] == '|')
      ret = max(ret, rec(i + 1, op, en, point) + 1);
    ret = max(ret, rec(i + 1, op, en, point));
  } else if (point == 2 && en == 0) {
    if (s[i] == ']') ret = max(ret, rec(i + 1, op, 1, point) + 1);
    ret = max(ret, rec(i + 1, op, en, point));
  } else {
    ret = max(ret, rec(i + 1, op, en, point));
  }
  return ret;
}
int main() {
  cin >> s;
  n = s.length();
  memset(dp, -1, sizeof dp);
  int res = rec(0, 0, 0, 0);
  if (res <= 0) {
    cout << "-1";
  } else {
    cout << res;
  }
  return 0;
}
