#include <iostream>
bool isValid(const std::string& str)
{
if (str.size() != 10) return false;
return
(('a' <= str[0] && str[0] <= 'z') ||
('A' <= str[0] && str[0] <= 'Z')) &&
('0' <= str[1] && str[1] <= '9') &&
('0' <= str[2] && str[2] <= '9') &&
('0' <= str[3] && str[3] <= '9') &&
('0' <= str[4] && str[4] <= '9') &&
('0' <= str[5] && str[5] <= '9') &&
(str[6] == '-' && str[7] == '0' && str[8] == '0') &&
('0' <= str[9] && str[9] <= '9');
}
int main() {
std::cout << isValid("H12345-001") << std::endl; // good
std::cout << isValid("bad") << std::endl; // bad
std::cout << isValid("H12X45-001") << std::endl; // bad
}
I2luY2x1ZGUgPGlvc3RyZWFtPgoKYm9vbCBpc1ZhbGlkKGNvbnN0IHN0ZDo6c3RyaW5nJiBzdHIpCnsKICAgIGlmIChzdHIuc2l6ZSgpICE9IDEwKSByZXR1cm4gZmFsc2U7CiAgICByZXR1cm4KICAgICAgICAoKCdhJyA8PSBzdHJbMF0gJiYgc3RyWzBdIDw9ICd6JykgfHwKICAgICAgICAoJ0EnIDw9IHN0clswXSAmJiBzdHJbMF0gPD0gJ1onKSkgJiYKICAgICAgICAoJzAnIDw9IHN0clsxXSAmJiBzdHJbMV0gPD0gJzknKSAmJgogICAgICAgICgnMCcgPD0gc3RyWzJdICYmIHN0clsyXSA8PSAnOScpICYmCiAgICAgICAgKCcwJyA8PSBzdHJbM10gJiYgc3RyWzNdIDw9ICc5JykgJiYKICAgICAgICAoJzAnIDw9IHN0cls0XSAmJiBzdHJbNF0gPD0gJzknKSAmJgogICAgICAgICgnMCcgPD0gc3RyWzVdICYmIHN0cls1XSA8PSAnOScpICYmCiAgICAgICAgKHN0cls2XSA9PSAnLScgJiYgc3RyWzddID09ICcwJyAmJiBzdHJbOF0gPT0gJzAnKSAmJgogICAgICAgICgnMCcgPD0gc3RyWzldICYmIHN0cls5XSA8PSAnOScpOwp9CgppbnQgbWFpbigpIHsKCXN0ZDo6Y291dCA8PCBpc1ZhbGlkKCJIMTIzNDUtMDAxIikgPDwgc3RkOjplbmRsOyAvLyBnb29kCglzdGQ6OmNvdXQgPDwgaXNWYWxpZCgiYmFkIikgPDwgc3RkOjplbmRsOyAvLyBiYWQKCXN0ZDo6Y291dCA8PCBpc1ZhbGlkKCJIMTJYNDUtMDAxIikgPDwgc3RkOjplbmRsOyAvLyBiYWQKfQ==