#include <bits/stdc++.h>
using namespace std;
namespace input {
template <class T1, class T2>
void re(pair<T1, T2>& p);
template <class T>
void re(vector<T>& a);
template <class T>
void re(T& x) {
  cin >> x;
}
void re(double& x) {
  string t;
  re(t);
  x = stod(t);
}
template <class A, class... As>
void re(A& head, As&... tail) {
  re(head);
  re(tail...);
}
template <class T1, class T2>
void re(pair<T1, T2>& p) {
  re(p.first, p.second);
}
template <class T>
void re(vector<T>& a) {
  for (int i = 0; i < ((int)(a).size()); i++) re(a[i]);
}
}  // namespace input
using namespace input;
namespace output {
template <class T1, class T2>
void pr(const pair<T1, T2>& x);
template <class T>
void pr(const vector<T>& x);
template <class T>
void pr(const set<T>& x);
template <class T1, class T2>
void pr(const map<T1, T2>& x);
template <class T>
void pr(const T& x) {
  cout << fixed << setprecision(10) << x;
}
template <class A, class... As>
void pr(const A& head, const As&... tail) {
  pr(head);
  pr(tail...);
}
template <class T1, class T2>
void pr(const pair<T1, T2>& x) {
  pr("{", x.first, ", ", x.second, "}");
}
template <class T>
void prc(const T& x) {
  pr("{");
  bool first = 1;
  for (auto& a : x) pr(!first ? ", " : "", a), first = 0;
  pr("}");
}
template <class T>
void pr(const vector<T>& x) {
  prc(x);
}
template <class T>
void pr(const set<T>& x) {
  prc(x);
}
template <class T1, class T2>
void pr(const map<T1, T2>& x) {
  prc(x);
}
void ps() { pr("\n"); }
template <class A, class... As>
void ps(const A& head, const As&... tail) {
  pr(head, " ");
  ps(tail...);
}
}  // namespace output
using namespace output;
int main() {
  cin.tie(0);
  ios::sync_with_stdio(0);
  string p = "Bulbasr";
  int v[] = {1, 2, 1, 1, 2, 1, 1};
  map<char, int> needed;
  for (int i = 0; i < ((int)(p).size()); i++) needed[p[i]] = v[i];
  map<char, int> c;
  string a;
  re(a);
  for (auto& u : a) c[u]++;
  int ret = 1E6;
  for (auto& u : p) ret = min(ret, c[u] / needed[u]);
  ps(ret);
}
