802 {
803 unsigned int a;
804 unsigned int b;
805 cin >> a >> b;
806 auto palindromes = set<unsigned int>();
807 if(a <= 2 && 2 <= b) {
808 palindromes.insert(2);
809 }
810 if(a <= 10 && b >= 0) {
811 for(unsigned int d1 = 3; d1 <= 9; d1 += 2) {
812
813 unsigned int palindrome = d1;
814 if(a <= palindrome && palindrome <= b) {
815 palindromes.insert(palindrome);
816 }
817 }
818 }
819 if(a <= 100 && b >= 10) {
820 for(unsigned int d1 = 1; d1 <= 9; d1 += 2) {
821
822 unsigned int palindrome = d1 * 10 + d1;
823 if(a <= palindrome && palindrome <= b) {
824 palindromes.insert(palindrome);
825 }
826 }
827 }
828 if(a <= 1000 && b >= 100) {
829 for(unsigned int d1 = 1; d1 <= 9; d1 += 2) {
830
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);
835 }
836 }
837 }
838 }
839 if(a <= 10000 && b >= 1000) {
840 for(unsigned int d1 = 1; d1 <= 9; d1 += 2) {
841
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);
846 }
847 }
848 }
849 }
850 if(a <= 100000 && b >= 10000) {
851 for(unsigned int d1 = 1; d1 <= 9; d1 += 2) {
852
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);
858 }
859 }
860 }
861 }
862 }
863 if(a <= 1000000 && b >= 100000) {
864 for(unsigned int d1 = 1; d1 <= 9; d1 += 2) {
865
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);
871 }
872 }
873 }
874 }
875 }
876 if(a <= 10000000 && b >= 1000000) {
877 for(unsigned int d1 = 1; d1 <= 9; d1 += 2) {
878
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);
885 }
886 }
887 }
888 }
889 }
890 }
891 if(a <= 100000000 && b >= 10000000) {
892 for(unsigned int d1 = 1; d1 <= 9; d1 += 2) {
893
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);
900 }
901 }
902 }
903 }
904 }
905 }
906 for(const auto palindrome: palindromes) {
908 for(unsigned int i = 3; i <= sqrt(palindrome); i++) {
909 if(palindrome % i == 0) {
911 break;
912 }
913 }
914 if(is_prime) {
915 cout << palindrome << endl;
916 }
917 }
918 return 0;
919 }