#include <iostream>
bool is_valid_positive_or_negative_integer(const std::string& s) {
if (s.empty()) return false;
size_t start = 0;
if (s[0] == '-' || s[0] == '+') {
if (s.size() == 1) return false;
start = 1;
}
for (size_t i = start; i < s.size(); ++i) {
if (!std::isdigit(s[i])) {
return false;
}
}
return true;
}
int main() {
std::cout << (is_valid_positive_or_negative_integer("123") ? "yes" : "no") << "\n";
std::cout << (is_valid_positive_or_negative_integer("+8492") ? "yes" : "no") << "\n";
std::cout << (is_valid_positive_or_negative_integer("-300") ? "yes" : "no") << "\n";
std::cout << (is_valid_positive_or_negative_integer("12W") ? "yes" : "no") << "\n";
}
/*
run:
yes
yes
yes
no
*/