You are given a string S.

Takahashi can insert the character `A` at any position in this string any number of times.

Can he change S into `AKIHABARA`?

Constraints

* 1 \leq |S| \leq 50
* S consists of uppercase English letters.

Input

Input is given from Standard Input in the following format:


S


Output

If it is possible to change S into `AKIHABARA`, print `YES`; otherwise, print `NO`.

Examples

Input

KIHBR


Output

YES


Input

AKIBAHARA


Output

NO


Input

AAKIAHBAARA


Output

NO
#include <bits/stdc++.h>
using namespace std;
#define MOD @
#define ADD(X,Y) ((X) = ((X) + (Y)) % MOD)
typedef long long i64; typedef vector<int> ivec; typedef vector<string> svec;

bool subs(char* a, char* b)
{
	int j = 0;
	for (int i = 0; a[i]; ++i) {
		while (a[i] != b[j]) {
			if (b[j] == 0) return false;
			++j;
		}
		++j;
	}
	return true;
}

int main()
{
	char S[55];
	scanf("%s", S);
	puts(subs("KIHBR", S) && subs(S, "AKIHABARA") ? "YES" : "NO");
	return 0;
}
