#include using namespace std; int main() { ios::sync_with_stdio(false); cin.tie(nullptr); int N, X, Q; cin >> N >> X >> Q; double expected_value = 0.0; for (int i = 0; i < Q; ++i) { int M; cin >> M; vector F(M); for (int j = 0; j < M; ++j) cin >> F[j]; bool gull_acted = false; unordered_map count; for (int f : F) { if (f == X) gull_acted = true; count[f]++; } if (gull_acted) expected_value += 1.0; else { bool multiple = false; for (auto &p : count) { if (p.second >= 2) { multiple = true; break; } } if (multiple) expected_value += 0.5; } } cout << fixed << setprecision(5) << expected_value << "\n"; return 0; }