Panic is rising in the committee for doggo standardization — the puppies of the new brood have been born multi-colored! In total there are 26 possible colors of puppies in the nature and they are denoted by letters from 'a' to 'z' inclusive.

The committee rules strictly prohibit even the smallest diversity between doggos and hence all the puppies should be of the same color. Thus Slava, the committee employee, has been assigned the task to recolor some puppies into other colors in order to eliminate the difference and make all the puppies have one common color.

Unfortunately, due to bureaucratic reasons and restricted budget, there's only one operation Slava can perform: he can choose a color $x$ such that there are currently at least two puppies of color $x$ and recolor all puppies of the color $x$ into some arbitrary color $y$. Luckily, this operation can be applied multiple times (including zero).

For example, if the number of puppies is $7$ and their colors are represented as the string "abababc", then in one operation Slava can get the results "zbzbzbc", "bbbbbbc", "aaaaaac", "acacacc" and others. However, if the current color sequence is "abababc", then he can't choose $x$='c' right now, because currently only one puppy has the color 'c'.

Help Slava and the committee determine whether it is possible to standardize all the puppies, i.e. after Slava's operations all the puppies should have the same color.


-----Input-----

The first line contains a single integer $n$ ($1 \le n \le 10^5$) — the number of puppies.

The second line contains a string $s$ of length $n$ consisting of lowercase Latin letters, where the $i$-th symbol denotes the $i$-th puppy's color.


-----Output-----

If it's possible to recolor all puppies into one color, print "Yes".

Otherwise print "No".

Output the answer without quotation signs.


-----Examples-----
Input
6
aabddc

Output
Yes

Input
3
abc

Output
No

Input
3
jjj

Output
Yes



-----Note-----

In the first example Slava can perform the following steps:   take all puppies of color 'a' (a total of two) and recolor them into 'b';  take all puppies of color 'd' (a total of two) and recolor them into 'c';  take all puppies of color 'b' (three puppies for now) and recolor them into 'c'. 

In the second example it's impossible to recolor any of the puppies.

In the third example all the puppies' colors are the same; thus there's no need to recolor anything.

Difficulty: competition

Starter code:

Solutions:
import collections

n = int(input())
s = collections.Counter(input())
print('Yes' if n == 1 or max(s.values()) > 1 else 'No')


n = input()
s=  input()


if len(s) == 1:
    print("Yes")
else:
    if len(s) == len(set(s)):
        print("No")
    else:
        print("Yes")

n = int(input())
s = input()
a = [0] * 1000
for c in s:
    a[ord(c)] += 1
if max(a) > 1 or n == 1:
    print("Yes")
else:
    print("No")



#!/bin/python3
import sys
n = input()
a = input()

count = [0] * 26

diff = set(a)

for c in a:
	count[ord(c) - ord('a')] += 1

if len(diff) == 1:
	print("Yes")
else:
	for c in count:
		if c >= 2:
			print("Yes")
			return
	print("No")


n = int(input())
p = input()
d = {}
for c in p:
    if c in d:
        d[c] += 1
    else:
        d[c] = 1

if len(d) == 1:
    print("Yes")
else:
    for v in d.values():
        if v >= 2:
            print("Yes")
            return
    print("No")

n=int(input())
s=input()
if n==1:
    print("Yes")
    return
else:
    val=[0 for i in range(26)]
    for i in s:
        val[ord(i)-ord('a')]+=1
    k=max(val)
    if k>=2:
        print("Yes")
    else:
        print("No")

n = int(input())

cnt = [0] * 26

s = input()
for c in s:
    cnt[ord(c) - ord('a')] += 1

for u in cnt:
    if u > 1:
        print('Yes')
        return

if cnt.count(0) == 25:
    print('Yes')
else:
    print('No')


n = int(input())
s = input()
d = dict()
ans = 0
for i in s:
    if d.get(i) == None:
        d[i] = 1
    else:
        ans = 1
if ans == 1 or n == 1:
    print('Yes')
else:
    print('No')

def main():
    n = int(input())
    a = input()
    if n == 1:
        print('Yes')
        return
    c = [0]*300
    for i in a:
        if c[ord(i)] > 0:
            print('Yes')
            return
        c[ord(i)]+=1 
    print('No')
main()

from collections import Counter
n=int(input())
r=input()
if (n==1):
	print ("Yes")
	return
d=Counter(r)
for i in d:
	if (d[i]>=2):
		print ("Yes")
		return
print ("No")




3

n = int(input())
s = input()

if n == 1:
    print("Yes")
    return

was = set()
for c in s:
    if c in was:
        print("Yes")
        return
    was.add(c)


print("No")


n = int(input())
s = input().strip()

print(['Yes', 'No'][n > 1 and len(set(s)) == n])


n = int(input())
s = list(input())
if n == 1:
    print("Yes")
    return
for el in set(s):
    if s.count(el) >= 2:
        print("Yes")
        return
print("No")

n = int(input())
s = input()
num = [0] * 26
if n == 1:
    print('Yes')
else:
    for i in range(len(s)):
        num[ord(s[i]) - 97] += 1
    fl = False
    for i in range(26):
        if num[i] > 1:
            fl = True
            break
    if fl:
        print('Yes')
    else:
        print('No')

n = int(input())
if n == 1:
    print("Yes")
    return
arr = input()
was = [0 for i in range(100)]
for i in arr:
    j = ord(i) - ord('a')
    if was[j] == 1:
        print("Yes")
        return
    was[j] = 1
print('No')

import math as ma
from decimal import Decimal as dec
from itertools import permutations


def li():
	return list(map(int , input().split()))


# https://www.geeksforgeeks.org/multiplicative-inverse-under-modulo-m/
def modInverse(a , m):
	m0 = m
	y = 0
	x = 1
	if (m == 1):
		return 0
	while (a > 1):
		q = a // m
		t = m
		m = a % m
		a = t
		t = y
		y = x - q * y
		x = t
	if (x < 0):
		x = x + m0
	return x


def num():
	return map(int , input().split())


def nu():
	return int(input())


def find_gcd(x , y):
	while (y):
		x , y = y , x % y
	return x

n=nu()
s=input()
f=[0]*26
for i in range(n):
	x=ord(s[i])-97
	f[x]+=1
fl=False
for i in range(26):
	if(f[i]>=2):
		fl=True
if(n==1):
	fl=True
if(fl==True):
	print("Yes")
else:
	print("No")

from collections import Counter

n = int(input())
c = Counter(input())

flag = False
for char in c:
    if c[char] >= 2: flag = True

if n==1 or flag:
    print("Yes")
else:
    print("No")

n=int(input())
dict1={}
s=str(input())
flag=0
if(n==1):
    print("Yes")
else:
    for i in range(n):
        try:
            dict1[s[i]]+=1
            flag=1
        except:
            KeyError
            dict1[s[i]]=1
    if(flag==0):
        print("No")
    else:
        print("Yes")

n = int(input())
s = input()
c = [0] * 26
for i in s:
    c[ord(i) - ord('a')] += 1
c.sort(reverse = 1)
cur = 0
f = 1
for i in c:
    if i == 1:
        if cur <= 1:
            f = 0
            break
    cur += i
if n == 1: f = 1
print("Yes" if f else "No")

n = int(input())
s = input()
cnt = 0
for i in set(s):
    if s.count(i) != 1:
        cnt +=1

if cnt > 0 or len(s) == 1:
    print("Yes")
else:
    print("No")

n = int(input())
s = list(input())
if n == 1:
    print("Yes")
    return
for i in range(n):
    if s.count(s[i]) > 1:
        print("Yes")
        return
print("No")

3

def solve(N, S):
    cnt = [0] * 26
    for c in S:
        cnt[ord(c) - ord('a')] += 1

    colors = len([c for c in cnt if c > 0])

    if colors == 1:
        return True

    return max(cnt) >= 2


def main():
    N = int(input())
    S = input()
    print('Yes' if solve(N, S) else 'No')


def __starting_point():
    main()

__starting_point()