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

ll dp[20202][256];

int main(){
    for(ll N, M; cin >> N >> M, N;){
        vector<ll>C(M), X(N);
        for(ll i = 0; i < M; i++)cin >> C[i];
        for(ll i = 0; i < N; i++)cin >> X[i];
        for(ll i = 0; i <= N; i++){
            for(ll j = 0; j < 256; j++)dp[i][j] = 1145141919;
        }
        dp[0][128] = 0;
        for(ll i = 0; i < N; i++){
            for(ll j = 0; j < 256; j++){
                if(dp[i][j] == 1145141919)continue;
                for(ll k = 0; k < M; k++){
                    ll nxt = j + C[k];
                    if(nxt < 0)nxt = 0;
                    if(nxt > 255)nxt = 255;
                    dp[i + 1][nxt] = min(dp[i + 1][nxt], dp[i][j] + (nxt - X[i])*(nxt - X[i]));
                }
            }
        }
        ll ans = dp[N][0];
        for(ll i = 0; i < 256; i++)ans = min(ans, dp[N][i]);
        cout << ans << endl;
    }
    return 0;
}

