#include <bits/stdc++.h>
const int MAX_LEN = 1010;
using namespace std;
template <typename U, typename V>
string to_string(pair<U, V>);
string to_string(const string& e_) { return "\"" + e_ + "\""; }
string to_string(char e_) { return "\'" + string(1, e_) + "\'"; }
string to_string(bool e_) { return e_ ? "true" : "false"; }
template <typename T>
string to_string(T e_) {
  string s_ = "[ ";
  for (const auto& x_ : e_) s_ += to_string(x_) + " ";
  return s_ + "]";
}
template <typename U, typename V>
string to_string(pair<U, V> e_) {
  return "(" + to_string(e_.first) + ", " + to_string(e_.second) + ")";
}
void dbg_str() { ; }
template <typename U, typename... V>
void dbg_str(U u, V... v) {
  ;
  dbg_str(v...);
}
int compx(string a, string b) {
  int cnt = 0;
  for (int i = 0; i < (int)a.length(); i++)
    if (a[i] != b[i]) cnt++;
  return cnt;
}
string s;
string t;
char sx[2010], tx[2010];
int main() {
  scanf("%s", sx);
  scanf("%s", tx);
  int ns = strlen(sx);
  int nt = strlen(tx);
  t = string(tx);
  string temp(nt - 1, 'X');
  s = temp;
  s += string(sx);
  s += temp;
  int ans = 1e5;
  for (int i = 0; i < ns + nt - 1; i++) {
    ans = min(ans, compx(s.substr(i, nt), t));
  }
  printf("%d\n", ans);
}
