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

#define ll long long
#define endl "\n"
#define sz(a) (ll)a.size()
#define deb(x) cerr<<#x<<' '<<x<<endl;
const long long mod = 1000000007;

void _a_b_c_d_e_f_g_h_i_j_k_l_m_n_o_p_q_r_s_t_u_v_w_x_y_z()
{
   ll n, k, q = 0, c = 0;
   string s;
   cin >> n;
   ll i = 0;
   while (++i)
      if (stoll(to_string(i) + to_string(i)) > n)
         return void(cout << i - 1);

}

int main()
{
   ios_base::sync_with_stdio(false);
   cin.tie(NULL);
   cout.tie(NULL);
   int t = 1;
   // cin >> t;         // Test Case :-||-: //
   // factorial();
   // SOE();
   while (t--)
   {
      _a_b_c_d_e_f_g_h_i_j_k_l_m_n_o_p_q_r_s_t_u_v_w_x_y_z();
   }
   return 0;
}
#include<bits/stdc++.h>
using namespace std;
#define REP(i,a,b) for(int i=a;i<b;i++)

int main(){
 	int n;
  cin>>n;
  bool flag=true;
  int i;
  unordered_map<int,int>dic;
	REP(i,0,n){
    	int ele;
      cin>>ele;
      if(ele>=1&&ele<=n){
        if(dic[ele]>=1)
          flag=false;
        dic[ele]++;
      }
      else flag=false;
    } 
  string ans="Yes";
  if(!flag)ans="No";
  cout<<ans<<endl;
  
  return 0;
}