charbychar hard version
final version