806 auto palindromes = set<unsigned int>();
807 if(a <= 2 && 2 <= b) {
808 palindromes.insert(2);
810 if(a <= 10 && b >= 0) {
811 for(
unsigned int d1 = 3; d1 <= 9; d1 += 2) {
813 unsigned int palindrome = d1;
814 if(a <= palindrome && palindrome <= b) {
815 palindromes.insert(palindrome);
819 if(a <= 100 && b >= 10) {
820 for(
unsigned int d1 = 1; d1 <= 9; d1 += 2) {
822 unsigned int palindrome = d1 * 10 + d1;
823 if(a <= palindrome && palindrome <= b) {
824 palindromes.insert(palindrome);
828 if(a <= 1000 && b >= 100) {
829 for(
unsigned int d1 = 1; d1 <= 9; d1 += 2) {
831 for(
unsigned int d2 = 0; d2 <= 9; d2++) {
832 unsigned int palindrome = d1 * 100 + d2 * 10 + d1;
833 if(a <= palindrome && palindrome <= b) {
834 palindromes.insert(palindrome);
839 if(a <= 10000 && b >= 1000) {
840 for(
unsigned int d1 = 1; d1 <= 9; d1 += 2) {
842 for(
unsigned int d2 = 0; d2 <= 9; d2++) {
843 unsigned int palindrome = d1 * 1000 + d2 * 100 + d2 * 10 + d1;
844 if(a <= palindrome && palindrome <= b) {
845 palindromes.insert(palindrome);
850 if(a <= 100000 && b >= 10000) {
851 for(
unsigned int d1 = 1; d1 <= 9; d1 += 2) {
853 for(
unsigned int d2 = 0; d2 <= 9; d2++) {
854 for(
unsigned int d3 = 0; d3 <= 9; d3++) {
855 unsigned int palindrome = d1 * 10000 + 1000 * d2 + 100 * d3 + 10 * d2 + d1;
856 if(a <= palindrome && palindrome <= b) {
857 palindromes.insert(palindrome);
863 if(a <= 1000000 && b >= 100000) {
864 for(
unsigned int d1 = 1; d1 <= 9; d1 += 2) {
866 for(
unsigned int d2 = 0; d2 <= 9; d2++) {
867 for(
unsigned int d3 = 0; d3 <= 9; d3++) {
868 unsigned int palindrome = d1 * 100000 + d2 * 10000 + d3 * 1000 + d3 * 100 + d2 * 10 + d1;
869 if(a <= palindrome && palindrome <= b) {
870 palindromes.insert(palindrome);
876 if(a <= 10000000 && b >= 1000000) {
877 for(
unsigned int d1 = 1; d1 <= 9; d1 += 2) {
879 for(
unsigned int d2 = 0; d2 <= 9; d2++) {
880 for(
unsigned int d3 = 0; d3 <= 9; d3++) {
881 for(
unsigned int d4 = 0; d4 <= 9; d4++) {
882 unsigned int palindrome = d1 * 1000000 + d2 * 100000 + d3 * 10000 + d4 * 1000 + d3 * 100 + d2 * 10 + d1;
883 if(a <= palindrome && palindrome <= b) {
884 palindromes.insert(palindrome);
891 if(a <= 100000000 && b >= 10000000) {
892 for(
unsigned int d1 = 1; d1 <= 9; d1 += 2) {
894 for(
unsigned int d2 = 0; d2 <= 9; d2++) {
895 for(
unsigned int d3 = 0; d3 <= 9; d3++) {
896 for(
unsigned int d4 = 0; d4 <= 9; d4++) {
897 unsigned int palindrome = d1 * 10000000 + d2 * 1000000 + d3 * 100000 + d4 * 10000 + d4 * 1000 + d3 * 100 + d2 * 10 + d1;
898 if(a <= palindrome && palindrome <= b) {
899 palindromes.insert(palindrome);
906 for(
const auto palindrome: palindromes) {
908 for(
unsigned int i = 3; i <= sqrt(palindrome); i++) {
909 if(palindrome % i == 0) {
915 cout << palindrome << endl;