# Monte Carlo simulation and Black Scholes give different results in my code

I am a student, so please don't judge me for stupid questions. I'm writing a code to valuate call option (based on random geometric Brownian motion) using Monte Carlo Simulation and Black Scholes Model, however, I am getting absolutely different results. Here is my code:

T=1;
n=100;
d=T/n;
N=1000;
S0=100;
mu=0.2;
s=0.1;
r=0.01;
K=105;
t=0:d:T;
W=zeros(N,n+1);

Z= randn(N,n);
W=cumsum([zeros(N,1) sqrt(d)*Z],2);
S=S0*exp((mu-0.5*s^2).*t+s*W);

payoffs=max(S(:,n+1)-K,0);
disc_payoffs=payoffs/exp(r*(T-t(1)));
MC=mean(disc_payoffs);

d1=(log(S0./K)+(r+0.5.*s^2).*(T-t(1)))/(s.*sqrt(T-t(1)));
d2=(log(S0./K)+(r-0.5.*s^2).*(T-t(1)))/(s.*sqrt(T-t(1)));
BS=S0.*normcdf(d1)-K.*exp(-r.*(T-t(1))).*normcdf(d2);


With MC my answer is around 17, but with BS is always 2 point something. Could you please help me to find the mistake?