#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
typedef pair<ll,ll> pll;

ll inf=1e18;

int main() {
  while(1) {
    ll n,m;
    ll mx=255,mi=0;
    cin >> n >> m;
    if(n==0&&m==0) break;
    vector<ll> code(m);
    for(ll i=0;i<m;i++) {
      cin >> code[i];
    }
    vector<ll> a(n);
    for(ll i=0;i<n;i++) {
      cin >> a[i];
    }
    vector<vector<ll>> dp(n+1,vector<ll> (256,inf));
    dp[0][128]=0;
    for(ll i=0;i<n;i++) {
      for(ll j=0;j<256;j++) {
        for(ll k=0;k<m;k++) {
          ll temp=j+code[k];
          temp=max(mi,min(mx,temp));
          dp[i+1][temp]=min(dp[i+1][temp],dp[i][j]+(a[i]-temp)*(a[i]-temp));
        }
      }
    }
    ll ans=inf;
    for(ll i=0;i<256;i++) {
      ans=min(dp[n][i],ans);
    }
    cout << ans << endl;
  }
}
