diff --git a/README.md b/README.md
index 46fa81a..4839ae0 100644
--- a/README.md
+++ b/README.md
@@ -24,6 +24,7 @@
- google_gemma_3_12b_it: 71%
- meta_llama_llama_3_1_70b_instruct: 69%
- mistralai_mistral_small_3_1_24b_instruct: 67%
+- google_gemma_3_4b_it: 47%
- qwen_qwen2_5_vl_3b_instruct_free: 41%
- microsoft_phi_4_multimodal_instruct: 35%
- ollama_codellama: 31%
@@ -31,7 +32,6 @@
- ollama_llama3_2: 25%
- ollama_codellama_34b: 17%
- qwen_qwen3_235b_a22b: 14%
-- rekaai_reka_flash_3_free: 0%
## Возможности
diff --git a/config/models.yml b/config/models.yml
index 1fec6b6..2e30826 100644
--- a/config/models.yml
+++ b/config/models.yml
@@ -79,6 +79,12 @@ openrouter:
note: https://openrouter.ai/google/gemma-3-12b-it
done: true
+ google_gemma-3-4b-it:
+ name: google/gemma-3-4b-it
+ provider: openrouter.ai
+ note: https://openrouter.ai/google/gemma-3-4b-it
+ done: true
+
microsoft_phi-4-multimodal-instruct:
name: microsoft/phi-4-multimodal-instruct
provider: openrouter.ai
diff --git a/reports/human_eval_for_ruby_report_full.html b/reports/human_eval_for_ruby_report_full.html
index ff5b5f7..be2b805 100644
--- a/reports/human_eval_for_ruby_report_full.html
+++ b/reports/human_eval_for_ruby_report_full.html
@@ -64,7 +64,7 @@
Отчет о тестировании моделей
-Дата: 2025-07-05 16:39:34
+Дата: 2025-07-05 17:00:44
Результаты по моделям
@@ -87,6 +87,7 @@ Результаты по моделям
| google_gemma_3_12b_it | 71% |
| meta_llama_llama_3_1_70b_instruct | 69% |
| mistralai_mistral_small_3_1_24b_instruct | 67% |
+| google_gemma_3_4b_it | 47% |
| qwen_qwen2_5_vl_3b_instruct_free | 41% |
| microsoft_phi_4_multimodal_instruct | 35% |
| ollama_codellama | 31% |
@@ -105,6 +106,7 @@ Детальные результаты по задачам
google_gemini_flash_1_5 |
google_gemma_3_12b_it |
google_gemma_3_27b_it |
+google_gemma_3_4b_it |
inception_mercury_coder_small_beta |
meta_llama_llama_3_1_70b_instruct |
microsoft_phi_4_multimodal_instruct |
@@ -126,6 +128,7 @@ Детальные результаты по задачам
✓ |
✓ |
✓ |
+✗ |
✓ |
✓ |
✓ |
@@ -161,6 +164,7 @@ Детальные результаты по задачам
✗ |
✗ |
✗ |
+✗ |
✓ |
✗ |
✗ |
@@ -178,6 +182,7 @@ Детальные результаты по задачам
✓ |
✗ |
✗ |
+✗ |
✓ |
✗ |
✗ |
@@ -214,6 +219,7 @@ Детальные результаты по задачам
✗ |
✗ |
✗ |
+✗ |
✓ |
✗ |
✗ |
@@ -230,6 +236,7 @@ Детальные результаты по задачам
✓ |
✓ |
✓ |
+✓ |
✗ |
✓ |
✗ |
@@ -258,6 +265,7 @@ Детальные результаты по задачам
✓ |
✗ |
✓ |
+✓ |
✗ |
✗ |
✓ |
@@ -284,6 +292,7 @@ Детальные результаты по задачам
✗ |
✗ |
✗ |
+✗ |
✓ |
✗ |
✗ |
@@ -310,6 +319,7 @@ Детальные результаты по задачам
✓ |
✓ |
✓ |
+✓ |
✗ |
✓ |
✓ |
@@ -334,6 +344,7 @@ Детальные результаты по задачам
✗ |
✓ |
✓ |
+✗ |
✓ |
✓ |
✗ |
@@ -365,6 +376,7 @@ Детальные результаты по задачам
✓ |
✓ |
✓ |
+✓ |
✗ |
✗ |
✗ |
@@ -394,6 +406,7 @@ Детальные результаты по задачам
✓ |
✓ |
✓ |
+✓ |
✗ |
✓ |
✓ |
@@ -422,6 +435,7 @@ Детальные результаты по задачам
✗ |
✗ |
✗ |
+✗ |
✓ |
✗ |
✗ |
@@ -438,6 +452,7 @@ Детальные результаты по задачам
✓ |
✓ |
✓ |
+✗ |
✓ |
✓ |
✓ |
@@ -466,6 +481,7 @@ Детальные результаты по задачам
✓ |
✓ |
✓ |
+✓ |
✗ |
✗ |
✓ |
@@ -491,6 +507,7 @@ Детальные результаты по задачам
✓ |
✗ |
✓ |
+✗ |
✓ |
✓ |
✗ |
@@ -521,6 +538,7 @@ Детальные результаты по задачам
✗ |
✗ |
✗ |
+✗ |
✓ |
✗ |
✗ |
@@ -546,6 +564,7 @@ Детальные результаты по задачам
✗ |
✗ |
✗ |
+✗ |
✓ |
✓ |
✓ |
@@ -572,6 +591,7 @@ Детальные результаты по задачам
✗ |
✓ |
✓ |
+✓ |
✗ |
✗ |
✗ |
@@ -600,6 +620,7 @@ Детальные результаты по задачам
✓ |
✓ |
✓ |
+✓ |
✗ |
✓ |
✓ |
@@ -625,6 +646,7 @@ Детальные результаты по задачам
✓ |
✓ |
✓ |
+✓ |
✗ |
✓ |
✓ |
@@ -661,6 +683,7 @@ Детальные результаты по задачам
✗ |
✗ |
✗ |
+✗ |
✓ |
✗ |
✓ |
@@ -678,6 +701,7 @@ Детальные результаты по задачам
✓ |
✓ |
✓ |
+✓ |
✗ |
✗ |
✗ |
@@ -704,6 +728,7 @@ Детальные результаты по задачам
✗ |
✗ |
✗ |
+✗ |
✓ |
✗ |
✗ |
@@ -738,6 +763,7 @@ Детальные результаты по задачам
✗ |
✗ |
✗ |
+✗ |
✓ |
✗ |
✗ |
@@ -760,6 +786,7 @@ Детальные результаты по задачам
✓ |
✓ |
✓ |
+✓ |
✗ |
✓ |
✓ |
@@ -780,6 +807,7 @@ Детальные результаты по задачам
✓ |
✓ |
✓ |
+✓ |
✗ |
✗ |
✗ |
@@ -809,6 +837,7 @@ Детальные результаты по задачам
✓ |
✓ |
✓ |
+✓ |
✗ |
✓ |
✓ |
@@ -832,6 +861,7 @@ Детальные результаты по задачам
✗ |
✓ |
✗ |
+✗ |
✓ |
✗ |
✓ |
@@ -858,6 +888,7 @@ Детальные результаты по задачам
✓ |
✓ |
✓ |
+✓ |
✗ |
✓ |
✓ |
@@ -884,6 +915,7 @@ Детальные результаты по задачам
✗ |
✗ |
✗ |
+✗ |
✓ |
✗ |
✗ |
@@ -906,6 +938,7 @@ Детальные результаты по задачам
✗ |
✓ |
✓ |
+✗ |
✓ |
✗ |
✗ |
@@ -934,6 +967,7 @@ Детальные результаты по задачам
✓ |
✓ |
✓ |
+✓ |
✗ |
✓ |
✓ |
@@ -959,6 +993,7 @@ Детальные результаты по задачам
✓ |
✓ |
✓ |
+✓ |
✗ |
✓ |
✓ |
@@ -995,6 +1030,7 @@ Детальные результаты по задачам
✗ |
✗ |
✗ |
+✗ |
| t129 |
✗ |
@@ -1016,6 +1052,7 @@ Детальные результаты по задачам
✗ |
✗ |
✗ |
+✗ |
✓ |
✓ |
✗ |
@@ -1032,6 +1069,7 @@ Детальные результаты по задачам
✓ |
✓ |
✓ |
+✓ |
✗ |
✓ |
✗ |
@@ -1067,6 +1105,7 @@ Детальные результаты по задачам
✗ |
✗ |
✗ |
+✗ |
✓ |
✗ |
✗ |
@@ -1083,6 +1122,7 @@ Детальные результаты по задачам
✓ |
✓ |
✓ |
+✓ |
✗ |
✗ |
✓ |
@@ -1108,6 +1148,7 @@ Детальные результаты по задачам
✓ |
✗ |
✓ |
+✗ |
✓ |
✓ |
✗ |
@@ -1133,6 +1174,7 @@ Детальные результаты по задачам
✓ |
✓ |
✓ |
+✓ |
✗ |
✓ |
✗ |
@@ -1160,6 +1202,7 @@ Детальные результаты по задачам
✗ |
✓ |
✗ |
+✗ |
✓ |
✗ |
✓ |
@@ -1185,6 +1228,7 @@ Детальные результаты по задачам
✓ |
✗ |
✗ |
+✗ |
✓ |
✗ |
✗ |
@@ -1209,6 +1253,7 @@ Детальные результаты по задачам
✓ |
✓ |
✓ |
+✗ |
✓ |
✓ |
✓ |
@@ -1247,6 +1292,7 @@ Детальные результаты по задачам
✗ |
✗ |
✗ |
+✗ |
| t138 |
✓ |
@@ -1259,6 +1305,7 @@ Детальные результаты по задачам
✓ |
✓ |
✓ |
+✗ |
✓ |
✓ |
✓ |
@@ -1286,6 +1333,7 @@ Детальные результаты по задачам
✓ |
✓ |
✓ |
+✓ |
✗ |
✓ |
✗ |
@@ -1309,6 +1357,7 @@ Детальные результаты по задачам
✓ |
✓ |
✓ |
+✗ |
✓ |
✓ |
✗ |
@@ -1334,6 +1383,7 @@ Детальные результаты по задачам
✗ |
✗ |
✓ |
+✗ |
✓ |
✓ |
✗ |
@@ -1359,6 +1409,7 @@ Детальные результаты по задачам
✗ |
✗ |
✗ |
+✗ |
✓ |
✗ |
✗ |
@@ -1384,6 +1435,7 @@ Детальные результаты по задачам
✗ |
✗ |
✓ |
+✗ |
✓ |
✓ |
✓ |
@@ -1411,6 +1463,7 @@ Детальные результаты по задачам
✓ |
✓ |
✓ |
+✓ |
✗ |
✓ |
✓ |
@@ -1439,6 +1492,7 @@ Детальные результаты по задачам
✓ |
✓ |
✓ |
+✓ |
✗ |
✗ |
✗ |
@@ -1460,6 +1514,7 @@ Детальные результаты по задачам
✓ |
✓ |
✗ |
+✗ |
✓ |
✗ |
✓ |
@@ -1486,6 +1541,7 @@ Детальные результаты по задачам
✓ |
✗ |
✗ |
+✗ |
✓ |
✓ |
✓ |
@@ -1511,6 +1567,7 @@ Детальные результаты по задачам
✗ |
✓ |
✓ |
+✓ |
✗ |
✗ |
✗ |
@@ -1534,6 +1591,7 @@ Детальные результаты по задачам
✓ |
✓ |
✓ |
+✗ |
✓ |
✓ |
✗ |
@@ -1559,6 +1617,7 @@ Детальные результаты по задачам
✓ |
✓ |
✓ |
+✗ |
✓ |
✓ |
✓ |
@@ -1587,6 +1646,7 @@ Детальные результаты по задачам
✓ |
✓ |
✓ |
+✓ |
✗ |
✓ |
✓ |
@@ -1610,6 +1670,7 @@ Детальные результаты по задачам
✓ |
✓ |
✓ |
+✗ |
✓ |
✓ |
✗ |
@@ -1635,6 +1696,7 @@ Детальные результаты по задачам
✓ |
✓ |
✓ |
+✗ |
✓ |
✓ |
✗ |
@@ -1660,6 +1722,7 @@ Детальные результаты по задачам
✓ |
✗ |
✓ |
+✓ |
✗ |
✓ |
✓ |
@@ -1685,6 +1748,7 @@ Детальные результаты по задачам
✓ |
✗ |
✓ |
+✗ |
✓ |
✗ |
✓ |
@@ -1720,6 +1784,7 @@ Детальные результаты по задачам
✗ |
✗ |
✗ |
+✗ |
✓ |
✗ |
✗ |
@@ -1738,6 +1803,7 @@ Детальные результаты по задачам
✓ |
✓ |
✓ |
+✓ |
✗ |
✓ |
✗ |
@@ -1760,6 +1826,7 @@ Детальные результаты по задачам
✓ |
✗ |
✓ |
+✗ |
✓ |
✓ |
✗ |
@@ -1789,6 +1856,7 @@ Детальные результаты по задачам
✓ |
✓ |
✓ |
+✓ |
✗ |
✓ |
✓ |
@@ -1813,6 +1881,7 @@ Детальные результаты по задачам
✗ |
✗ |
✗ |
+✗ |
✓ |
✓ |
✓ |
@@ -1835,6 +1904,7 @@ Детальные результаты по задачам
✓ |
✓ |
✓ |
+✗ |
✓ |
✓ |
✓ |
@@ -1867,6 +1937,7 @@ Детальные результаты по задачам
✓ |
✓ |
✓ |
+✓ |
✗ |
✓ |
✓ |
@@ -1885,6 +1956,7 @@ Детальные результаты по задачам
✓ |
✓ |
✓ |
+✗ |
✓ |
✓ |
✓ |
@@ -1910,6 +1982,7 @@ Детальные результаты по задачам
✓ |
✓ |
✓ |
+✗ |
✓ |
✓ |
✓ |
@@ -1936,6 +2009,7 @@ Детальные результаты по задачам
✓ |
✓ |
✓ |
+✗ |
✓ |
✓ |
✓ |
@@ -1961,6 +2035,7 @@ Детальные результаты по задачам
✓ |
✓ |
✓ |
+✓ |
✗ |
✓ |
✗ |
@@ -1988,6 +2063,7 @@ Детальные результаты по задачам
✓ |
✓ |
✓ |
+✓ |
✗ |
✗ |
✓ |
@@ -2012,6 +2088,7 @@ Детальные результаты по задачам
✓ |
✓ |
✗ |
+✗ |
✓ |
✗ |
✗ |
@@ -2037,6 +2114,7 @@ Детальные результаты по задачам
✓ |
✗ |
✓ |
+✗ |
✓ |
✓ |
✗ |
@@ -2063,6 +2141,7 @@ Детальные результаты по задачам
✓ |
✓ |
✓ |
+✗ |
✓ |
✓ |
✓ |
@@ -2090,6 +2169,7 @@ Детальные результаты по задачам
✗ |
✓ |
✓ |
+✓ |
✗ |
✓ |
✓ |
@@ -2120,6 +2200,7 @@ Детальные результаты по задачам
✗ |
✗ |
✗ |
+✗ |
✓ |
✗ |
✗ |
@@ -2145,6 +2226,7 @@ Детальные результаты по задачам
✓ |
✓ |
✓ |
+✓ |
✗ |
✓ |
✓ |
@@ -2177,6 +2259,7 @@ Детальные результаты по задачам
✓ |
✓ |
✓ |
+✓ |
| t24 |
✓ |
@@ -2189,6 +2272,7 @@ Детальные результаты по задачам
✗ |
✗ |
✓ |
+✗ |
✓ |
✓ |
✗ |
@@ -2214,6 +2298,7 @@ Детальные результаты по задачам
✓ |
✓ |
✓ |
+✗ |
✓ |
✓ |
✗ |
@@ -2240,6 +2325,7 @@ Детальные результаты по задачам
✗ |
✓ |
✓ |
+✗ |
✓ |
✓ |
✗ |
@@ -2272,6 +2358,7 @@ Детальные результаты по задачам
✓ |
✓ |
✓ |
+✓ |
✗ |
✗ |
✓ |
@@ -2297,6 +2384,7 @@ Детальные результаты по задачам
✓ |
✓ |
✓ |
+✓ |
✗ |
✓ |
✓ |
@@ -2322,6 +2410,7 @@ Детальные результаты по задачам
✓ |
✓ |
✓ |
+✓ |
✗ |
✗ |
✓ |
@@ -2340,6 +2429,7 @@ Детальные результаты по задачам
✓ |
✓ |
✓ |
+✗ |
✓ |
✓ |
✓ |
@@ -2372,6 +2462,7 @@ Детальные результаты по задачам
✓ |
✓ |
✓ |
+✓ |
✗ |
✓ |
✓ |
@@ -2397,6 +2488,7 @@ Детальные результаты по задачам
✓ |
✓ |
✓ |
+✓ |
✗ |
✓ |
✓ |
@@ -2415,6 +2507,7 @@ Детальные результаты по задачам
✗ |
✗ |
✗ |
+✗ |
✓ |
✗ |
✗ |
@@ -2449,6 +2542,7 @@ Детальные результаты по задачам
✗ |
✗ |
✗ |
+✗ |
✓ |
✓ |
✗ |
@@ -2472,6 +2566,7 @@ Детальные результаты по задачам
✓ |
✓ |
✓ |
+✓ |
✗ |
✓ |
✓ |
@@ -2496,6 +2591,7 @@ Детальные результаты по задачам
✓ |
✓ |
✓ |
+✓ |
✗ |
✗ |
✗ |
@@ -2515,6 +2611,7 @@ Детальные результаты по задачам
✓ |
✗ |
✓ |
+✗ |
✓ |
✗ |
✗ |
@@ -2541,6 +2638,7 @@ Детальные результаты по задачам
✓ |
✗ |
✓ |
+✗ |
✓ |
✓ |
✓ |
@@ -2569,6 +2667,7 @@ Детальные результаты по задачам
✗ |
✗ |
✗ |
+✗ |
✓ |
✗ |
✗ |
@@ -2591,6 +2690,7 @@ Детальные результаты по задачам
✓ |
✓ |
✗ |
+✗ |
✓ |
✓ |
✓ |
@@ -2623,6 +2723,7 @@ Детальные результаты по задачам
✓ |
✓ |
✓ |
+✓ |
✗ |
✗ |
✓ |
@@ -2642,6 +2743,7 @@ Детальные результаты по задачам
✗ |
✓ |
✓ |
+✗ |
✓ |
✓ |
✓ |
@@ -2672,6 +2774,7 @@ Детальные результаты по задачам
✓ |
✓ |
✓ |
+✓ |
✗ |
✗ |
✗ |
@@ -2705,6 +2808,7 @@ Детальные результаты по задачам
✓ |
✓ |
✓ |
+✓ |
| t43 |
✓ |
@@ -2723,6 +2827,7 @@ Детальные результаты по задачам
✗ |
✗ |
✗ |
+✗ |
✓ |
✗ |
✗ |
@@ -2744,6 +2849,7 @@ Детальные результаты по задачам
✓ |
✓ |
✓ |
+✓ |
✗ |
✓ |
✓ |
@@ -2769,6 +2875,7 @@ Детальные результаты по задачам
✗ |
✗ |
✗ |
+✗ |
✓ |
✗ |
✓ |
@@ -2796,6 +2903,7 @@ Детальные результаты по задачам
✓ |
✓ |
✓ |
+✓ |
✗ |
✓ |
✗ |
@@ -2820,6 +2928,7 @@ Детальные результаты по задачам
✓ |
✗ |
✗ |
+✗ |
✓ |
✓ |
✗ |
@@ -2851,6 +2960,7 @@ Детальные результаты по задачам
✓ |
✓ |
✓ |
+✓ |
✗ |
✗ |
✓ |
@@ -2876,6 +2986,7 @@ Детальные результаты по задачам
✓ |
✓ |
✓ |
+✓ |
✗ |
✓ |
✗ |
@@ -2897,6 +3008,7 @@ Детальные результаты по задачам
✓ |
✓ |
✓ |
+✓ |
✗ |
✗ |
✓ |
@@ -2922,6 +3034,7 @@ Детальные результаты по задачам
✗ |
✓ |
✗ |
+✗ |
✓ |
✗ |
✓ |
@@ -2948,6 +3061,7 @@ Детальные результаты по задачам
✓ |
✓ |
✓ |
+✓ |
✗ |
✓ |
✓ |
@@ -2978,6 +3092,7 @@ Детальные результаты по задачам
✓ |
✓ |
✓ |
+✓ |
✗ |
✗ |
✓ |
@@ -3009,6 +3124,7 @@ Детальные результаты по задачам
✓ |
✓ |
✓ |
+✓ |
| t54 |
✓ |
@@ -3030,6 +3146,7 @@ Детальные результаты по задачам
✗ |
✗ |
✗ |
+✗ |
✓ |
✓ |
✓ |
@@ -3050,6 +3167,7 @@ Детальные результаты по задачам
✓ |
✓ |
✓ |
+✓ |
✗ |
✓ |
✓ |
@@ -3076,6 +3194,7 @@ Детальные результаты по задачам
✓ |
✓ |
✓ |
+✓ |
✗ |
✗ |
✗ |
@@ -3101,6 +3220,7 @@ Детальные результаты по задачам
✓ |
✓ |
✓ |
+✓ |
✗ |
✗ |
✗ |
@@ -3121,6 +3241,7 @@ Детальные результаты по задачам
✓ |
✓ |
✓ |
+✓ |
✗ |
✓ |
✗ |
@@ -3148,6 +3269,7 @@ Детальные результаты по задачам
✓ |
✓ |
✓ |
+✓ |
✗ |
✓ |
✗ |
@@ -3176,6 +3298,7 @@ Детальные результаты по задачам
✓ |
✓ |
✓ |
+✓ |
✗ |
✗ |
✗ |
@@ -3209,6 +3332,7 @@ Детальные результаты по задачам
✓ |
✓ |
✓ |
+✓ |
| t61 |
✓ |
@@ -3228,6 +3352,7 @@ Детальные результаты по задачам
✓ |
✓ |
✓ |
+✓ |
✗ |
✗ |
✓ |
@@ -3246,6 +3371,7 @@ Детальные результаты по задачам
✗ |
✓ |
✓ |
+✗ |
✓ |
✗ |
✗ |
@@ -3273,6 +3399,7 @@ Детальные результаты по задачам
✓ |
✓ |
✓ |
+✓ |
✗ |
✓ |
✓ |
@@ -3296,6 +3423,7 @@ Детальные результаты по задачам
✓ |
✓ |
✓ |
+✗ |
✓ |
✗ |
✗ |
@@ -3321,6 +3449,7 @@ Детальные результаты по задачам
✗ |
✓ |
✓ |
+✗ |
✓ |
✓ |
✗ |
@@ -3348,6 +3477,7 @@ Детальные результаты по задачам
✓ |
✓ |
✓ |
+✓ |
✗ |
✓ |
✓ |
@@ -3371,6 +3501,7 @@ Детальные результаты по задачам
✓ |
✗ |
✗ |
+✗ |
✓ |
✓ |
✗ |
@@ -3398,6 +3529,7 @@ Детальные результаты по задачам
✓ |
✓ |
✓ |
+✓ |
✗ |
✓ |
✓ |
@@ -3422,6 +3554,7 @@ Детальные результаты по задачам
✓ |
✓ |
✗ |
+✗ |
✓ |
✗ |
✓ |
@@ -3459,6 +3592,7 @@ Детальные результаты по задачам
✓ |
✓ |
✓ |
+✓ |
| t70 |
✗ |
@@ -3475,6 +3609,7 @@ Детальные результаты по задачам
✗ |
✗ |
✗ |
+✗ |
✓ |
✗ |
✗ |
@@ -3496,6 +3631,7 @@ Детальные результаты по задачам
✓ |
✓ |
✗ |
+✗ |
✓ |
✓ |
✗ |
@@ -3521,6 +3657,7 @@ Детальные результаты по задачам
✓ |
✓ |
✓ |
+✗ |
✓ |
✓ |
✓ |
@@ -3551,6 +3688,7 @@ Детальные результаты по задачам
✓ |
✓ |
✓ |
+✓ |
✗ |
✗ |
✗ |
@@ -3576,6 +3714,7 @@ Детальные результаты по задачам
✓ |
✓ |
✓ |
+✓ |
✗ |
✗ |
✗ |
@@ -3597,6 +3736,7 @@ Детальные результаты по задачам
✓ |
✓ |
✓ |
+✓ |
✗ |
✗ |
✗ |
@@ -3624,6 +3764,7 @@ Детальные результаты по задачам
✗ |
✗ |
✗ |
+✗ |
✓ |
✗ |
✗ |
@@ -3650,6 +3791,7 @@ Детальные результаты по задачам
✗ |
✗ |
✗ |
+✗ |
✓ |
✗ |
✗ |
@@ -3673,6 +3815,7 @@ Детальные результаты по задачам
✓ |
✓ |
✓ |
+✗ |
✓ |
✗ |
✗ |
@@ -3706,6 +3849,7 @@ Детальные результаты по задачам
✓ |
✓ |
✓ |
+✓ |
✗ |
✓ |
✓ |
@@ -3725,6 +3869,7 @@ Детальные результаты по задачам
✓ |
✓ |
✓ |
+✓ |
✗ |
✓ |
✓ |
@@ -3748,6 +3893,7 @@ Детальные результаты по задачам
✗ |
✗ |
✗ |
+✗ |
✓ |
✗ |
✗ |
@@ -3786,6 +3932,7 @@ Детальные результаты по задачам
✗ |
✗ |
✗ |
+✗ |
| t82 |
✓ |
@@ -3800,6 +3947,7 @@ Детальные результаты по задачам
✗ |
✓ |
✓ |
+✓ |
✗ |
✓ |
✓ |
@@ -3834,6 +3982,7 @@ Детальные результаты по задачам
✗ |
✗ |
✗ |
+✗ |
✓ |
✗ |
✓ |
@@ -3849,6 +3998,7 @@ Детальные результаты по задачам
✓ |
✓ |
✓ |
+✗ |
✓ |
✓ |
✗ |
@@ -3874,6 +4024,7 @@ Детальные результаты по задачам
✓ |
✓ |
✓ |
+✓ |
✗ |
✓ |
✓ |
@@ -3899,6 +4050,7 @@ Детальные результаты по задачам
✓ |
✓ |
✓ |
+✗ |
✓ |
✓ |
✗ |
@@ -3927,6 +4079,7 @@ Детальные результаты по задачам
✓ |
✓ |
✓ |
+✓ |
✗ |
✓ |
✓ |
@@ -3950,6 +4103,7 @@ Детальные результаты по задачам
✓ |
✓ |
✓ |
+✗ |
✓ |
✗ |
✗ |
@@ -3985,6 +4139,7 @@ Детальные результаты по задачам
✗ |
✗ |
✗ |
+✗ |
✓ |
✗ |
✗ |
@@ -4002,6 +4157,7 @@ Детальные результаты по задачам
✓ |
✓ |
✓ |
+✓ |
✗ |
✓ |
✓ |
@@ -4027,6 +4183,7 @@ Детальные результаты по задачам
✓ |
✓ |
✓ |
+✓ |
✗ |
✓ |
✓ |
@@ -4052,6 +4209,7 @@ Детальные результаты по задачам
✓ |
✓ |
✗ |
+✗ |
✓ |
✗ |
✓ |
@@ -4077,6 +4235,7 @@ Детальные результаты по задачам
✓ |
✓ |
✓ |
+✓ |
✗ |
✓ |
✓ |
@@ -4101,6 +4260,7 @@ Детальные результаты по задачам
✓ |
✗ |
✗ |
+✗ |
✓ |
✗ |
✗ |
@@ -4128,6 +4288,7 @@ Детальные результаты по задачам
✓ |
✓ |
✓ |
+✓ |
✗ |
✓ |
✓ |
@@ -4153,6 +4314,7 @@ Детальные результаты по задачам
✓ |
✓ |
✓ |
+✓ |
✗ |
✓ |
✓ |
@@ -4176,6 +4338,7 @@ Детальные результаты по задачам
✓ |
✓ |
✓ |
+✗ |
✓ |
✗ |
✗ |
@@ -4201,6 +4364,7 @@ Детальные результаты по задачам
✗ |
✓ |
✓ |
+✗ |
✓ |
✓ |
✗ |
@@ -4228,6 +4392,7 @@ Детальные результаты по задачам
✓ |
✓ |
✓ |
+✓ |
✗ |
✓ |
✓ |
@@ -4251,6 +4416,7 @@ Детальные результаты по задачам
✗ |
✓ |
✓ |
+✗ |
✓ |
✓ |
✗ |
diff --git a/reports/human_eval_for_ruby_report_total.html b/reports/human_eval_for_ruby_report_total.html
index 87d5c1e..cd0a8bd 100644
--- a/reports/human_eval_for_ruby_report_total.html
+++ b/reports/human_eval_for_ruby_report_total.html
@@ -64,7 +64,7 @@
Суммарный отчет о тестировании моделей
-Дата: 2025-07-05 16:39:34
+Дата: 2025-07-05 17:00:44
| Модель | Успешность |
@@ -86,6 +86,7 @@ Суммарный отчет о тестировании моделей
google_gemma_3_12b_it | 71% |
| meta_llama_llama_3_1_70b_instruct | 69% |
| mistralai_mistral_small_3_1_24b_instruct | 67% |
+| google_gemma_3_4b_it | 47% |
| qwen_qwen2_5_vl_3b_instruct_free | 41% |
| microsoft_phi_4_multimodal_instruct | 35% |
| ollama_codellama | 31% |
diff --git a/reports/test_results.json b/reports/test_results.json
index ee1d9b4..0e27d02 100644
--- a/reports/test_results.json
+++ b/reports/test_results.json
@@ -1,5 +1,5 @@
{
- "timestamp": "2025-07-05 16:39:34",
+ "timestamp": "2025-07-05 17:00:44",
"models": [
[
"google_gemini_2_0_flash_001",
@@ -73,6 +73,10 @@
"mistralai_mistral_small_3_1_24b_instruct",
67
],
+ [
+ "google_gemma_3_4b_it",
+ 47
+ ],
[
"qwen_qwen2_5_vl_3b_instruct_free",
41
@@ -110,6 +114,7 @@
"google_gemini_flash_1_5": true,
"google_gemma_3_12b_it": true,
"google_gemma_3_27b_it": true,
+ "google_gemma_3_4b_it": false,
"inception_mercury_coder_small_beta": true,
"meta_llama_llama_3_1_70b_instruct": true,
"microsoft_phi_4_multimodal_instruct": true,
@@ -135,6 +140,7 @@
"google_gemini_flash_1_5": false,
"google_gemma_3_12b_it": false,
"google_gemma_3_27b_it": false,
+ "google_gemma_3_4b_it": false,
"inception_mercury_coder_small_beta": false,
"meta_llama_llama_3_1_70b_instruct": false,
"microsoft_phi_4_multimodal_instruct": false,
@@ -162,6 +168,7 @@
"google_gemini_flash_1_5": true,
"google_gemma_3_12b_it": false,
"google_gemma_3_27b_it": false,
+ "google_gemma_3_4b_it": false,
"inception_mercury_coder_small_beta": true,
"meta_llama_llama_3_1_70b_instruct": false,
"microsoft_phi_4_multimodal_instruct": false,
@@ -188,6 +195,7 @@
"google_gemini_flash_1_5": false,
"google_gemma_3_12b_it": true,
"google_gemma_3_27b_it": false,
+ "google_gemma_3_4b_it": false,
"inception_mercury_coder_small_beta": false,
"meta_llama_llama_3_1_70b_instruct": false,
"microsoft_phi_4_multimodal_instruct": false,
@@ -214,6 +222,7 @@
"google_gemini_flash_1_5": true,
"google_gemma_3_12b_it": true,
"google_gemma_3_27b_it": true,
+ "google_gemma_3_4b_it": true,
"inception_mercury_coder_small_beta": false,
"meta_llama_llama_3_1_70b_instruct": true,
"microsoft_phi_4_multimodal_instruct": false,
@@ -241,6 +250,7 @@
"google_gemini_flash_1_5": true,
"google_gemma_3_12b_it": true,
"google_gemma_3_27b_it": false,
+ "google_gemma_3_4b_it": true,
"inception_mercury_coder_small_beta": true,
"meta_llama_llama_3_1_70b_instruct": false,
"microsoft_phi_4_multimodal_instruct": false,
@@ -267,6 +277,7 @@
"google_gemini_flash_1_5": false,
"google_gemma_3_12b_it": false,
"google_gemma_3_27b_it": false,
+ "google_gemma_3_4b_it": false,
"inception_mercury_coder_small_beta": false,
"meta_llama_llama_3_1_70b_instruct": true,
"microsoft_phi_4_multimodal_instruct": false,
@@ -292,6 +303,7 @@
"google_gemini_flash_1_5": true,
"google_gemma_3_12b_it": true,
"google_gemma_3_27b_it": true,
+ "google_gemma_3_4b_it": true,
"inception_mercury_coder_small_beta": true,
"meta_llama_llama_3_1_70b_instruct": true,
"microsoft_phi_4_multimodal_instruct": false,
@@ -318,6 +330,7 @@
"google_gemini_flash_1_5": false,
"google_gemma_3_12b_it": true,
"google_gemma_3_27b_it": true,
+ "google_gemma_3_4b_it": false,
"inception_mercury_coder_small_beta": true,
"meta_llama_llama_3_1_70b_instruct": true,
"microsoft_phi_4_multimodal_instruct": false,
@@ -344,6 +357,7 @@
"google_gemini_flash_1_5": true,
"google_gemma_3_12b_it": true,
"google_gemma_3_27b_it": true,
+ "google_gemma_3_4b_it": true,
"inception_mercury_coder_small_beta": true,
"meta_llama_llama_3_1_70b_instruct": true,
"microsoft_phi_4_multimodal_instruct": true,
@@ -370,6 +384,7 @@
"google_gemini_flash_1_5": true,
"google_gemma_3_12b_it": true,
"google_gemma_3_27b_it": true,
+ "google_gemma_3_4b_it": true,
"inception_mercury_coder_small_beta": true,
"meta_llama_llama_3_1_70b_instruct": true,
"microsoft_phi_4_multimodal_instruct": true,
@@ -396,6 +411,7 @@
"google_gemini_flash_1_5": false,
"google_gemma_3_12b_it": false,
"google_gemma_3_27b_it": false,
+ "google_gemma_3_4b_it": false,
"inception_mercury_coder_small_beta": false,
"meta_llama_llama_3_1_70b_instruct": false,
"microsoft_phi_4_multimodal_instruct": false,
@@ -422,6 +438,7 @@
"google_gemini_flash_1_5": true,
"google_gemma_3_12b_it": true,
"google_gemma_3_27b_it": true,
+ "google_gemma_3_4b_it": false,
"inception_mercury_coder_small_beta": true,
"meta_llama_llama_3_1_70b_instruct": true,
"microsoft_phi_4_multimodal_instruct": true,
@@ -449,6 +466,7 @@
"google_gemini_flash_1_5": true,
"google_gemma_3_12b_it": true,
"google_gemma_3_27b_it": true,
+ "google_gemma_3_4b_it": true,
"inception_mercury_coder_small_beta": true,
"meta_llama_llama_3_1_70b_instruct": false,
"microsoft_phi_4_multimodal_instruct": false,
@@ -475,6 +493,7 @@
"google_gemini_flash_1_5": true,
"google_gemma_3_12b_it": false,
"google_gemma_3_27b_it": true,
+ "google_gemma_3_4b_it": false,
"inception_mercury_coder_small_beta": true,
"meta_llama_llama_3_1_70b_instruct": true,
"microsoft_phi_4_multimodal_instruct": false,
@@ -501,6 +520,7 @@
"google_gemini_flash_1_5": false,
"google_gemma_3_12b_it": false,
"google_gemma_3_27b_it": true,
+ "google_gemma_3_4b_it": false,
"inception_mercury_coder_small_beta": false,
"meta_llama_llama_3_1_70b_instruct": false,
"microsoft_phi_4_multimodal_instruct": false,
@@ -528,6 +548,7 @@
"google_gemini_flash_1_5": true,
"google_gemma_3_12b_it": true,
"google_gemma_3_27b_it": false,
+ "google_gemma_3_4b_it": false,
"inception_mercury_coder_small_beta": false,
"meta_llama_llama_3_1_70b_instruct": false,
"microsoft_phi_4_multimodal_instruct": true,
@@ -555,6 +576,7 @@
"google_gemini_flash_1_5": true,
"google_gemma_3_12b_it": false,
"google_gemma_3_27b_it": true,
+ "google_gemma_3_4b_it": true,
"inception_mercury_coder_small_beta": true,
"meta_llama_llama_3_1_70b_instruct": false,
"microsoft_phi_4_multimodal_instruct": false,
@@ -582,6 +604,7 @@
"google_gemini_flash_1_5": false,
"google_gemma_3_12b_it": true,
"google_gemma_3_27b_it": true,
+ "google_gemma_3_4b_it": true,
"inception_mercury_coder_small_beta": true,
"meta_llama_llama_3_1_70b_instruct": true,
"microsoft_phi_4_multimodal_instruct": false,
@@ -608,6 +631,7 @@
"google_gemini_flash_1_5": true,
"google_gemma_3_12b_it": true,
"google_gemma_3_27b_it": true,
+ "google_gemma_3_4b_it": true,
"inception_mercury_coder_small_beta": true,
"meta_llama_llama_3_1_70b_instruct": false,
"microsoft_phi_4_multimodal_instruct": true,
@@ -635,6 +659,7 @@
"google_gemini_flash_1_5": true,
"google_gemma_3_12b_it": false,
"google_gemma_3_27b_it": false,
+ "google_gemma_3_4b_it": false,
"inception_mercury_coder_small_beta": false,
"meta_llama_llama_3_1_70b_instruct": false,
"microsoft_phi_4_multimodal_instruct": false,
@@ -660,6 +685,7 @@
"google_gemini_flash_1_5": true,
"google_gemma_3_12b_it": true,
"google_gemma_3_27b_it": true,
+ "google_gemma_3_4b_it": true,
"inception_mercury_coder_small_beta": true,
"meta_llama_llama_3_1_70b_instruct": true,
"microsoft_phi_4_multimodal_instruct": false,
@@ -685,6 +711,7 @@
"google_gemini_flash_1_5": false,
"google_gemma_3_12b_it": true,
"google_gemma_3_27b_it": false,
+ "google_gemma_3_4b_it": false,
"inception_mercury_coder_small_beta": false,
"meta_llama_llama_3_1_70b_instruct": false,
"microsoft_phi_4_multimodal_instruct": false,
@@ -711,6 +738,7 @@
"google_gemini_flash_1_5": true,
"google_gemma_3_12b_it": false,
"google_gemma_3_27b_it": false,
+ "google_gemma_3_4b_it": false,
"inception_mercury_coder_small_beta": false,
"meta_llama_llama_3_1_70b_instruct": false,
"microsoft_phi_4_multimodal_instruct": false,
@@ -737,6 +765,7 @@
"google_gemini_flash_1_5": true,
"google_gemma_3_12b_it": true,
"google_gemma_3_27b_it": true,
+ "google_gemma_3_4b_it": true,
"inception_mercury_coder_small_beta": true,
"meta_llama_llama_3_1_70b_instruct": true,
"microsoft_phi_4_multimodal_instruct": true,
@@ -763,6 +792,7 @@
"google_gemini_flash_1_5": false,
"google_gemma_3_12b_it": true,
"google_gemma_3_27b_it": true,
+ "google_gemma_3_4b_it": true,
"inception_mercury_coder_small_beta": true,
"meta_llama_llama_3_1_70b_instruct": false,
"microsoft_phi_4_multimodal_instruct": false,
@@ -789,6 +819,7 @@
"google_gemini_flash_1_5": true,
"google_gemma_3_12b_it": true,
"google_gemma_3_27b_it": true,
+ "google_gemma_3_4b_it": true,
"inception_mercury_coder_small_beta": true,
"meta_llama_llama_3_1_70b_instruct": true,
"microsoft_phi_4_multimodal_instruct": true,
@@ -815,6 +846,7 @@
"google_gemini_flash_1_5": true,
"google_gemma_3_12b_it": false,
"google_gemma_3_27b_it": true,
+ "google_gemma_3_4b_it": false,
"inception_mercury_coder_small_beta": false,
"meta_llama_llama_3_1_70b_instruct": true,
"microsoft_phi_4_multimodal_instruct": false,
@@ -840,6 +872,7 @@
"google_gemini_flash_1_5": true,
"google_gemma_3_12b_it": true,
"google_gemma_3_27b_it": true,
+ "google_gemma_3_4b_it": true,
"inception_mercury_coder_small_beta": true,
"meta_llama_llama_3_1_70b_instruct": true,
"microsoft_phi_4_multimodal_instruct": false,
@@ -865,6 +898,7 @@
"google_gemini_flash_1_5": true,
"google_gemma_3_12b_it": false,
"google_gemma_3_27b_it": false,
+ "google_gemma_3_4b_it": false,
"inception_mercury_coder_small_beta": false,
"meta_llama_llama_3_1_70b_instruct": false,
"microsoft_phi_4_multimodal_instruct": false,
@@ -890,6 +924,7 @@
"google_gemini_flash_1_5": false,
"google_gemma_3_12b_it": true,
"google_gemma_3_27b_it": true,
+ "google_gemma_3_4b_it": false,
"inception_mercury_coder_small_beta": true,
"meta_llama_llama_3_1_70b_instruct": false,
"microsoft_phi_4_multimodal_instruct": false,
@@ -916,6 +951,7 @@
"google_gemini_flash_1_5": true,
"google_gemma_3_12b_it": true,
"google_gemma_3_27b_it": true,
+ "google_gemma_3_4b_it": true,
"inception_mercury_coder_small_beta": true,
"meta_llama_llama_3_1_70b_instruct": true,
"microsoft_phi_4_multimodal_instruct": false,
@@ -941,6 +977,7 @@
"google_gemini_flash_1_5": true,
"google_gemma_3_12b_it": true,
"google_gemma_3_27b_it": true,
+ "google_gemma_3_4b_it": true,
"inception_mercury_coder_small_beta": true,
"meta_llama_llama_3_1_70b_instruct": true,
"microsoft_phi_4_multimodal_instruct": false,
@@ -966,6 +1003,7 @@
"google_gemini_flash_1_5": false,
"google_gemma_3_12b_it": false,
"google_gemma_3_27b_it": false,
+ "google_gemma_3_4b_it": false,
"inception_mercury_coder_small_beta": false,
"meta_llama_llama_3_1_70b_instruct": false,
"microsoft_phi_4_multimodal_instruct": false,
@@ -991,6 +1029,7 @@
"google_gemini_flash_1_5": false,
"google_gemma_3_12b_it": false,
"google_gemma_3_27b_it": false,
+ "google_gemma_3_4b_it": false,
"inception_mercury_coder_small_beta": false,
"meta_llama_llama_3_1_70b_instruct": false,
"microsoft_phi_4_multimodal_instruct": false,
@@ -1016,6 +1055,7 @@
"google_gemini_flash_1_5": true,
"google_gemma_3_12b_it": true,
"google_gemma_3_27b_it": true,
+ "google_gemma_3_4b_it": true,
"inception_mercury_coder_small_beta": false,
"meta_llama_llama_3_1_70b_instruct": true,
"microsoft_phi_4_multimodal_instruct": false,
@@ -1041,6 +1081,7 @@
"google_gemini_flash_1_5": true,
"google_gemma_3_12b_it": false,
"google_gemma_3_27b_it": false,
+ "google_gemma_3_4b_it": false,
"inception_mercury_coder_small_beta": false,
"meta_llama_llama_3_1_70b_instruct": false,
"microsoft_phi_4_multimodal_instruct": false,
@@ -1066,6 +1107,7 @@
"google_gemini_flash_1_5": true,
"google_gemma_3_12b_it": true,
"google_gemma_3_27b_it": true,
+ "google_gemma_3_4b_it": true,
"inception_mercury_coder_small_beta": true,
"meta_llama_llama_3_1_70b_instruct": false,
"microsoft_phi_4_multimodal_instruct": false,
@@ -1092,6 +1134,7 @@
"google_gemini_flash_1_5": true,
"google_gemma_3_12b_it": false,
"google_gemma_3_27b_it": true,
+ "google_gemma_3_4b_it": false,
"inception_mercury_coder_small_beta": true,
"meta_llama_llama_3_1_70b_instruct": true,
"microsoft_phi_4_multimodal_instruct": false,
@@ -1117,6 +1160,7 @@
"google_gemini_flash_1_5": true,
"google_gemma_3_12b_it": true,
"google_gemma_3_27b_it": true,
+ "google_gemma_3_4b_it": true,
"inception_mercury_coder_small_beta": false,
"meta_llama_llama_3_1_70b_instruct": true,
"microsoft_phi_4_multimodal_instruct": false,
@@ -1143,6 +1187,7 @@
"google_gemini_flash_1_5": false,
"google_gemma_3_12b_it": false,
"google_gemma_3_27b_it": true,
+ "google_gemma_3_4b_it": false,
"inception_mercury_coder_small_beta": false,
"meta_llama_llama_3_1_70b_instruct": true,
"microsoft_phi_4_multimodal_instruct": false,
@@ -1168,6 +1213,7 @@
"google_gemini_flash_1_5": false,
"google_gemma_3_12b_it": true,
"google_gemma_3_27b_it": false,
+ "google_gemma_3_4b_it": false,
"inception_mercury_coder_small_beta": false,
"meta_llama_llama_3_1_70b_instruct": true,
"microsoft_phi_4_multimodal_instruct": false,
@@ -1193,6 +1239,7 @@
"google_gemini_flash_1_5": true,
"google_gemma_3_12b_it": true,
"google_gemma_3_27b_it": true,
+ "google_gemma_3_4b_it": false,
"inception_mercury_coder_small_beta": true,
"meta_llama_llama_3_1_70b_instruct": true,
"microsoft_phi_4_multimodal_instruct": true,
@@ -1218,6 +1265,7 @@
"google_gemini_flash_1_5": false,
"google_gemma_3_12b_it": false,
"google_gemma_3_27b_it": false,
+ "google_gemma_3_4b_it": false,
"inception_mercury_coder_small_beta": false,
"meta_llama_llama_3_1_70b_instruct": false,
"microsoft_phi_4_multimodal_instruct": false,
@@ -1243,6 +1291,7 @@
"google_gemini_flash_1_5": true,
"google_gemma_3_12b_it": true,
"google_gemma_3_27b_it": true,
+ "google_gemma_3_4b_it": false,
"inception_mercury_coder_small_beta": true,
"meta_llama_llama_3_1_70b_instruct": true,
"microsoft_phi_4_multimodal_instruct": true,
@@ -1268,6 +1317,7 @@
"google_gemini_flash_1_5": true,
"google_gemma_3_12b_it": true,
"google_gemma_3_27b_it": true,
+ "google_gemma_3_4b_it": true,
"inception_mercury_coder_small_beta": true,
"meta_llama_llama_3_1_70b_instruct": true,
"microsoft_phi_4_multimodal_instruct": false,
@@ -1293,6 +1343,7 @@
"google_gemini_flash_1_5": true,
"google_gemma_3_12b_it": true,
"google_gemma_3_27b_it": true,
+ "google_gemma_3_4b_it": false,
"inception_mercury_coder_small_beta": true,
"meta_llama_llama_3_1_70b_instruct": true,
"microsoft_phi_4_multimodal_instruct": false,
@@ -1318,6 +1369,7 @@
"google_gemini_flash_1_5": false,
"google_gemma_3_12b_it": false,
"google_gemma_3_27b_it": true,
+ "google_gemma_3_4b_it": false,
"inception_mercury_coder_small_beta": true,
"meta_llama_llama_3_1_70b_instruct": true,
"microsoft_phi_4_multimodal_instruct": false,
@@ -1343,6 +1395,7 @@
"google_gemini_flash_1_5": false,
"google_gemma_3_12b_it": false,
"google_gemma_3_27b_it": false,
+ "google_gemma_3_4b_it": false,
"inception_mercury_coder_small_beta": true,
"meta_llama_llama_3_1_70b_instruct": false,
"microsoft_phi_4_multimodal_instruct": false,
@@ -1368,6 +1421,7 @@
"google_gemini_flash_1_5": false,
"google_gemma_3_12b_it": false,
"google_gemma_3_27b_it": true,
+ "google_gemma_3_4b_it": false,
"inception_mercury_coder_small_beta": true,
"meta_llama_llama_3_1_70b_instruct": true,
"microsoft_phi_4_multimodal_instruct": true,
@@ -1393,6 +1447,7 @@
"google_gemini_flash_1_5": true,
"google_gemma_3_12b_it": true,
"google_gemma_3_27b_it": true,
+ "google_gemma_3_4b_it": true,
"inception_mercury_coder_small_beta": true,
"meta_llama_llama_3_1_70b_instruct": true,
"microsoft_phi_4_multimodal_instruct": false,
@@ -1418,6 +1473,7 @@
"google_gemini_flash_1_5": true,
"google_gemma_3_12b_it": true,
"google_gemma_3_27b_it": true,
+ "google_gemma_3_4b_it": true,
"inception_mercury_coder_small_beta": true,
"meta_llama_llama_3_1_70b_instruct": true,
"microsoft_phi_4_multimodal_instruct": true,
@@ -1443,6 +1499,7 @@
"google_gemini_flash_1_5": true,
"google_gemma_3_12b_it": true,
"google_gemma_3_27b_it": true,
+ "google_gemma_3_4b_it": false,
"inception_mercury_coder_small_beta": false,
"meta_llama_llama_3_1_70b_instruct": true,
"microsoft_phi_4_multimodal_instruct": false,
@@ -1468,6 +1525,7 @@
"google_gemini_flash_1_5": true,
"google_gemma_3_12b_it": true,
"google_gemma_3_27b_it": true,
+ "google_gemma_3_4b_it": false,
"inception_mercury_coder_small_beta": false,
"meta_llama_llama_3_1_70b_instruct": false,
"microsoft_phi_4_multimodal_instruct": true,
@@ -1493,6 +1551,7 @@
"google_gemini_flash_1_5": false,
"google_gemma_3_12b_it": true,
"google_gemma_3_27b_it": false,
+ "google_gemma_3_4b_it": true,
"inception_mercury_coder_small_beta": true,
"meta_llama_llama_3_1_70b_instruct": true,
"microsoft_phi_4_multimodal_instruct": false,
@@ -1518,6 +1577,7 @@
"google_gemini_flash_1_5": true,
"google_gemma_3_12b_it": true,
"google_gemma_3_27b_it": true,
+ "google_gemma_3_4b_it": false,
"inception_mercury_coder_small_beta": true,
"meta_llama_llama_3_1_70b_instruct": true,
"microsoft_phi_4_multimodal_instruct": false,
@@ -1543,6 +1603,7 @@
"google_gemini_flash_1_5": true,
"google_gemma_3_12b_it": true,
"google_gemma_3_27b_it": true,
+ "google_gemma_3_4b_it": false,
"inception_mercury_coder_small_beta": true,
"meta_llama_llama_3_1_70b_instruct": true,
"microsoft_phi_4_multimodal_instruct": true,
@@ -1569,6 +1630,7 @@
"google_gemini_flash_1_5": true,
"google_gemma_3_12b_it": true,
"google_gemma_3_27b_it": true,
+ "google_gemma_3_4b_it": true,
"inception_mercury_coder_small_beta": true,
"meta_llama_llama_3_1_70b_instruct": true,
"microsoft_phi_4_multimodal_instruct": false,
@@ -1594,6 +1656,7 @@
"google_gemini_flash_1_5": true,
"google_gemma_3_12b_it": true,
"google_gemma_3_27b_it": true,
+ "google_gemma_3_4b_it": false,
"inception_mercury_coder_small_beta": true,
"meta_llama_llama_3_1_70b_instruct": true,
"microsoft_phi_4_multimodal_instruct": false,
@@ -1619,6 +1682,7 @@
"google_gemini_flash_1_5": true,
"google_gemma_3_12b_it": true,
"google_gemma_3_27b_it": true,
+ "google_gemma_3_4b_it": false,
"inception_mercury_coder_small_beta": true,
"meta_llama_llama_3_1_70b_instruct": true,
"microsoft_phi_4_multimodal_instruct": false,
@@ -1644,6 +1708,7 @@
"google_gemini_flash_1_5": true,
"google_gemma_3_12b_it": false,
"google_gemma_3_27b_it": true,
+ "google_gemma_3_4b_it": true,
"inception_mercury_coder_small_beta": false,
"meta_llama_llama_3_1_70b_instruct": true,
"microsoft_phi_4_multimodal_instruct": true,
@@ -1669,6 +1734,7 @@
"google_gemini_flash_1_5": true,
"google_gemma_3_12b_it": false,
"google_gemma_3_27b_it": true,
+ "google_gemma_3_4b_it": false,
"inception_mercury_coder_small_beta": true,
"meta_llama_llama_3_1_70b_instruct": false,
"microsoft_phi_4_multimodal_instruct": true,
@@ -1694,6 +1760,7 @@
"google_gemini_flash_1_5": true,
"google_gemma_3_12b_it": false,
"google_gemma_3_27b_it": false,
+ "google_gemma_3_4b_it": false,
"inception_mercury_coder_small_beta": false,
"meta_llama_llama_3_1_70b_instruct": false,
"microsoft_phi_4_multimodal_instruct": false,
@@ -1719,6 +1786,7 @@
"google_gemini_flash_1_5": true,
"google_gemma_3_12b_it": false,
"google_gemma_3_27b_it": true,
+ "google_gemma_3_4b_it": true,
"inception_mercury_coder_small_beta": true,
"meta_llama_llama_3_1_70b_instruct": true,
"microsoft_phi_4_multimodal_instruct": true,
@@ -1744,6 +1812,7 @@
"google_gemini_flash_1_5": true,
"google_gemma_3_12b_it": false,
"google_gemma_3_27b_it": true,
+ "google_gemma_3_4b_it": false,
"inception_mercury_coder_small_beta": true,
"meta_llama_llama_3_1_70b_instruct": true,
"microsoft_phi_4_multimodal_instruct": false,
@@ -1769,6 +1838,7 @@
"google_gemini_flash_1_5": true,
"google_gemma_3_12b_it": true,
"google_gemma_3_27b_it": true,
+ "google_gemma_3_4b_it": true,
"inception_mercury_coder_small_beta": true,
"meta_llama_llama_3_1_70b_instruct": true,
"microsoft_phi_4_multimodal_instruct": true,
@@ -1794,6 +1864,7 @@
"google_gemini_flash_1_5": true,
"google_gemma_3_12b_it": true,
"google_gemma_3_27b_it": true,
+ "google_gemma_3_4b_it": false,
"inception_mercury_coder_small_beta": false,
"meta_llama_llama_3_1_70b_instruct": false,
"microsoft_phi_4_multimodal_instruct": false,
@@ -1819,6 +1890,7 @@
"google_gemini_flash_1_5": true,
"google_gemma_3_12b_it": true,
"google_gemma_3_27b_it": true,
+ "google_gemma_3_4b_it": false,
"inception_mercury_coder_small_beta": true,
"meta_llama_llama_3_1_70b_instruct": true,
"microsoft_phi_4_multimodal_instruct": true,
@@ -1844,6 +1916,7 @@
"google_gemini_flash_1_5": true,
"google_gemma_3_12b_it": true,
"google_gemma_3_27b_it": true,
+ "google_gemma_3_4b_it": true,
"inception_mercury_coder_small_beta": true,
"meta_llama_llama_3_1_70b_instruct": true,
"microsoft_phi_4_multimodal_instruct": true,
@@ -1869,6 +1942,7 @@
"google_gemini_flash_1_5": true,
"google_gemma_3_12b_it": true,
"google_gemma_3_27b_it": true,
+ "google_gemma_3_4b_it": false,
"inception_mercury_coder_small_beta": true,
"meta_llama_llama_3_1_70b_instruct": true,
"microsoft_phi_4_multimodal_instruct": true,
@@ -1894,6 +1968,7 @@
"google_gemini_flash_1_5": true,
"google_gemma_3_12b_it": true,
"google_gemma_3_27b_it": true,
+ "google_gemma_3_4b_it": false,
"inception_mercury_coder_small_beta": true,
"meta_llama_llama_3_1_70b_instruct": true,
"microsoft_phi_4_multimodal_instruct": true,
@@ -1920,6 +1995,7 @@
"google_gemini_flash_1_5": true,
"google_gemma_3_12b_it": true,
"google_gemma_3_27b_it": true,
+ "google_gemma_3_4b_it": false,
"inception_mercury_coder_small_beta": true,
"meta_llama_llama_3_1_70b_instruct": true,
"microsoft_phi_4_multimodal_instruct": true,
@@ -1945,6 +2021,7 @@
"google_gemini_flash_1_5": true,
"google_gemma_3_12b_it": true,
"google_gemma_3_27b_it": true,
+ "google_gemma_3_4b_it": true,
"inception_mercury_coder_small_beta": false,
"meta_llama_llama_3_1_70b_instruct": true,
"microsoft_phi_4_multimodal_instruct": false,
@@ -1971,6 +2048,7 @@
"google_gemini_flash_1_5": true,
"google_gemma_3_12b_it": true,
"google_gemma_3_27b_it": true,
+ "google_gemma_3_4b_it": true,
"inception_mercury_coder_small_beta": true,
"meta_llama_llama_3_1_70b_instruct": false,
"microsoft_phi_4_multimodal_instruct": false,
@@ -1996,6 +2074,7 @@
"google_gemini_flash_1_5": true,
"google_gemma_3_12b_it": true,
"google_gemma_3_27b_it": false,
+ "google_gemma_3_4b_it": false,
"inception_mercury_coder_small_beta": true,
"meta_llama_llama_3_1_70b_instruct": false,
"microsoft_phi_4_multimodal_instruct": false,
@@ -2021,6 +2100,7 @@
"google_gemini_flash_1_5": true,
"google_gemma_3_12b_it": false,
"google_gemma_3_27b_it": true,
+ "google_gemma_3_4b_it": false,
"inception_mercury_coder_small_beta": true,
"meta_llama_llama_3_1_70b_instruct": true,
"microsoft_phi_4_multimodal_instruct": false,
@@ -2047,6 +2127,7 @@
"google_gemini_flash_1_5": true,
"google_gemma_3_12b_it": true,
"google_gemma_3_27b_it": true,
+ "google_gemma_3_4b_it": false,
"inception_mercury_coder_small_beta": true,
"meta_llama_llama_3_1_70b_instruct": true,
"microsoft_phi_4_multimodal_instruct": true,
@@ -2072,6 +2153,7 @@
"google_gemini_flash_1_5": false,
"google_gemma_3_12b_it": true,
"google_gemma_3_27b_it": false,
+ "google_gemma_3_4b_it": true,
"inception_mercury_coder_small_beta": true,
"meta_llama_llama_3_1_70b_instruct": true,
"microsoft_phi_4_multimodal_instruct": false,
@@ -2097,6 +2179,7 @@
"google_gemini_flash_1_5": false,
"google_gemma_3_12b_it": false,
"google_gemma_3_27b_it": true,
+ "google_gemma_3_4b_it": false,
"inception_mercury_coder_small_beta": false,
"meta_llama_llama_3_1_70b_instruct": false,
"microsoft_phi_4_multimodal_instruct": false,
@@ -2123,6 +2206,7 @@
"google_gemini_flash_1_5": true,
"google_gemma_3_12b_it": true,
"google_gemma_3_27b_it": true,
+ "google_gemma_3_4b_it": true,
"inception_mercury_coder_small_beta": true,
"meta_llama_llama_3_1_70b_instruct": true,
"microsoft_phi_4_multimodal_instruct": true,
@@ -2148,6 +2232,7 @@
"google_gemini_flash_1_5": true,
"google_gemma_3_12b_it": true,
"google_gemma_3_27b_it": true,
+ "google_gemma_3_4b_it": true,
"inception_mercury_coder_small_beta": true,
"meta_llama_llama_3_1_70b_instruct": true,
"microsoft_phi_4_multimodal_instruct": true,
@@ -2173,6 +2258,7 @@
"google_gemini_flash_1_5": false,
"google_gemma_3_12b_it": false,
"google_gemma_3_27b_it": true,
+ "google_gemma_3_4b_it": false,
"inception_mercury_coder_small_beta": true,
"meta_llama_llama_3_1_70b_instruct": true,
"microsoft_phi_4_multimodal_instruct": false,
@@ -2198,6 +2284,7 @@
"google_gemini_flash_1_5": true,
"google_gemma_3_12b_it": true,
"google_gemma_3_27b_it": true,
+ "google_gemma_3_4b_it": false,
"inception_mercury_coder_small_beta": true,
"meta_llama_llama_3_1_70b_instruct": true,
"microsoft_phi_4_multimodal_instruct": false,
@@ -2224,6 +2311,7 @@
"google_gemini_flash_1_5": false,
"google_gemma_3_12b_it": true,
"google_gemma_3_27b_it": true,
+ "google_gemma_3_4b_it": false,
"inception_mercury_coder_small_beta": true,
"meta_llama_llama_3_1_70b_instruct": true,
"microsoft_phi_4_multimodal_instruct": false,
@@ -2249,6 +2337,7 @@
"google_gemini_flash_1_5": true,
"google_gemma_3_12b_it": true,
"google_gemma_3_27b_it": true,
+ "google_gemma_3_4b_it": true,
"inception_mercury_coder_small_beta": true,
"meta_llama_llama_3_1_70b_instruct": true,
"microsoft_phi_4_multimodal_instruct": true,
@@ -2274,6 +2363,7 @@
"google_gemini_flash_1_5": true,
"google_gemma_3_12b_it": true,
"google_gemma_3_27b_it": true,
+ "google_gemma_3_4b_it": true,
"inception_mercury_coder_small_beta": true,
"meta_llama_llama_3_1_70b_instruct": true,
"microsoft_phi_4_multimodal_instruct": true,
@@ -2299,6 +2389,7 @@
"google_gemini_flash_1_5": true,
"google_gemma_3_12b_it": true,
"google_gemma_3_27b_it": true,
+ "google_gemma_3_4b_it": true,
"inception_mercury_coder_small_beta": true,
"meta_llama_llama_3_1_70b_instruct": true,
"microsoft_phi_4_multimodal_instruct": true,
@@ -2324,6 +2415,7 @@
"google_gemini_flash_1_5": true,
"google_gemma_3_12b_it": true,
"google_gemma_3_27b_it": true,
+ "google_gemma_3_4b_it": false,
"inception_mercury_coder_small_beta": true,
"meta_llama_llama_3_1_70b_instruct": true,
"microsoft_phi_4_multimodal_instruct": true,
@@ -2349,6 +2441,7 @@
"google_gemini_flash_1_5": true,
"google_gemma_3_12b_it": true,
"google_gemma_3_27b_it": true,
+ "google_gemma_3_4b_it": true,
"inception_mercury_coder_small_beta": true,
"meta_llama_llama_3_1_70b_instruct": true,
"microsoft_phi_4_multimodal_instruct": true,
@@ -2374,6 +2467,7 @@
"google_gemini_flash_1_5": true,
"google_gemma_3_12b_it": true,
"google_gemma_3_27b_it": true,
+ "google_gemma_3_4b_it": true,
"inception_mercury_coder_small_beta": true,
"meta_llama_llama_3_1_70b_instruct": true,
"microsoft_phi_4_multimodal_instruct": true,
@@ -2399,6 +2493,7 @@
"google_gemini_flash_1_5": false,
"google_gemma_3_12b_it": false,
"google_gemma_3_27b_it": false,
+ "google_gemma_3_4b_it": false,
"inception_mercury_coder_small_beta": true,
"meta_llama_llama_3_1_70b_instruct": false,
"microsoft_phi_4_multimodal_instruct": false,
@@ -2424,6 +2519,7 @@
"google_gemini_flash_1_5": false,
"google_gemma_3_12b_it": false,
"google_gemma_3_27b_it": true,
+ "google_gemma_3_4b_it": false,
"inception_mercury_coder_small_beta": false,
"meta_llama_llama_3_1_70b_instruct": false,
"microsoft_phi_4_multimodal_instruct": false,
@@ -2449,6 +2545,7 @@
"google_gemini_flash_1_5": true,
"google_gemma_3_12b_it": true,
"google_gemma_3_27b_it": true,
+ "google_gemma_3_4b_it": true,
"inception_mercury_coder_small_beta": true,
"meta_llama_llama_3_1_70b_instruct": true,
"microsoft_phi_4_multimodal_instruct": true,
@@ -2474,6 +2571,7 @@
"google_gemini_flash_1_5": true,
"google_gemma_3_12b_it": true,
"google_gemma_3_27b_it": true,
+ "google_gemma_3_4b_it": true,
"inception_mercury_coder_small_beta": true,
"meta_llama_llama_3_1_70b_instruct": true,
"microsoft_phi_4_multimodal_instruct": true,
@@ -2499,6 +2597,7 @@
"google_gemini_flash_1_5": true,
"google_gemma_3_12b_it": false,
"google_gemma_3_27b_it": true,
+ "google_gemma_3_4b_it": false,
"inception_mercury_coder_small_beta": true,
"meta_llama_llama_3_1_70b_instruct": false,
"microsoft_phi_4_multimodal_instruct": false,
@@ -2525,6 +2624,7 @@
"google_gemini_flash_1_5": true,
"google_gemma_3_12b_it": false,
"google_gemma_3_27b_it": true,
+ "google_gemma_3_4b_it": false,
"inception_mercury_coder_small_beta": true,
"meta_llama_llama_3_1_70b_instruct": true,
"microsoft_phi_4_multimodal_instruct": true,
@@ -2550,6 +2650,7 @@
"google_gemini_flash_1_5": true,
"google_gemma_3_12b_it": false,
"google_gemma_3_27b_it": true,
+ "google_gemma_3_4b_it": false,
"inception_mercury_coder_small_beta": false,
"meta_llama_llama_3_1_70b_instruct": false,
"microsoft_phi_4_multimodal_instruct": false,
@@ -2575,6 +2676,7 @@
"google_gemini_flash_1_5": true,
"google_gemma_3_12b_it": true,
"google_gemma_3_27b_it": false,
+ "google_gemma_3_4b_it": false,
"inception_mercury_coder_small_beta": true,
"meta_llama_llama_3_1_70b_instruct": true,
"microsoft_phi_4_multimodal_instruct": true,
@@ -2601,6 +2703,7 @@
"google_gemini_flash_1_5": true,
"google_gemma_3_12b_it": true,
"google_gemma_3_27b_it": true,
+ "google_gemma_3_4b_it": true,
"inception_mercury_coder_small_beta": true,
"meta_llama_llama_3_1_70b_instruct": true,
"microsoft_phi_4_multimodal_instruct": true,
@@ -2626,6 +2729,7 @@
"google_gemini_flash_1_5": false,
"google_gemma_3_12b_it": true,
"google_gemma_3_27b_it": true,
+ "google_gemma_3_4b_it": false,
"inception_mercury_coder_small_beta": true,
"meta_llama_llama_3_1_70b_instruct": true,
"microsoft_phi_4_multimodal_instruct": true,
@@ -2651,6 +2755,7 @@
"google_gemini_flash_1_5": true,
"google_gemma_3_12b_it": true,
"google_gemma_3_27b_it": true,
+ "google_gemma_3_4b_it": true,
"inception_mercury_coder_small_beta": true,
"meta_llama_llama_3_1_70b_instruct": true,
"microsoft_phi_4_multimodal_instruct": true,
@@ -2676,6 +2781,7 @@
"google_gemini_flash_1_5": true,
"google_gemma_3_12b_it": true,
"google_gemma_3_27b_it": true,
+ "google_gemma_3_4b_it": true,
"inception_mercury_coder_small_beta": true,
"meta_llama_llama_3_1_70b_instruct": true,
"microsoft_phi_4_multimodal_instruct": true,
@@ -2701,6 +2807,7 @@
"google_gemini_flash_1_5": true,
"google_gemma_3_12b_it": false,
"google_gemma_3_27b_it": false,
+ "google_gemma_3_4b_it": false,
"inception_mercury_coder_small_beta": false,
"meta_llama_llama_3_1_70b_instruct": false,
"microsoft_phi_4_multimodal_instruct": false,
@@ -2726,6 +2833,7 @@
"google_gemini_flash_1_5": true,
"google_gemma_3_12b_it": true,
"google_gemma_3_27b_it": true,
+ "google_gemma_3_4b_it": true,
"inception_mercury_coder_small_beta": true,
"meta_llama_llama_3_1_70b_instruct": true,
"microsoft_phi_4_multimodal_instruct": false,
@@ -2752,6 +2860,7 @@
"google_gemini_flash_1_5": false,
"google_gemma_3_12b_it": false,
"google_gemma_3_27b_it": false,
+ "google_gemma_3_4b_it": false,
"inception_mercury_coder_small_beta": false,
"meta_llama_llama_3_1_70b_instruct": true,
"microsoft_phi_4_multimodal_instruct": false,
@@ -2778,6 +2887,7 @@
"google_gemini_flash_1_5": true,
"google_gemma_3_12b_it": true,
"google_gemma_3_27b_it": true,
+ "google_gemma_3_4b_it": true,
"inception_mercury_coder_small_beta": true,
"meta_llama_llama_3_1_70b_instruct": true,
"microsoft_phi_4_multimodal_instruct": false,
@@ -2804,6 +2914,7 @@
"google_gemini_flash_1_5": true,
"google_gemma_3_12b_it": false,
"google_gemma_3_27b_it": false,
+ "google_gemma_3_4b_it": false,
"inception_mercury_coder_small_beta": true,
"meta_llama_llama_3_1_70b_instruct": true,
"microsoft_phi_4_multimodal_instruct": false,
@@ -2829,6 +2940,7 @@
"google_gemini_flash_1_5": true,
"google_gemma_3_12b_it": true,
"google_gemma_3_27b_it": true,
+ "google_gemma_3_4b_it": true,
"inception_mercury_coder_small_beta": true,
"meta_llama_llama_3_1_70b_instruct": true,
"microsoft_phi_4_multimodal_instruct": true,
@@ -2854,6 +2966,7 @@
"google_gemini_flash_1_5": true,
"google_gemma_3_12b_it": true,
"google_gemma_3_27b_it": true,
+ "google_gemma_3_4b_it": true,
"inception_mercury_coder_small_beta": true,
"meta_llama_llama_3_1_70b_instruct": true,
"microsoft_phi_4_multimodal_instruct": true,
@@ -2880,6 +2993,7 @@
"google_gemini_flash_1_5": true,
"google_gemma_3_12b_it": true,
"google_gemma_3_27b_it": true,
+ "google_gemma_3_4b_it": true,
"inception_mercury_coder_small_beta": true,
"meta_llama_llama_3_1_70b_instruct": false,
"microsoft_phi_4_multimodal_instruct": false,
@@ -2905,6 +3019,7 @@
"google_gemini_flash_1_5": true,
"google_gemma_3_12b_it": false,
"google_gemma_3_27b_it": true,
+ "google_gemma_3_4b_it": false,
"inception_mercury_coder_small_beta": false,
"meta_llama_llama_3_1_70b_instruct": true,
"microsoft_phi_4_multimodal_instruct": false,
@@ -2930,6 +3045,7 @@
"google_gemini_flash_1_5": true,
"google_gemma_3_12b_it": true,
"google_gemma_3_27b_it": true,
+ "google_gemma_3_4b_it": true,
"inception_mercury_coder_small_beta": true,
"meta_llama_llama_3_1_70b_instruct": true,
"microsoft_phi_4_multimodal_instruct": false,
@@ -2955,6 +3071,7 @@
"google_gemini_flash_1_5": true,
"google_gemma_3_12b_it": true,
"google_gemma_3_27b_it": true,
+ "google_gemma_3_4b_it": true,
"inception_mercury_coder_small_beta": true,
"meta_llama_llama_3_1_70b_instruct": true,
"microsoft_phi_4_multimodal_instruct": true,
@@ -2980,6 +3097,7 @@
"google_gemini_flash_1_5": true,
"google_gemma_3_12b_it": true,
"google_gemma_3_27b_it": true,
+ "google_gemma_3_4b_it": true,
"inception_mercury_coder_small_beta": true,
"meta_llama_llama_3_1_70b_instruct": true,
"microsoft_phi_4_multimodal_instruct": true,
@@ -3005,6 +3123,7 @@
"google_gemini_flash_1_5": true,
"google_gemma_3_12b_it": false,
"google_gemma_3_27b_it": true,
+ "google_gemma_3_4b_it": false,
"inception_mercury_coder_small_beta": false,
"meta_llama_llama_3_1_70b_instruct": false,
"microsoft_phi_4_multimodal_instruct": false,
@@ -3030,6 +3149,7 @@
"google_gemini_flash_1_5": false,
"google_gemma_3_12b_it": true,
"google_gemma_3_27b_it": true,
+ "google_gemma_3_4b_it": true,
"inception_mercury_coder_small_beta": true,
"meta_llama_llama_3_1_70b_instruct": true,
"microsoft_phi_4_multimodal_instruct": true,
@@ -3055,6 +3175,7 @@
"google_gemini_flash_1_5": true,
"google_gemma_3_12b_it": true,
"google_gemma_3_27b_it": false,
+ "google_gemma_3_4b_it": true,
"inception_mercury_coder_small_beta": true,
"meta_llama_llama_3_1_70b_instruct": true,
"microsoft_phi_4_multimodal_instruct": true,
@@ -3080,6 +3201,7 @@
"google_gemini_flash_1_5": true,
"google_gemma_3_12b_it": true,
"google_gemma_3_27b_it": true,
+ "google_gemma_3_4b_it": true,
"inception_mercury_coder_small_beta": true,
"meta_llama_llama_3_1_70b_instruct": true,
"microsoft_phi_4_multimodal_instruct": true,
@@ -3105,6 +3227,7 @@
"google_gemini_flash_1_5": true,
"google_gemma_3_12b_it": true,
"google_gemma_3_27b_it": true,
+ "google_gemma_3_4b_it": true,
"inception_mercury_coder_small_beta": false,
"meta_llama_llama_3_1_70b_instruct": true,
"microsoft_phi_4_multimodal_instruct": false,
@@ -3130,6 +3253,7 @@
"google_gemini_flash_1_5": true,
"google_gemma_3_12b_it": true,
"google_gemma_3_27b_it": true,
+ "google_gemma_3_4b_it": true,
"inception_mercury_coder_small_beta": true,
"meta_llama_llama_3_1_70b_instruct": true,
"microsoft_phi_4_multimodal_instruct": false,
@@ -3155,6 +3279,7 @@
"google_gemini_flash_1_5": true,
"google_gemma_3_12b_it": true,
"google_gemma_3_27b_it": true,
+ "google_gemma_3_4b_it": true,
"inception_mercury_coder_small_beta": true,
"meta_llama_llama_3_1_70b_instruct": true,
"microsoft_phi_4_multimodal_instruct": true,
@@ -3180,6 +3305,7 @@
"google_gemini_flash_1_5": true,
"google_gemma_3_12b_it": true,
"google_gemma_3_27b_it": true,
+ "google_gemma_3_4b_it": true,
"inception_mercury_coder_small_beta": true,
"meta_llama_llama_3_1_70b_instruct": true,
"microsoft_phi_4_multimodal_instruct": true,
@@ -3205,6 +3331,7 @@
"google_gemini_flash_1_5": true,
"google_gemma_3_12b_it": true,
"google_gemma_3_27b_it": false,
+ "google_gemma_3_4b_it": true,
"inception_mercury_coder_small_beta": true,
"meta_llama_llama_3_1_70b_instruct": true,
"microsoft_phi_4_multimodal_instruct": true,
@@ -3230,6 +3357,7 @@
"google_gemini_flash_1_5": false,
"google_gemma_3_12b_it": true,
"google_gemma_3_27b_it": true,
+ "google_gemma_3_4b_it": false,
"inception_mercury_coder_small_beta": true,
"meta_llama_llama_3_1_70b_instruct": false,
"microsoft_phi_4_multimodal_instruct": false,
@@ -3255,6 +3383,7 @@
"google_gemini_flash_1_5": true,
"google_gemma_3_12b_it": true,
"google_gemma_3_27b_it": true,
+ "google_gemma_3_4b_it": true,
"inception_mercury_coder_small_beta": true,
"meta_llama_llama_3_1_70b_instruct": true,
"microsoft_phi_4_multimodal_instruct": false,
@@ -3280,6 +3409,7 @@
"google_gemini_flash_1_5": true,
"google_gemma_3_12b_it": true,
"google_gemma_3_27b_it": true,
+ "google_gemma_3_4b_it": false,
"inception_mercury_coder_small_beta": true,
"meta_llama_llama_3_1_70b_instruct": false,
"microsoft_phi_4_multimodal_instruct": false,
@@ -3305,6 +3435,7 @@
"google_gemini_flash_1_5": false,
"google_gemma_3_12b_it": true,
"google_gemma_3_27b_it": true,
+ "google_gemma_3_4b_it": false,
"inception_mercury_coder_small_beta": true,
"meta_llama_llama_3_1_70b_instruct": true,
"microsoft_phi_4_multimodal_instruct": false,
@@ -3330,6 +3461,7 @@
"google_gemini_flash_1_5": true,
"google_gemma_3_12b_it": true,
"google_gemma_3_27b_it": true,
+ "google_gemma_3_4b_it": true,
"inception_mercury_coder_small_beta": true,
"meta_llama_llama_3_1_70b_instruct": true,
"microsoft_phi_4_multimodal_instruct": false,
@@ -3355,6 +3487,7 @@
"google_gemini_flash_1_5": true,
"google_gemma_3_12b_it": false,
"google_gemma_3_27b_it": false,
+ "google_gemma_3_4b_it": false,
"inception_mercury_coder_small_beta": true,
"meta_llama_llama_3_1_70b_instruct": true,
"microsoft_phi_4_multimodal_instruct": false,
@@ -3380,6 +3513,7 @@
"google_gemini_flash_1_5": true,
"google_gemma_3_12b_it": true,
"google_gemma_3_27b_it": true,
+ "google_gemma_3_4b_it": true,
"inception_mercury_coder_small_beta": true,
"meta_llama_llama_3_1_70b_instruct": true,
"microsoft_phi_4_multimodal_instruct": false,
@@ -3405,6 +3539,7 @@
"google_gemini_flash_1_5": true,
"google_gemma_3_12b_it": true,
"google_gemma_3_27b_it": true,
+ "google_gemma_3_4b_it": false,
"inception_mercury_coder_small_beta": false,
"meta_llama_llama_3_1_70b_instruct": true,
"microsoft_phi_4_multimodal_instruct": false,
@@ -3430,6 +3565,7 @@
"google_gemini_flash_1_5": true,
"google_gemma_3_12b_it": true,
"google_gemma_3_27b_it": true,
+ "google_gemma_3_4b_it": true,
"inception_mercury_coder_small_beta": true,
"meta_llama_llama_3_1_70b_instruct": true,
"microsoft_phi_4_multimodal_instruct": true,
@@ -3455,6 +3591,7 @@
"google_gemini_flash_1_5": false,
"google_gemma_3_12b_it": false,
"google_gemma_3_27b_it": false,
+ "google_gemma_3_4b_it": false,
"inception_mercury_coder_small_beta": false,
"meta_llama_llama_3_1_70b_instruct": false,
"microsoft_phi_4_multimodal_instruct": false,
@@ -3480,6 +3617,7 @@
"google_gemini_flash_1_5": true,
"google_gemma_3_12b_it": true,
"google_gemma_3_27b_it": false,
+ "google_gemma_3_4b_it": false,
"inception_mercury_coder_small_beta": true,
"meta_llama_llama_3_1_70b_instruct": true,
"microsoft_phi_4_multimodal_instruct": false,
@@ -3505,6 +3643,7 @@
"google_gemini_flash_1_5": true,
"google_gemma_3_12b_it": true,
"google_gemma_3_27b_it": true,
+ "google_gemma_3_4b_it": false,
"inception_mercury_coder_small_beta": true,
"meta_llama_llama_3_1_70b_instruct": true,
"microsoft_phi_4_multimodal_instruct": true,
@@ -3530,6 +3669,7 @@
"google_gemini_flash_1_5": true,
"google_gemma_3_12b_it": true,
"google_gemma_3_27b_it": true,
+ "google_gemma_3_4b_it": true,
"inception_mercury_coder_small_beta": true,
"meta_llama_llama_3_1_70b_instruct": true,
"microsoft_phi_4_multimodal_instruct": true,
@@ -3555,6 +3695,7 @@
"google_gemini_flash_1_5": true,
"google_gemma_3_12b_it": true,
"google_gemma_3_27b_it": true,
+ "google_gemma_3_4b_it": true,
"inception_mercury_coder_small_beta": true,
"meta_llama_llama_3_1_70b_instruct": true,
"microsoft_phi_4_multimodal_instruct": true,
@@ -3580,6 +3721,7 @@
"google_gemini_flash_1_5": false,
"google_gemma_3_12b_it": true,
"google_gemma_3_27b_it": true,
+ "google_gemma_3_4b_it": true,
"inception_mercury_coder_small_beta": true,
"meta_llama_llama_3_1_70b_instruct": false,
"microsoft_phi_4_multimodal_instruct": false,
@@ -3606,6 +3748,7 @@
"google_gemini_flash_1_5": false,
"google_gemma_3_12b_it": false,
"google_gemma_3_27b_it": false,
+ "google_gemma_3_4b_it": false,
"inception_mercury_coder_small_beta": false,
"meta_llama_llama_3_1_70b_instruct": false,
"microsoft_phi_4_multimodal_instruct": true,
@@ -3631,6 +3774,7 @@
"google_gemini_flash_1_5": false,
"google_gemma_3_12b_it": false,
"google_gemma_3_27b_it": false,
+ "google_gemma_3_4b_it": false,
"inception_mercury_coder_small_beta": false,
"meta_llama_llama_3_1_70b_instruct": false,
"microsoft_phi_4_multimodal_instruct": false,
@@ -3657,6 +3801,7 @@
"google_gemini_flash_1_5": true,
"google_gemma_3_12b_it": true,
"google_gemma_3_27b_it": true,
+ "google_gemma_3_4b_it": false,
"inception_mercury_coder_small_beta": true,
"meta_llama_llama_3_1_70b_instruct": false,
"microsoft_phi_4_multimodal_instruct": false,
@@ -3682,6 +3827,7 @@
"google_gemini_flash_1_5": true,
"google_gemma_3_12b_it": true,
"google_gemma_3_27b_it": true,
+ "google_gemma_3_4b_it": true,
"inception_mercury_coder_small_beta": true,
"meta_llama_llama_3_1_70b_instruct": true,
"microsoft_phi_4_multimodal_instruct": true,
@@ -3707,6 +3853,7 @@
"google_gemini_flash_1_5": true,
"google_gemma_3_12b_it": true,
"google_gemma_3_27b_it": true,
+ "google_gemma_3_4b_it": true,
"inception_mercury_coder_small_beta": true,
"meta_llama_llama_3_1_70b_instruct": true,
"microsoft_phi_4_multimodal_instruct": false,
@@ -3732,6 +3879,7 @@
"google_gemini_flash_1_5": false,
"google_gemma_3_12b_it": false,
"google_gemma_3_27b_it": false,
+ "google_gemma_3_4b_it": false,
"inception_mercury_coder_small_beta": true,
"meta_llama_llama_3_1_70b_instruct": false,
"microsoft_phi_4_multimodal_instruct": false,
@@ -3757,6 +3905,7 @@
"google_gemini_flash_1_5": true,
"google_gemma_3_12b_it": true,
"google_gemma_3_27b_it": true,
+ "google_gemma_3_4b_it": false,
"inception_mercury_coder_small_beta": false,
"meta_llama_llama_3_1_70b_instruct": false,
"microsoft_phi_4_multimodal_instruct": false,
@@ -3782,6 +3931,7 @@
"google_gemini_flash_1_5": true,
"google_gemma_3_12b_it": false,
"google_gemma_3_27b_it": false,
+ "google_gemma_3_4b_it": true,
"inception_mercury_coder_small_beta": true,
"meta_llama_llama_3_1_70b_instruct": true,
"microsoft_phi_4_multimodal_instruct": false,
@@ -3808,6 +3958,7 @@
"google_gemini_flash_1_5": false,
"google_gemma_3_12b_it": true,
"google_gemma_3_27b_it": true,
+ "google_gemma_3_4b_it": false,
"inception_mercury_coder_small_beta": false,
"meta_llama_llama_3_1_70b_instruct": false,
"microsoft_phi_4_multimodal_instruct": false,
@@ -3833,6 +3984,7 @@
"google_gemini_flash_1_5": true,
"google_gemma_3_12b_it": true,
"google_gemma_3_27b_it": true,
+ "google_gemma_3_4b_it": false,
"inception_mercury_coder_small_beta": true,
"meta_llama_llama_3_1_70b_instruct": true,
"microsoft_phi_4_multimodal_instruct": false,
@@ -3858,6 +4010,7 @@
"google_gemini_flash_1_5": true,
"google_gemma_3_12b_it": true,
"google_gemma_3_27b_it": true,
+ "google_gemma_3_4b_it": true,
"inception_mercury_coder_small_beta": false,
"meta_llama_llama_3_1_70b_instruct": true,
"microsoft_phi_4_multimodal_instruct": true,
@@ -3883,6 +4036,7 @@
"google_gemini_flash_1_5": true,
"google_gemma_3_12b_it": true,
"google_gemma_3_27b_it": true,
+ "google_gemma_3_4b_it": false,
"inception_mercury_coder_small_beta": true,
"meta_llama_llama_3_1_70b_instruct": true,
"microsoft_phi_4_multimodal_instruct": false,
@@ -3909,6 +4063,7 @@
"google_gemini_flash_1_5": false,
"google_gemma_3_12b_it": true,
"google_gemma_3_27b_it": true,
+ "google_gemma_3_4b_it": true,
"inception_mercury_coder_small_beta": true,
"meta_llama_llama_3_1_70b_instruct": true,
"microsoft_phi_4_multimodal_instruct": false,
@@ -3934,6 +4089,7 @@
"google_gemini_flash_1_5": true,
"google_gemma_3_12b_it": true,
"google_gemma_3_27b_it": true,
+ "google_gemma_3_4b_it": false,
"inception_mercury_coder_small_beta": true,
"meta_llama_llama_3_1_70b_instruct": false,
"microsoft_phi_4_multimodal_instruct": false,
@@ -3959,6 +4115,7 @@
"google_gemini_flash_1_5": false,
"google_gemma_3_12b_it": false,
"google_gemma_3_27b_it": false,
+ "google_gemma_3_4b_it": false,
"inception_mercury_coder_small_beta": false,
"meta_llama_llama_3_1_70b_instruct": false,
"microsoft_phi_4_multimodal_instruct": false,
@@ -3984,6 +4141,7 @@
"google_gemini_flash_1_5": true,
"google_gemma_3_12b_it": true,
"google_gemma_3_27b_it": true,
+ "google_gemma_3_4b_it": true,
"inception_mercury_coder_small_beta": true,
"meta_llama_llama_3_1_70b_instruct": true,
"microsoft_phi_4_multimodal_instruct": false,
@@ -4009,6 +4167,7 @@
"google_gemini_flash_1_5": true,
"google_gemma_3_12b_it": true,
"google_gemma_3_27b_it": true,
+ "google_gemma_3_4b_it": true,
"inception_mercury_coder_small_beta": true,
"meta_llama_llama_3_1_70b_instruct": true,
"microsoft_phi_4_multimodal_instruct": false,
@@ -4035,6 +4194,7 @@
"google_gemini_flash_1_5": false,
"google_gemma_3_12b_it": true,
"google_gemma_3_27b_it": true,
+ "google_gemma_3_4b_it": false,
"inception_mercury_coder_small_beta": false,
"meta_llama_llama_3_1_70b_instruct": true,
"microsoft_phi_4_multimodal_instruct": false,
@@ -4060,6 +4220,7 @@
"google_gemini_flash_1_5": true,
"google_gemma_3_12b_it": true,
"google_gemma_3_27b_it": true,
+ "google_gemma_3_4b_it": true,
"inception_mercury_coder_small_beta": true,
"meta_llama_llama_3_1_70b_instruct": false,
"microsoft_phi_4_multimodal_instruct": true,
@@ -4085,6 +4246,7 @@
"google_gemini_flash_1_5": true,
"google_gemma_3_12b_it": false,
"google_gemma_3_27b_it": false,
+ "google_gemma_3_4b_it": false,
"inception_mercury_coder_small_beta": true,
"meta_llama_llama_3_1_70b_instruct": false,
"microsoft_phi_4_multimodal_instruct": false,
@@ -4110,6 +4272,7 @@
"google_gemini_flash_1_5": true,
"google_gemma_3_12b_it": true,
"google_gemma_3_27b_it": true,
+ "google_gemma_3_4b_it": true,
"inception_mercury_coder_small_beta": true,
"meta_llama_llama_3_1_70b_instruct": true,
"microsoft_phi_4_multimodal_instruct": false,
@@ -4135,6 +4298,7 @@
"google_gemini_flash_1_5": true,
"google_gemma_3_12b_it": false,
"google_gemma_3_27b_it": true,
+ "google_gemma_3_4b_it": true,
"inception_mercury_coder_small_beta": true,
"meta_llama_llama_3_1_70b_instruct": true,
"microsoft_phi_4_multimodal_instruct": false,
@@ -4160,6 +4324,7 @@
"google_gemini_flash_1_5": true,
"google_gemma_3_12b_it": true,
"google_gemma_3_27b_it": true,
+ "google_gemma_3_4b_it": false,
"inception_mercury_coder_small_beta": true,
"meta_llama_llama_3_1_70b_instruct": false,
"microsoft_phi_4_multimodal_instruct": false,
@@ -4185,6 +4350,7 @@
"google_gemini_flash_1_5": false,
"google_gemma_3_12b_it": true,
"google_gemma_3_27b_it": true,
+ "google_gemma_3_4b_it": false,
"inception_mercury_coder_small_beta": true,
"meta_llama_llama_3_1_70b_instruct": true,
"microsoft_phi_4_multimodal_instruct": false,
@@ -4210,6 +4376,7 @@
"google_gemini_flash_1_5": true,
"google_gemma_3_12b_it": true,
"google_gemma_3_27b_it": true,
+ "google_gemma_3_4b_it": true,
"inception_mercury_coder_small_beta": true,
"meta_llama_llama_3_1_70b_instruct": true,
"microsoft_phi_4_multimodal_instruct": false,
@@ -4235,6 +4402,7 @@
"google_gemini_flash_1_5": false,
"google_gemma_3_12b_it": true,
"google_gemma_3_27b_it": true,
+ "google_gemma_3_4b_it": false,
"inception_mercury_coder_small_beta": true,
"meta_llama_llama_3_1_70b_instruct": true,
"microsoft_phi_4_multimodal_instruct": false,
diff --git a/reports/total.md b/reports/total.md
index 1ab7c1f..9262f0a 100644
--- a/reports/total.md
+++ b/reports/total.md
@@ -18,6 +18,7 @@
- google_gemma_3_12b_it: 71%
- meta_llama_llama_3_1_70b_instruct: 69%
- mistralai_mistral_small_3_1_24b_instruct: 67%
+- google_gemma_3_4b_it: 47%
- qwen_qwen2_5_vl_3b_instruct_free: 41%
- microsoft_phi_4_multimodal_instruct: 35%
- ollama_codellama: 31%
diff --git a/tasks/t0-google_gemma_3_4b_it.rb b/tasks/t0-google_gemma_3_4b_it.rb
new file mode 100644
index 0000000..47e0a75
--- /dev/null
+++ b/tasks/t0-google_gemma_3_4b_it.rb
@@ -0,0 +1,14 @@
+def has_close_elements?(numbers, threshold)
+ return false if numbers.empty?
+ return false if numbers.length <= 1
+
+ numbers.each_with_index do |num1, i|
+ numbers.each_with_index do |num2, j|
+ if i != j && (num2 - num1).abs <= threshold
+ return true
+ end
+ end
+ end
+
+ false
+end
diff --git a/tasks/t1-google_gemma_3_4b_it.rb b/tasks/t1-google_gemma_3_4b_it.rb
new file mode 100644
index 0000000..fd96817
--- /dev/null
+++ b/tasks/t1-google_gemma_3_4b_it.rb
@@ -0,0 +1,21 @@
+def separate_paren_groups(paren_string)
+ result = []
+ current_group = ''
+ balance = 0
+
+ paren_string.each_char do |char|
+ if char == '('
+ balance += 1
+ current_group += char
+ elsif char == ')'
+ balance -= 1
+ current_group += char
+ elsif balance == 0 && (char == ' ' || char == '')
+ result << current_group
+ current_group = ''
+ end
+ end
+
+ result << current_group if current_group != ''
+ result
+end
diff --git a/tasks/t10-google_gemma_3_4b_it.rb b/tasks/t10-google_gemma_3_4b_it.rb
new file mode 100644
index 0000000..d271d27
--- /dev/null
+++ b/tasks/t10-google_gemma_3_4b_it.rb
@@ -0,0 +1,7 @@
+def make_palindrome(string)
+ if string.empty?
+ ''
+ else
+ string + string.reverse()[1..-1]
+ end
+end
diff --git a/tasks/t100-google_gemma_3_4b_it.rb b/tasks/t100-google_gemma_3_4b_it.rb
new file mode 100644
index 0000000..2548ec3
--- /dev/null
+++ b/tasks/t100-google_gemma_3_4b_it.rb
@@ -0,0 +1,17 @@
+def make_a_pile(n)
+ pile = []
+ current_stones = n
+ level = 1
+
+ while level <= n
+ if level % 2 != 0
+ current_stones += 2
+ else
+ current_stones += 2
+ end
+ pile << current_stones
+ level += 1
+ end
+
+ pile
+end
diff --git a/tasks/t101-google_gemma_3_4b_it.rb b/tasks/t101-google_gemma_3_4b_it.rb
new file mode 100644
index 0000000..be1eb30
--- /dev/null
+++ b/tasks/t101-google_gemma_3_4b_it.rb
@@ -0,0 +1,3 @@
+def words_string(s)
+ s.split(/[,\s]+/).reject(&:empty?).uniq
+end
diff --git a/tasks/t102-google_gemma_3_4b_it.rb b/tasks/t102-google_gemma_3_4b_it.rb
new file mode 100644
index 0000000..9eef054
--- /dev/null
+++ b/tasks/t102-google_gemma_3_4b_it.rb
@@ -0,0 +1,9 @@
+def choose_num(x, y)
+ max_even = -1
+ for i in x..y
+ if i % 2 == 0
+ max_even = i
+ end
+ end
+ max_even
+end
diff --git a/tasks/t103-google_gemma_3_4b_it.rb b/tasks/t103-google_gemma_3_4b_it.rb
new file mode 100644
index 0000000..da1d2f2
--- /dev/null
+++ b/tasks/t103-google_gemma_3_4b_it.rb
@@ -0,0 +1,17 @@
+def rounded_avg(n, m)
+ if n > m
+ return -1
+ end
+
+ total = 0
+ count = 0
+ (n..m).each do |i|
+ total += i
+ count += 1
+ end
+
+ average = total.to_f / count
+ rounded_average = average.round
+
+ "0b#{rounded_average.to_s(2)}"
+end
diff --git a/tasks/t104-google_gemma_3_4b_it.rb b/tasks/t104-google_gemma_3_4b_it.rb
new file mode 100644
index 0000000..c6a3abc
--- /dev/null
+++ b/tasks/t104-google_gemma_3_4b_it.rb
@@ -0,0 +1,18 @@
+def unique_digits(numbers)
+ result = []
+ numbers.each do |number|
+ is_valid = true
+ number_str = number.to_s
+ number_str.each_char do |digit_char|
+ digit = digit_char.to_i
+ if digit % 2 == 0
+ is_valid = false
+ break
+ end
+ end
+ if is_valid
+ result << number
+ end
+ end
+ result.sort
+end
diff --git a/tasks/t105-google_gemma_3_4b_it.rb b/tasks/t105-google_gemma_3_4b_it.rb
new file mode 100644
index 0000000..54032ac
--- /dev/null
+++ b/tasks/t105-google_gemma_3_4b_it.rb
@@ -0,0 +1,6 @@
+def by_length(arr)
+ filtered_arr = arr.select { |num| num >= 1 && num <= 9 }
+ sorted_arr = filtered_arr.sort.reverse
+ string_arr = sorted_arr.map { |num| num.to_s }
+ string_arr
+end
diff --git a/tasks/t106-google_gemma_3_4b_it.rb b/tasks/t106-google_gemma_3_4b_it.rb
new file mode 100644
index 0000000..8841899
--- /dev/null
+++ b/tasks/t106-google_gemma_3_4b_it.rb
@@ -0,0 +1,19 @@
+def f(n)
+ result = []
+ (1..n).each do |i|
+ if i % 2 == 0
+ factorial = 1
+ (1..i).each do |j|
+ factorial *= j
+ end
+ result << factorial
+ else
+ sum = 0
+ (1..i).each do |j|
+ sum += j
+ end
+ result << sum
+ end
+ end
+ result
+end
diff --git a/tasks/t107-google_gemma_3_4b_it.rb b/tasks/t107-google_gemma_3_4b_it.rb
new file mode 100644
index 0000000..c1d509c
--- /dev/null
+++ b/tasks/t107-google_gemma_3_4b_it.rb
@@ -0,0 +1,16 @@
+def even_odd_palindrome(n)
+ even_count = 0
+ odd_count = 0
+
+ (1..n).each do |i|
+ if i.to_s == i.to_s.reverse
+ if i % 2 == 0
+ even_count += 1
+ else
+ odd_count += 1
+ end
+ end
+ end
+
+ [even_count, odd_count]
+end
diff --git a/tasks/t108-google_gemma_3_4b_it.rb b/tasks/t108-google_gemma_3_4b_it.rb
new file mode 100644
index 0000000..b28fd11
--- /dev/null
+++ b/tasks/t108-google_gemma_3_4b_it.rb
@@ -0,0 +1,18 @@
+def count_nums(arr)
+ count = 0
+ arr.each do |num|
+ sum = 0
+ num.to_s.each_char do |char|
+ digit = char.to_i
+ if digit < 0
+ sum += digit
+ else
+ sum += digit
+ end
+ end
+ if sum > 0
+ count += 1
+ end
+ end
+ count
+end
diff --git a/tasks/t109-google_gemma_3_4b_it.rb b/tasks/t109-google_gemma_3_4b_it.rb
new file mode 100644
index 0000000..4e266f6
--- /dev/null
+++ b/tasks/t109-google_gemma_3_4b_it.rb
@@ -0,0 +1,26 @@
+def move_one_ball(arr)
+ return true if arr.empty?
+ n = arr.length
+
+ if n == 1
+ return true
+ end
+
+ sorted_arr = arr.sort
+
+ if arr == sorted_arr
+ return true
+ end
+
+ for _ in 0..(n - 1)
+ temp_arr = arr.dup
+ last_element = temp_arr.pop
+ temp_arr.insert(0, last_element)
+
+ if temp_arr == sorted_arr
+ return true
+ end
+ end
+
+ false
+end
diff --git a/tasks/t11-google_gemma_3_4b_it.rb b/tasks/t11-google_gemma_3_4b_it.rb
new file mode 100644
index 0000000..87694ae
--- /dev/null
+++ b/tasks/t11-google_gemma_3_4b_it.rb
@@ -0,0 +1,16 @@
+def string_xor(a, b)
+ result = ""
+ a_len = a.length
+ b_len = b.length
+ min_len = [a_len, b_len].min
+
+ (0...min_len).each do |i|
+ if a[i] == b[i]
+ result += '0'
+ else
+ result += '1'
+ end
+ end
+
+ result
+end
diff --git a/tasks/t110-google_gemma_3_4b_it.rb b/tasks/t110-google_gemma_3_4b_it.rb
new file mode 100644
index 0000000..f1f9499
--- /dev/null
+++ b/tasks/t110-google_gemma_3_4b_it.rb
@@ -0,0 +1,12 @@
+def exchange(lst1, lst2)
+ even_lst2 = lst2.select { |num| num.even? }
+ odd_lst2 = lst2.select { |num| num.odd? }
+
+ lst1.select! { |num| num.even? }
+
+ if lst1.all? { |num| num.even? }
+ "YES"
+ else
+ "NO"
+ end
+end
diff --git a/tasks/t111-google_gemma_3_4b_it.rb b/tasks/t111-google_gemma_3_4b_it.rb
new file mode 100644
index 0000000..2562392
--- /dev/null
+++ b/tasks/t111-google_gemma_3_4b_it.rb
@@ -0,0 +1,14 @@
+def histogram(text)
+ counts = {}
+ text.split.each do |word|
+ word.each_char do |char|
+ char = char.downcase
+ if char =~ /[a-z]/
+ counts[char] ||= 0
+ counts[char] += 1
+ end
+ end
+ end
+
+ counts
+end
diff --git a/tasks/t112-google_gemma_3_4b_it.rb b/tasks/t112-google_gemma_3_4b_it.rb
new file mode 100644
index 0000000..caf0bb0
--- /dev/null
+++ b/tasks/t112-google_gemma_3_4b_it.rb
@@ -0,0 +1,5 @@
+def reverse_delete(s, c)
+ filtered_string = s.gsub(c, '')
+ is_palindrome = filtered_string == filtered_string.reverse
+ [filtered_string, is_palindrome]
+end
diff --git a/tasks/t113-google_gemma_3_4b_it.rb b/tasks/t113-google_gemma_3_4b_it.rb
new file mode 100644
index 0000000..4f48db9
--- /dev/null
+++ b/tasks/t113-google_gemma_3_4b_it.rb
@@ -0,0 +1,14 @@
+def odd_count(strings)
+ result = []
+ strings.each do |str|
+ odd_digits = 0
+ str.each_char do |char|
+ digit = char.to_i
+ if digit % 2 != 0
+ odd_digits += 1
+ end
+ end
+ result << "the number of odd elements #{odd_digits}n the str#{odd_digits}ng #{odd_digits} of the #{odd_digits}nput."
+ end
+ result
+end
diff --git a/tasks/t114-google_gemma_3_4b_it.rb b/tasks/t114-google_gemma_3_4b_it.rb
new file mode 100644
index 0000000..9132325
--- /dev/null
+++ b/tasks/t114-google_gemma_3_4b_it.rb
@@ -0,0 +1,11 @@
+def min_sub_array_sum(nums)
+ min_so_far = nums[0]
+ current_min = nums[0]
+
+ (1...nums.length).each do |i|
+ current_min = [nums[i], current_min + nums[i]].min
+ min_so_far = [min_so_far, current_min].min
+ end
+
+ min_so_far
+end
diff --git a/tasks/t115-google_gemma_3_4b_it.rb b/tasks/t115-google_gemma_3_4b_it.rb
new file mode 100644
index 0000000..9a0d631
--- /dev/null
+++ b/tasks/t115-google_gemma_3_4b_it.rb
@@ -0,0 +1,14 @@
+def max_fill(grid, capacity)
+ total_water = 0
+ grid.each do |row|
+ row.each do |cell|
+ total_water += cell
+ end
+ end
+
+ if total_water == 0
+ return 0
+ end
+
+ (total_water.to_f / capacity.to_f).ceil
+end
diff --git a/tasks/t116-google_gemma_3_4b_it.rb b/tasks/t116-google_gemma_3_4b_it.rb
new file mode 100644
index 0000000..5b43547
--- /dev/null
+++ b/tasks/t116-google_gemma_3_4b_it.rb
@@ -0,0 +1,12 @@
+def sort_array(arr)
+ arr.sort do |a, b|
+ binary_a = a.to_s(2).count('1')
+ binary_b = b.to_s(2).count('1')
+
+ if binary_a == binary_b
+ a <=> b
+ else
+ binary_a <=> binary_b
+ end
+ end
+end
diff --git a/tasks/t117-google_gemma_3_4b_it.rb b/tasks/t117-google_gemma_3_4b_it.rb
new file mode 100644
index 0000000..8902be5
--- /dev/null
+++ b/tasks/t117-google_gemma_3_4b_it.rb
@@ -0,0 +1,18 @@
+def select_words(s, n)
+ words = s.split
+ result = []
+ words.each do |word|
+ count = 0
+ word.each_char do |char|
+ if ['a', 'e', 'i', 'o', 'u'].include?(char.downcase)
+ next
+ else
+ count += 1
+ end
+ end
+ if count == n
+ result << word
+ end
+ end
+ result
+end
diff --git a/tasks/t118-google_gemma_3_4b_it.rb b/tasks/t118-google_gemma_3_4b_it.rb
new file mode 100644
index 0000000..b957480
--- /dev/null
+++ b/tasks/t118-google_gemma_3_4b_it.rb
@@ -0,0 +1,22 @@
+def get_closest_vowel(word)
+ vowels = %w[a e i o u A E I O U]
+ vowel_index = -1
+
+ (word.length - 1).downto(0) do |i|
+ if !vowels.include?(word[i])
+ if i == word.length - 1
+ return ""
+ end
+ if !vowels.include?(word[i + 1])
+ vowel_index = i
+ break
+ end
+ end
+ end
+
+ if vowel_index != -1
+ word[vowel_index]
+ else
+ ""
+ end
+end
diff --git a/tasks/t119-google_gemma_3_4b_it.rb b/tasks/t119-google_gemma_3_4b_it.rb
new file mode 100644
index 0000000..599368a
--- /dev/null
+++ b/tasks/t119-google_gemma_3_4b_it.rb
@@ -0,0 +1,25 @@
+def match_parens(lst)
+ str1 = lst[0]
+ str2 = lst[1]
+
+ def is_good(s)
+ balance = 0
+ s.each_char do |char|
+ if char == '('
+ balance += 1
+ elsif char == ')'
+ balance -= 1
+ end
+ return false if balance < 0
+ end
+ balance == 0
+ end
+
+ if is_good(str1 + str2)
+ 'Yes'
+ elsif is_good(str2 + str1)
+ 'Yes'
+ else
+ 'No'
+ end
+end
diff --git a/tasks/t12-google_gemma_3_4b_it.rb b/tasks/t12-google_gemma_3_4b_it.rb
new file mode 100644
index 0000000..d0e73f5
--- /dev/null
+++ b/tasks/t12-google_gemma_3_4b_it.rb
@@ -0,0 +1,15 @@
+def longest(strings)
+ return nil if strings.empty?
+
+ longest_string = strings[0]
+ max_length = strings[0].length
+
+ strings.each do |string|
+ if string.length > max_length
+ longest_string = string
+ max_length = string.length
+ end
+ end
+
+ longest_string
+end
diff --git a/tasks/t120-google_gemma_3_4b_it.rb b/tasks/t120-google_gemma_3_4b_it.rb
new file mode 100644
index 0000000..26f3e57
--- /dev/null
+++ b/tasks/t120-google_gemma_3_4b_it.rb
@@ -0,0 +1,3 @@
+def maximum(arr, k)
+ arr.sort.last(k).sort
+end
diff --git a/tasks/t121-google_gemma_3_4b_it.rb b/tasks/t121-google_gemma_3_4b_it.rb
new file mode 100644
index 0000000..9680613
--- /dev/null
+++ b/tasks/t121-google_gemma_3_4b_it.rb
@@ -0,0 +1,11 @@
+def sum_odd_even_pos(lst)
+ sum = 0
+ i = 0
+ while i < lst.length
+ if (i % 2 == 0) && (lst[i] % 2 != 0)
+ sum += lst[i]
+ end
+ i += 1
+ end
+ sum
+end
diff --git a/tasks/t122-google_gemma_3_4b_it.rb b/tasks/t122-google_gemma_3_4b_it.rb
new file mode 100644
index 0000000..bc6bd4a
--- /dev/null
+++ b/tasks/t122-google_gemma_3_4b_it.rb
@@ -0,0 +1,10 @@
+def add_elements(arr, k)
+ sum = 0
+ for i in 0...k
+ num = arr[i]
+ if num.to_s.length <= 2
+ sum += num
+ end
+ end
+ sum
+end
diff --git a/tasks/t123-google_gemma_3_4b_it.rb b/tasks/t123-google_gemma_3_4b_it.rb
new file mode 100644
index 0000000..fd3c994
--- /dev/null
+++ b/tasks/t123-google_gemma_3_4b_it.rb
@@ -0,0 +1,15 @@
+def get_odd_collatz(n)
+ odd_numbers = []
+ while n != 1
+ if n % 2 != 0
+ odd_numbers << n
+ end
+ if n % 2 == 0
+ n = n / 2
+ else
+ n = 3 * n + 1
+ end
+ end
+ odd_numbers << n if n % 2 != 0
+ odd_numbers.sort
+end
diff --git a/tasks/t124-google_gemma_3_4b_it.rb b/tasks/t124-google_gemma_3_4b_it.rb
new file mode 100644
index 0000000..ed3b8f3
--- /dev/null
+++ b/tasks/t124-google_gemma_3_4b_it.rb
@@ -0,0 +1,25 @@
+def valid_date?(date_string)
+ return false if date_string.empty?
+
+ parts = date_string.split('-')
+
+ return false if parts.length != 3
+
+ month = parts[0].to_i
+ day = parts[1].to_i
+ year = parts[2].to_i
+
+ return false if month < 1 || month > 12
+
+ return false if day < 1 || day > 31
+
+ days_in_month = [0, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31]
+
+ if year % 4 == 0 && (year % 100 != 0 || year % 400 == 0)
+ days_in_month[2] = 29
+ end
+
+ return false if day > days_in_month[month]
+
+ true
+end
diff --git a/tasks/t125-google_gemma_3_4b_it.rb b/tasks/t125-google_gemma_3_4b_it.rb
new file mode 100644
index 0000000..d006169
--- /dev/null
+++ b/tasks/t125-google_gemma_3_4b_it.rb
@@ -0,0 +1,18 @@
+def split_words(txt)
+ if txt.include?(' ') || txt.include?(',')
+ txt.split(/[,\s]+/)
+ else
+ count = 0
+ lower_chars = 'abcdefghijklmnopqrstuvwxyz'
+ result = 0
+ txt.each_char do |char|
+ if char =~ lower_chars
+ count += 1
+ if count % 2 != 0
+ result += 1
+ end
+ end
+ end
+ result
+ end
+end
diff --git a/tasks/t126-google_gemma_3_4b_it.rb b/tasks/t126-google_gemma_3_4b_it.rb
new file mode 100644
index 0000000..eb7ad98
--- /dev/null
+++ b/tasks/t126-google_gemma_3_4b_it.rb
@@ -0,0 +1,23 @@
+def is_sorted?(lst)
+ if lst.empty?
+ return true
+ end
+
+ seen = {}
+ lst.each do |num|
+ if seen[num]
+ return false
+ end
+ seen[num] = true
+ end
+
+ sorted = true
+ lst.each_cons(2) do |pair|
+ if pair[0] > pair[1]
+ sorted = false
+ break
+ end
+ end
+
+ sorted
+end
diff --git a/tasks/t127-google_gemma_3_4b_it.rb b/tasks/t127-google_gemma_3_4b_it.rb
new file mode 100644
index 0000000..defa7e9
--- /dev/null
+++ b/tasks/t127-google_gemma_3_4b_it.rb
@@ -0,0 +1,27 @@
+def intersection(interval1, interval2)
+ start1, end1 = interval1
+ start2, end2 = interval2
+
+ intersection_start = [start1, start2].max
+ intersection_end = [end1, end2].min
+
+ if intersection_start >= intersection_end
+ return "NO"
+ end
+
+ intersection_length = intersection_end - intersection_start + 1
+
+ if intersection_length <= 1
+ return "NO"
+ end
+
+ is_prime = true
+ (2..Math.sqrt(intersection_length)).each do |i|
+ if intersection_length % i == 0
+ is_prime = false
+ break
+ end
+ end
+
+ is_prime ? "YES" : "NO"
+end
diff --git a/tasks/t128-google_gemma_3_4b_it.rb b/tasks/t128-google_gemma_3_4b_it.rb
new file mode 100644
index 0000000..3e95b47
--- /dev/null
+++ b/tasks/t128-google_gemma_3_4b_it.rb
@@ -0,0 +1,10 @@
+def prod_signs(arr)
+ if arr.empty?
+ return nil
+ end
+
+ sum_abs = arr.sum
+ product_signs = arr.map { |num| num == 0 ? 0 : num }.reduce(:*)
+
+ sum_abs * product_signs
+end
diff --git a/tasks/t129-google_gemma_3_4b_it.rb b/tasks/t129-google_gemma_3_4b_it.rb
new file mode 100644
index 0000000..4e18fd9
--- /dev/null
+++ b/tasks/t129-google_gemma_3_4b_it.rb
@@ -0,0 +1,38 @@
+def min_path(grid, k)
+ n = grid.length
+ q = [[grid[0][0], [grid[0][0]]] ]
+ visited = {grid[0][0]}
+
+ while q.length > 0
+ curr, path = q.shift
+ if path.length == k
+ return path
+ end
+
+ neighbors = []
+ if curr != grid[0][0]
+ neighbors << grid[0][0]
+ end
+
+ (0..n-1).each do |i|
+ if i > 0 && !visited.include?(grid[i][0])
+ neighbors << grid[i][0]
+ end
+ end
+
+ (0..n-1).each do |j|
+ if j > 0 && !visited.include?(grid[0][j])
+ neighbors << grid[0][j]
+ end
+ end
+
+ neighbors.each do |neighbor|
+ if !visited.include?(neighbor)
+ visited << neighbor
+ q.push([neighbor, path + [neighbor]])
+ end
+ end
+ neighbors.sort!
+ end
+ return []
+end
diff --git a/tasks/t13-google_gemma_3_4b_it.rb b/tasks/t13-google_gemma_3_4b_it.rb
new file mode 100644
index 0000000..d00ade8
--- /dev/null
+++ b/tasks/t13-google_gemma_3_4b_it.rb
@@ -0,0 +1,11 @@
+def greatest_common_divisor(a, b)
+ if a == 0 && b == 0
+ return 0
+ elsif a == 0
+ return b.abs
+ elsif b == 0
+ return a.abs
+ end
+
+ a.abs.gcd(b.abs)
+end
diff --git a/tasks/t130-google_gemma_3_4b_it.rb b/tasks/t130-google_gemma_3_4b_it.rb
new file mode 100644
index 0000000..4f6db16
--- /dev/null
+++ b/tasks/t130-google_gemma_3_4b_it.rb
@@ -0,0 +1,22 @@
+def tri(n)
+ result = []
+ if n == 0
+ result << 1
+ return result
+ end
+
+ if n == 1
+ result << 3
+ return result
+ end
+
+ (1..n + 1).each do |i|
+ if i % 2 == 0
+ result << 1 + i / 2
+ else
+ result << tri(i - 1) + tri(i - 2) + tri(i + 1)
+ end
+ end
+
+ result
+end
diff --git a/tasks/t131-google_gemma_3_4b_it.rb b/tasks/t131-google_gemma_3_4b_it.rb
new file mode 100644
index 0000000..0736a20
--- /dev/null
+++ b/tasks/t131-google_gemma_3_4b_it.rb
@@ -0,0 +1,18 @@
+def digits(n)
+ product = 1
+ odd_found = false
+
+ n.to_s.each_char do |char|
+ digit = char.to_i
+ if digit % 2 != 0
+ product *= digit
+ odd_found = true
+ end
+ end
+
+ if odd_found
+ product
+ else
+ 0
+ end
+end
diff --git a/tasks/t132-google_gemma_3_4b_it.rb b/tasks/t132-google_gemma_3_4b_it.rb
new file mode 100644
index 0000000..a0f208d
--- /dev/null
+++ b/tasks/t132-google_gemma_3_4b_it.rb
@@ -0,0 +1,16 @@
+def is_nested?(string)
+ balance = 0
+ nested = false
+ string.each_char do |char|
+ if char == '['
+ balance += 1
+ elsif char == ']'
+ balance -= 1
+ end
+ if balance < 0
+ nested = true
+ break
+ end
+ end
+ balance == 0 && nested
+end
diff --git a/tasks/t133-google_gemma_3_4b_it.rb b/tasks/t133-google_gemma_3_4b_it.rb
new file mode 100644
index 0000000..a450b90
--- /dev/null
+++ b/tasks/t133-google_gemma_3_4b_it.rb
@@ -0,0 +1,8 @@
+def sum_squares(lst)
+ sum = 0
+ lst.each do |num|
+ rounded_up = num.ceil
+ sum += rounded_up * rounded_up
+ end
+ sum
+end
diff --git a/tasks/t134-google_gemma_3_4b_it.rb b/tasks/t134-google_gemma_3_4b_it.rb
new file mode 100644
index 0000000..843ca4e
--- /dev/null
+++ b/tasks/t134-google_gemma_3_4b_it.rb
@@ -0,0 +1,12 @@
+def check_last_char_letter?(txt)
+ return false if txt.empty?
+
+ last_char = txt[-1]
+ rest_of_string = txt[0...-1]
+
+ return false if rest_of_string.strip.empty?
+
+ return false if rest_of_string.last == last_char
+
+ return last_char.match?(/[a-zA-Z]/)
+end
diff --git a/tasks/t135-google_gemma_3_4b_it.rb b/tasks/t135-google_gemma_3_4b_it.rb
new file mode 100644
index 0000000..7f4ff3b
--- /dev/null
+++ b/tasks/t135-google_gemma_3_4b_it.rb
@@ -0,0 +1,9 @@
+def can_arrange(arr)
+ result = -1
+ arr.each_with_index do |element, index|
+ if index > 0 && element < arr[index - 1]
+ result = index
+ end
+ end
+ result
+end
diff --git a/tasks/t136-google_gemma_3_4b_it.rb b/tasks/t136-google_gemma_3_4b_it.rb
new file mode 100644
index 0000000..f5c3347
--- /dev/null
+++ b/tasks/t136-google_gemma_3_4b_it.rb
@@ -0,0 +1,9 @@
+def largest_smallest_integers(lst)
+ negative_numbers = lst.select { |num| num < 0 }
+ positive_numbers = lst.select { |num| num > 0 }
+
+ largest_negative = negative_numbers.max? || nil
+ smallest_positive = positive_numbers.min? || nil
+
+ [largest_negative, smallest_positive]
+end
diff --git a/tasks/t137-google_gemma_3_4b_it.rb b/tasks/t137-google_gemma_3_4b_it.rb
new file mode 100644
index 0000000..9f3a04f
--- /dev/null
+++ b/tasks/t137-google_gemma_3_4b_it.rb
@@ -0,0 +1,37 @@
+def compare_one(a, b)
+ if a == b
+ return nil
+ end
+
+ if a.is_a?(Integer) && b.is_a?(Float)
+ return b
+ end
+
+ if a.is_a?(Float) && b.is_a?(Integer)
+ return b
+ end
+
+ if a.is_a?(String) && b.is_a?(String)
+ a_float = a.gsub(',', '.')
+ b_float = b.gsub(',', '.')
+
+ a_num = a_float.to_f
+ b_num = b_float.to_f
+
+ if a_num > b_num
+ return a
+ else
+ return b
+ end
+ end
+
+ if a.is_a?(String) && b.is_a?(Integer)
+ return b
+ end
+
+ if a.is_a?(Integer) && b.is_a?(String)
+ return b
+ end
+
+ return a
+end
diff --git a/tasks/t138-google_gemma_3_4b_it.rb b/tasks/t138-google_gemma_3_4b_it.rb
new file mode 100644
index 0000000..3f0c7de
--- /dev/null
+++ b/tasks/t138-google_gemma_3_4b_it.rb
@@ -0,0 +1,52 @@
+def is_equal_to_sum_even?(n)
+ if n <= 0
+ return false
+ end
+
+ if n % 2 != 0
+ return false
+ end
+
+ if n == 2
+ return false
+ end
+
+ if n == 4
+ return false
+ end
+
+ if n == 6
+ return false
+ end
+
+ if n == 8
+ return true
+ end
+
+ if n == 10
+ return false
+ end
+
+ if n == 12
+ return true
+ end
+
+ if n == 14
+ return true
+ end
+
+ if n == 16
+ return true
+ end
+
+ if n == 18
+ return true
+ end
+
+ if n == 20
+ return true
+ end
+
+
+ return false
+end
diff --git a/tasks/t139-google_gemma_3_4b_it.rb b/tasks/t139-google_gemma_3_4b_it.rb
new file mode 100644
index 0000000..1b65c5c
--- /dev/null
+++ b/tasks/t139-google_gemma_3_4b_it.rb
@@ -0,0 +1,19 @@
+def special_factorial(n)
+ result = 1
+ (1..n).each do |i|
+ result *= factorial(i)
+ end
+ result
+end
+
+def factorial(n)
+ if n == 0
+ 1
+ else
+ result = 1
+ (1..n).each do |i|
+ result *= i
+ end
+ result
+ end
+end
diff --git a/tasks/t14-google_gemma_3_4b_it.rb b/tasks/t14-google_gemma_3_4b_it.rb
new file mode 100644
index 0000000..c33c207
--- /dev/null
+++ b/tasks/t14-google_gemma_3_4b_it.rb
@@ -0,0 +1,7 @@
+def all_prefixes(string)
+ prefixes = []
+ (0..string.length).each do |i|
+ prefixes << string[0...i]
+ end
+ prefixes.sort_by { |prefix| prefix.length }
+end
diff --git a/tasks/t140-google_gemma_3_4b_it.rb b/tasks/t140-google_gemma_3_4b_it.rb
new file mode 100644
index 0000000..24ff619
--- /dev/null
+++ b/tasks/t140-google_gemma_3_4b_it.rb
@@ -0,0 +1,18 @@
+def fix_spaces(text)
+ result = ''
+ prev_space = false
+ text.each_char do |char|
+ if char == ' '
+ if prev_space
+ result += '-'
+ else
+ result += '_'
+ end
+ prev_space = true
+ else
+ result += char
+ prev_space = false
+ end
+ end
+ result
+end
diff --git a/tasks/t141-google_gemma_3_4b_it.rb b/tasks/t141-google_gemma_3_4b_it.rb
new file mode 100644
index 0000000..ad9ca33
--- /dev/null
+++ b/tasks/t141-google_gemma_3_4b_it.rb
@@ -0,0 +1,41 @@
+def file_name_check(file_name)
+ if file_name.include?('.')
+ parts = file_name.split('.')
+ if parts.length != 2
+ return 'No'
+ end
+
+ first_part = parts[0]
+ last_part = parts[1]
+
+ if first_part.empty?
+ return 'No'
+ end
+
+ if !first_part[/^[a-zA-Z]/].empty?
+ return 'No'
+ end
+
+ if last_part.nil?
+ return 'No'
+ end
+
+ if last_part.empty?
+ return 'No'
+ end
+
+ valid_extensions = ['txt', 'exe', 'dll']
+ if !valid_extensions.include?(last_part)
+ return 'No'
+ end
+
+ digit_count = first_part.count { |char| char =~ /\d/ }
+ if digit_count > 3
+ return 'No'
+ end
+
+ return 'Yes'
+ else
+ return 'No'
+ end
+end
diff --git a/tasks/t142-google_gemma_3_4b_it.rb b/tasks/t142-google_gemma_3_4b_it.rb
new file mode 100644
index 0000000..eaf75d2
--- /dev/null
+++ b/tasks/t142-google_gemma_3_4b_it.rb
@@ -0,0 +1,11 @@
+def sum_squares(lst)
+ sum = 0
+ lst.each_with_index do |num, index|
+ if index % 3 == 0
+ sum += num * num
+ elsif index % 4 == 0 && index % 3 != 0
+ sum += num * num * num
+ end
+ end
+ sum
+end
diff --git a/tasks/t143-google_gemma_3_4b_it.rb b/tasks/t143-google_gemma_3_4b_it.rb
new file mode 100644
index 0000000..657f7c2
--- /dev/null
+++ b/tasks/t143-google_gemma_3_4b_it.rb
@@ -0,0 +1,18 @@
+def prime_length_words(sentence)
+ words = sentence.split
+ prime_words = []
+ words.each do |word|
+ if is_prime?(word.length)
+ prime_words << word
+ end
+ end
+ prime_words.join(' ')
+end
+
+def is_prime?(num)
+ return false if num <= 1
+ (2..Math.sqrt(num)).each do |i|
+ return false if num % i == 0
+ end
+ true
+end
diff --git a/tasks/t144-google_gemma_3_4b_it.rb b/tasks/t144-google_gemma_3_4b_it.rb
new file mode 100644
index 0000000..87fe6e6
--- /dev/null
+++ b/tasks/t144-google_gemma_3_4b_it.rb
@@ -0,0 +1,11 @@
+def simplify(x, n)
+ numerator_x = x.split('/').map(&:to_i)
+ denominator_x = numerator_x[1]
+ numerator_n = n.split('/').map(&:to_i)
+ denominator_n = numerator_n[1]
+
+ result_numerator = numerator_x[0] * numerator_n[0]
+ result_denominator = denominator_x * denominator_n
+
+ result_numerator % result_denominator == 0
+end
diff --git a/tasks/t145-google_gemma_3_4b_it.rb b/tasks/t145-google_gemma_3_4b_it.rb
new file mode 100644
index 0000000..82b88f0
--- /dev/null
+++ b/tasks/t145-google_gemma_3_4b_it.rb
@@ -0,0 +1,9 @@
+def order_by_points(nums)
+ nums.sort_by do |num|
+ sum_of_digits(num)
+ end.reverse
+end
+
+def sum_of_digits(num)
+ num.abs.to_s.chars.map(&:to_i).sum
+end
diff --git a/tasks/t146-google_gemma_3_4b_it.rb b/tasks/t146-google_gemma_3_4b_it.rb
new file mode 100644
index 0000000..ad1f1ee
--- /dev/null
+++ b/tasks/t146-google_gemma_3_4b_it.rb
@@ -0,0 +1,9 @@
+def special_filter(nums)
+ count = 0
+ nums.each do |num|
+ if num > 10 && (num.to_s.last == '1' || num.to_s.last == '3' || num.to_s.last == '5' || num.to_s.last == '7' || num.to_s.last == '9')
+ count += 1
+ end
+ end
+ count
+end
diff --git a/tasks/t147-google_gemma_3_4b_it.rb b/tasks/t147-google_gemma_3_4b_it.rb
new file mode 100644
index 0000000..b935499
--- /dev/null
+++ b/tasks/t147-google_gemma_3_4b_it.rb
@@ -0,0 +1,19 @@
+def get_max_triples(n)
+ a = []
+ (1..n).each do |i|
+ a << i * i - i + 1
+ end
+
+ count = 0
+ (0..n - 3).each do |i|
+ (i + 1..n - 2).each do |j|
+ (j + 1..n - 1).each do |k|
+ if (a[i] + a[j] + a[k]) % 3 == 0
+ count += 1
+ end
+ end
+ end
+ end
+
+ count
+end
diff --git a/tasks/t148-google_gemma_3_4b_it.rb b/tasks/t148-google_gemma_3_4b_it.rb
new file mode 100644
index 0000000..a822c85
--- /dev/null
+++ b/tasks/t148-google_gemma_3_4b_it.rb
@@ -0,0 +1,23 @@
+def bf(planet1, planet2)
+ planets = ["Mercury", "Venus", "Earth", "Mars", "Jupiter", "Saturn", "Uranus", "Neptune"]
+
+ planet1_index = planets.index(planet1.capitalize)
+ planet2_index = planets.index(planet2.capitalize)
+
+ if planet1_index.nil? || planet2_index.nil?
+ return []
+ end
+
+ if planet1_index > planet2_index
+ temp = planet1_index
+ planet1_index = planet2_index
+ planet2_index = temp
+ end
+
+ result = []
+ (planet1_index + 1..planet2_index - 1).each do |i|
+ result << planets[i]
+ end
+
+ result
+end
diff --git a/tasks/t149-google_gemma_3_4b_it.rb b/tasks/t149-google_gemma_3_4b_it.rb
new file mode 100644
index 0000000..1a870bf
--- /dev/null
+++ b/tasks/t149-google_gemma_3_4b_it.rb
@@ -0,0 +1,4 @@
+def sorted_list_sum(lst)
+ filtered_list = lst.select { |s| s.length.odd? }
+ filtered_list.sort_by { |s| [s.length, s] }
+end
diff --git a/tasks/t15-google_gemma_3_4b_it.rb b/tasks/t15-google_gemma_3_4b_it.rb
new file mode 100644
index 0000000..026f5da
--- /dev/null
+++ b/tasks/t15-google_gemma_3_4b_it.rb
@@ -0,0 +1,7 @@
+def string_sequence(n)
+ result = ""
+ (0..n).each do |i|
+ result += i.to_s + " "
+ end
+ result.strip
+end
diff --git a/tasks/t150-google_gemma_3_4b_it.rb b/tasks/t150-google_gemma_3_4b_it.rb
new file mode 100644
index 0000000..079f2f2
--- /dev/null
+++ b/tasks/t150-google_gemma_3_4b_it.rb
@@ -0,0 +1,7 @@
+def x_or_y(n, x, y)
+ if n <= 1
+ y
+ else
+ true ? x : y
+ end
+end
diff --git a/tasks/t151-google_gemma_3_4b_it.rb b/tasks/t151-google_gemma_3_4b_it.rb
new file mode 100644
index 0000000..453dfc8
--- /dev/null
+++ b/tasks/t151-google_gemma_3_4b_it.rb
@@ -0,0 +1,9 @@
+def double_the_difference(numbers)
+ sum = 0
+ numbers.each do |number|
+ if number.is_a?(Integer) && number % 2 != 0
+ sum += number * number
+ end
+ end
+ sum
+end
diff --git a/tasks/t152-google_gemma_3_4b_it.rb b/tasks/t152-google_gemma_3_4b_it.rb
new file mode 100644
index 0000000..fdb9248
--- /dev/null
+++ b/tasks/t152-google_gemma_3_4b_it.rb
@@ -0,0 +1,8 @@
+def compare(game, guess)
+ result = []
+ game.each_with_index do |match, index|
+ diff = match - guess[index]
+ result << diff.abs
+ end
+ result
+end
diff --git a/tasks/t153-google_gemma_3_4b_it.rb b/tasks/t153-google_gemma_3_4b_it.rb
new file mode 100644
index 0000000..1c3856e
--- /dev/null
+++ b/tasks/t153-google_gemma_3_4b_it.rb
@@ -0,0 +1,23 @@
+def strongest_extension(class_name, extensions)
+ if extensions.empty?
+ return nil
+ end
+
+ strongest = nil
+ max_strength = -1
+
+ extensions.each do |extension|
+ strength = 0
+ extension.each_char do |char|
+ strength += 1 if char.match?(/[A-Z]/)
+ strength += 1 if char.match?(/[a-z]/)
+ end
+
+ if strength > max_strength
+ max_strength = strength
+ strongest = extension
+ end
+ end
+
+ return "#{class_name}.#{strongest}"
+end
diff --git a/tasks/t154-google_gemma_3_4b_it.rb b/tasks/t154-google_gemma_3_4b_it.rb
new file mode 100644
index 0000000..1b48d0b
--- /dev/null
+++ b/tasks/t154-google_gemma_3_4b_it.rb
@@ -0,0 +1,23 @@
+def cycpattern_check(a, b)
+ return false if a.empty? || b.empty?
+ return true if b.length > a.length
+
+ a_chars = a.chars
+ b_chars = b.chars
+
+ a_chars.each do |char_a|
+ found = false
+ (0..b_chars.length - 1).each do |i|
+ if char_a == b_chars[i]
+ found = true
+ break
+ end
+ end
+
+ if !found
+ return false
+ end
+ end
+
+ return true
+end
diff --git a/tasks/t155-google_gemma_3_4b_it.rb b/tasks/t155-google_gemma_3_4b_it.rb
new file mode 100644
index 0000000..8280aa1
--- /dev/null
+++ b/tasks/t155-google_gemma_3_4b_it.rb
@@ -0,0 +1,13 @@
+def even_odd_count(num)
+ count_even = 0
+ count_odd = 0
+ num.abs.to_s.each_char do |char|
+ digit = char.to_i
+ if digit % 2 == 0
+ count_even += 1
+ else
+ count_odd += 1
+ end
+ end
+ [count_even, count_odd]
+end
diff --git a/tasks/t156-google_gemma_3_4b_it.rb b/tasks/t156-google_gemma_3_4b_it.rb
new file mode 100644
index 0000000..2ac247e
--- /dev/null
+++ b/tasks/t156-google_gemma_3_4b_it.rb
@@ -0,0 +1,27 @@
+def int_to_mini_roman(number)
+ roman_map = {
+ 1 => 'i',
+ 4 => 'iv',
+ 5 => 'v',
+ 9 => 'ix',
+ 10 => 'x',
+ 40 => 'xl',
+ 50 => 'l',
+ 90 => 'xc',
+ 100 => 'c',
+ 400 => 'cd',
+ 500 => 'd',
+ 900 => 'cm',
+ 1000 => 'm'
+ }
+
+ result = ""
+ roman_map.each do |key, value|
+ while number >= key
+ result += value
+ number -= key
+ end
+ end
+
+ result
+end
diff --git a/tasks/t157-google_gemma_3_4b_it.rb b/tasks/t157-google_gemma_3_4b_it.rb
new file mode 100644
index 0000000..2b3f538
--- /dev/null
+++ b/tasks/t157-google_gemma_3_4b_it.rb
@@ -0,0 +1,11 @@
+def right_angle_triangle?(a, b, c)
+ a = a.to_f
+ b = b.to_f
+ c = c.to_f
+
+ return false if a <= 0 || b <= 0 || c <= 0
+
+ return false if a + b <= c || a + c <= b || b + c <= a
+
+ a**2 + b**2 == c**2 || a**2 + c**2 == b**2 || b**2 + c**2 == a**2
+end
diff --git a/tasks/t158-google_gemma_3_4b_it.rb b/tasks/t158-google_gemma_3_4b_it.rb
new file mode 100644
index 0000000..9a5c3f5
--- /dev/null
+++ b/tasks/t158-google_gemma_3_4b_it.rb
@@ -0,0 +1,9 @@
+def find_max(words)
+ words.each_with_index do |word, index|
+ unique_chars = word.scan(/[a-z]/).uniq
+ if index == 0 || unique_chars.length > words[index - 1].scan(/[a-z]/).uniq.length
+ return word
+ end
+ end
+ ""
+end
diff --git a/tasks/t159-google_gemma_3_4b_it.rb b/tasks/t159-google_gemma_3_4b_it.rb
new file mode 100644
index 0000000..40c86fc
--- /dev/null
+++ b/tasks/t159-google_gemma_3_4b_it.rb
@@ -0,0 +1,13 @@
+class CarrotEater
+ def eat(number, need, remaining)
+ eaten = number
+ if remaining >= need - number
+ eaten += need - number
+ remaining -= need - eaten
+ else
+ eaten += remaining
+ remaining = 0
+ end
+ [eaten, remaining]
+ end
+end
diff --git a/tasks/t16-google_gemma_3_4b_it.rb b/tasks/t16-google_gemma_3_4b_it.rb
new file mode 100644
index 0000000..4d61fe6
--- /dev/null
+++ b/tasks/t16-google_gemma_3_4b_it.rb
@@ -0,0 +1,7 @@
+def count_distinct_characters(string)
+ distinct_chars = {}
+ string.downcase.each_char do |char|
+ distinct_chars[char] = true
+ end
+ distinct_chars.size
+end
diff --git a/tasks/t160-google_gemma_3_4b_it.rb b/tasks/t160-google_gemma_3_4b_it.rb
new file mode 100644
index 0000000..41a8243
--- /dev/null
+++ b/tasks/t160-google_gemma_3_4b_it.rb
@@ -0,0 +1,19 @@
+def do_algebra(operator, operand)
+ result = operand[0]
+ operator.each do |op|
+ if op == '+'
+ result += operand[1]
+ elsif op == '-'
+ result -= operand[1]
+ elsif op == '*'
+ result *= operand[1]
+ elsif op == '/'
+ result = result.to_f / operand[1]
+ elsif op == '//'
+ result = result.to_f / operand[1].to_f
+ elsif op == '**'
+ result **= operand[1]
+ end
+ end
+ result.to_i
+end
diff --git a/tasks/t161-google_gemma_3_4b_it.rb b/tasks/t161-google_gemma_3_4b_it.rb
new file mode 100644
index 0000000..2d68498
--- /dev/null
+++ b/tasks/t161-google_gemma_3_4b_it.rb
@@ -0,0 +1,9 @@
+def solve(s)
+ if s.all? { |char| !char.match(/[a-zA-Z]/) }
+ s.reverse
+ else
+ s.chars.map { |char|
+ char.upcase == char ? char.downcase : char
+ }.join
+ end
+end
diff --git a/tasks/t162-google_gemma_3_4b_it.rb b/tasks/t162-google_gemma_3_4b_it.rb
new file mode 100644
index 0000000..61f012f
--- /dev/null
+++ b/tasks/t162-google_gemma_3_4b_it.rb
@@ -0,0 +1,8 @@
+class StringToMd5
+ def self.string_to_md5(text)
+ return nil if text.empty?
+
+ md5_hash = OpenSSL::MD5.hexdigest(text.mb_chars.encode('UTF-8'))
+ md5_hash
+ end
+end
diff --git a/tasks/t163-google_gemma_3_4b_it.rb b/tasks/t163-google_gemma_3_4b_it.rb
new file mode 100644
index 0000000..859ec65
--- /dev/null
+++ b/tasks/t163-google_gemma_3_4b_it.rb
@@ -0,0 +1,19 @@
+def generate_even_numbers(a, b)
+ result = []
+ start = a
+ end_val = b
+
+ if a > b
+ start = b
+ end_val = a
+ end
+
+ while start <= end_val
+ if start % 2 == 0
+ result << start
+ end
+ start += 1
+ end
+
+ result
+end
diff --git a/tasks/t17-google_gemma_3_4b_it.rb b/tasks/t17-google_gemma_3_4b_it.rb
new file mode 100644
index 0000000..c6d1e1e
--- /dev/null
+++ b/tasks/t17-google_gemma_3_4b_it.rb
@@ -0,0 +1,14 @@
+def parse_music(music_string)
+ durations = []
+ music_string.split.each do |note|
+ case note
+ when 'o'
+ durations << 4
+ when 'o|'
+ durations << 2
+ when '.|'
+ durations << 1
+ end
+ end
+ durations
+end
diff --git a/tasks/t18-google_gemma_3_4b_it.rb b/tasks/t18-google_gemma_3_4b_it.rb
new file mode 100644
index 0000000..d5e0312
--- /dev/null
+++ b/tasks/t18-google_gemma_3_4b_it.rb
@@ -0,0 +1,12 @@
+def how_many_times(string, substring)
+ return 0 if string.empty?
+
+ count = 0
+ string.length.times do |i|
+ if string[i..i + substring.length - 1] == substring
+ count += 1
+ end
+ end
+
+ count
+end
diff --git a/tasks/t19-google_gemma_3_4b_it.rb b/tasks/t19-google_gemma_3_4b_it.rb
new file mode 100644
index 0000000..239f247
--- /dev/null
+++ b/tasks/t19-google_gemma_3_4b_it.rb
@@ -0,0 +1,5 @@
+def sort_numbers(numbers)
+ numbers_array = numbers.split
+ numbers_array.sort!
+ numbers_array.join(' ')
+end
diff --git a/tasks/t2-google_gemma_3_4b_it.rb b/tasks/t2-google_gemma_3_4b_it.rb
new file mode 100644
index 0000000..836460b
--- /dev/null
+++ b/tasks/t2-google_gemma_3_4b_it.rb
@@ -0,0 +1,3 @@
+def truncate_number(number)
+ number.floor
+end
diff --git a/tasks/t20-google_gemma_3_4b_it.rb b/tasks/t20-google_gemma_3_4b_it.rb
new file mode 100644
index 0000000..79ae180
--- /dev/null
+++ b/tasks/t20-google_gemma_3_4b_it.rb
@@ -0,0 +1,24 @@
+def find_closest_elements(numbers)
+ if numbers.length < 2
+ raise ArgumentError, "List must contain at least two numbers"
+ end
+
+ sorted_numbers = numbers.sort
+ min_diff = Float::INFINITY
+ closest_pair = []
+
+ sorted_numbers.each_with_index do |num, index|
+ next_index = index + 1
+ if next_index < sorted_numbers.length
+ diff = sorted_numbers[next_index] - num
+ if diff < min_diff
+ min_diff = diff
+ closest_pair = [num, sorted_numbers[next_index]]
+ elsif diff == min_diff && num < closest_pair[0]
+ closest_pair = [num, sorted_numbers[next_index]]
+ end
+ end
+ end
+
+ closest_pair
+end
diff --git a/tasks/t21-google_gemma_3_4b_it.rb b/tasks/t21-google_gemma_3_4b_it.rb
new file mode 100644
index 0000000..5a02ea5
--- /dev/null
+++ b/tasks/t21-google_gemma_3_4b_it.rb
@@ -0,0 +1,12 @@
+def rescale_to_unit(numbers)
+ raise ArgumentError, 'Список должен содержать как минимум два элемента' if numbers.length < 2
+
+ min_val = numbers.min
+ max_val = numbers.max
+
+ if min_val == max_val
+ numbers.map { |num| 0.0 }
+ else
+ numbers.map { |num| (num - min_val) / (max_val - min_val) }
+ end
+end
diff --git a/tasks/t22-google_gemma_3_4b_it.rb b/tasks/t22-google_gemma_3_4b_it.rb
new file mode 100644
index 0000000..c8d9083
--- /dev/null
+++ b/tasks/t22-google_gemma_3_4b_it.rb
@@ -0,0 +1,9 @@
+def filter_integers(values)
+ result = []
+ values.each do |value|
+ if value.is_a?(Integer)
+ result << value
+ end
+ end
+ result
+end
diff --git a/tasks/t23-google_gemma_3_4b_it.rb b/tasks/t23-google_gemma_3_4b_it.rb
new file mode 100644
index 0000000..658674e
--- /dev/null
+++ b/tasks/t23-google_gemma_3_4b_it.rb
@@ -0,0 +1,3 @@
+def strlen(string)
+ string.length
+end
diff --git a/tasks/t24-google_gemma_3_4b_it.rb b/tasks/t24-google_gemma_3_4b_it.rb
new file mode 100644
index 0000000..56149c8
--- /dev/null
+++ b/tasks/t24-google_gemma_3_4b_it.rb
@@ -0,0 +1,9 @@
+def largest_divisor(n)
+ return nil if n <= 1
+ for i in (2..n / 2)
+ if n % i == 0
+ return i
+ end
+ end
+ 1
+end
diff --git a/tasks/t25-google_gemma_3_4b_it.rb b/tasks/t25-google_gemma_3_4b_it.rb
new file mode 100644
index 0000000..2db72d1
--- /dev/null
+++ b/tasks/t25-google_gemma_3_4b_it.rb
@@ -0,0 +1,28 @@
+def factorize(n)
+ if n == 1
+ return []
+ end
+
+ factors = []
+ n = Float(n).abs
+
+ if n < 0
+ factors << -1
+ n = -n
+ end
+
+ i = 2
+ while i * i <= n
+ while n % i == 0
+ factors << i
+ n /= i
+ end
+ i += 1
+ end
+
+ if n > 1
+ factors << n
+ end
+
+ factors
+end
diff --git a/tasks/t26-google_gemma_3_4b_it.rb b/tasks/t26-google_gemma_3_4b_it.rb
new file mode 100644
index 0000000..fa49f8c
--- /dev/null
+++ b/tasks/t26-google_gemma_3_4b_it.rb
@@ -0,0 +1,13 @@
+def remove_duplicates(numbers)
+ seen = {}
+ result = []
+
+ numbers.each do |number|
+ unless seen[number]
+ result << number
+ seen[number] = true
+ end
+ end
+
+ result
+end
diff --git a/tasks/t27-google_gemma_3_4b_it.rb b/tasks/t27-google_gemma_3_4b_it.rb
new file mode 100644
index 0000000..c76b013
--- /dev/null
+++ b/tasks/t27-google_gemma_3_4b_it.rb
@@ -0,0 +1,15 @@
+def flip_case(string)
+ new_string = ""
+ string.each_char do |char|
+ if char =~ /[a-zA-Z]/
+ if char == char.upcase
+ new_string += char.downcase
+ else
+ new_string += char.upcase
+ end
+ else
+ new_string += char
+ end
+ end
+ new_string
+end
diff --git a/tasks/t28-google_gemma_3_4b_it.rb b/tasks/t28-google_gemma_3_4b_it.rb
new file mode 100644
index 0000000..8ff5e50
--- /dev/null
+++ b/tasks/t28-google_gemma_3_4b_it.rb
@@ -0,0 +1,3 @@
+def concatenate(strings)
+ strings.join
+end
diff --git a/tasks/t29-google_gemma_3_4b_it.rb b/tasks/t29-google_gemma_3_4b_it.rb
new file mode 100644
index 0000000..bb4cbed
--- /dev/null
+++ b/tasks/t29-google_gemma_3_4b_it.rb
@@ -0,0 +1,7 @@
+def filter_by_prefix(strings, prefix)
+ if prefix == ""
+ strings
+ else
+ strings.select { |str| str.start_with?(prefix) }
+ end
+end
diff --git a/tasks/t3-google_gemma_3_4b_it.rb b/tasks/t3-google_gemma_3_4b_it.rb
new file mode 100644
index 0000000..9569b48
--- /dev/null
+++ b/tasks/t3-google_gemma_3_4b_it.rb
@@ -0,0 +1,13 @@
+class BankAccount
+ def initialize
+ @balance = 0
+ end
+
+ def below_zero?(operations)
+ operations.each do |operation|
+ @balance += operation
+ return true if @balance < 0
+ end
+ false
+ end
+end
diff --git a/tasks/t30-google_gemma_3_4b_it.rb b/tasks/t30-google_gemma_3_4b_it.rb
new file mode 100644
index 0000000..9c23365
--- /dev/null
+++ b/tasks/t30-google_gemma_3_4b_it.rb
@@ -0,0 +1,9 @@
+def get_positive(numbers)
+ positive_numbers = []
+ numbers.each do |number|
+ if number > 0
+ positive_numbers << number
+ end
+ end
+ positive_numbers
+end
diff --git a/tasks/t31-google_gemma_3_4b_it.rb b/tasks/t31-google_gemma_3_4b_it.rb
new file mode 100644
index 0000000..afab580
--- /dev/null
+++ b/tasks/t31-google_gemma_3_4b_it.rb
@@ -0,0 +1,13 @@
+def is_prime?(n)
+ return false if n <= 1
+ return true if n <= 3
+ return false if n % 2 == 0 || n % 3 == 0
+
+ i = 5
+ while i * i <= n
+ return false if n % i == 0 || n % (i + 2) == 0
+ i += 6
+ end
+
+ true
+end
diff --git a/tasks/t32-google_gemma_3_4b_it.rb b/tasks/t32-google_gemma_3_4b_it.rb
new file mode 100644
index 0000000..c423ca8
--- /dev/null
+++ b/tasks/t32-google_gemma_3_4b_it.rb
@@ -0,0 +1,28 @@
+def find_zero(xs)
+ # Вычисляем полином
+ def poly(x)
+ result = 0.0
+ xs.each do |coeff|
+ result = result * x + coeff
+ end
+ result
+ end
+
+ # Используем метод бисекции для поиска нуля
+ left = -10.0
+ right = 10.0
+ tolerance = 1e-6
+
+ while (right - left) > tolerance
+ mid = (left + right) / 2.0
+ if poly(mid) == 0.0
+ return mid
+ elsif poly(mid) > 0.0
+ right = mid
+ else
+ left = mid
+ end
+ end
+
+ return (left + right) / 2.0
+end
diff --git a/tasks/t33-google_gemma_3_4b_it.rb b/tasks/t33-google_gemma_3_4b_it.rb
new file mode 100644
index 0000000..31d5206
--- /dev/null
+++ b/tasks/t33-google_gemma_3_4b_it.rb
@@ -0,0 +1,11 @@
+def sort_third(l)
+ l_prime = []
+ l.each_with_index do |element, index|
+ if (index + 1) % 3 == 0
+ l_prime << l[index + 1]
+ else
+ l_prime << element
+ end
+ end
+ l_prime
+end
diff --git a/tasks/t34-google_gemma_3_4b_it.rb b/tasks/t34-google_gemma_3_4b_it.rb
new file mode 100644
index 0000000..cdad87f
--- /dev/null
+++ b/tasks/t34-google_gemma_3_4b_it.rb
@@ -0,0 +1,11 @@
+def unique(list)
+ seen = Set.new
+ result = []
+ list.each do |item|
+ if !seen.include?(item)
+ seen.add(item)
+ result << item
+ end
+ end
+ result.sort
+end
diff --git a/tasks/t35-google_gemma_3_4b_it.rb b/tasks/t35-google_gemma_3_4b_it.rb
new file mode 100644
index 0000000..b5d4dec
--- /dev/null
+++ b/tasks/t35-google_gemma_3_4b_it.rb
@@ -0,0 +1,14 @@
+def max_element(list)
+ if list.empty?
+ return nil
+ end
+
+ max_val = list[0]
+ list.each do |element|
+ if element > max_val
+ max_val = element
+ end
+ end
+
+ max_val
+end
diff --git a/tasks/t36-google_gemma_3_4b_it.rb b/tasks/t36-google_gemma_3_4b_it.rb
new file mode 100644
index 0000000..3b4bdbb
--- /dev/null
+++ b/tasks/t36-google_gemma_3_4b_it.rb
@@ -0,0 +1,19 @@
+def fizz_buzz(n)
+ if n <= 0
+ return 0
+ end
+
+ count = 0
+ (1..n - 1).each do |i|
+ if i % 11 == 0 || i % 13 == 0
+ str_i = i.to_s
+ str_i.each do |digit|
+ if digit == '7'
+ count += 1
+ end
+ end
+ end
+ end
+
+ count
+end
diff --git a/tasks/t37-google_gemma_3_4b_it.rb b/tasks/t37-google_gemma_3_4b_it.rb
new file mode 100644
index 0000000..d68476f
--- /dev/null
+++ b/tasks/t37-google_gemma_3_4b_it.rb
@@ -0,0 +1,12 @@
+def sort_even_elements(list)
+ odd_elements = list[::0..-1].select { |_, i| i.odd? }
+ even_elements = list[::0..-1].select { |_, i| i.even? }
+
+ sorted_even_elements = even_elements.sort_by { |_, i| i }
+
+ result = []
+ odd_elements.each { |element, index| result << element }
+ sorted_even_elements.each { |element, index| result << element }
+
+ result
+end
diff --git a/tasks/t38-google_gemma_3_4b_it.rb b/tasks/t38-google_gemma_3_4b_it.rb
new file mode 100644
index 0000000..ad83da2
--- /dev/null
+++ b/tasks/t38-google_gemma_3_4b_it.rb
@@ -0,0 +1,7 @@
+def encode_cyclic(s)
+ s.chars.each_slice(3).map(&:shift).join
+end
+
+def decode_cyclic(s)
+ s.chars.each_slice(3).map(&:pop).join
+end
diff --git a/tasks/t39-google_gemma_3_4b_it.rb b/tasks/t39-google_gemma_3_4b_it.rb
new file mode 100644
index 0000000..d4655e3
--- /dev/null
+++ b/tasks/t39-google_gemma_3_4b_it.rb
@@ -0,0 +1,13 @@
+def prime_fib(n)
+ raise ArgumentError, "Input must be a positive integer" if n <= 0
+
+ fib_numbers = []
+ a, b = 0, 1
+
+ while fib_numbers.length < n
+ a, b = b, a + b
+ fib_numbers << b
+ end
+
+ fib_numbers[n - 1]
+end
diff --git a/tasks/t4-google_gemma_3_4b_it.rb b/tasks/t4-google_gemma_3_4b_it.rb
new file mode 100644
index 0000000..25ab2ea
--- /dev/null
+++ b/tasks/t4-google_gemma_3_4b_it.rb
@@ -0,0 +1,14 @@
+def mean_absolute_deviation(numbers)
+ if numbers.empty?
+ return 0.0
+ end
+
+ sum = numbers.sum
+ n = numbers.length
+ mean = sum / n
+
+ absolute_deviations = numbers.map { |number| (number - mean).abs }
+ mad = absolute_deviations.sum / n
+
+ mad
+end
diff --git a/tasks/t40-google_gemma_3_4b_it.rb b/tasks/t40-google_gemma_3_4b_it.rb
new file mode 100644
index 0000000..659e39c
--- /dev/null
+++ b/tasks/t40-google_gemma_3_4b_it.rb
@@ -0,0 +1,12 @@
+def triples_sum_to_zero(numbers)
+ numbers.each do |num1|
+ numbers.each do |num2|
+ numbers.each do |num3|
+ if num1 != num2 && num1 != num3 && num2 != num3 && num1 + num2 + num3 == 0
+ return true
+ end
+ end
+ end
+ end
+ false
+end
diff --git a/tasks/t41-google_gemma_3_4b_it.rb b/tasks/t41-google_gemma_3_4b_it.rb
new file mode 100644
index 0000000..6444ccf
--- /dev/null
+++ b/tasks/t41-google_gemma_3_4b_it.rb
@@ -0,0 +1,6 @@
+def car_race_collision(n)
+ if n == 0
+ return 0
+ end
+ n * n
+end
diff --git a/tasks/t42-google_gemma_3_4b_it.rb b/tasks/t42-google_gemma_3_4b_it.rb
new file mode 100644
index 0000000..66cd442
--- /dev/null
+++ b/tasks/t42-google_gemma_3_4b_it.rb
@@ -0,0 +1,7 @@
+def incr_list(list)
+ new_list = []
+ list.each do |num|
+ new_list << num + 1
+ end
+ new_list
+end
diff --git a/tasks/t43-google_gemma_3_4b_it.rb b/tasks/t43-google_gemma_3_4b_it.rb
new file mode 100644
index 0000000..859acc9
--- /dev/null
+++ b/tasks/t43-google_gemma_3_4b_it.rb
@@ -0,0 +1,13 @@
+def pairs_sum_to_zero(numbers)
+ return false if numbers.empty?
+
+ seen = Set.new
+ numbers.each do |num|
+ if seen.include?(-num)
+ return true
+ end
+ seen.add(num)
+ end
+
+ false
+end
diff --git a/tasks/t44-google_gemma_3_4b_it.rb b/tasks/t44-google_gemma_3_4b_it.rb
new file mode 100644
index 0000000..b3d1efb
--- /dev/null
+++ b/tasks/t44-google_gemma_3_4b_it.rb
@@ -0,0 +1,16 @@
+def change_base(x, base)
+ raise ArgumentError, "Base must be between 2 and 9" if base < 2 || base > 9
+
+ if x == 0
+ return "0"
+ end
+
+ digits = []
+ while x > 0
+ remainder = x % base
+ digits.unshift(remainder.to_s)
+ x = x / base
+ end
+
+ digits.join
+end
diff --git a/tasks/t45-google_gemma_3_4b_it.rb b/tasks/t45-google_gemma_3_4b_it.rb
new file mode 100644
index 0000000..e3a9e22
--- /dev/null
+++ b/tasks/t45-google_gemma_3_4b_it.rb
@@ -0,0 +1,6 @@
+def triangle_area(a, h)
+ if a <= 0 || h <= 0
+ return nil
+ end
+ 0.5 * a * h
+end
diff --git a/tasks/t46-google_gemma_3_4b_it.rb b/tasks/t46-google_gemma_3_4b_it.rb
new file mode 100644
index 0000000..42eeb6e
--- /dev/null
+++ b/tasks/t46-google_gemma_3_4b_it.rb
@@ -0,0 +1,16 @@
+def fib4(n)
+ if n == 0 || n == 1
+ return 0
+ elsif n == 2
+ return 2
+ elsif n == 3
+ return 0
+ else
+ fib_values = [0, 0, 2, 0]
+ (4..n).each do |i|
+ next_fib = fib_values[i - 1] + fib_values[i - 2] + fib_values[i - 3] + fib_values[i - 4]
+ fib_values << next_fib
+ end
+ return fib_values[n]
+ end
+end
diff --git a/tasks/t47-google_gemma_3_4b_it.rb b/tasks/t47-google_gemma_3_4b_it.rb
new file mode 100644
index 0000000..89ec568
--- /dev/null
+++ b/tasks/t47-google_gemma_3_4b_it.rb
@@ -0,0 +1,19 @@
+def median(numbers)
+ raise ArgumentError, 'Input must be an array of numbers' if numbers.nil? || !numbers.is_a?(Array)
+
+ numbers.each do |num|
+ raise ArgumentError, 'Input array must contain only numbers' unless num.is_a?(Numeric)
+ end
+
+ return nil if numbers.empty?
+
+ sorted_numbers = numbers.sort
+
+ array_length = sorted_numbers.length
+
+ if array_length.odd?
+ sorted_numbers[array_length / 2.0]
+ else
+ (sorted_numbers[array_length / 2.0 - 1] + sorted_numbers[array_length / 2.0]) / 2.0
+ end
+end
diff --git a/tasks/t48-google_gemma_3_4b_it.rb b/tasks/t48-google_gemma_3_4b_it.rb
new file mode 100644
index 0000000..a8ff870
--- /dev/null
+++ b/tasks/t48-google_gemma_3_4b_it.rb
@@ -0,0 +1,4 @@
+def is_palindrome?(text)
+ processed_text = text.downcase.gsub(/[^a-z0-9]/, '')
+ processed_text == processed_text.reverse
+end
diff --git a/tasks/t49-google_gemma_3_4b_it.rb b/tasks/t49-google_gemma_3_4b_it.rb
new file mode 100644
index 0000000..29744fc
--- /dev/null
+++ b/tasks/t49-google_gemma_3_4b_it.rb
@@ -0,0 +1,23 @@
+def modp(n, p)
+ if n == 0
+ return 1
+ end
+
+ result = 1
+ base = 2 % p
+
+ loop do
+ if n == 0
+ break
+ end
+
+ if n % 2 == 1
+ result = (result * base) % p
+ end
+
+ base = (base * base) % p
+ n = n / 2
+ end
+
+ result
+end
diff --git a/tasks/t5-google_gemma_3_4b_it.rb b/tasks/t5-google_gemma_3_4b_it.rb
new file mode 100644
index 0000000..09c9dea
--- /dev/null
+++ b/tasks/t5-google_gemma_3_4b_it.rb
@@ -0,0 +1,10 @@
+def intersperse(numbers, delimeter)
+ result = []
+ numbers.each_with_index do |number, index|
+ result << number
+ if index < numbers.length - 1
+ result << delimeter
+ end
+ end
+ result
+end
diff --git a/tasks/t50-google_gemma_3_4b_it.rb b/tasks/t50-google_gemma_3_4b_it.rb
new file mode 100644
index 0000000..a9c6f46
--- /dev/null
+++ b/tasks/t50-google_gemma_3_4b_it.rb
@@ -0,0 +1,9 @@
+def decode_shift(s)
+ s.chars.map do |char|
+ if ('a' <= char && char <= 'z')
+ ('a' <= char ? 'a'.ord - 5 : 'z'.ord - 5)
+ else
+ char
+ end
+ end.join
+end
diff --git a/tasks/t51-google_gemma_3_4b_it.rb b/tasks/t51-google_gemma_3_4b_it.rb
new file mode 100644
index 0000000..37fda1e
--- /dev/null
+++ b/tasks/t51-google_gemma_3_4b_it.rb
@@ -0,0 +1,9 @@
+def remove_vowels(text)
+ result = ''
+ text.each_char do |char|
+ if !['a', 'e', 'i', 'o', 'u', 'A', 'E', 'I', 'O', 'U'].include?(char)
+ result += char
+ end
+ end
+ result
+end
diff --git a/tasks/t52-google_gemma_3_4b_it.rb b/tasks/t52-google_gemma_3_4b_it.rb
new file mode 100644
index 0000000..51ae615
--- /dev/null
+++ b/tasks/t52-google_gemma_3_4b_it.rb
@@ -0,0 +1,3 @@
+def below_threshold(numbers, threshold)
+ numbers.all? { |number| number < threshold }
+end
diff --git a/tasks/t53-google_gemma_3_4b_it.rb b/tasks/t53-google_gemma_3_4b_it.rb
new file mode 100644
index 0000000..d47572b
--- /dev/null
+++ b/tasks/t53-google_gemma_3_4b_it.rb
@@ -0,0 +1,3 @@
+def add(x, y)
+ x + y
+end
diff --git a/tasks/t54-google_gemma_3_4b_it.rb b/tasks/t54-google_gemma_3_4b_it.rb
new file mode 100644
index 0000000..88b2ad3
--- /dev/null
+++ b/tasks/t54-google_gemma_3_4b_it.rb
@@ -0,0 +1,3 @@
+def same_chars?(s0, s1)
+ s0.chars.all? { |char| s1.include?(char) }
+end
diff --git a/tasks/t55-google_gemma_3_4b_it.rb b/tasks/t55-google_gemma_3_4b_it.rb
new file mode 100644
index 0000000..98c9de0
--- /dev/null
+++ b/tasks/t55-google_gemma_3_4b_it.rb
@@ -0,0 +1,16 @@
+def fib(n)
+ if n <= 0
+ 0
+ elsif n == 1
+ 1
+ else
+ a = 0
+ b = 1
+ (2..n).each do
+ temp = a + b
+ a = b
+ b = temp
+ end
+ b
+ end
+end
diff --git a/tasks/t56-google_gemma_3_4b_it.rb b/tasks/t56-google_gemma_3_4b_it.rb
new file mode 100644
index 0000000..1130331
--- /dev/null
+++ b/tasks/t56-google_gemma_3_4b_it.rb
@@ -0,0 +1,17 @@
+def correct_bracketing(brackets)
+ stack = []
+ brackets.each_char do |char|
+ if char == '<'
+ stack << char
+ elsif char == '>'
+ if stack.empty?
+ return false
+ else
+ stack.pop
+ end
+ else
+ return false
+ end
+ end
+ stack.empty?
+end
diff --git a/tasks/t57-google_gemma_3_4b_it.rb b/tasks/t57-google_gemma_3_4b_it.rb
new file mode 100644
index 0000000..c77d6a4
--- /dev/null
+++ b/tasks/t57-google_gemma_3_4b_it.rb
@@ -0,0 +1,18 @@
+def monotonic?(arr)
+ if arr.length <= 1
+ return true
+ end
+
+ increasing = true
+ decreasing = true
+
+ arr.each_with_index do |num, index|
+ if index > 0 && num < arr[index - 1]
+ increasing = false
+ elsif index > 0 && num > arr[index - 1]
+ decreasing = false
+ end
+ end
+
+ increasing || decreasing
+end
diff --git a/tasks/t58-google_gemma_3_4b_it.rb b/tasks/t58-google_gemma_3_4b_it.rb
new file mode 100644
index 0000000..2d34ce9
--- /dev/null
+++ b/tasks/t58-google_gemma_3_4b_it.rb
@@ -0,0 +1,6 @@
+def common(l1, l2)
+ set1 = l1.to_set
+ set2 = l2.to_set
+ intersection = set1 & set2
+ intersection.to_a.sort
+end
diff --git a/tasks/t59-google_gemma_3_4b_it.rb b/tasks/t59-google_gemma_3_4b_it.rb
new file mode 100644
index 0000000..b846977
--- /dev/null
+++ b/tasks/t59-google_gemma_3_4b_it.rb
@@ -0,0 +1,18 @@
+def largest_prime_factor(n)
+ largest_factor = 1
+ i = 2
+
+ while i * i <= n
+ while n % i == 0
+ largest_factor = i
+ n /= i
+ end
+ i += 1
+ end
+
+ if n > 1
+ largest_factor = n
+ end
+
+ largest_factor
+end
diff --git a/tasks/t6-google_gemma_3_4b_it.rb b/tasks/t6-google_gemma_3_4b_it.rb
new file mode 100644
index 0000000..ffd6d8d
--- /dev/null
+++ b/tasks/t6-google_gemma_3_4b_it.rb
@@ -0,0 +1,17 @@
+def parse_nested_parens(paren_string)
+ return [] if paren_string.empty?
+
+ paren_string.split(' ').map do |group|
+ max_depth = 0
+ current_depth = 0
+ group.chars.each do |char|
+ if char == '('
+ current_depth += 1
+ max_depth = [max_depth, current_depth].max
+ elsif char == ')'
+ current_depth -= 1
+ end
+ end
+ max_depth
+ end
+end
diff --git a/tasks/t60-google_gemma_3_4b_it.rb b/tasks/t60-google_gemma_3_4b_it.rb
new file mode 100644
index 0000000..2bfd157
--- /dev/null
+++ b/tasks/t60-google_gemma_3_4b_it.rb
@@ -0,0 +1,7 @@
+def sum_to_n(n)
+ if n <= 0
+ 0
+ else
+ (1..n).sum
+ end
+end
diff --git a/tasks/t61-google_gemma_3_4b_it.rb b/tasks/t61-google_gemma_3_4b_it.rb
new file mode 100644
index 0000000..f9cac7f
--- /dev/null
+++ b/tasks/t61-google_gemma_3_4b_it.rb
@@ -0,0 +1,12 @@
+def correct_bracketing(brackets)
+ balance = 0
+ brackets.each_char do |char|
+ if char == '('
+ balance += 1
+ elsif char == ')'
+ balance -= 1
+ end
+ return false if balance < 0
+ end
+ balance == 0
+end
diff --git a/tasks/t62-google_gemma_3_4b_it.rb b/tasks/t62-google_gemma_3_4b_it.rb
new file mode 100644
index 0000000..e9b4ab2
--- /dev/null
+++ b/tasks/t62-google_gemma_3_4b_it.rb
@@ -0,0 +1,16 @@
+def derivative(coefficients)
+ derivative_coefficients = []
+ n = coefficients.length
+ if n == 0
+ return derivative_coefficients
+ end
+ if n == 1
+ return derivative_coefficients
+ end
+
+ (0...n - 1).each do |i|
+ derivative_coefficients << coefficients[i] * (i + 1)
+ end
+
+ derivative_coefficients
+end
diff --git a/tasks/t63-google_gemma_3_4b_it.rb b/tasks/t63-google_gemma_3_4b_it.rb
new file mode 100644
index 0000000..3f935bc
--- /dev/null
+++ b/tasks/t63-google_gemma_3_4b_it.rb
@@ -0,0 +1,20 @@
+def fibfib(n)
+ if n == 0
+ return 0
+ elsif n == 1
+ return 0
+ elsif n == 2
+ return 1
+ else
+ a = 0
+ b = 0
+ c = 1
+ (3..n).each do
+ next_fib = a + b + c
+ a = b
+ b = c
+ c = next_fib
+ end
+ c
+ end
+end
diff --git a/tasks/t64-google_gemma_3_4b_it.rb b/tasks/t64-google_gemma_3_4b_it.rb
new file mode 100644
index 0000000..fd225f6
--- /dev/null
+++ b/tasks/t64-google_gemma_3_4b_it.rb
@@ -0,0 +1,9 @@
+def vowels_count(word)
+ count = 0
+ word.each_char do |char|
+ if ['a', 'e', 'i', 'o', 'u', 'y'].include?(char.downcase)
+ count += 1
+ end
+ end
+ count
+end
diff --git a/tasks/t65-google_gemma_3_4b_it.rb b/tasks/t65-google_gemma_3_4b_it.rb
new file mode 100644
index 0000000..0d2070a
--- /dev/null
+++ b/tasks/t65-google_gemma_3_4b_it.rb
@@ -0,0 +1,12 @@
+def circular_shift(x, shift)
+ x_str = x.to_s
+ x_len = x_str.length
+ shift = shift % x_len
+
+ if shift == 0
+ x_str
+ else
+ new_x_str = x_str[(x_len - shift)..-1] + new_x_str[0...x_len - shift]
+ new_x_str
+ end
+end
diff --git a/tasks/t66-google_gemma_3_4b_it.rb b/tasks/t66-google_gemma_3_4b_it.rb
new file mode 100644
index 0000000..34bd1e3
--- /dev/null
+++ b/tasks/t66-google_gemma_3_4b_it.rb
@@ -0,0 +1,9 @@
+def digit_sum(s)
+ sum = 0
+ s.each_char do |char|
+ if char =~ /[A-Z]/
+ sum += char.ord
+ end
+ end
+ sum
+end
diff --git a/tasks/t67-google_gemma_3_4b_it.rb b/tasks/t67-google_gemma_3_4b_it.rb
new file mode 100644
index 0000000..8b8d898
--- /dev/null
+++ b/tasks/t67-google_gemma_3_4b_it.rb
@@ -0,0 +1,16 @@
+def fruit_distribution(fruit_string, total_fruits)
+ apples_count = 0
+ oranges_count = 0
+
+ fruit_string.split(" and ").each do |fruit_part|
+ if fruit_part.include?("apples")
+ apples_count = fruit_part.split(" apples")[0].to_i
+ elsif fruit_part.include?("oranges")
+ oranges_count = fruit_part.split(" oranges")[0].to_i
+ end
+ end
+
+ mango_count = total_fruits - apples_count - oranges_count
+
+ mango_count
+end
diff --git a/tasks/t68-google_gemma_3_4b_it.rb b/tasks/t68-google_gemma_3_4b_it.rb
new file mode 100644
index 0000000..53d2895
--- /dev/null
+++ b/tasks/t68-google_gemma_3_4b_it.rb
@@ -0,0 +1,19 @@
+def pluck(arr)
+ min_even = Float::INFINITY
+ min_index = -1
+
+ (0...arr.length).each do |i|
+ if arr[i] % 2 == 0
+ if arr[i] < min_even
+ min_even = arr[i]
+ min_index = i
+ end
+ end
+ end
+
+ if min_index == -1
+ []
+ else
+ [min_even, min_index]
+ end
+end
diff --git a/tasks/t69-google_gemma_3_4b_it.rb b/tasks/t69-google_gemma_3_4b_it.rb
new file mode 100644
index 0000000..85a6ea1
--- /dev/null
+++ b/tasks/t69-google_gemma_3_4b_it.rb
@@ -0,0 +1,15 @@
+def search(lst)
+ counts = {}
+ lst.each do |num|
+ counts[num] = counts.key(num) ? counts[num] + 1 : 1
+ end
+
+ var = -1
+ counts.each do |num, count|
+ if count >= num && num > var
+ var = num
+ end
+ end
+
+ var
+end
diff --git a/tasks/t7-google_gemma_3_4b_it.rb b/tasks/t7-google_gemma_3_4b_it.rb
new file mode 100644
index 0000000..43aa701
--- /dev/null
+++ b/tasks/t7-google_gemma_3_4b_it.rb
@@ -0,0 +1,3 @@
+def filter_by_substring(strings, substring)
+ strings.select { |str| str.include?(substring) }
+end
diff --git a/tasks/t70-google_gemma_3_4b_it.rb b/tasks/t70-google_gemma_3_4b_it.rb
new file mode 100644
index 0000000..512e36f
--- /dev/null
+++ b/tasks/t70-google_gemma_3_4b_it.rb
@@ -0,0 +1,20 @@
+def strange_sort_list(lst)
+ return [] if lst.empty?
+
+ sorted_list = []
+ remaining_list = lst.dup
+
+ while !remaining_list.empty?
+ min_val = remaining_list.min
+ sorted_list << min_val
+ remaining_list.delete(min_val)
+
+ if !remaining_list.empty?
+ max_val = remaining_list.max
+ sorted_list << max_val
+ remaining_list.delete(max_val)
+ end
+ end
+
+ sorted_list
+end
diff --git a/tasks/t71-google_gemma_3_4b_it.rb b/tasks/t71-google_gemma_3_4b_it.rb
new file mode 100644
index 0000000..ba1d473
--- /dev/null
+++ b/tasks/t71-google_gemma_3_4b_it.rb
@@ -0,0 +1,14 @@
+def triangle_area(a, b, c)
+ if a <= 0 || b <= 0 || c <= 0
+ return -1
+ end
+
+ if a + b <= c || a + c <= b || b + c <= a
+ return -1
+ end
+
+ s = (a + b + c) / 2
+ area = Math.sqrt(s * (s - a) * (s - b) * (s - c))
+
+ return area.round(2)
+end
diff --git a/tasks/t72-google_gemma_3_4b_it.rb b/tasks/t72-google_gemma_3_4b_it.rb
new file mode 100644
index 0000000..66210e6
--- /dev/null
+++ b/tasks/t72-google_gemma_3_4b_it.rb
@@ -0,0 +1,6 @@
+def will_it_fly?(q, w)
+ is_palindrome = q.is_palindrome?
+ total_weight = q.sum
+
+ is_palindrome && total_weight <= w
+end
diff --git a/tasks/t73-google_gemma_3_4b_it.rb b/tasks/t73-google_gemma_3_4b_it.rb
new file mode 100644
index 0000000..e975fd8
--- /dev/null
+++ b/tasks/t73-google_gemma_3_4b_it.rb
@@ -0,0 +1,10 @@
+def smallest_change(arr)
+ n = arr.length
+ changes = 0
+ for i in 0...n / 2
+ if arr[i] != arr[n - 1 - i]
+ changes += 1
+ end
+ end
+ changes
+end
diff --git a/tasks/t74-google_gemma_3_4b_it.rb b/tasks/t74-google_gemma_3_4b_it.rb
new file mode 100644
index 0000000..03ecbe8
--- /dev/null
+++ b/tasks/t74-google_gemma_3_4b_it.rb
@@ -0,0 +1,10 @@
+def total_match(lst1, lst2)
+ len1 = lst1.sum(&:length)
+ len2 = lst2.sum(&:length)
+
+ if len1 < len2
+ lst1
+ else
+ lst2
+ end
+end
diff --git a/tasks/t75-google_gemma_3_4b_it.rb b/tasks/t75-google_gemma_3_4b_it.rb
new file mode 100644
index 0000000..d64c418
--- /dev/null
+++ b/tasks/t75-google_gemma_3_4b_it.rb
@@ -0,0 +1,25 @@
+def is_multiply_prime?(a)
+ primes = []
+
+ if a <= 1
+ return false
+ end
+
+
+ i = 2
+ while i * i <= a
+ while a % i == 0
+ primes << i
+ a /= i
+ end
+ i += 1
+ end
+
+
+ if a > 1
+ primes << a
+ end
+
+
+ return primes.length == 3 && primes.uniq.length == 3
+end
diff --git a/tasks/t76-google_gemma_3_4b_it.rb b/tasks/t76-google_gemma_3_4b_it.rb
new file mode 100644
index 0000000..b7ba996
--- /dev/null
+++ b/tasks/t76-google_gemma_3_4b_it.rb
@@ -0,0 +1,14 @@
+def is_simple_power?(x, n)
+ return false if x == 0 && n == 0
+ return false if n == 0 || x < 0
+
+ power = 0
+ result = 1
+
+ while result < x
+ result *= n
+ power += 1
+ end
+
+ result == x
+end
diff --git a/tasks/t77-google_gemma_3_4b_it.rb b/tasks/t77-google_gemma_3_4b_it.rb
new file mode 100644
index 0000000..c7b3d14
--- /dev/null
+++ b/tasks/t77-google_gemma_3_4b_it.rb
@@ -0,0 +1,8 @@
+def is_cube?(a)
+ if a == 0
+ return true
+ end
+
+ root = Math.sqrt(a)
+ return root == Math.floor(root)
+end
diff --git a/tasks/t78-google_gemma_3_4b_it.rb b/tasks/t78-google_gemma_3_4b_it.rb
new file mode 100644
index 0000000..fa4a099
--- /dev/null
+++ b/tasks/t78-google_gemma_3_4b_it.rb
@@ -0,0 +1,9 @@
+def hex_key(hex_string)
+ count = 0
+ hex_string.each_char do |char|
+ if char =~ /[2357ABC]/
+ count += 1
+ end
+ end
+ count
+end
diff --git a/tasks/t79-google_gemma_3_4b_it.rb b/tasks/t79-google_gemma_3_4b_it.rb
new file mode 100644
index 0000000..aeacd0a
--- /dev/null
+++ b/tasks/t79-google_gemma_3_4b_it.rb
@@ -0,0 +1,12 @@
+def decimal_to_binary(decimal)
+ if decimal == 0
+ return "db0db"
+ end
+ binary = ""
+ while decimal > 0
+ remainder = decimal % 2
+ binary = remainder.to_s + binary
+ decimal = decimal / 2
+ end
+ return "db" + binary + "db"
+end
diff --git a/tasks/t8-google_gemma_3_4b_it.rb b/tasks/t8-google_gemma_3_4b_it.rb
new file mode 100644
index 0000000..519fbf7
--- /dev/null
+++ b/tasks/t8-google_gemma_3_4b_it.rb
@@ -0,0 +1,11 @@
+def sum_product(numbers)
+ sum_nums = 0
+ product_nums = 1
+
+ numbers.each do |num|
+ sum_nums += num
+ product_nums *= num
+ end
+
+ [sum_nums, product_nums]
+end
diff --git a/tasks/t80-google_gemma_3_4b_it.rb b/tasks/t80-google_gemma_3_4b_it.rb
new file mode 100644
index 0000000..b31613d
--- /dev/null
+++ b/tasks/t80-google_gemma_3_4b_it.rb
@@ -0,0 +1,3 @@
+def is_happy?(s)
+ s.length >= 3 && !s.chars.any? { |char| s.chars.include?(char * 3) }
+end
diff --git a/tasks/t81-google_gemma_3_4b_it.rb b/tasks/t81-google_gemma_3_4b_it.rb
new file mode 100644
index 0000000..71749d3
--- /dev/null
+++ b/tasks/t81-google_gemma_3_4b_it.rb
@@ -0,0 +1,33 @@
+def numerical_letter_grade(grades)
+ letter_grades = []
+ grades.each do |grade|
+ if grade > 4.0
+ letter_grades << "A+"
+ elsif grade > 3.7
+ letter_grades << "A"
+ elsif grade > 3.3
+ letter_grades << "A-"
+ elsif grade > 3.0
+ letter_grades << "B+"
+ elsif grade > 2.7
+ letter_grades << "B"
+ elsif grade > 2.3
+ letter_grades << "B-"
+ elsif grade > 2.0
+ letter_grades << "C+"
+ elsif grade > 1.7
+ letter_grades << "C"
+ elsif grade > 1.3
+ letter_grades << "C-"
+ elsif grade > 1.0
+ letter_grades << "D+"
+ elsif grade > 0.7
+ letter_grades << "D"
+ elsif grade > 0.0
+ letter_grades << "D-"
+ else
+ letter_grades << "E"
+ end
+ end
+ letter_grades
+end
diff --git a/tasks/t82-google_gemma_3_4b_it.rb b/tasks/t82-google_gemma_3_4b_it.rb
new file mode 100644
index 0000000..13d95b2
--- /dev/null
+++ b/tasks/t82-google_gemma_3_4b_it.rb
@@ -0,0 +1,12 @@
+def prime_length?(string)
+ length = string.length
+ return false if length == 0
+
+ return false if length <= 1
+
+ (2..Math.sqrt(length)).each do |i|
+ return false if length % i == 0
+ end
+
+ true
+end
diff --git a/tasks/t83-google_gemma_3_4b_it.rb b/tasks/t83-google_gemma_3_4b_it.rb
new file mode 100644
index 0000000..1c0dd5d
--- /dev/null
+++ b/tasks/t83-google_gemma_3_4b_it.rb
@@ -0,0 +1,21 @@
+def starts_one_ends(n)
+ if n == 1
+ return 2
+ end
+
+ start_nums = 10**(n - 1)
+ end_nums = 10**n - 1
+
+ if n == 2
+ return 2
+ end
+
+ if n == 3
+ return 18
+ end
+
+ start_count = 10**(n - 1)
+ end_count = 10**n - 10**(n - 1)
+
+ start_count + end_count
+end
diff --git a/tasks/t84-google_gemma_3_4b_it.rb b/tasks/t84-google_gemma_3_4b_it.rb
new file mode 100644
index 0000000..ae6148c
--- /dev/null
+++ b/tasks/t84-google_gemma_3_4b_it.rb
@@ -0,0 +1,8 @@
+def sum_binary_digits(n)
+ sum = 0
+ while n > 0
+ sum += n % 2
+ n /= 2
+ end
+ sum.to_s(2)
+end
diff --git a/tasks/t85-google_gemma_3_4b_it.rb b/tasks/t85-google_gemma_3_4b_it.rb
new file mode 100644
index 0000000..233821a
--- /dev/null
+++ b/tasks/t85-google_gemma_3_4b_it.rb
@@ -0,0 +1,11 @@
+def add_even_at_odd(lst)
+ sum = 0
+ i = 0
+ while i < lst.length
+ if lst[i] % 2 == 0 && i % 2 != 0
+ sum += lst[i]
+ end
+ i += 1
+ end
+ sum
+end
diff --git a/tasks/t86-google_gemma_3_4b_it.rb b/tasks/t86-google_gemma_3_4b_it.rb
new file mode 100644
index 0000000..0b3302f
--- /dev/null
+++ b/tasks/t86-google_gemma_3_4b_it.rb
@@ -0,0 +1,5 @@
+def anti_shuffle(s)
+ words = s.split
+ sorted_words = words.map(&:chars).sort.map(&:join)
+ sorted_words.join(' ')
+end
diff --git a/tasks/t87-google_gemma_3_4b_it.rb b/tasks/t87-google_gemma_3_4b_it.rb
new file mode 100644
index 0000000..d6b1d52
--- /dev/null
+++ b/tasks/t87-google_gemma_3_4b_it.rb
@@ -0,0 +1,10 @@
+def get_row(lst, x)
+ result = []
+ lst.each_with_index do |row, i|
+ row.each_with_index do |val, j|
+ result << [i, j] if val == x
+ end
+ end
+ result.sort! { |a, b| [a[0], -a[1]] <=> [b[0], -b[1]] }
+ result
+end
diff --git a/tasks/t88-google_gemma_3_4b_it.rb b/tasks/t88-google_gemma_3_4b_it.rb
new file mode 100644
index 0000000..8a44d7f
--- /dev/null
+++ b/tasks/t88-google_gemma_3_4b_it.rb
@@ -0,0 +1,13 @@
+def sort_array(array)
+ new_array = array.dup
+ if new_array.empty?
+ new_array
+ else
+ if new_array[0] + new_array[-1] % 2 != 0
+ new_array.sort!
+ else
+ new_array.sort_by { |x| -x }
+ end
+ new_array
+ end
+end
diff --git a/tasks/t89-google_gemma_3_4b_it.rb b/tasks/t89-google_gemma_3_4b_it.rb
new file mode 100644
index 0000000..2ff9a5f
--- /dev/null
+++ b/tasks/t89-google_gemma_3_4b_it.rb
@@ -0,0 +1,10 @@
+def encrypt(s)
+ result = ''
+ s.each_char do |char|
+ position = char.ord - ord('a') + 1
+ shifted_position = position * 2
+ shifted_char = (shifted_position - 1) % 26 + ord('a')
+ result += shifted_char.chr
+ end
+ result
+end
diff --git a/tasks/t9-google_gemma_3_4b_it.rb b/tasks/t9-google_gemma_3_4b_it.rb
new file mode 100644
index 0000000..d319bac
--- /dev/null
+++ b/tasks/t9-google_gemma_3_4b_it.rb
@@ -0,0 +1,11 @@
+def rolling_max(numbers)
+ result = []
+ current_max = -Float::INFINITY
+
+ numbers.each_with_index do |number, index|
+ current_max = [current_max, number].max
+ result << current_max
+ end
+
+ result
+end
diff --git a/tasks/t90-google_gemma_3_4b_it.rb b/tasks/t90-google_gemma_3_4b_it.rb
new file mode 100644
index 0000000..480f750
--- /dev/null
+++ b/tasks/t90-google_gemma_3_4b_it.rb
@@ -0,0 +1,9 @@
+def next_smallest(list)
+ return nil if list.empty?
+
+ unique_list = list.uniq
+ return nil if unique_list.length <= 1
+
+ unique_list.sort!
+ return unique_list[1]
+end
diff --git a/tasks/t91-google_gemma_3_4b_it.rb b/tasks/t91-google_gemma_3_4b_it.rb
new file mode 100644
index 0000000..0f40190
--- /dev/null
+++ b/tasks/t91-google_gemma_3_4b_it.rb
@@ -0,0 +1,10 @@
+def count_boredoms(text)
+ count = 0
+ sentences = text.split(/[.?!]/)
+ sentences.each do |sentence|
+ if sentence.start_with?('I')
+ count += 1
+ end
+ end
+ count
+end
diff --git a/tasks/t92-google_gemma_3_4b_it.rb b/tasks/t92-google_gemma_3_4b_it.rb
new file mode 100644
index 0000000..b060075
--- /dev/null
+++ b/tasks/t92-google_gemma_3_4b_it.rb
@@ -0,0 +1,3 @@
+def any_int?(x, y, z)
+ x.is_a?(Integer) && y.is_a?(Integer) && z.is_a?(Integer) && (x == y + z || x == z + y || y == x + z || y == z + x || z == x + y || z == y + x)
+end
diff --git a/tasks/t93-google_gemma_3_4b_it.rb b/tasks/t93-google_gemma_3_4b_it.rb
new file mode 100644
index 0000000..1b3f655
--- /dev/null
+++ b/tasks/t93-google_gemma_3_4b_it.rb
@@ -0,0 +1,13 @@
+def encode(message)
+ encoded_message = ""
+ message.each_char do |char|
+ if ['a', 'e', 'i', 'o', 'u', 'A', 'E', 'I', 'O', 'U'].include?(char)
+ new_char = (char.ord - 32) % 26 + 'a'.ord
+ encoded_message += new_char.chr
+ else
+ new_char = char.downcase
+ encoded_message += new_char.upcase
+ end
+ end
+ encoded_message
+end
diff --git a/tasks/t94-google_gemma_3_4b_it.rb b/tasks/t94-google_gemma_3_4b_it.rb
new file mode 100644
index 0000000..10a97c0
--- /dev/null
+++ b/tasks/t94-google_gemma_3_4b_it.rb
@@ -0,0 +1,26 @@
+def sum_largest_prime_digits(numbers)
+ primes = []
+ numbers.each do |num|
+ if num > 1 && is_prime?(num)
+ primes << num
+ end
+ end
+
+ if primes.empty?
+ return 0
+ end
+
+ largest_prime = primes.max
+ sum_of_digits = largest_prime.to_s.chars.map(&:to_i).sum
+ sum_of_digits
+end
+
+def is_prime?(num)
+ if num <= 1
+ return false
+ end
+ (2..Math.sqrt(num)).each do |i|
+ return false if num % i == 0
+ end
+ true
+end
diff --git a/tasks/t95-google_gemma_3_4b_it.rb b/tasks/t95-google_gemma_3_4b_it.rb
new file mode 100644
index 0000000..58062c7
--- /dev/null
+++ b/tasks/t95-google_gemma_3_4b_it.rb
@@ -0,0 +1,10 @@
+def check_dict_case(hash)
+ if hash.empty?
+ return false
+ end
+
+ all_lower = hash.all? { |key, _| key.is_a?(String) && key.downcase == key }
+ all_upper = hash.all? { |key, _| key.is_a?(String) && key.upcase == key }
+
+ all_lower || all_upper
+end
diff --git a/tasks/t96-google_gemma_3_4b_it.rb b/tasks/t96-google_gemma_3_4b_it.rb
new file mode 100644
index 0000000..6af47bb
--- /dev/null
+++ b/tasks/t96-google_gemma_3_4b_it.rb
@@ -0,0 +1,18 @@
+def count_up_to(n)
+ primes = []
+ num = 2
+ while primes.length < n
+ is_prime = true
+ (2..Math.sqrt(num)).each do |i|
+ if num % i == 0
+ is_prime = false
+ break
+ end
+ end
+ if is_prime
+ primes << num
+ end
+ num += 1
+ end
+ primes
+end
diff --git a/tasks/t97-google_gemma_3_4b_it.rb b/tasks/t97-google_gemma_3_4b_it.rb
new file mode 100644
index 0000000..7922cb5
--- /dev/null
+++ b/tasks/t97-google_gemma_3_4b_it.rb
@@ -0,0 +1,5 @@
+def multiply(a, b)
+ last_digit_a = a % 10
+ last_digit_b = b % 10
+ last_digit_a * last_digit_b
+end
diff --git a/tasks/t98-google_gemma_3_4b_it.rb b/tasks/t98-google_gemma_3_4b_it.rb
new file mode 100644
index 0000000..4d8d7c2
--- /dev/null
+++ b/tasks/t98-google_gemma_3_4b_it.rb
@@ -0,0 +1,9 @@
+def count_upper(s)
+ count = 0
+ (0..s.length - 1).each do |i|
+ if i.even? && ['A', 'E', 'I', 'O', 'U'].include?(s[i])
+ count += 1
+ end
+ end
+ count
+end
diff --git a/tasks/t99-google_gemma_3_4b_it.rb b/tasks/t99-google_gemma_3_4b_it.rb
new file mode 100644
index 0000000..daef58a
--- /dev/null
+++ b/tasks/t99-google_gemma_3_4b_it.rb
@@ -0,0 +1,19 @@
+def closest_integer(value)
+ value_float = value.to_f
+
+ if value_float >= 0
+ result = Math.floor(value_float)
+ if Math.abs(value_float - result) < Math.abs(value_float - (result + 1))
+ result
+ else
+ result + 1
+ end
+ else
+ result = Math.ceil(value_float)
+ if Math.abs(value_float - result) < Math.abs(value_float - (result - 1))
+ result
+ else
+ result - 1
+ end
+ end
+end